const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');

//#region ../../node_modules/camelcase/index.js
var require_camelcase = /* @__PURE__ */ require_rolldown_runtime.__commonJS({ "../../node_modules/camelcase/index.js": ((exports, module) => {
	const UPPERCASE = /[\p{Lu}]/u;
	const LOWERCASE = /[\p{Ll}]/u;
	const LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
	const IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
	const SEPARATORS = /[_.\- ]+/;
	const LEADING_SEPARATORS = /* @__PURE__ */ new RegExp("^" + SEPARATORS.source);
	const SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
	const NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
	const preserveCamelCase = (string, toLowerCase, toUpperCase) => {
		let isLastCharLower = false;
		let isLastCharUpper = false;
		let isLastLastCharUpper = false;
		for (let i = 0; i < string.length; i++) {
			const character = string[i];
			if (isLastCharLower && UPPERCASE.test(character)) {
				string = string.slice(0, i) + "-" + string.slice(i);
				isLastCharLower = false;
				isLastLastCharUpper = isLastCharUpper;
				isLastCharUpper = true;
				i++;
			} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
				string = string.slice(0, i - 1) + "-" + string.slice(i - 1);
				isLastLastCharUpper = isLastCharUpper;
				isLastCharUpper = false;
				isLastCharLower = true;
			} else {
				isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
				isLastLastCharUpper = isLastCharUpper;
				isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
			}
		}
		return string;
	};
	const preserveConsecutiveUppercase = (input, toLowerCase) => {
		LEADING_CAPITAL.lastIndex = 0;
		return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1));
	};
	const postProcess = (input, toUpperCase) => {
		SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
		NUMBERS_AND_IDENTIFIER.lastIndex = 0;
		return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m));
	};
	const camelCase = (input, options) => {
		if (!(typeof input === "string" || Array.isArray(input))) throw new TypeError("Expected the input to be `string | string[]`");
		options = {
			pascalCase: false,
			preserveConsecutiveUppercase: false,
			...options
		};
		if (Array.isArray(input)) input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
		else input = input.trim();
		if (input.length === 0) return "";
		const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
		const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
		if (input.length === 1) return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
		if (input !== toLowerCase(input)) input = preserveCamelCase(input, toLowerCase, toUpperCase);
		input = input.replace(LEADING_SEPARATORS, "");
		if (options.preserveConsecutiveUppercase) input = preserveConsecutiveUppercase(input, toLowerCase);
		else input = toLowerCase(input);
		if (options.pascalCase) input = toUpperCase(input.charAt(0)) + input.slice(1);
		return postProcess(input, toUpperCase);
	};
	module.exports = camelCase;
	module.exports.default = camelCase;
}) });

//#endregion
Object.defineProperty(exports, 'default', {
  enumerable: true,
  get: function () {
    return require_camelcase();
  }
});
//# sourceMappingURL=index.cjs.map