import { b as attr_class, f as stringify, a as attr, c as escape_html, y as bind_props, z as clsx, g as derived, e as ensure_array_like, d as attr_style } from './dev-BNpEUZI3.js';

//#region src/lib/ui/Spinner.svelte
function Spinner($$renderer, $$props) {
	/**
	* Props for {@link Spinner}.
	*/
	/** Diameter token. Defaults to `md` (16px). */
	/**
	* Accessible label. Defaults to `"Loading"`. Set to `""` when the
	* surrounding element already owns an accessible name.
	*/
	let { size = "md", label = "Loading" } = $$props;
	$$renderer.push(`<span${attr_class(`spinner size-${stringify(size)}`, "svelte-mfr6of")}${attr("role", label ? "status" : "presentation")}${attr("aria-label", label || void 0)}${attr("aria-live", label ? "polite" : void 0)}></span>`);
}
//#endregion
//#region src/lib/ui/Button.svelte
function Button($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Button}.
		*/
		/** Visual variant. Defaults to `primary`. */
		/** Size scale. Defaults to `md`. */
		/** When set, renders `<a href>` instead of `<button>`. */
		/** Native button `type`. Ignored when `href` is set. Defaults to `button`. */
		/** Disabled state — skips hover / focus styles and blocks clicks. */
		/**
		* Loading state — replaces the left icon with an inline spinner,
		* disables the button, and sets `aria-busy`.
		*/
		/**
		* When `true`, renders as a full-width block. Defaults to `false`.
		*/
		/** Extra class names forwarded to the root element. */
		/** Native click handler. */
		/** Target / rel for anchor rendering. */
		/** ARIA label override for icon-heavy buttons. */
		/** Default slot — button label or icon+label composition. */
		/** Icon slot rendered before the label. */
		/** Icon slot rendered after the label. */
		let { variant = "primary", size = "md", href, type = "button", disabled = false, loading = false, block = false, class: extraClass = "", onclick, target, rel, "aria-label": ariaLabel, children, iconLeft, iconRight } = $$props;
		const isLink = derived(() => typeof href === "string" && href.length > 0);
		const rootClass = derived(() => `cleo-btn v-${variant} s-${size} ${block ? "block" : ""} ${loading ? "is-loading" : ""} ${extraClass}`.trim());
		if (isLink()) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<a${attr_class(clsx(rootClass()), "svelte-g9c1iq")}${attr("href", disabled ? void 0 : href)}${attr("target", target)}${attr("rel", rel)}${attr("aria-disabled", disabled ? "true" : void 0)}${attr("aria-busy", loading ? "true" : void 0)}${attr("aria-label", ariaLabel)}${attr("tabindex", disabled ? -1 : void 0)} role="button">`);
			if (loading) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="slot-left svelte-g9c1iq">`);
				Spinner($$renderer, {
					size: size === "lg" ? "sm" : "xs",
					label: ""
				});
				$$renderer.push(`<!----></span>`);
			} else if (iconLeft) {
				$$renderer.push("<!--[1-->");
				$$renderer.push(`<span class="slot-left svelte-g9c1iq">`);
				iconLeft($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> `);
			if (children) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="label svelte-g9c1iq">`);
				children($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> `);
			if (iconRight) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="slot-right svelte-g9c1iq">`);
				iconRight($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></a>`);
		} else {
			$$renderer.push("<!--[-1-->");
			$$renderer.push(`<button${attr_class(clsx(rootClass()), "svelte-g9c1iq")}${attr("type", type)}${attr("disabled", disabled, true)}${attr("aria-busy", loading ? "true" : void 0)}${attr("aria-label", ariaLabel)}>`);
			if (loading) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="slot-left svelte-g9c1iq">`);
				Spinner($$renderer, {
					size: size === "lg" ? "sm" : "xs",
					label: ""
				});
				$$renderer.push(`<!----></span>`);
			} else if (iconLeft) {
				$$renderer.push("<!--[1-->");
				$$renderer.push(`<span class="slot-left svelte-g9c1iq">`);
				iconLeft($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> `);
			if (children) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="label svelte-g9c1iq">`);
				children($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> `);
			if (iconRight) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="slot-right svelte-g9c1iq">`);
				iconRight($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></button>`);
		}
		$$renderer.push(`<!--]-->`);
	});
}
//#endregion
//#region src/lib/ui/Chip.svelte
function Chip($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Chip}.
		*/
		/** Bindable active state for toggle-style chips. */
		/**
		* Interaction mode.
		*   `toggle` — a pressable button with aria-pressed.
		*   `action` — a fire-and-forget button (no pressed state).
		*   `inert`  — render as `<span>` (no interaction).
		*/
		/** Optional numeric count trailing the label. */
		/**
		* Optional hex colour to tint the chip when active. Falls back to
		* `--accent`. Consumed via the `--chip-tint` custom property so the
		* same token-consumption pattern as FilterChipGroup is preserved.
		*/
		/** Disabled state. */
		/** Extra class names. */
		/** Default slot — the chip label. */
		/** Icon / dot slot rendered before the label. */
		/** Click handler. Fires on activate for toggle & action modes. */
		let { active = false, mode = "toggle", count, tint, disabled = false, class: extraClass = "", children, leading, onclick } = $$props;
		const tintStyle = derived(() => tint ? `--chip-tint:${tint};` : void 0);
		if (mode === "inert") {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<span${attr_class(`chip inert ${stringify(extraClass)}`, "svelte-py53oc", { "active": active })}${attr_style(tintStyle())}>`);
			if (leading) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="leading svelte-py53oc" aria-hidden="true">`);
				leading($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> <span class="chip-label svelte-py53oc">`);
			if (children) {
				$$renderer.push("<!--[0-->");
				children($$renderer);
				$$renderer.push(`<!---->`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></span> `);
			if (typeof count === "number") {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="chip-count svelte-py53oc">${escape_html(count)}</span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></span>`);
		} else {
			$$renderer.push("<!--[-1-->");
			$$renderer.push(`<button type="button"${attr_class(`chip ${stringify(extraClass)}`, "svelte-py53oc", {
				"active": active,
				"action": mode === "action"
			})}${attr("aria-pressed", mode === "toggle" ? active : void 0)}${attr("disabled", disabled, true)}${attr_style(tintStyle())}>`);
			if (leading) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="leading svelte-py53oc" aria-hidden="true">`);
				leading($$renderer);
				$$renderer.push(`<!----></span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--> <span class="chip-label svelte-py53oc">`);
			if (children) {
				$$renderer.push("<!--[0-->");
				children($$renderer);
				$$renderer.push(`<!---->`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></span> `);
			if (typeof count === "number") {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="chip-count svelte-py53oc">${escape_html(count)}</span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></button>`);
		}
		$$renderer.push(`<!--]-->`);
		bind_props($$props, { active });
	});
}
//#endregion
//#region src/lib/ui/ChipGroup.svelte
function ChipGroup($$renderer, $$props) {
	/**
	* Props for {@link ChipGroup}.
	*/
	/** Lead-in label, e.g. `"Status"`. */
	/** Extra class names. */
	/** Chip children. */
	let { label, class: extraClass = "", children } = $$props;
	$$renderer.push(`<div${attr_class(`chip-group ${stringify(extraClass)}`, "svelte-mrlwbb")} role="group"${attr("aria-label", label ?? "Chips")}>`);
	if (label) {
		$$renderer.push("<!--[0-->");
		$$renderer.push(`<span class="chip-group-label svelte-mrlwbb">${escape_html(label)}</span>`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]--> `);
	if (children) {
		$$renderer.push("<!--[0-->");
		children($$renderer);
		$$renderer.push(`<!---->`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]--></div>`);
}
//#endregion
//#region src/lib/ui/EmptyState.svelte
function EmptyState($$renderer, $$props) {
	/**
	* Props for {@link EmptyState}.
	*/
	/** Big headline. */
	/** Supporting copy. */
	/** Visual tone. `neutral` (default) or `warning`. */
	/** Extra class names. */
	/** Icon / mark slot. */
	/** Action slot — typically a primary button. */
	let { title, subtitle, variant = "neutral", class: extraClass = "", icon, action } = $$props;
	$$renderer.push(`<div${attr_class(`empty v-${stringify(variant)} ${stringify(extraClass)}`, "svelte-64hdw")} role="status" aria-live="polite">`);
	if (icon) {
		$$renderer.push("<!--[0-->");
		$$renderer.push(`<div class="icon svelte-64hdw" aria-hidden="true">`);
		icon($$renderer);
		$$renderer.push(`<!----></div>`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]--> <h3 class="title svelte-64hdw">${escape_html(title)}</h3> `);
	if (subtitle) {
		$$renderer.push("<!--[0-->");
		$$renderer.push(`<p class="subtitle svelte-64hdw">${escape_html(subtitle)}</p>`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]--> `);
	if (action) {
		$$renderer.push("<!--[0-->");
		$$renderer.push(`<div class="action svelte-64hdw">`);
		action($$renderer);
		$$renderer.push(`<!----></div>`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]--></div>`);
}
//#endregion
//#region src/lib/ui/Input.svelte
function Input($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Input}.
		*/
		/** Bindable input value. */
		/** Native input type (text, email, url, number, search, tel, password). */
		/** Placeholder text. */
		/** Native `name` attribute. */
		/** Native `id` — auto-generated when omitted. */
		/** Visible label. Rendered inside a `<label>` bound to the input. */
		/** Neutral hint message shown below the input. */
		/** Error message — non-empty string auto-sets `invalid=true`. */
		/** Explicit invalid flag. Forced `true` when `error` is non-empty. */
		/** Disabled state. */
		/** Read-only state. */
		/** Required flag. */
		/** Autocomplete hint forwarded to the native input. */
		/** Extra class names. */
		/** Icon slot rendered inside the field, before the text. */
		/** Icon slot rendered inside the field, after the text. */
		/** Raw `oninput` passthrough. */
		/** Raw `onchange` passthrough. */
		/** Raw `onblur` passthrough. */
		let { value = "", type = "text", placeholder, name, id, label, description, error, invalid = false, disabled = false, readonly = false, required = false, autocomplete, class: extraClass = "", leadingIcon, trailingIcon, oninput, onchange, onblur } = $$props;
		const uid = typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 10);
		const fieldId = derived(() => id ?? `cleo-in-${uid}`);
		const descId = derived(() => `${fieldId()}-desc`);
		const errId = derived(() => `${fieldId()}-err`);
		const isInvalid = derived(() => invalid || typeof error === "string" && error.length > 0);
		$$renderer.push(`<div${attr_class(`field ${stringify(extraClass)}`, "svelte-1wwkhju")}>`);
		if (label) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<label class="label svelte-1wwkhju"${attr("for", fieldId())}>${escape_html(label)} `);
			if (required) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="req svelte-1wwkhju" aria-hidden="true">*</span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></label>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> <div${attr_class("shell svelte-1wwkhju", void 0, {
			"invalid": isInvalid(),
			"is-disabled": disabled
		})}>`);
		if (leadingIcon) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<span class="icon leading svelte-1wwkhju" aria-hidden="true">`);
			leadingIcon($$renderer);
			$$renderer.push(`<!----></span>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> <input${attr("id", fieldId())}${attr("name", name)}${attr("type", type)}${attr("placeholder", placeholder)}${attr("value", value)}${attr("disabled", disabled, true)}${attr("readonly", readonly, true)}${attr("required", required, true)}${attr("autocomplete", autocomplete)}${attr("aria-invalid", isInvalid() ? "true" : void 0)}${attr("aria-describedby", description && !isInvalid() ? descId() : isInvalid() ? errId() : void 0)} class="svelte-1wwkhju"/> `);
		if (trailingIcon) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<span class="icon trailing svelte-1wwkhju" aria-hidden="true">`);
			trailingIcon($$renderer);
			$$renderer.push(`<!----></span>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div> `);
		if (description && !isInvalid()) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", descId())} class="description svelte-1wwkhju">${escape_html(description)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> `);
		if (isInvalid() && error) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", errId())} class="error svelte-1wwkhju" role="alert" aria-live="polite">${escape_html(error)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div>`);
		bind_props($$props, { value });
	});
}
//#endregion
//#region src/lib/ui/Modal.svelte
function Modal($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Modal}.
		*/
		/** Bindable open state. `true` shows the modal, `false` closes. */
		/** Accessible title shown in the header AND bound via aria-labelledby. */
		/**
		* When true (default), a click on the backdrop closes the modal.
		* Set false for destructive confirm flows.
		*/
		/**
		* Maximum width of the dialog in rem. Defaults to 32 (512px).
		*/
		/** Extra class names on the dialog. */
		/** Header slot — overrides the default title markup. */
		/** Body content. */
		/** Footer slot — typically action buttons. */
		/** Close callback. */
		let { open = false, title, closeOnBackdrop = true, maxWidth = 32, class: extraClass = "", header, children, footer, onclose } = $$props;
		const titleId = `cleo-mo-${typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 10)}-title`;
		$$renderer.push(`<dialog${attr_class(`cleo-modal ${stringify(extraClass)}`, "svelte-9pi54v")}${attr("aria-labelledby", titleId)}${attr_style(`--cleo-modal-max: ${stringify(maxWidth)}rem`)}><div class="modal-surface svelte-9pi54v" role="document"><header class="modal-header svelte-9pi54v">`);
		if (header) {
			$$renderer.push("<!--[0-->");
			header($$renderer);
			$$renderer.push(`<!---->`);
		} else {
			$$renderer.push("<!--[-1-->");
			$$renderer.push(`<h2${attr("id", titleId)} class="modal-title svelte-9pi54v">${escape_html(title)}</h2>`);
		}
		$$renderer.push(`<!--]--> <button type="button" class="close-btn svelte-9pi54v" aria-label="Close">✕</button></header> <div class="modal-body svelte-9pi54v">`);
		if (children) {
			$$renderer.push("<!--[0-->");
			children($$renderer);
			$$renderer.push(`<!---->`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div> `);
		if (footer) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<footer class="modal-footer svelte-9pi54v">`);
			footer($$renderer);
			$$renderer.push(`<!----></footer>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div></dialog>`);
		bind_props($$props, { open });
	});
}
//#endregion
//#region src/lib/ui/Select.svelte
function Select($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Select}.
		*/
		/** Bindable value. */
		/** Options array. If omitted, pass `<option>` via the default slot. */
		/** Visible label. */
		/** Placeholder — rendered as a disabled first option when set. */
		/** Native name. */
		/** Native id — auto-generated when omitted. */
		/** Neutral hint under the field. */
		/** Error message. Non-empty flips `invalid=true`. */
		/** Explicit invalid flag. */
		/** Disabled state. */
		/** Required flag. */
		/** Extra class names. */
		/** Default slot — raw `<option>` children when not using `options`. */
		/** Raw onchange passthrough. */
		let { value = void 0, options, label, placeholder, name, id, description, error, invalid = false, disabled = false, required = false, class: extraClass = "", children, onchange } = $$props;
		const uid = typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 10);
		const fieldId = derived(() => id ?? `cleo-sel-${uid}`);
		const descId = derived(() => `${fieldId()}-desc`);
		const errId = derived(() => `${fieldId()}-err`);
		const isInvalid = derived(() => invalid || typeof error === "string" && error.length > 0);
		function handleChange(e) {
			value = e.target.value;
			onchange?.(e);
		}
		$$renderer.push(`<div${attr_class(`field ${stringify(extraClass)}`, "svelte-1f20tz6")}>`);
		if (label) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<label class="label svelte-1f20tz6"${attr("for", fieldId())}>${escape_html(label)} `);
			if (required) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="req svelte-1f20tz6" aria-hidden="true">*</span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></label>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> <div${attr_class("shell svelte-1f20tz6", void 0, {
			"invalid": isInvalid(),
			"is-disabled": disabled
		})}>`);
		$$renderer.select({
			id: fieldId(),
			name,
			disabled,
			required,
			value,
			"aria-invalid": isInvalid() ? "true" : void 0,
			"aria-describedby": description && !isInvalid() ? descId() : isInvalid() ? errId() : void 0,
			onchange: handleChange,
			class: ""
		}, ($$renderer) => {
			if (placeholder) {
				$$renderer.push("<!--[0-->");
				$$renderer.option({
					value: "",
					disabled: true,
					selected: value === void 0 || value === ""
				}, ($$renderer) => {
					$$renderer.push(`${escape_html(placeholder)}`);
				});
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]-->`);
			if (options) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<!--[-->`);
				const each_array = ensure_array_like(options);
				for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
					let opt = each_array[$$index];
					$$renderer.option({
						value: opt.value,
						disabled: opt.disabled
					}, ($$renderer) => {
						$$renderer.push(`${escape_html(opt.label)}`);
					});
				}
				$$renderer.push(`<!--]-->`);
			} else if (children) {
				$$renderer.push("<!--[1-->");
				children($$renderer);
				$$renderer.push(`<!---->`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]-->`);
		}, "svelte-1f20tz6", void 0, void 0, void 0, true);
		$$renderer.push(` <span class="chevron svelte-1f20tz6" aria-hidden="true">▾</span></div> `);
		if (description && !isInvalid()) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", descId())} class="description svelte-1f20tz6">${escape_html(description)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> `);
		if (isInvalid() && error) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", errId())} class="error svelte-1f20tz6" role="alert" aria-live="polite">${escape_html(error)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div>`);
		bind_props($$props, { value });
	});
}
//#endregion
//#region src/lib/ui/TabPanel.svelte
function TabPanel($$renderer, $$props) {
	/**
	* Props for {@link TabPanel}.
	*/
	/** Must match the `TabItem.value` of the corresponding trigger. */
	/** The currently active tab — compared against `value`. */
	/**
	* When true, the panel DOM is torn down when inactive instead of
	* being hidden. Defaults to `false`.
	*/
	/** Extra class names. */
	/** Panel content. */
	let { value, active, unmount = false, class: extraClass = "", children } = $$props;
	const selected = derived(() => value === active);
	if (selected() || !unmount) {
		$$renderer.push("<!--[0-->");
		$$renderer.push(`<div${attr_class(`tab-panel ${stringify(extraClass)}`, "svelte-sdd8of")} role="tabpanel"${attr("id", `panel-${value}`)}${attr("aria-labelledby", `tab-${value}`)}${attr("hidden", !selected())}${attr("tabindex", selected() ? 0 : -1)}>`);
		if (children) {
			$$renderer.push("<!--[0-->");
			children($$renderer);
			$$renderer.push(`<!---->`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div>`);
	} else $$renderer.push("<!--[-1-->");
	$$renderer.push(`<!--]-->`);
}
//#endregion
//#region src/lib/ui/Textarea.svelte
function Textarea($$renderer, $$props) {
	$$renderer.component(($$renderer) => {
		/**
		* Props for {@link Textarea}.
		*/
		/** Bindable text value. */
		/** Placeholder text. */
		/** Native name. */
		/** Native id — auto-generated when omitted. */
		/** Visible label. */
		/** Neutral hint below the field. */
		/** Error string. Non-empty flips `invalid=true`. */
		/** Explicit invalid flag. */
		/** Disabled state. */
		/** Read-only state. */
		/** Required flag. */
		/** Minimum row count (native attribute). Defaults to 3. */
		/** Maximum character count. */
		/**
		* When true, the element grows with its content (and shrinks on
		* deletion). Defaults to `false`.
		*/
		/** Extra class names. */
		/** Raw `oninput` passthrough. */
		/** Raw `onchange` passthrough. */
		/** Raw `onblur` passthrough. */
		let { value = "", placeholder, name, id, label, description, error, invalid = false, disabled = false, readonly = false, required = false, rows = 3, maxlength, autoResize = false, class: extraClass = "", oninput, onchange, onblur } = $$props;
		const uid = typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID().slice(0, 8) : Math.random().toString(36).slice(2, 10);
		const fieldId = derived(() => id ?? `cleo-ta-${uid}`);
		const descId = derived(() => `${fieldId()}-desc`);
		const errId = derived(() => `${fieldId()}-err`);
		const isInvalid = derived(() => invalid || typeof error === "string" && error.length > 0);
		$$renderer.push(`<div${attr_class(`field ${stringify(extraClass)}`, "svelte-1qidjt8")}>`);
		if (label) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<label class="label svelte-1qidjt8"${attr("for", fieldId())}>${escape_html(label)} `);
			if (required) {
				$$renderer.push("<!--[0-->");
				$$renderer.push(`<span class="req svelte-1qidjt8" aria-hidden="true">*</span>`);
			} else $$renderer.push("<!--[-1-->");
			$$renderer.push(`<!--]--></label>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> <div${attr_class("shell svelte-1qidjt8", void 0, {
			"invalid": isInvalid(),
			"is-disabled": disabled
		})}><textarea${attr("id", fieldId())}${attr("name", name)}${attr("placeholder", placeholder)}${attr("rows", rows)}${attr("maxlength", maxlength)}${attr("disabled", disabled, true)}${attr("readonly", readonly, true)}${attr("required", required, true)}${attr("aria-invalid", isInvalid() ? "true" : void 0)}${attr("aria-describedby", description && !isInvalid() ? descId() : isInvalid() ? errId() : void 0)} class="svelte-1qidjt8">`);
		const $$body = escape_html(value);
		if ($$body) $$renderer.push(`${$$body}`);
		$$renderer.push(`</textarea></div> `);
		if (description && !isInvalid()) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", descId())} class="description svelte-1qidjt8">${escape_html(description)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--> `);
		if (isInvalid() && error) {
			$$renderer.push("<!--[0-->");
			$$renderer.push(`<p${attr("id", errId())} class="error svelte-1qidjt8" role="alert" aria-live="polite">${escape_html(error)}</p>`);
		} else $$renderer.push("<!--[-1-->");
		$$renderer.push(`<!--]--></div>`);
		bind_props($$props, { value });
	});
}

export { Button as B, ChipGroup as C, EmptyState as E, Input as I, Modal as M, Spinner as S, Textarea as T, Select as a, Chip as b, TabPanel as c };
//# sourceMappingURL=ui-DR8zOSpC.js.map
