@yymojo-tec/mojo-ui 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +154 -0
- package/dist/mojo-ui.css +1 -1
- package/dist/mojo-ui.js +2706 -1633
- package/dist/mojo-ui.js.map +1 -1
- package/dist/mojo-ui.umd.cjs +3 -3
- package/dist/mojo-ui.umd.cjs.map +1 -1
- package/dist/types/components/dialog/index.d.ts +73 -0
- package/dist/types/components/dialog/index.d.ts.map +1 -0
- package/dist/types/components/dialog/src/dialog.d.ts +13 -0
- package/dist/types/components/dialog/src/dialog.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +6 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/input/index.d.ts +85 -12
- package/dist/types/components/input/index.d.ts.map +1 -1
- package/dist/types/components/menu/index.d.ts +3 -3
- package/dist/types/components/scrollbar/index.d.ts +16 -0
- package/dist/types/components/scrollbar/index.d.ts.map +1 -0
- package/dist/types/components/scrollbar/src/scrollbar.d.ts +13 -0
- package/dist/types/components/scrollbar/src/scrollbar.d.ts.map +1 -0
- package/dist/types/components/select/index.d.ts +3 -3
- package/dist/types/components/upload/index.d.ts +37 -9
- package/dist/types/components/upload/index.d.ts.map +1 -1
- package/dist/types/components/upload/src/sdk.d.ts +3 -0
- package/dist/types/components/upload/src/sdk.d.ts.map +1 -0
- package/dist/types/components/upload/src/upload.d.ts +15 -0
- package/dist/types/components/upload/src/upload.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/mojo-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mojo-ui.js","sources":["../src/utils/install.ts","../src/components/button/src/button.vue","../src/components/button/index.ts","../src/components/card/src/card.vue","../src/components/card/index.ts","../src/components/col/src/col.vue","../src/components/col/index.ts","../src/components/form/src/context.ts","../src/components/form/src/form.vue","../src/components/form/index.ts","../src/utils/validators.ts","../src/components/form-item/src/form-item.vue","../src/components/form-item/index.ts","../src/components/input/src/input.vue","../src/components/input/index.ts","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-controllable.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/micro-task.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-id.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/dom.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/match.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/env.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/owner.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/focus-management.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/platform.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-document-event.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-window-event.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-outside-click.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/render.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/hidden.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/open-closed.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/keyboard.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/calculate-active-index.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/form.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/get-text-value.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-text-value.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/listbox/listbox.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/menu/menu.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/focus-sentinel.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/tabs/tabs.js","../src/components/menu/src/menu.vue","../src/components/menu/index.ts","../src/components/row/src/row.vue","../src/components/row/index.ts","../src/components/select/src/select.vue","../src/components/select/index.ts","../src/components/tabs/src/tabs.vue","../src/components/tabs/index.ts","../src/components/upload/src/upload.vue","../src/components/upload/index.ts","../src/components/index.ts","../src/index.ts"],"sourcesContent":["import type { App, Plugin } from \"vue\";\n\nexport type SfcWithInstall<T> = T & Plugin;\n\nexport function withInstall<T extends { name?: string }>(component: T) {\n return Object.assign(component, {\n install(app: App) {\n if (!component.name) {\n return;\n }\n\n app.component(component.name, component);\n }\n }) as SfcWithInstall<T>;\n}\n","<script setup lang=\"ts\">\nimport { computed, useSlots } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { ButtonProps } from \"./button\";\n\ndefineOptions({\n name: \"MoButton\"\n});\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n type: \"default\",\n size: \"default\",\n theme: \"light\",\n disabled: false,\n loading: false,\n round: false,\n icon: false,\n block: false\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst slots = useSlots();\n\nconst isIconOnly = computed(() => props.icon || (!slots.default && Boolean(slots.icon)));\n\nconst classes = computed(() => [\n \"mo-button\",\n `mo-button--${props.type}`,\n `mo-button--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"is-block\": props.block,\n \"is-disabled\": props.disabled,\n \"is-icon-only\": isIconOnly.value,\n \"is-loading\": props.loading,\n \"is-round\": props.round\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-button-custom-bg\": props.backgroundColor,\n \"--mo-button-custom-border\": props.borderColor,\n \"--mo-button-custom-color\": props.textColor\n}));\n\nfunction handleClick(event: MouseEvent) {\n if (props.disabled || props.loading) {\n return;\n }\n\n emit(\"click\", event);\n}\n</script>\n\n<template>\n <button\n :class=\"classes\"\n :disabled=\"disabled || loading\"\n :style=\"styles\"\n type=\"button\"\n @click=\"handleClick\"\n >\n <span v-if=\"loading\" class=\"mo-button__spinner\" aria-hidden=\"true\" />\n <span v-else-if=\"$slots.icon\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" />\n </span>\n\n <span v-if=\"$slots.prefix && !isIconOnly\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"prefix\" />\n </span>\n\n <span v-if=\"$slots.default\" class=\"mo-button__content\">\n <slot />\n </span>\n\n <span v-if=\"$slots.suffix && !isIconOnly\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"suffix\" />\n </span>\n </button>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Button from \"./src/button.vue\";\n\nexport const MoButton = withInstall(Button);\n\nexport default MoButton;\nexport type { ButtonProps } from \"./src/button\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { CardProps } from \"./card\";\n\ndefineOptions({\n name: \"MoCard\"\n});\n\nconst props = withDefaults(defineProps<CardProps>(), {\n theme: \"light\",\n shadow: \"hover\",\n borderStyle: \"solid\",\n hoverable: true,\n animated: true,\n selectable: false,\n selected: false\n});\n\nconst emit = defineEmits<{\n \"update:selected\": [value: boolean];\n select: [value: boolean];\n}>();\n\nconst classes = computed(() => [\n \"mo-card\",\n `mo-theme--${props.theme}`,\n `mo-card--shadow-${props.shadow}`,\n `mo-card--border-${props.borderStyle}`,\n {\n \"is-animated\": props.animated,\n \"is-hoverable\": props.hoverable,\n \"is-selectable\": props.selectable,\n \"is-selected\": props.selectable && props.selected\n }\n]);\n\nfunction toggleSelected() {\n if (!props.selectable) {\n return;\n }\n\n const nextValue = !props.selected;\n emit(\"update:selected\", nextValue);\n emit(\"select\", nextValue);\n}\n</script>\n\n<template>\n <section\n :class=\"classes\"\n :role=\"selectable ? 'button' : undefined\"\n :tabindex=\"selectable ? 0 : undefined\"\n :aria-pressed=\"selectable ? selected : undefined\"\n @click=\"toggleSelected\"\n @keydown.enter.prevent=\"toggleSelected\"\n @keydown.space.prevent=\"toggleSelected\"\n >\n <div v-if=\"selectable && selected\" class=\"mo-card__selected-mark\" aria-hidden=\"true\">\n <slot name=\"selected-icon\">♛</slot>\n </div>\n\n <div v-if=\"$slots.header\" class=\"mo-card__header\">\n <slot name=\"header\" />\n </div>\n\n <div class=\"mo-card__body\">\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" class=\"mo-card__footer\">\n <slot name=\"footer\" />\n </div>\n </section>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Card from \"./src/card.vue\";\n\nexport const MoCard = withInstall(Card);\n\nexport default MoCard;\nexport type { CardProps } from \"./src/card\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { ColProps } from \"./col\";\n\ndefineOptions({\n name: \"MoCol\"\n});\n\nconst props = withDefaults(defineProps<ColProps>(), {\n span: 24\n});\n\nconst normalizedSpan = computed(() => {\n const span = Number(props.span);\n\n if (!Number.isFinite(span)) {\n return 24;\n }\n\n return Math.min(Math.max(span, 1), 24);\n});\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-col-span\": normalizedSpan.value\n}));\n</script>\n\n<template>\n <div class=\"mo-col\" :style=\"styles\">\n <slot />\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Col from \"./src/col.vue\";\n\nexport const MoCol = withInstall(Col);\n\nexport default MoCol;\nexport type { ColProps } from \"./src/col\";\n","import type { InjectionKey } from \"vue\";\nimport type { FormLabelPosition, FormModel, FormRequireAsteriskPosition, FormRules } from \"./form\";\nimport type { MojoTheme } from \"@/foundation\";\n\nexport interface FormItemContext {\n prop?: string;\n validate: () => Promise<boolean>;\n resetValidation: () => void;\n}\n\nexport interface FormContext {\n model?: FormModel;\n rules?: FormRules;\n theme: MojoTheme;\n labelPosition: FormLabelPosition;\n labelWidth?: string | number;\n requireAsteriskPosition: FormRequireAsteriskPosition;\n labelSuffix: string;\n showMessage: boolean;\n addField: (field: FormItemContext) => void;\n removeField: (field: FormItemContext) => void;\n}\n\nexport const formContextKey: InjectionKey<FormContext> = Symbol(\"MoFormContext\");\n","<script setup lang=\"ts\">\nimport { computed, provide, reactive } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { FormItemContext, FormContext } from \"./context\";\nimport { formContextKey } from \"./context\";\nimport type { FormProps, FormValidateResult } from \"./form\";\n\ndefineOptions({\n name: \"MoForm\"\n});\n\nconst props = withDefaults(defineProps<FormProps>(), {\n model: undefined,\n rules: undefined,\n theme: \"light\",\n labelPosition: \"right\",\n labelWidth: \"\",\n requireAsteriskPosition: \"left\",\n labelSuffix: \"\",\n showMessage: true\n});\n\nconst fields = reactive<FormItemContext[]>([]);\n\nconst classes = computed(() => [\n \"mo-form\",\n `mo-theme--${props.theme}`,\n `mo-form--label-${props.labelPosition}`\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-form-label-width\":\n typeof props.labelWidth === \"number\" ? `${props.labelWidth}px` : props.labelWidth || undefined\n}));\n\nfunction addField(field: FormItemContext) {\n if (!fields.includes(field)) {\n fields.push(field);\n }\n}\n\nfunction removeField(field: FormItemContext) {\n const index = fields.indexOf(field);\n\n if (index >= 0) {\n fields.splice(index, 1);\n }\n}\n\nasync function validate(): Promise<FormValidateResult> {\n const results = await Promise.all(fields.map((field) => field.validate()));\n const errors: Record<string, string> = {};\n\n fields.forEach((field, index) => {\n if (!results[index] && field.prop) {\n errors[field.prop] = \"\";\n }\n });\n\n return {\n valid: results.every(Boolean),\n errors\n };\n}\n\nfunction resetFields() {\n fields.forEach((field) => field.resetValidation());\n}\n\nconst context = computed<FormContext>(() => ({\n model: props.model,\n rules: props.rules,\n theme: props.theme,\n labelPosition: props.labelPosition,\n labelWidth: props.labelWidth,\n requireAsteriskPosition: props.requireAsteriskPosition,\n labelSuffix: props.labelSuffix,\n showMessage: props.showMessage,\n addField,\n removeField\n}));\n\nprovide(formContextKey, context.value);\n\ndefineExpose({\n validate,\n resetFields\n});\n</script>\n\n<template>\n <form :class=\"classes\" :style=\"styles\">\n <slot />\n </form>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Form from \"./src/form.vue\";\n\nexport const MoForm = withInstall(Form);\n\nexport default MoForm;\nexport type { FormLabelPosition, FormProps, FormRequireAsteriskPosition, FormRules } from \"./src/form\";\n","export type ValidatorValue = unknown;\n\nexport interface MojoRule {\n required?: boolean;\n message?: string;\n validator?: (value: ValidatorValue) => boolean | string | Promise<boolean | string>;\n}\n\nexport function isEmpty(value: ValidatorValue) {\n if (value === null || value === undefined) {\n return true;\n }\n\n if (typeof value === \"string\") {\n return value.trim().length === 0;\n }\n\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n\n return false;\n}\n\nexport function isRequired(value: ValidatorValue) {\n return !isEmpty(value);\n}\n\nexport function isEmail(value: ValidatorValue) {\n if (isEmpty(value)) {\n return true;\n }\n\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(String(value));\n}\n\nexport function isPhone(value: ValidatorValue) {\n if (isEmpty(value)) {\n return true;\n }\n\n return /^1[3-9]\\d{9}$/.test(String(value));\n}\n\nexport function requiredRule(message = \"该项为必填项\"): MojoRule {\n return {\n required: true,\n message\n };\n}\n\nexport function emailRule(message = \"请输入正确的邮箱地址\"): MojoRule {\n return {\n message,\n validator: (value) => isEmail(value) || message\n };\n}\n\nexport function phoneRule(message = \"请输入正确的手机号\"): MojoRule {\n return {\n message,\n validator: (value) => isPhone(value) || message\n };\n}\n","<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, onMounted, ref } from \"vue\";\nimport { formContextKey } from \"@/components/form/src/context\";\nimport type { FormItemContext } from \"@/components/form/src/context\";\nimport { isEmpty } from \"@/utils/validators\";\nimport type { MojoRule } from \"@/utils/validators\";\nimport type { FormItemProps } from \"./form-item\";\n\ndefineOptions({\n name: \"MoFormItem\"\n});\n\nconst props = withDefaults(defineProps<FormItemProps>(), {\n label: \"\",\n prop: \"\",\n required: false,\n rules: undefined,\n help: \"\"\n});\n\nconst form = inject(formContextKey);\nconst errorMessage = ref(\"\");\n\nconst value = computed(() => (props.prop ? form?.model?.[props.prop] : undefined));\n\nconst normalizedRules = computed<MojoRule[]>(() => {\n const formRule = props.prop ? form?.rules?.[props.prop] : undefined;\n const rules = [props.rules, formRule].flat().filter(Boolean) as MojoRule[];\n\n if (props.required && !rules.some((rule) => rule.required)) {\n rules.unshift({ required: true, message: \"该项为必填项\" });\n }\n\n return rules;\n});\n\nconst isRequiredField = computed(\n () => props.required || normalizedRules.value.some((rule) => rule.required)\n);\n\nconst classes = computed(() => [\n \"mo-form-item\",\n {\n \"is-error\": Boolean(errorMessage.value),\n \"is-required\": isRequiredField.value\n }\n]);\n\nasync function validate() {\n errorMessage.value = \"\";\n\n for (const rule of normalizedRules.value) {\n if (rule.required && isEmpty(value.value)) {\n errorMessage.value = rule.message || \"该项为必填项\";\n return false;\n }\n\n if (rule.validator) {\n const result = await rule.validator(value.value);\n\n if (result !== true) {\n errorMessage.value = typeof result === \"string\" ? result : rule.message || \"校验失败\";\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction resetValidation() {\n errorMessage.value = \"\";\n}\n\nconst fieldContext: FormItemContext = {\n prop: props.prop,\n validate,\n resetValidation\n};\n\nonMounted(() => {\n form?.addField(fieldContext);\n});\n\nonBeforeUnmount(() => {\n form?.removeField(fieldContext);\n});\n</script>\n\n<template>\n <div :class=\"classes\">\n <label v-if=\"label\" class=\"mo-form-item__label\">\n <span\n v-if=\"isRequiredField && form?.requireAsteriskPosition === 'left'\"\n class=\"mo-form-item__asterisk\"\n >\n *\n </span>\n <span>{{ label }}</span>\n <span v-if=\"form?.labelSuffix\" class=\"mo-form-item__suffix\">{{ form.labelSuffix }}</span>\n <span\n v-if=\"isRequiredField && form?.requireAsteriskPosition === 'right'\"\n class=\"mo-form-item__asterisk\"\n >\n *\n </span>\n </label>\n\n <div class=\"mo-form-item__content\">\n <slot :error=\"errorMessage\" :validate=\"validate\" />\n <div v-if=\"help && !errorMessage\" class=\"mo-form-item__help\">{{ help }}</div>\n <div v-if=\"form?.showMessage && errorMessage\" class=\"mo-form-item__error\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport FormItem from \"./src/form-item.vue\";\n\nexport const MoFormItem = withInstall(FormItem);\n\nexport default MoFormItem;\nexport type { FormItemProps } from \"./src/form-item\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { InputProps } from \"./input\";\n\ndefineOptions({\n name: \"MoInput\"\n});\n\nconst props = withDefaults(defineProps<InputProps>(), {\n modelValue: \"\",\n tags: () => [],\n type: \"text\",\n size: \"default\",\n theme: \"light\",\n placeholder: \"\",\n maxlength: undefined,\n showWordLimit: false,\n rows: 3,\n disabled: false,\n readonly: false,\n clearable: false,\n taggable: false,\n allowDuplicateTags: false,\n resize: \"vertical\"\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: string];\n \"update:tags\": [value: string[]];\n input: [value: string];\n change: [value: string];\n clear: [];\n tagAdd: [value: string];\n tagRemove: [value: string, index: number];\n}>();\n\nconst inputValue = computed(() => String(props.modelValue ?? \"\"));\nconst isTextarea = computed(() => props.type === \"textarea\");\nconst isTaggable = computed(() => props.taggable && !isTextarea.value);\nconst shouldShowWordLimit = computed(() => props.showWordLimit && props.maxlength !== undefined);\n\nconst classes = computed(() => [\n \"mo-input\",\n `mo-input--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"is-disabled\": props.disabled,\n \"is-taggable\": isTaggable.value,\n \"is-textarea\": isTextarea.value\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-input-rows\": props.rows\n}));\n\nfunction handleInput(event: Event) {\n const value = (event.target as HTMLInputElement | HTMLTextAreaElement).value;\n emit(\"update:modelValue\", value);\n emit(\"input\", value);\n}\n\nfunction handleChange(event: Event) {\n emit(\"change\", (event.target as HTMLInputElement | HTMLTextAreaElement).value);\n}\n\nfunction handleClear() {\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n emit(\"clear\");\n}\n\nfunction handleEnter(event: KeyboardEvent) {\n if (!isTaggable.value || props.disabled || props.readonly) {\n return;\n }\n\n const value = inputValue.value.trim();\n\n if (!value) {\n return;\n }\n\n event.preventDefault();\n\n if (!props.allowDuplicateTags && props.tags.includes(value)) {\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n return;\n }\n\n emit(\"update:tags\", [...props.tags, value]);\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n emit(\"tagAdd\", value);\n}\n\nfunction handleRemoveTag(tag: string, index: number) {\n const nextTags = props.tags.filter((_, tagIndex) => tagIndex !== index);\n emit(\"update:tags\", nextTags);\n emit(\"tagRemove\", tag, index);\n}\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <textarea\n v-if=\"isTextarea\"\n class=\"mo-input__inner\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :rows=\"Number(rows)\"\n :style=\"{ resize }\"\n :value=\"inputValue\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n />\n <div v-else-if=\"isTaggable\" class=\"mo-input__tag-wrapper\">\n <span v-for=\"(tag, index) in tags\" :key=\"`${tag}-${index}`\" class=\"mo-input__tag\">\n <span class=\"mo-input__tag-text\">{{ tag }}</span>\n <button\n class=\"mo-input__tag-close\"\n type=\"button\"\n :aria-label=\"`Remove ${tag}`\"\n @click=\"handleRemoveTag(tag, index)\"\n >\n ×\n </button>\n </span>\n <input\n class=\"mo-input__tag-input\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :value=\"inputValue\"\n type=\"text\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n @keydown.enter=\"handleEnter\"\n />\n </div>\n <input\n v-else\n class=\"mo-input__inner\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :value=\"inputValue\"\n type=\"text\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n @keydown.enter=\"handleEnter\"\n />\n\n <button\n v-if=\"clearable && inputValue && !disabled && !readonly && !isTextarea && !isTaggable\"\n class=\"mo-input__clear\"\n type=\"button\"\n aria-label=\"Clear\"\n @click=\"handleClear\"\n >\n ×\n </button>\n\n <span v-if=\"shouldShowWordLimit\" class=\"mo-input__count\">\n {{ inputValue.length }} / {{ maxlength }}\n </span>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Input from \"./src/input.vue\";\n\nexport const MoInput = withInstall(Input);\n\nexport default MoInput;\nexport type { InputProps } from \"./src/input\";\n","import{computed as p,ref as s}from\"vue\";function d(u,e,r){let i=s(r==null?void 0:r.value),f=p(()=>u.value!==void 0);return[p(()=>f.value?u.value:i.value),function(t){return f.value||(i.value=t),e==null?void 0:e(t)}]}export{d as useControllable};\n","function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","var r;import*as e from\"vue\";let n=Symbol(\"headlessui.useid\"),o=0;const i=(r=e.useId)!=null?r:function(){return e.inject(n,()=>`${++o}`)()};function s(t){e.provide(n,t)}export{s as provideUseId,i as useId};\n","function o(e){var l;if(e==null||e.value==null)return null;let n=(l=e.value.$el)!=null?l:e.value;return n instanceof Node?n:null}export{o as dom};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","var i=Object.defineProperty;var d=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var n=(t,e,r)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,r),r);class s{constructor(){n(this,\"current\",this.detect());n(this,\"currentId\",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}}let c=new s;export{c as env};\n","import{dom as o}from'./dom.js';import{env as t}from'./env.js';function i(r){if(t.isServer)return null;if(r instanceof Node)return r.ownerDocument;if(r!=null&&r.hasOwnProperty(\"value\")){let n=o(r);if(n)return n.ownerDocument}return document}export{i as getOwnerDocument};\n","import{nextTick as b}from\"vue\";import{match as M}from'./match.js';import{getOwnerDocument as f}from'./owner.js';let c=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var N=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n))(N||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),F=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(F||{});function E(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function w(e,r=0){var t;return e===((t=f(e))==null?void 0:t.body)?!1:M(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function _(e){let r=f(e);b(()=>{r&&!w(r.activeElement,0)&&S(e)})}var y=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(y||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function S(e){e==null||e.focus({preventScroll:!0})}let H=[\"textarea\",\"input\"].join(\",\");function I(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,H))!=null?t:!1}function O(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function v(e,r){return P(E(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){var m;let i=(m=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?m:document,n=Array.isArray(e)?t?O(e):e:E(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let x=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),p=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),L=r&32?{preventScroll:!0}:{},a=0,d=n.length,u;do{if(a>=d||a+d<=0)return 0;let s=p+a;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}u=n[s],u==null||u.focus(L),a+=x}while(u!==i.activeElement);return r&6&&I(u)&&u.select(),2}export{N as Focus,T as FocusResult,h as FocusableMode,S as focusElement,v as focusFrom,P as focusIn,E as getFocusableElements,w as isFocusableElement,_ as restoreFocusIfNecessary,O as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{watchEffect as r}from\"vue\";import{env as m}from'../utils/env.js';function u(e,t,n){m.isServer||r(o=>{document.addEventListener(e,t,n),o(()=>document.removeEventListener(e,t,n))})}export{u as useDocumentEvent};\n","import{watchEffect as i}from\"vue\";import{env as r}from'../utils/env.js';function w(e,n,t){r.isServer||i(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent};\n","import{computed as s,ref as E}from\"vue\";import{dom as p}from'../utils/dom.js';import{FocusableMode as d,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as T}from'../utils/platform.js';import{useDocumentEvent as i}from'./use-document-event.js';import{useWindowEvent as M}from'./use-window-event.js';function w(f,m,l=s(()=>!0)){function a(e,r){if(!l.value||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t))return;let c=function o(n){return typeof n==\"function\"?o(n()):Array.isArray(n)||n instanceof Set?n:[n]}(f);for(let o of c){if(o===null)continue;let n=o instanceof HTMLElement?o:p(o);if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,d.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let u=E(null);i(\"pointerdown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"mousedown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"click\",e=>{T()||u.value&&(a(e,()=>u.value),u.value=null)},!0),i(\"touchend\",e=>a(e,()=>e.target instanceof HTMLElement?e.target:null),!0),M(\"blur\",e=>a(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{w as useOutsideClick};\n","import{onMounted as i,ref as f,watchEffect as l}from\"vue\";import{dom as o}from'../utils/dom.js';function r(t,e){if(t)return t;let n=e!=null?e:\"button\";if(typeof n==\"string\"&&n.toLowerCase()===\"button\")return\"button\"}function s(t,e){let n=f(r(t.value.type,t.value.as));return i(()=>{n.value=r(t.value.type,t.value.as)}),l(()=>{var u;n.value||o(e)&&o(e)instanceof HTMLButtonElement&&!((u=o(e))!=null&&u.hasAttribute(\"type\"))&&(n.value=\"button\")}),n}export{s as useResolveButtonType};\n","import{ref as o}from\"vue\";function r(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(n){let t=r(n);return e.value[0]===t[0]&&e.value[1]===t[1]?!1:(e.value=t,!0)},update(n){e.value=r(n)}}}export{u as useTrackedPointer};\n","import{watchEffect as p}from\"vue\";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};\n","import{cloneVNode as O,Fragment as x,h as k}from\"vue\";import{match as w}from'./match.js';var N=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(N||{}),S=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||t&2&&n.static)return y(l);if(t&1){let d=(a=n.unmount)==null||a?0:1;return w(d,{[0](){return null},[1](){return y({...i,props:{...n,hidden:!0,style:{display:\"none\"}}})}})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,h;let{as:n,...l}=T(r,[\"unmount\",\"static\"]),a=(m=e.default)==null?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))typeof f==\"boolean\"&&(u=!0),f===!0&&c.push(p);u&&(d[\"data-headlessui-state\"]=c.join(\" \"))}if(n===\"template\"){if(a=b(a!=null?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=a!=null?a:[];if(!v(u)||c.length>0)throw new Error(['Passing props on \"template\"!',\"\",`The current component <${i} /> is rendering a \"template\".`,\"However we need to passthrough the following props:\",Object.keys(l).concat(Object.keys(t)).map(s=>s.trim()).filter((s,g,R)=>R.indexOf(s)===g).sort((s,g)=>s.localeCompare(g)).map(s=>` - ${s}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(s=>` - ${s}`).join(`\n`)].join(`\n`));let p=j((h=u.props)!=null?h:{},l,d),f=O(u,p,!0);for(let s in p)s.startsWith(\"on\")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&a.length===1?a[0]:a}return k(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap(t=>t.type===x?b(t.children):[t])}function j(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith(\"on\")&&typeof i[n]==\"function\"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t[\"aria-disabled\"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function E(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function v(r){return r==null?!1:typeof r.type==\"string\"||typeof r.type==\"object\"||typeof r.type==\"function\"}export{N as Features,S as RenderStrategy,E as compact,T as omit,A as render};\n","import{defineComponent as a}from\"vue\";import{render as p}from'../utils/render.js';var u=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(u||{});let f=a({name:\"Hidden\",props:{as:{type:[Object,String],default:\"div\"},features:{type:Number,default:1}},setup(t,{slots:n,attrs:i}){return()=>{var r;let{features:e,...d}=t,o={\"aria-hidden\":(e&2)===2?!0:(r=d[\"aria-hidden\"])!=null?r:void 0,hidden:(e&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(e&4)===4&&(e&2)!==2&&{display:\"none\"}}};return p({ourProps:o,theirProps:d,slot:{},attrs:i,slots:n,name:\"Hidden\"})}}});export{u as Features,f as Hidden};\n","import{inject as p,provide as r}from\"vue\";let n=Symbol(\"Context\");var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function s(){return l()!==null}function l(){return p(n,null)}function t(o){r(n,o)}export{i as State,s as hasOpenClosed,l as useOpenClosed,t as useOpenClosedProvider};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex};\n","function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+\"[\"+s+\"]\":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t==\"boolean\"?i.push([s,t?\"1\":\"0\"]):typeof t==\"string\"?i.push([s,t]):typeof t==\"number\"?i.push([s,`${t}`]):t==null?i.push([s,\"\"]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest(\"form\");if(s){for(let n of s.elements)if(n!==i&&(n.tagName===\"INPUT\"&&n.type===\"submit\"||n.tagName===\"BUTTON\"&&n.type===\"submit\"||n.nodeName===\"INPUT\"&&n.type===\"image\")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries};\n","let a=/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:\"\",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:\"\":n;return a.test(l)&&(l=l.replace(a,\"\")),l}function g(e){let n=e.getAttribute(\"aria-label\");if(typeof n==\"string\")return n.trim();let t=e.getAttribute(\"aria-labelledby\");if(t){let u=t.split(\" \").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute(\"aria-label\");return typeof i==\"string\"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(\", \")}return o(e).trim()}export{g as getTextValue};\n","import{ref as n}from\"vue\";import{dom as o}from'../utils/dom.js';import{getTextValue as i}from'../utils/get-text-value.js';function p(a){let t=n(\"\"),r=n(\"\");return()=>{let e=o(a);if(!e)return\"\";let l=e.innerText;if(t.value===l)return r.value;let u=i(e).trim().toLowerCase();return t.value=l,r.value=u,u}}export{p as useTextValue};\n","import{computed as x,defineComponent as E,Fragment as z,h as N,inject as _,nextTick as V,onMounted as K,onUnmounted as q,provide as W,ref as T,toRaw as R,watch as H,watchEffect as G}from\"vue\";import{useControllable as J}from'../../hooks/use-controllable.js';import{useId as F}from'../../hooks/use-id.js';import{useOutsideClick as X}from'../../hooks/use-outside-click.js';import{useResolveButtonType as Y}from'../../hooks/use-resolve-button-type.js';import{useTextValue as Z}from'../../hooks/use-text-value.js';import{useTrackedPointer as ee}from'../../hooks/use-tracked-pointer.js';import{Features as te,Hidden as oe}from'../../internal/hidden.js';import{State as B,useOpenClosed as ae,useOpenClosedProvider as ie}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as ne,Focus as g}from'../../utils/calculate-active-index.js';import{dom as S}from'../../utils/dom.js';import{FocusableMode as le,isFocusableElement as ue,sortByDomNode as re}from'../../utils/focus-management.js';import{objectToFormEntries as se}from'../../utils/form.js';import{match as P}from'../../utils/match.js';import{compact as de,Features as U,omit as fe,render as j}from'../../utils/render.js';function pe(o,b){return o===b}var ce=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(ce||{}),ve=(r=>(r[r.Single=0]=\"Single\",r[r.Multi=1]=\"Multi\",r))(ve||{}),be=(r=>(r[r.Pointer=0]=\"Pointer\",r[r.Other=1]=\"Other\",r))(be||{});function me(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let $=Symbol(\"ListboxContext\");function A(o){let b=_($,null);if(b===null){let r=new Error(`<${o} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,A),r}return b}let Ie=E({name:\"Listbox\",emits:{\"update:modelValue\":o=>!0},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>pe},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(o,{slots:b,attrs:r,emit:w}){let n=T(1),e=T(null),f=T(null),v=T(null),s=T([]),m=T(\"\"),p=T(null),a=T(1);function u(t=i=>i){let i=p.value!==null?s.value[p.value]:null,l=re(t(s.value.slice()),O=>S(O.dataRef.domRef)),d=i?l.indexOf(i):null;return d===-1&&(d=null),{options:l,activeOptionIndex:d}}let D=x(()=>o.multiple?1:0),[y,L]=J(x(()=>o.modelValue),t=>w(\"update:modelValue\",t),x(()=>o.defaultValue)),M=x(()=>y.value===void 0?P(D.value,{[1]:[],[0]:void 0}):y.value),k={listboxState:n,value:M,mode:D,compare(t,i){if(typeof o.by==\"string\"){let l=o.by;return(t==null?void 0:t[l])===(i==null?void 0:i[l])}return o.by(t,i)},orientation:x(()=>o.horizontal?\"horizontal\":\"vertical\"),labelRef:e,buttonRef:f,optionsRef:v,disabled:x(()=>o.disabled),options:s,searchQuery:m,activeOptionIndex:p,activationTrigger:a,closeListbox(){o.disabled||n.value!==1&&(n.value=1,p.value=null)},openListbox(){o.disabled||n.value!==0&&(n.value=0)},goToOption(t,i,l){if(o.disabled||n.value===1)return;let d=u(),O=ne(t===g.Specific?{focus:g.Specific,id:i}:{focus:t},{resolveItems:()=>d.options,resolveActiveIndex:()=>d.activeOptionIndex,resolveId:h=>h.id,resolveDisabled:h=>h.dataRef.disabled});m.value=\"\",p.value=O,a.value=l!=null?l:1,s.value=d.options},search(t){if(o.disabled||n.value===1)return;let l=m.value!==\"\"?0:1;m.value+=t.toLowerCase();let O=(p.value!==null?s.value.slice(p.value+l).concat(s.value.slice(0,p.value+l)):s.value).find(I=>I.dataRef.textValue.startsWith(m.value)&&!I.dataRef.disabled),h=O?s.value.indexOf(O):-1;h===-1||h===p.value||(p.value=h,a.value=1)},clearSearch(){o.disabled||n.value!==1&&m.value!==\"\"&&(m.value=\"\")},registerOption(t,i){let l=u(d=>[...d,{id:t,dataRef:i}]);s.value=l.options,p.value=l.activeOptionIndex},unregisterOption(t){let i=u(l=>{let d=l.findIndex(O=>O.id===t);return d!==-1&&l.splice(d,1),l});s.value=i.options,p.value=i.activeOptionIndex,a.value=1},theirOnChange(t){o.disabled||L(t)},select(t){o.disabled||L(P(D.value,{[0]:()=>t,[1]:()=>{let i=R(k.value.value).slice(),l=R(t),d=i.findIndex(O=>k.compare(l,R(O)));return d===-1?i.push(l):i.splice(d,1),i}}))}};X([f,v],(t,i)=>{var l;k.closeListbox(),ue(i,le.Loose)||(t.preventDefault(),(l=S(f))==null||l.focus())},x(()=>n.value===0)),W($,k),ie(x(()=>P(n.value,{[0]:B.Open,[1]:B.Closed})));let C=x(()=>{var t;return(t=S(f))==null?void 0:t.closest(\"form\")});return K(()=>{H([C],()=>{if(!C.value||o.defaultValue===void 0)return;function t(){k.theirOnChange(o.defaultValue)}return C.value.addEventListener(\"reset\",t),()=>{var i;(i=C.value)==null||i.removeEventListener(\"reset\",t)}},{immediate:!0})}),()=>{let{name:t,modelValue:i,disabled:l,form:d,...O}=o,h={open:n.value===0,disabled:l,value:M.value};return N(z,[...t!=null&&M.value!=null?se({[t]:M.value}).map(([I,Q])=>N(oe,de({features:te.Hidden,key:I,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:d,disabled:l,name:I,value:Q}))):[],j({ourProps:{},theirProps:{...r,...fe(O,[\"defaultValue\",\"onUpdate:modelValue\",\"horizontal\",\"multiple\",\"by\"])},slot:h,slots:b,attrs:r,name:\"Listbox\"})])}}}),Ee=E({name:\"ListboxLabel\",props:{as:{type:[Object,String],default:\"label\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r}){var f;let w=(f=o.id)!=null?f:`headlessui-listbox-label-${F()}`,n=A(\"ListboxLabel\");function e(){var v;(v=S(n.buttonRef))==null||v.focus({preventScroll:!0})}return()=>{let v={open:n.listboxState.value===0,disabled:n.disabled.value},{...s}=o,m={id:w,ref:n.labelRef,onClick:e};return j({ourProps:m,theirProps:s,slot:v,attrs:b,slots:r,name:\"ListboxLabel\"})}}}),je=E({name:\"ListboxButton\",props:{as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-button-${F()}`,e=A(\"ListboxButton\");w({el:e.buttonRef,$el:e.buttonRef});function f(a){switch(a.key){case c.Space:case c.Enter:case c.ArrowDown:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.First)});break;case c.ArrowUp:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.Last)});break}}function v(a){switch(a.key){case c.Space:a.preventDefault();break}}function s(a){e.disabled.value||(e.listboxState.value===0?(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(a.preventDefault(),e.openListbox(),me(()=>{var u;return(u=S(e.optionsRef))==null?void 0:u.focus({preventScroll:!0})})))}let m=Y(x(()=>({as:o.as,type:b.type})),e.buttonRef);return()=>{var y,L;let a={open:e.listboxState.value===0,disabled:e.disabled.value,value:e.value.value},{...u}=o,D={ref:e.buttonRef,id:n,type:m.value,\"aria-haspopup\":\"listbox\",\"aria-controls\":(y=S(e.optionsRef))==null?void 0:y.id,\"aria-expanded\":e.listboxState.value===0,\"aria-labelledby\":e.labelRef.value?[(L=S(e.labelRef))==null?void 0:L.id,n].join(\" \"):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:f,onKeyup:v,onClick:s};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,name:\"ListboxButton\"})}}}),Ae=E({name:\"ListboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-options-${F()}`,e=A(\"ListboxOptions\"),f=T(null);w({el:e.optionsRef,$el:e.optionsRef});function v(a){switch(f.value&&clearTimeout(f.value),a.key){case c.Space:if(e.searchQuery.value!==\"\")return a.preventDefault(),a.stopPropagation(),e.search(a.key);case c.Enter:if(a.preventDefault(),a.stopPropagation(),e.activeOptionIndex.value!==null){let u=e.options.value[e.activeOptionIndex.value];e.select(u.dataRef.value)}e.mode.value===0&&(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})}));break;case P(e.orientation.value,{vertical:c.ArrowDown,horizontal:c.ArrowRight}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Next);case P(e.orientation.value,{vertical:c.ArrowUp,horizontal:c.ArrowLeft}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Previous);case c.Home:case c.PageUp:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.First);case c.End:case c.PageDown:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Last);case c.Escape:a.preventDefault(),a.stopPropagation(),e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})});break;case c.Tab:a.preventDefault(),a.stopPropagation();break;default:a.key.length===1&&(e.search(a.key),f.value=setTimeout(()=>e.clearSearch(),350));break}}let s=ae(),m=x(()=>s!==null?(s.value&B.Open)===B.Open:e.listboxState.value===0);return()=>{var y,L;let a={open:e.listboxState.value===0},{...u}=o,D={\"aria-activedescendant\":e.activeOptionIndex.value===null||(y=e.options.value[e.activeOptionIndex.value])==null?void 0:y.id,\"aria-multiselectable\":e.mode.value===1?!0:void 0,\"aria-labelledby\":(L=S(e.buttonRef))==null?void 0:L.id,\"aria-orientation\":e.orientation.value,id:n,onKeydown:v,role:\"listbox\",tabIndex:0,ref:e.optionsRef};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,features:U.RenderStrategy|U.Static,visible:m.value,name:\"ListboxOptions\"})}}}),Fe=E({name:\"ListboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:b,attrs:r,expose:w}){var C;let n=(C=o.id)!=null?C:`headlessui-listbox-option-${F()}`,e=A(\"ListboxOption\"),f=T(null);w({el:f,$el:f});let v=x(()=>e.activeOptionIndex.value!==null?e.options.value[e.activeOptionIndex.value].id===n:!1),s=x(()=>P(e.mode.value,{[0]:()=>e.compare(R(e.value.value),R(o.value)),[1]:()=>R(e.value.value).some(t=>e.compare(R(t),R(o.value)))})),m=x(()=>P(e.mode.value,{[1]:()=>{var i;let t=R(e.value.value);return((i=e.options.value.find(l=>t.some(d=>e.compare(R(d),R(l.dataRef.value)))))==null?void 0:i.id)===n},[0]:()=>s.value})),p=Z(f),a=x(()=>({disabled:o.disabled,value:o.value,get textValue(){return p()},domRef:f}));K(()=>e.registerOption(n,a)),q(()=>e.unregisterOption(n)),K(()=>{H([e.listboxState,s],()=>{e.listboxState.value===0&&s.value&&P(e.mode.value,{[1]:()=>{m.value&&e.goToOption(g.Specific,n)},[0]:()=>{e.goToOption(g.Specific,n)}})},{immediate:!0})}),G(()=>{e.listboxState.value===0&&v.value&&e.activationTrigger.value!==0&&V(()=>{var t,i;return(i=(t=S(f))==null?void 0:t.scrollIntoView)==null?void 0:i.call(t,{block:\"nearest\"})})});function u(t){if(o.disabled)return t.preventDefault();e.select(o.value),e.mode.value===0&&(e.closeListbox(),V(()=>{var i;return(i=S(e.buttonRef))==null?void 0:i.focus({preventScroll:!0})}))}function D(){if(o.disabled)return e.goToOption(g.Nothing);e.goToOption(g.Specific,n)}let y=ee();function L(t){y.update(t)}function M(t){y.wasMoved(t)&&(o.disabled||v.value||e.goToOption(g.Specific,n,0))}function k(t){y.wasMoved(t)&&(o.disabled||v.value&&e.goToOption(g.Nothing))}return()=>{let{disabled:t}=o,i={active:v.value,selected:s.value,disabled:t},{value:l,disabled:d,...O}=o,h={id:n,ref:f,role:\"option\",tabIndex:t===!0?void 0:-1,\"aria-disabled\":t===!0?!0:void 0,\"aria-selected\":s.value,disabled:void 0,onClick:u,onFocus:D,onPointerenter:L,onMouseenter:L,onPointermove:M,onMousemove:M,onPointerleave:k,onMouseleave:k};return j({ourProps:h,theirProps:O,slot:i,attrs:r,slots:b,name:\"ListboxOption\"})}}});export{Ie as Listbox,je as ListboxButton,Ee as ListboxLabel,Fe as ListboxOption,Ae as ListboxOptions};\n","import{computed as y,defineComponent as T,inject as K,nextTick as x,onMounted as N,onUnmounted as j,provide as L,ref as R,watchEffect as B}from\"vue\";import{useId as w}from'../../hooks/use-id.js';import{useOutsideClick as U}from'../../hooks/use-outside-click.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useTextValue as V}from'../../hooks/use-text-value.js';import{useTrackedPointer as H}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{State as D,useOpenClosed as _,useOpenClosedProvider as q}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as W,Focus as S}from'../../utils/calculate-active-index.js';import{dom as m}from'../../utils/dom.js';import{Focus as E,FocusableMode as J,focusFrom as z,isFocusableElement as G,restoreFocusIfNecessary as k,sortByDomNode as X}from'../../utils/focus-management.js';import{match as Y}from'../../utils/match.js';import{Features as F,render as P}from'../../utils/render.js';var Z=(i=>(i[i.Open=0]=\"Open\",i[i.Closed=1]=\"Closed\",i))(Z||{}),ee=(i=>(i[i.Pointer=0]=\"Pointer\",i[i.Other=1]=\"Other\",i))(ee||{});function te(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let A=Symbol(\"MenuContext\");function O(o){let M=K(A,null);if(M===null){let i=new Error(`<${o} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,O),i}return M}let ge=T({name:\"Menu\",props:{as:{type:[Object,String],default:\"template\"}},setup(o,{slots:M,attrs:i}){let I=R(1),p=R(null),e=R(null),r=R([]),f=R(\"\"),d=R(null),g=R(1);function b(t=a=>a){let a=d.value!==null?r.value[d.value]:null,n=X(t(r.value.slice()),v=>m(v.dataRef.domRef)),s=a?n.indexOf(a):null;return s===-1&&(s=null),{items:n,activeItemIndex:s}}let l={menuState:I,buttonRef:p,itemsRef:e,items:r,searchQuery:f,activeItemIndex:d,activationTrigger:g,closeMenu:()=>{I.value=1,d.value=null},openMenu:()=>I.value=0,goToItem(t,a,n){let s=b(),v=W(t===S.Specific?{focus:S.Specific,id:a}:{focus:t},{resolveItems:()=>s.items,resolveActiveIndex:()=>s.activeItemIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.disabled});f.value=\"\",d.value=v,g.value=n!=null?n:1,r.value=s.items},search(t){let n=f.value!==\"\"?0:1;f.value+=t.toLowerCase();let v=(d.value!==null?r.value.slice(d.value+n).concat(r.value.slice(0,d.value+n)):r.value).find(h=>h.dataRef.textValue.startsWith(f.value)&&!h.dataRef.disabled),u=v?r.value.indexOf(v):-1;u===-1||u===d.value||(d.value=u,g.value=1)},clearSearch(){f.value=\"\"},registerItem(t,a){let n=b(s=>[...s,{id:t,dataRef:a}]);r.value=n.items,d.value=n.activeItemIndex,g.value=1},unregisterItem(t){let a=b(n=>{let s=n.findIndex(v=>v.id===t);return s!==-1&&n.splice(s,1),n});r.value=a.items,d.value=a.activeItemIndex,g.value=1}};return U([p,e],(t,a)=>{var n;l.closeMenu(),G(a,J.Loose)||(t.preventDefault(),(n=m(p))==null||n.focus())},y(()=>I.value===0)),L(A,l),q(y(()=>Y(I.value,{[0]:D.Open,[1]:D.Closed}))),()=>{let t={open:I.value===0,close:l.closeMenu};return P({ourProps:{},theirProps:o,slot:t,slots:M,attrs:i,name:\"Menu\"})}}}),Se=T({name:\"MenuButton\",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var b;let p=(b=o.id)!=null?b:`headlessui-menu-button-${w()}`,e=O(\"MenuButton\");I({el:e.buttonRef,$el:e.buttonRef});function r(l){switch(l.key){case c.Space:case c.Enter:case c.ArrowDown:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.First)});break;case c.ArrowUp:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.Last)});break}}function f(l){switch(l.key){case c.Space:l.preventDefault();break}}function d(l){o.disabled||(e.menuState.value===0?(e.closeMenu(),x(()=>{var t;return(t=m(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})})):(l.preventDefault(),e.openMenu(),te(()=>{var t;return(t=m(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let g=$(y(()=>({as:o.as,type:M.type})),e.buttonRef);return()=>{var n;let l={open:e.menuState.value===0},{...t}=o,a={ref:e.buttonRef,id:p,type:g.value,\"aria-haspopup\":\"menu\",\"aria-controls\":(n=m(e.itemsRef))==null?void 0:n.id,\"aria-expanded\":e.menuState.value===0,onKeydown:r,onKeyup:f,onClick:d};return P({ourProps:a,theirProps:t,slot:l,attrs:M,slots:i,name:\"MenuButton\"})}}}),Me=T({name:\"MenuItems\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var l;let p=(l=o.id)!=null?l:`headlessui-menu-items-${w()}`,e=O(\"MenuItems\"),r=R(null);I({el:e.itemsRef,$el:e.itemsRef}),Q({container:y(()=>m(e.itemsRef)),enabled:y(()=>e.menuState.value===0),accept(t){return t.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:t.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute(\"role\",\"none\")}});function f(t){var a;switch(r.value&&clearTimeout(r.value),t.key){case c.Space:if(e.searchQuery.value!==\"\")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case c.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let s=e.items.value[e.activeItemIndex.value];(a=m(s.dataRef.domRef))==null||a.click()}e.closeMenu(),k(m(e.buttonRef));break;case c.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Next);case c.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Previous);case c.Home:case c.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.First);case c.End:case c.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Last);case c.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>{var n;return(n=m(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case c.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>z(m(e.buttonRef),t.shiftKey?E.Previous:E.Next));break;default:t.key.length===1&&(e.search(t.key),r.value=setTimeout(()=>e.clearSearch(),350));break}}function d(t){switch(t.key){case c.Space:t.preventDefault();break}}let g=_(),b=y(()=>g!==null?(g.value&D.Open)===D.Open:e.menuState.value===0);return()=>{var s,v;let t={open:e.menuState.value===0},{...a}=o,n={\"aria-activedescendant\":e.activeItemIndex.value===null||(s=e.items.value[e.activeItemIndex.value])==null?void 0:s.id,\"aria-labelledby\":(v=m(e.buttonRef))==null?void 0:v.id,id:p,onKeydown:f,onKeyup:d,role:\"menu\",tabIndex:0,ref:e.itemsRef};return P({ourProps:n,theirProps:a,slot:t,attrs:M,slots:i,features:F.RenderStrategy|F.Static,visible:b.value,name:\"MenuItems\"})}}}),be=T({name:\"MenuItem\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"template\"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:M,attrs:i,expose:I}){var v;let p=(v=o.id)!=null?v:`headlessui-menu-item-${w()}`,e=O(\"MenuItem\"),r=R(null);I({el:r,$el:r});let f=y(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===p:!1),d=V(r),g=y(()=>({disabled:o.disabled,get textValue(){return d()},domRef:r}));N(()=>e.registerItem(p,g)),j(()=>e.unregisterItem(p)),B(()=>{e.menuState.value===0&&f.value&&e.activationTrigger.value!==0&&x(()=>{var u,h;return(h=(u=m(r))==null?void 0:u.scrollIntoView)==null?void 0:h.call(u,{block:\"nearest\"})})});function b(u){if(o.disabled)return u.preventDefault();e.closeMenu(),k(m(e.buttonRef))}function l(){if(o.disabled)return e.goToItem(S.Nothing);e.goToItem(S.Specific,p)}let t=H();function a(u){t.update(u)}function n(u){t.wasMoved(u)&&(o.disabled||f.value||e.goToItem(S.Specific,p,0))}function s(u){t.wasMoved(u)&&(o.disabled||f.value&&e.goToItem(S.Nothing))}return()=>{let{disabled:u,...h}=o,C={active:f.value,disabled:u,close:e.closeMenu};return P({ourProps:{id:p,ref:r,role:\"menuitem\",tabIndex:u===!0?void 0:-1,\"aria-disabled\":u===!0?!0:void 0,onClick:b,onFocus:l,onPointerenter:a,onMouseenter:a,onPointermove:n,onMousemove:n,onPointerleave:s,onMouseleave:s},theirProps:{...i,...h},slot:C,attrs:i,slots:M,name:\"MenuItem\"})}}});export{ge as Menu,Se as MenuButton,be as MenuItem,Me as MenuItems};\n","import{defineComponent as i,h as m,ref as f}from\"vue\";import{Features as l,Hidden as F}from'./hidden.js';let d=i({props:{onFocus:{type:Function,required:!0}},setup(t){let n=f(!0);return()=>n.value?m(F,{as:\"button\",type:\"button\",features:l.Focusable,onFocus(o){o.preventDefault();let e,a=50;function r(){var u;if(a--<=0){e&&cancelAnimationFrame(e);return}if((u=t.onFocus)!=null&&u.call(t)){n.value=!1,cancelAnimationFrame(e);return}e=requestAnimationFrame(r)}e=requestAnimationFrame(r)}}):null}});export{d as FocusSentinel};\n","import{computed as v,defineComponent as L,Fragment as z,h as A,inject as j,onMounted as F,onUnmounted as K,provide as N,ref as P,watch as _,watchEffect as J}from\"vue\";import{useId as $}from'../../hooks/use-id.js';import{useResolveButtonType as Q}from'../../hooks/use-resolve-button-type.js';import{FocusSentinel as V}from'../../internal/focus-sentinel.js';import{Hidden as X}from'../../internal/hidden.js';import{Keys as S}from'../../keyboard.js';import{dom as f}from'../../utils/dom.js';import{Focus as g,focusIn as D,FocusResult as B,sortByDomNode as k}from'../../utils/focus-management.js';import{match as H}from'../../utils/match.js';import{microTask as Y}from'../../utils/micro-task.js';import{getOwnerDocument as Z}from'../../utils/owner.js';import{Features as q,omit as ee,render as M}from'../../utils/render.js';var te=(s=>(s[s.Forwards=0]=\"Forwards\",s[s.Backwards=1]=\"Backwards\",s))(te||{}),le=(d=>(d[d.Less=-1]=\"Less\",d[d.Equal=0]=\"Equal\",d[d.Greater=1]=\"Greater\",d))(le||{});let U=Symbol(\"TabsContext\");function C(a){let b=j(U,null);if(b===null){let s=new Error(`<${a} /> is missing a parent <TabGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,C),s}return b}let G=Symbol(\"TabsSSRContext\"),me=L({name:\"TabGroup\",emits:{change:a=>!0},props:{as:{type:[Object,String],default:\"template\"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(a,{slots:b,attrs:s,emit:d}){var E;let i=P((E=a.selectedIndex)!=null?E:a.defaultIndex),l=P([]),r=P([]),p=v(()=>a.selectedIndex!==null),R=v(()=>p.value?a.selectedIndex:i.value);function y(t){var c;let n=k(u.tabs.value,f),o=k(u.panels.value,f),e=n.filter(I=>{var m;return!((m=f(I))!=null&&m.hasAttribute(\"disabled\"))});if(t<0||t>n.length-1){let I=H(i.value===null?0:Math.sign(t-i.value),{[-1]:()=>1,[0]:()=>H(Math.sign(t),{[-1]:()=>0,[0]:()=>0,[1]:()=>1}),[1]:()=>0}),m=H(I,{[0]:()=>n.indexOf(e[0]),[1]:()=>n.indexOf(e[e.length-1])});m!==-1&&(i.value=m),u.tabs.value=n,u.panels.value=o}else{let I=n.slice(0,t),h=[...n.slice(t),...I].find(W=>e.includes(W));if(!h)return;let O=(c=n.indexOf(h))!=null?c:u.selectedIndex.value;O===-1&&(O=u.selectedIndex.value),i.value=O,u.tabs.value=n,u.panels.value=o}}let u={selectedIndex:v(()=>{var t,n;return(n=(t=i.value)!=null?t:a.defaultIndex)!=null?n:null}),orientation:v(()=>a.vertical?\"vertical\":\"horizontal\"),activation:v(()=>a.manual?\"manual\":\"auto\"),tabs:l,panels:r,setSelectedIndex(t){R.value!==t&&d(\"change\",t),p.value||y(t)},registerTab(t){var o;if(l.value.includes(t))return;let n=l.value[i.value];if(l.value.push(t),l.value=k(l.value,f),!p.value){let e=(o=l.value.indexOf(n))!=null?o:i.value;e!==-1&&(i.value=e)}},unregisterTab(t){let n=l.value.indexOf(t);n!==-1&&l.value.splice(n,1)},registerPanel(t){r.value.includes(t)||(r.value.push(t),r.value=k(r.value,f))},unregisterPanel(t){let n=r.value.indexOf(t);n!==-1&&r.value.splice(n,1)}};N(U,u);let T=P({tabs:[],panels:[]}),x=P(!1);F(()=>{x.value=!0}),N(G,v(()=>x.value?null:T.value));let w=v(()=>a.selectedIndex);return F(()=>{_([w],()=>{var t;return y((t=a.selectedIndex)!=null?t:a.defaultIndex)},{immediate:!0})}),J(()=>{if(!p.value||R.value==null||u.tabs.value.length<=0)return;let t=k(u.tabs.value,f);t.some((o,e)=>f(u.tabs.value[e])!==f(o))&&u.setSelectedIndex(t.findIndex(o=>f(o)===f(u.tabs.value[R.value])))}),()=>{let t={selectedIndex:i.value};return A(z,[l.value.length<=0&&A(V,{onFocus:()=>{for(let n of l.value){let o=f(n);if((o==null?void 0:o.tabIndex)===0)return o.focus(),!0}return!1}}),M({theirProps:{...s,...ee(a,[\"selectedIndex\",\"defaultIndex\",\"manual\",\"vertical\",\"onChange\"])},ourProps:{},slot:t,slots:b,attrs:s,name:\"TabGroup\"})])}}}),pe=L({name:\"TabList\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{attrs:b,slots:s}){let d=C(\"TabList\");return()=>{let i={selectedIndex:d.selectedIndex.value},l={role:\"tablist\",\"aria-orientation\":d.orientation.value};return M({ourProps:l,theirProps:a,slot:i,attrs:b,slots:s,name:\"TabList\"})}}}),xe=L({name:\"Tab\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(a,{attrs:b,slots:s,expose:d}){var o;let i=(o=a.id)!=null?o:`headlessui-tabs-tab-${$()}`,l=C(\"Tab\"),r=P(null);d({el:r,$el:r}),F(()=>l.registerTab(r)),K(()=>l.unregisterTab(r));let p=j(G),R=v(()=>{if(p.value){let e=p.value.tabs.indexOf(i);return e===-1?p.value.tabs.push(i)-1:e}return-1}),y=v(()=>{let e=l.tabs.value.indexOf(r);return e===-1?R.value:e}),u=v(()=>y.value===l.selectedIndex.value);function T(e){var I;let c=e();if(c===B.Success&&l.activation.value===\"auto\"){let m=(I=Z(r))==null?void 0:I.activeElement,h=l.tabs.value.findIndex(O=>f(O)===m);h!==-1&&l.setSelectedIndex(h)}return c}function x(e){let c=l.tabs.value.map(m=>f(m)).filter(Boolean);if(e.key===S.Space||e.key===S.Enter){e.preventDefault(),e.stopPropagation(),l.setSelectedIndex(y.value);return}switch(e.key){case S.Home:case S.PageUp:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.First));case S.End:case S.PageDown:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.Last))}if(T(()=>H(l.orientation.value,{vertical(){return e.key===S.ArrowUp?D(c,g.Previous|g.WrapAround):e.key===S.ArrowDown?D(c,g.Next|g.WrapAround):B.Error},horizontal(){return e.key===S.ArrowLeft?D(c,g.Previous|g.WrapAround):e.key===S.ArrowRight?D(c,g.Next|g.WrapAround):B.Error}}))===B.Success)return e.preventDefault()}let w=P(!1);function E(){var e;w.value||(w.value=!0,!a.disabled&&((e=f(r))==null||e.focus({preventScroll:!0}),l.setSelectedIndex(y.value),Y(()=>{w.value=!1})))}function t(e){e.preventDefault()}let n=Q(v(()=>({as:a.as,type:b.type})),r);return()=>{var m,h;let e={selected:u.value,disabled:(m=a.disabled)!=null?m:!1},{...c}=a,I={ref:r,onKeydown:x,onMousedown:t,onClick:E,id:i,role:\"tab\",type:n.value,\"aria-controls\":(h=f(l.panels.value[y.value]))==null?void 0:h.id,\"aria-selected\":u.value,tabIndex:u.value?0:-1,disabled:a.disabled?!0:void 0};return M({ourProps:I,theirProps:c,slot:e,attrs:b,slots:s,name:\"Tab\"})}}}),Ie=L({name:\"TabPanels\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{slots:b,attrs:s}){let d=C(\"TabPanels\");return()=>{let i={selectedIndex:d.selectedIndex.value};return M({theirProps:a,ourProps:{},slot:i,attrs:s,slots:b,name:\"TabPanels\"})}}}),ye=L({name:\"TabPanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null},tabIndex:{type:Number,default:0}},setup(a,{attrs:b,slots:s,expose:d}){var T;let i=(T=a.id)!=null?T:`headlessui-tabs-panel-${$()}`,l=C(\"TabPanel\"),r=P(null);d({el:r,$el:r}),F(()=>l.registerPanel(r)),K(()=>l.unregisterPanel(r));let p=j(G),R=v(()=>{if(p.value){let x=p.value.panels.indexOf(i);return x===-1?p.value.panels.push(i)-1:x}return-1}),y=v(()=>{let x=l.panels.value.indexOf(r);return x===-1?R.value:x}),u=v(()=>y.value===l.selectedIndex.value);return()=>{var n;let x={selected:u.value},{tabIndex:w,...E}=a,t={ref:r,id:i,role:\"tabpanel\",\"aria-labelledby\":(n=f(l.tabs.value[y.value]))==null?void 0:n.id,tabIndex:u.value?w:-1};return!u.value&&a.unmount&&!a.static?A(X,{as:\"span\",\"aria-hidden\":!0,...t}):M({ourProps:t,theirProps:E,slot:x,attrs:b,slots:s,features:q.Static|q.RenderStrategy,visible:u.value,name:\"TabPanel\"})}}});export{xe as Tab,me as TabGroup,pe as TabList,ye as TabPanel,Ie as TabPanels};\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport { Menu, MenuButton, MenuItem, MenuItems } from \"@/foundation/headless\";\nimport type { MenuItemOption, MenuProps, MenuValue } from \"./menu\";\n\ndefineOptions({\n name: \"MoMenu\"\n});\n\nconst props = withDefaults(defineProps<MenuProps>(), {\n items: () => [],\n theme: \"light\",\n placement: \"bottom-start\",\n width: 272\n});\n\nconst emit = defineEmits<{\n select: [value: MenuValue, item: MenuItemOption, index: number];\n}>();\n\nconst classes = computed(() => [\n \"mo-menu\",\n `mo-theme--${props.theme}`,\n `mo-menu--${props.placement}`\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-menu-width\": typeof props.width === \"number\" ? `${props.width}px` : props.width\n}));\n\nfunction handleSelect(item: MenuItemOption, index: number) {\n if (item.disabled) {\n return;\n }\n\n emit(\"select\", item.value, item, index);\n}\n</script>\n\n<template>\n <Menu as=\"div\" :class=\"classes\" :style=\"styles\">\n <MenuButton as=\"template\">\n <slot name=\"trigger\">\n <button class=\"mo-menu__trigger\" type=\"button\">打开菜单</button>\n </slot>\n </MenuButton>\n\n <MenuItems class=\"mo-menu__items\">\n <MenuItem\n v-for=\"(item, index) in items\"\n :key=\"item.value\"\n v-slot=\"{ active, disabled }\"\n as=\"template\"\n :disabled=\"item.disabled\"\n >\n <button\n class=\"mo-menu__item\"\n :class=\"{ 'is-active': active, 'is-disabled': disabled }\"\n type=\"button\"\n @click=\"handleSelect(item, index)\"\n >\n <span class=\"mo-menu__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" :item=\"item\" :index=\"index\" :active=\"active\">\n <span class=\"mo-menu__icon-dot\" />\n </slot>\n </span>\n <span class=\"mo-menu__text\">\n <slot name=\"item\" :item=\"item\" :index=\"index\" :active=\"active\">\n <span class=\"mo-menu__label\">{{ item.label }}</span>\n <span v-if=\"item.description\" class=\"mo-menu__description\">\n {{ item.description }}\n </span>\n </slot>\n </span>\n </button>\n </MenuItem>\n </MenuItems>\n </Menu>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Menu from \"./src/menu.vue\";\n\nexport const MoMenu = withInstall(Menu);\n\nexport default MoMenu;\nexport type { MenuItemOption, MenuPlacement, MenuProps } from \"./src/menu\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { RowProps } from \"./row\";\n\ndefineOptions({\n name: \"MoRow\"\n});\n\nconst props = withDefaults(defineProps<RowProps>(), {\n gutter: 0,\n justify: \"start\",\n align: \"top\",\n wrap: true\n});\n\nconst gutterValue = computed(() => {\n if (typeof props.gutter === \"number\") {\n return `${props.gutter}px`;\n }\n\n return props.gutter;\n});\n\nconst classes = computed(() => [\n \"mo-row\",\n `mo-row--justify-${props.justify}`,\n `mo-row--align-${props.align}`,\n {\n \"is-nowrap\": !props.wrap\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-row-gutter\": gutterValue.value,\n \"--mo-row-gutter-half\": `calc(${gutterValue.value} / 2)`\n}));\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <slot />\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Row from \"./src/row.vue\";\n\nexport const MoRow = withInstall(Row);\n\nexport default MoRow;\nexport type { RowProps } from \"./src/row\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { Listbox, ListboxButton, ListboxOption, ListboxOptions } from \"@/foundation/headless\";\nimport type { SelectOption, SelectProps, SelectValue } from \"./select\";\n\ndefineOptions({\n name: \"MoSelect\"\n});\n\nconst props = withDefaults(defineProps<SelectProps>(), {\n modelValue: null,\n options: () => [],\n theme: \"light\",\n size: \"default\",\n placeholder: \"请选择\",\n disabled: false,\n horizontal: false,\n name: undefined,\n by: undefined\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: SelectValue];\n change: [value: SelectValue, option?: SelectOption];\n}>();\n\nconst selectedOption = computed(() =>\n props.options.find((option) => isSameValue(option.value, props.modelValue))\n);\n\nconst displayLabel = computed(() => selectedOption.value?.label || props.placeholder);\n\nconst classes = computed(() => [\n \"mo-select\",\n `mo-select--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"is-disabled\": props.disabled,\n \"is-placeholder\": !selectedOption.value\n }\n]);\n\nfunction isSameValue(a: SelectValue, b: SelectValue) {\n if (typeof props.by === \"function\") {\n return props.by(a, b);\n }\n\n if (typeof props.by === \"string\" && isRecord(a) && isRecord(b)) {\n return a[props.by] === b[props.by];\n }\n\n return a === b;\n}\n\nfunction isRecord(value: SelectValue): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction handleChange(value: SelectValue) {\n const option = props.options.find((item) => isSameValue(item.value, value));\n emit(\"update:modelValue\", value);\n emit(\"change\", value, option);\n}\n</script>\n\n<template>\n <Listbox\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n :horizontal=\"horizontal\"\n :name=\"name\"\n :by=\"by\"\n @update:model-value=\"handleChange\"\n >\n <div :class=\"classes\">\n <ListboxButton class=\"mo-select__button\">\n <span class=\"mo-select__label\">\n <slot name=\"label\" :option=\"selectedOption\" :label=\"displayLabel\">\n {{ displayLabel }}\n </slot>\n </span>\n <span class=\"mo-select__arrow\" aria-hidden=\"true\" />\n </ListboxButton>\n\n <ListboxOptions class=\"mo-select__options\">\n <ListboxOption\n v-for=\"option in options\"\n :key=\"`${option.label}-${String(option.value)}`\"\n v-slot=\"{ active, selected, disabled: optionDisabled }\"\n as=\"template\"\n :value=\"option.value\"\n :disabled=\"option.disabled\"\n >\n <li\n class=\"mo-select__option\"\n :class=\"{\n 'is-active': active,\n 'is-selected': selected,\n 'is-disabled': optionDisabled\n }\"\n >\n <span class=\"mo-select__check\" aria-hidden=\"true\" />\n <slot\n name=\"option\"\n :option=\"option\"\n :active=\"active\"\n :selected=\"selected\"\n :disabled=\"optionDisabled\"\n >\n {{ option.label }}\n </slot>\n </li>\n </ListboxOption>\n </ListboxOptions>\n </div>\n </Listbox>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Select from \"./src/select.vue\";\n\nexport const MoSelect = withInstall(Select);\n\nexport default MoSelect;\nexport type { SelectOption, SelectProps, SelectValue } from \"./src/select\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport { Tab, TabGroup, TabList, TabPanel, TabPanels } from \"@/foundation/headless\";\nimport type { TabsItem, TabsProps, TabsValue } from \"./tabs\";\n\ndefineOptions({\n name: \"MoTabs\"\n});\n\nconst props = withDefaults(defineProps<TabsProps>(), {\n modelValue: undefined,\n size: \"default\",\n theme: \"light\"\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: TabsValue];\n change: [value: TabsValue, item: TabsItem, index: number];\n}>();\n\nconst selectedIndex = computed(() => {\n const index = props.items.findIndex((item) => item.value === props.modelValue);\n return index >= 0 ? index : 0;\n});\n\nconst classes = computed(() => [\"mo-tabs\", `mo-tabs--${props.size}`, `mo-theme--${props.theme}`]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-tabs-count\": Math.max(props.items.length, 1),\n \"--mo-tabs-active-index\": selectedIndex.value\n}));\n\nfunction handleChange(index: number) {\n const item = props.items[index];\n\n if (!item || item.disabled) {\n return;\n }\n\n emit(\"update:modelValue\", item.value);\n emit(\"change\", item.value, item, index);\n}\n</script>\n\n<template>\n <TabGroup :selected-index=\"selectedIndex\" @change=\"handleChange\">\n <div :class=\"classes\" :style=\"styles\">\n <TabList class=\"mo-tabs__list\">\n <span class=\"mo-tabs__indicator\" aria-hidden=\"true\" />\n <Tab\n v-for=\"(item, index) in items\"\n :key=\"item.value\"\n v-slot=\"{ selected }\"\n as=\"template\"\n :disabled=\"item.disabled\"\n >\n <button\n class=\"mo-tabs__tab\"\n :class=\"{ 'is-active': selected, 'is-disabled': item.disabled }\"\n type=\"button\"\n >\n <slot name=\"label\" :item=\"item\" :index=\"index\" :selected=\"selected\">\n {{ item.label }}\n </slot>\n </button>\n </Tab>\n </TabList>\n\n <TabPanels v-if=\"$slots.panel\" class=\"mo-tabs__panels\">\n <TabPanel v-for=\"(item, index) in items\" :key=\"item.value\" class=\"mo-tabs__panel\">\n <slot name=\"panel\" :item=\"item\" :index=\"index\" />\n </TabPanel>\n </TabPanels>\n </div>\n </TabGroup>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Tabs from \"./src/tabs.vue\";\n\nexport const MoTabs = withInstall(Tabs);\n\nexport default MoTabs;\nexport type { TabsItem, TabsProps } from \"./src/tabs\";\n","<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { UploadFileItem, UploadProps } from \"./upload\";\n\ndefineOptions({\n name: \"MoUpload\"\n});\n\nconst props = withDefaults(defineProps<UploadProps>(), {\n theme: \"light\",\n accept: \"\",\n multiple: false,\n limit: 1,\n maxSize: 10,\n hint: \"PNG/JPG/WebP,最大10MB\",\n autoUpload: true,\n request: undefined,\n crop: false,\n manualCrop: true,\n cropShape: \"square\",\n cropSize: 64,\n cropWidth: undefined,\n cropHeight: undefined\n});\n\nconst emit = defineEmits<{\n change: [files: UploadFileItem[]];\n success: [file: UploadFileItem];\n error: [file: UploadFileItem];\n remove: [file: UploadFileItem];\n}>();\n\nconst inputRef = ref<HTMLInputElement>();\nconst cropImageRef = ref<HTMLImageElement>();\nconst files = ref<UploadFileItem[]>([]);\nconst isDragging = ref(false);\nconst cropFile = ref<File>();\nconst cropUrl = ref(\"\");\nconst cropScale = ref(1);\nconst cropX = ref(0);\nconst cropY = ref(0);\nconst cropNaturalSize = ref({ width: 0, height: 0 });\nconst isCropDragging = ref(false);\nconst cropDragStart = ref({ x: 0, y: 0, cropX: 0, cropY: 0 });\nconst timers = new Map<string, number>();\nconst cropStageSize = {\n width: 320,\n height: 240\n};\n\nconst classes = computed(() => [\n \"mo-upload\",\n `mo-theme--${props.theme}`,\n {\n \"is-dragging\": isDragging.value\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-upload-crop-size\":\n typeof props.cropSize === \"number\" ? `${props.cropSize}px` : props.cropSize,\n \"--mo-upload-crop-preview-width\": `${Math.min(cropOutput.value.width, 140)}px`,\n \"--mo-upload-crop-preview-height\": `${Math.min(\n cropOutput.value.height,\n (140 / cropOutput.value.width) * cropOutput.value.height\n )}px`,\n \"--mo-upload-crop-width\": `${cropFrame.value.width}px`,\n \"--mo-upload-crop-height\": `${cropFrame.value.height}px`\n}));\n\nconst cropOutput = computed(() => {\n if (props.cropShape === \"rect\") {\n return {\n width: parseSizeValue(props.cropWidth, 320),\n height: parseSizeValue(props.cropHeight, 180)\n };\n }\n\n const size = parseSizeValue(props.cropSize, 96);\n return {\n width: size,\n height: size\n };\n});\n\nconst cropFrame = computed(() => {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n const maxWidth = Math.min(cropStageSize.width, naturalWidth * baseScale);\n const maxHeight = Math.min(cropStageSize.height, naturalHeight * baseScale);\n const ratio = cropOutput.value.width / cropOutput.value.height;\n\n if (ratio >= maxWidth / maxHeight) {\n return {\n width: maxWidth,\n height: maxWidth / ratio\n };\n }\n\n return {\n width: maxHeight * ratio,\n height: maxHeight\n };\n});\n\nconst cropImageStyle = computed<StyleValue>(() => {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n\n return {\n width: `${naturalWidth * baseScale}px`,\n height: `${naturalHeight * baseScale}px`,\n transform: `translate(calc(-50% + ${cropX.value}px), calc(-50% + ${cropY.value}px)) scale(${cropScale.value})`\n };\n});\n\nfunction openFileDialog() {\n inputRef.value?.click();\n}\n\nfunction handleInputChange(event: Event) {\n const target = event.target as HTMLInputElement;\n addFiles(target.files);\n target.value = \"\";\n}\n\nfunction handleDrop(event: DragEvent) {\n isDragging.value = false;\n addFiles(event.dataTransfer?.files);\n}\n\nfunction addFiles(fileList?: FileList | null) {\n if (!fileList) {\n return;\n }\n\n const rawFiles = Array.from(fileList)\n .filter((file) => file.size <= props.maxSize * 1024 * 1024)\n .slice(0, Math.max(props.limit - files.value.length, 0));\n\n if (props.crop && props.manualCrop) {\n const imageFile = rawFiles.find((file) => file.type.startsWith(\"image/\"));\n\n if (imageFile) {\n openCropper(imageFile);\n return;\n }\n }\n\n const nextFiles = rawFiles.map(createUploadFile);\n\n files.value = props.multiple ? [...files.value, ...nextFiles] : nextFiles.slice(0, 1);\n emit(\"change\", files.value);\n\n if (props.autoUpload) {\n nextFiles.forEach((file) => upload(file));\n }\n}\n\nfunction appendUploadFile(file: File) {\n const item = createUploadFile(file);\n files.value = props.multiple ? [...files.value, item] : [item];\n emit(\"change\", files.value);\n\n if (props.autoUpload) {\n upload(item);\n }\n}\n\nfunction openCropper(file: File) {\n closeCropper();\n cropFile.value = file;\n cropUrl.value = URL.createObjectURL(file);\n cropScale.value = 1;\n cropX.value = 0;\n cropY.value = 0;\n cropNaturalSize.value = { width: 0, height: 0 };\n}\n\nfunction closeCropper() {\n if (cropUrl.value) {\n URL.revokeObjectURL(cropUrl.value);\n }\n\n cropFile.value = undefined;\n cropUrl.value = \"\";\n cropNaturalSize.value = { width: 0, height: 0 };\n isCropDragging.value = false;\n}\n\nfunction handleCropImageLoad(event: Event) {\n const image = event.target as HTMLImageElement;\n cropNaturalSize.value = {\n width: image.naturalWidth,\n height: image.naturalHeight\n };\n resetCropPosition();\n}\n\nfunction startCropDrag(event: PointerEvent) {\n isCropDragging.value = true;\n cropDragStart.value = {\n x: event.clientX,\n y: event.clientY,\n cropX: cropX.value,\n cropY: cropY.value\n };\n (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId);\n}\n\nfunction moveCrop(event: PointerEvent) {\n if (!isCropDragging.value) {\n return;\n }\n\n setCropPosition(\n cropDragStart.value.cropX + event.clientX - cropDragStart.value.x,\n cropDragStart.value.cropY + event.clientY - cropDragStart.value.y\n );\n}\n\nfunction stopCropDrag(event: PointerEvent) {\n isCropDragging.value = false;\n (event.currentTarget as HTMLElement).releasePointerCapture(event.pointerId);\n}\n\nfunction handleCropWheel(event: WheelEvent) {\n const nextScale = clampNumber(cropScale.value + (event.deltaY > 0 ? -0.08 : 0.08), 1, 4);\n\n cropScale.value = nextScale;\n setCropPosition(cropX.value, cropY.value);\n}\n\nasync function confirmCrop() {\n if (!cropFile.value || !cropImageRef.value) {\n return;\n }\n\n const croppedFile = await createCroppedFile(cropFile.value, cropImageRef.value);\n closeCropper();\n appendUploadFile(croppedFile);\n}\n\nfunction createCroppedFile(file: File, image: HTMLImageElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n canvas.width = cropOutput.value.width;\n canvas.height = cropOutput.value.height;\n\n if (!context) {\n return Promise.resolve(file);\n }\n\n const frameWidth = cropFrame.value.width;\n const frameHeight = cropFrame.value.height;\n const frameX = (cropStageSize.width - frameWidth) / 2;\n const frameY = (cropStageSize.height - frameHeight) / 2;\n const baseScale = getContainScale(image.naturalWidth, image.naturalHeight);\n const renderWidth = image.naturalWidth * baseScale * cropScale.value;\n const renderHeight = image.naturalHeight * baseScale * cropScale.value;\n const renderStageX = (cropStageSize.width - renderWidth) / 2 + cropX.value;\n const renderStageY = (cropStageSize.height - renderHeight) / 2 + cropY.value;\n const renderX = renderStageX - frameX;\n const renderY = renderStageY - frameY;\n const scaleXToOutput = cropOutput.value.width / frameWidth;\n const scaleYToOutput = cropOutput.value.height / frameHeight;\n\n if (props.cropShape === \"circle\") {\n context.beginPath();\n context.arc(\n cropOutput.value.width / 2,\n cropOutput.value.height / 2,\n Math.min(cropOutput.value.width, cropOutput.value.height) / 2,\n 0,\n Math.PI * 2\n );\n context.clip();\n }\n\n context.drawImage(\n image,\n renderX * scaleXToOutput,\n renderY * scaleYToOutput,\n renderWidth * scaleXToOutput,\n renderHeight * scaleYToOutput\n );\n\n return new Promise<File>((resolve) => {\n canvas.toBlob((blob) => {\n if (!blob) {\n resolve(file);\n return;\n }\n\n const name = file.name.replace(/\\.[^.]+$/, \".png\");\n resolve(new File([blob], name, { type: \"image/png\", lastModified: Date.now() }));\n }, \"image/png\");\n });\n}\n\nfunction parseSizeValue(value: number | string | undefined, fallback: number) {\n if (typeof value === \"number\") {\n return value;\n }\n\n if (typeof value === \"string\") {\n const parsed = Number.parseInt(value, 10);\n return Number.isFinite(parsed) ? parsed : fallback;\n }\n\n return fallback;\n}\n\nfunction getContainScale(width: number, height: number) {\n return Math.min(cropStageSize.width / width, cropStageSize.height / height);\n}\n\nfunction resetCropPosition() {\n cropScale.value = 1;\n setCropPosition(0, 0);\n}\n\nfunction setCropPosition(x: number, y: number) {\n const bounds = getCropPositionBounds();\n\n cropX.value = clampNumber(x, bounds.minX, bounds.maxX);\n cropY.value = clampNumber(y, bounds.minY, bounds.maxY);\n}\n\nfunction getCropPositionBounds() {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n const renderWidth = naturalWidth * baseScale * cropScale.value;\n const renderHeight = naturalHeight * baseScale * cropScale.value;\n const imageX = (cropStageSize.width - renderWidth) / 2;\n const imageY = (cropStageSize.height - renderHeight) / 2;\n const frameX = (cropStageSize.width - cropFrame.value.width) / 2;\n const frameY = (cropStageSize.height - cropFrame.value.height) / 2;\n\n return {\n minX: frameX + cropFrame.value.width - renderWidth - imageX,\n maxX: frameX - imageX,\n minY: frameY + cropFrame.value.height - renderHeight - imageY,\n maxY: frameY - imageY\n };\n}\n\nfunction clampNumber(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction createUploadFile(file: File): UploadFileItem {\n return {\n uid: `${Date.now()}-${Math.random().toString(16).slice(2)}`,\n name: file.name,\n size: file.size,\n type: file.type,\n file,\n status: \"ready\",\n percent: 0,\n url: URL.createObjectURL(file)\n };\n}\n\nasync function upload(item: UploadFileItem) {\n item.status = \"uploading\";\n item.percent = 0;\n item.error = \"\";\n\n try {\n if (props.request) {\n await props.request({\n file: item.file,\n onProgress(percent) {\n item.percent = clampPercent(percent);\n }\n });\n item.percent = 100;\n } else {\n await simulateUpload(item);\n }\n\n item.status = \"success\";\n emit(\"success\", item);\n } catch (error) {\n item.status = \"error\";\n item.error = error instanceof Error ? error.message : \"上传失败\";\n emit(\"error\", item);\n }\n\n emit(\"change\", files.value);\n}\n\nfunction simulateUpload(item: UploadFileItem) {\n return new Promise<void>((resolve) => {\n const timer = window.setInterval(() => {\n item.percent = Math.min(item.percent + 12, 100);\n\n if (item.percent >= 100) {\n window.clearInterval(timer);\n timers.delete(item.uid);\n resolve();\n }\n }, 120);\n\n timers.set(item.uid, timer);\n });\n}\n\nfunction retry(item: UploadFileItem) {\n upload(item);\n}\n\nfunction remove(item: UploadFileItem) {\n const timer = timers.get(item.uid);\n\n if (timer) {\n window.clearInterval(timer);\n timers.delete(item.uid);\n }\n\n if (item.url) {\n URL.revokeObjectURL(item.url);\n }\n\n files.value = files.value.filter((file) => file.uid !== item.uid);\n emit(\"remove\", item);\n emit(\"change\", files.value);\n}\n\nfunction submit() {\n files.value.filter((file) => file.status === \"ready\" || file.status === \"error\").forEach(upload);\n}\n\nfunction clearFiles() {\n files.value.forEach((file) => {\n if (file.url) {\n URL.revokeObjectURL(file.url);\n }\n });\n files.value = [];\n emit(\"change\", files.value);\n}\n\nfunction isImage(file: UploadFileItem) {\n return file.type.startsWith(\"image/\");\n}\n\nfunction isVideo(file: UploadFileItem) {\n return file.type.startsWith(\"video/\");\n}\n\nfunction formatSize(size: number) {\n if (size < 1024 * 1024) {\n return `${(size / 1024).toFixed(1)}KB`;\n }\n\n return `${(size / 1024 / 1024).toFixed(1)}MB`;\n}\n\nfunction clampPercent(percent: number) {\n return Math.min(Math.max(Math.round(percent), 0), 100);\n}\n\nonBeforeUnmount(() => {\n timers.forEach((timer) => window.clearInterval(timer));\n files.value.forEach((file) => {\n if (file.url) {\n URL.revokeObjectURL(file.url);\n }\n });\n closeCropper();\n});\n\ndefineExpose({\n files,\n submit,\n clearFiles\n});\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <div\n class=\"mo-upload__dropzone\"\n :class=\"{ 'has-custom-dropzone': $slots.dropzone }\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"openFileDialog\"\n @dragenter.prevent=\"isDragging = true\"\n @dragover.prevent=\"isDragging = true\"\n @dragleave.prevent=\"isDragging = false\"\n @drop.prevent=\"handleDrop\"\n @keydown.enter.prevent=\"openFileDialog\"\n @keydown.space.prevent=\"openFileDialog\"\n >\n <input\n ref=\"inputRef\"\n class=\"mo-upload__input\"\n type=\"file\"\n :accept=\"accept\"\n :multiple=\"multiple\"\n @change=\"handleInputChange\"\n />\n <slot v-if=\"$slots.dropzone\" name=\"dropzone\" />\n <div class=\"mo-upload__icon\" aria-hidden=\"true\">↑</div>\n <div class=\"mo-upload__title\">拖拽文件到这里</div>\n <div class=\"mo-upload__action\">或点击上传</div>\n <div class=\"mo-upload__hint\">{{ hint }}</div>\n </div>\n\n <div v-if=\"files.length\" class=\"mo-upload__list\">\n <article v-for=\"file in files\" :key=\"file.uid\" class=\"mo-upload__file\">\n <div\n class=\"mo-upload__preview\"\n :class=\"{\n 'is-crop': crop,\n 'is-circle': crop && cropShape === 'circle',\n 'is-square': crop && cropShape === 'square',\n 'is-rect': crop && cropShape === 'rect'\n }\"\n >\n <img v-if=\"isImage(file)\" :src=\"file.url\" :alt=\"file.name\" />\n <video v-else-if=\"isVideo(file)\" :src=\"file.url\" muted preload=\"metadata\" />\n <span v-else class=\"mo-upload__file-icon\">FILE</span>\n </div>\n\n <div class=\"mo-upload__meta\">\n <div class=\"mo-upload__name\">{{ file.name }}</div>\n <div class=\"mo-upload__size\">{{ formatSize(file.size) }}</div>\n <div class=\"mo-upload__progress\">\n <span class=\"mo-upload__progress-bar\" :style=\"{ width: `${file.percent}%` }\" />\n </div>\n <div class=\"mo-upload__status\">\n <span>{{ file.status === \"error\" ? file.error || \"上传失败\" : `${file.percent}%` }}</span>\n <button v-if=\"file.status === 'error'\" type=\"button\" @click=\"retry(file)\">\n 重新上传\n </button>\n </div>\n </div>\n\n <button class=\"mo-upload__remove\" type=\"button\" aria-label=\"删除\" @click=\"remove(file)\">\n ×\n </button>\n </article>\n </div>\n\n <div v-if=\"cropUrl\" class=\"mo-upload-cropper\" role=\"dialog\" aria-modal=\"true\">\n <div class=\"mo-upload-cropper__panel\">\n <div class=\"mo-upload-cropper__header\">\n <strong>裁切图片</strong>\n <button type=\"button\" @click=\"closeCropper\">×</button>\n </div>\n <div\n class=\"mo-upload-cropper__stage\"\n @pointerdown.prevent=\"startCropDrag\"\n @pointermove.prevent=\"moveCrop\"\n @pointerup.prevent=\"stopCropDrag\"\n @pointercancel.prevent=\"stopCropDrag\"\n @wheel.prevent=\"handleCropWheel\"\n >\n <img\n ref=\"cropImageRef\"\n class=\"mo-upload-cropper__image\"\n :src=\"cropUrl\"\n alt=\"\"\n :style=\"cropImageStyle\"\n draggable=\"false\"\n @load=\"handleCropImageLoad\"\n />\n <div\n class=\"mo-upload-cropper__frame\"\n :class=\"{ 'is-circle': cropShape === 'circle' }\"\n />\n </div>\n <label class=\"mo-upload-cropper__slider\">\n <span>缩放</span>\n <input v-model.number=\"cropScale\" type=\"range\" min=\"1\" max=\"3\" step=\"0.01\" />\n </label>\n <div class=\"mo-upload-cropper__actions\">\n <button type=\"button\" @click=\"closeCropper\">取消</button>\n <button type=\"button\" @click=\"confirmCrop\">确认裁切</button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Upload from \"./src/upload.vue\";\n\nexport const MoUpload = withInstall(Upload);\n\nexport default MoUpload;\nexport type {\n UploadCropShape,\n UploadFileItem,\n UploadFileStatus,\n UploadProps,\n UploadRequest\n} from \"./src/upload\";\n","import type { Plugin } from \"vue\";\nimport { MoButton } from \"./button\";\nimport { MoCard } from \"./card\";\nimport { MoCol } from \"./col\";\nimport { MoForm } from \"./form\";\nimport { MoFormItem } from \"./form-item\";\nimport { MoInput } from \"./input\";\nimport { MoMenu } from \"./menu\";\nimport { MoRow } from \"./row\";\nimport { MoSelect } from \"./select\";\nimport { MoTabs } from \"./tabs\";\nimport { MoUpload } from \"./upload\";\n\nexport {\n MoButton,\n MoCard,\n MoCol,\n MoForm,\n MoFormItem,\n MoInput,\n MoMenu,\n MoRow,\n MoSelect,\n MoTabs,\n MoUpload\n};\n\nexport const components: Plugin[] = [\n MoButton,\n MoCard,\n MoCol,\n MoForm,\n MoFormItem,\n MoInput,\n MoMenu,\n MoRow,\n MoSelect,\n MoTabs,\n MoUpload\n];\n","import type { App, Plugin } from \"vue\";\nimport { components } from \"./components\";\nimport \"./theme/index.scss\";\n\nexport * from \"./components\";\nexport * from \"./utils/validators\";\n\nconst MojoUi: Plugin = {\n install(app: App) {\n components.forEach((component) => {\n app.use(component);\n });\n }\n};\n\nexport default MojoUi;\n"],"names":["withInstall","component","app","props","__props","emit","__emit","slots","useSlots","isIconOnly","computed","classes","styles","handleClick","event","_createElementBlock","_openBlock","_hoisted_2","$slots","_hoisted_3","_renderSlot","_ctx","_hoisted_4","_hoisted_5","_hoisted_6","MoButton","Button","toggleSelected","nextValue","_createElementVNode","MoCard","Card","normalizedSpan","span","MoCol","Col","formContextKey","fields","reactive","addField","field","removeField","index","validate","results","errors","resetFields","context","provide","__expose","MoForm","Form","isEmpty","value","isRequired","isEmail","isPhone","requiredRule","message","emailRule","phoneRule","form","inject","errorMessage","ref","_a","normalizedRules","formRule","rules","rule","isRequiredField","result","resetValidation","fieldContext","onMounted","onBeforeUnmount","_hoisted_1","_unref","_toDisplayString","_hoisted_7","MoFormItem","FormItem","inputValue","isTextarea","isTaggable","shouldShowWordLimit","handleInput","handleChange","handleClear","handleEnter","handleRemoveTag","tag","nextTags","_","tagIndex","_Fragment","_renderList","$event","MoInput","Input","d","u","e","r","i","s","f","p","t","o","n","l","a","s$1","c","N","T","F","E","h","w","M","b","S","y","H","I","O","v","P","m","x","L","C","A","j","g","R","k","pe","ce","ve","be","me","$","Ie","re","D","J","ne","X","ue","le","W","ie","B","K","z","se","Q","oe","de","te","fe","je","V","Y","Ae","ae","U","Fe","Z","q","G","ee","ge","Se","Me","xe","ye","handleSelect","item","_createBlock","Menu","_createVNode","MenuButton","MenuItems","MenuItem","active","disabled","_normalizeClass","MoMenu","gutterValue","MoRow","Row","selectedOption","option","isSameValue","displayLabel","isRecord","Listbox","ListboxButton","ListboxOptions","ListboxOption","_withCtx","selected","optionDisabled","_createTextVNode","MoSelect","Select","selectedIndex","TabGroup","TabList","Tab","TabPanels","TabPanel","MoTabs","Tabs","inputRef","cropImageRef","files","isDragging","cropFile","cropUrl","cropScale","cropX","cropY","cropNaturalSize","isCropDragging","cropDragStart","timers","cropStageSize","cropOutput","cropFrame","parseSizeValue","size","naturalWidth","naturalHeight","baseScale","getContainScale","maxWidth","maxHeight","ratio","cropImageStyle","openFileDialog","handleInputChange","target","addFiles","handleDrop","fileList","rawFiles","file","imageFile","openCropper","nextFiles","createUploadFile","upload","appendUploadFile","closeCropper","handleCropImageLoad","image","resetCropPosition","startCropDrag","moveCrop","setCropPosition","stopCropDrag","handleCropWheel","nextScale","clampNumber","confirmCrop","croppedFile","createCroppedFile","canvas","frameWidth","frameHeight","frameX","frameY","renderWidth","renderHeight","renderStageX","renderStageY","renderX","renderY","scaleXToOutput","scaleYToOutput","resolve","blob","name","fallback","parsed","width","height","bounds","getCropPositionBounds","imageX","imageY","min","max","percent","clampPercent","simulateUpload","error","timer","retry","remove","submit","clearFiles","isImage","isVideo","formatSize","_cache","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_normalizeStyle","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_18","MoUpload","Upload","components","MojoUi"],"mappings":"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","x_google_ignoreList":[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]}
|
|
1
|
+
{"version":3,"file":"mojo-ui.js","sources":["../src/utils/install.ts","../src/components/button/src/button.vue","../src/components/button/index.ts","../src/components/card/src/card.vue","../src/components/card/index.ts","../src/components/col/src/col.vue","../src/components/col/index.ts","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-controllable.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/micro-task.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/disposables.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-id.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/dom.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/match.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/env.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/owner.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/focus-management.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/platform.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-document-event.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-window-event.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-outside-click.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/render.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/hidden.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/open-closed.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/keyboard.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/document-ready.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/active-element-history.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/calculate-active-index.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/form.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-event-listener.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-store.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/store.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-inert.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-root-containers.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/portal-force-root.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/stack-context.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/description/description.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/portal/portal.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/dialog/dialog.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/get-text-value.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/hooks/use-text-value.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/listbox/listbox.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/menu/menu.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/internal/focus-sentinel.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/tabs/tabs.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/utils/once.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js","../node_modules/.pnpm/@headlessui+vue@1.7.23_vue@3.5.38_typescript@5.8.3_/node_modules/@headlessui/vue/dist/components/transitions/transition.js","../src/components/dialog/src/dialog.vue","../src/components/dialog/index.ts","../src/components/form/src/context.ts","../src/components/form/src/form.vue","../src/components/form/index.ts","../src/utils/validators.ts","../src/components/form-item/src/form-item.vue","../src/components/form-item/index.ts","../src/components/input/src/input.vue","../src/components/input/index.ts","../src/components/menu/src/menu.vue","../src/components/menu/index.ts","../src/components/row/src/row.vue","../src/components/row/index.ts","../src/components/scrollbar/src/scrollbar.vue","../src/components/scrollbar/index.ts","../src/components/select/src/select.vue","../src/components/select/index.ts","../src/components/tabs/src/tabs.vue","../src/components/tabs/index.ts","../src/components/upload/src/sdk.ts","../src/components/upload/src/upload.vue","../src/components/upload/index.ts","../src/components/index.ts","../src/index.ts"],"sourcesContent":["import type { App, Plugin } from \"vue\";\n\nexport type SfcWithInstall<T> = T & Plugin;\n\nexport function withInstall<T extends { name?: string }>(component: T) {\n return Object.assign(component, {\n install(app: App) {\n if (!component.name) {\n return;\n }\n\n app.component(component.name, component);\n }\n }) as SfcWithInstall<T>;\n}\n","<script setup lang=\"ts\">\nimport { computed, useSlots } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { ButtonProps } from \"./button\";\n\ndefineOptions({\n name: \"MoButton\"\n});\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n type: \"default\",\n size: \"default\",\n theme: \"light\",\n disabled: false,\n loading: false,\n round: false,\n icon: false,\n block: false\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst slots = useSlots();\n\nconst isIconOnly = computed(() => props.icon || (!slots.default && Boolean(slots.icon)));\n\nconst classes = computed(() => [\n \"mo-button\",\n `mo-button--${props.type}`,\n `mo-button--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"is-block\": props.block,\n \"is-disabled\": props.disabled,\n \"is-icon-only\": isIconOnly.value,\n \"is-loading\": props.loading,\n \"is-round\": props.round\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-button-custom-bg\": props.backgroundColor,\n \"--mo-button-custom-border\": props.borderColor,\n \"--mo-button-custom-color\": props.textColor\n}));\n\nfunction handleClick(event: MouseEvent) {\n if (props.disabled || props.loading) {\n return;\n }\n\n emit(\"click\", event);\n}\n</script>\n\n<template>\n <button\n :class=\"classes\"\n :disabled=\"disabled || loading\"\n :style=\"styles\"\n type=\"button\"\n @click=\"handleClick\"\n >\n <span v-if=\"loading\" class=\"mo-button__spinner\" aria-hidden=\"true\" />\n <span v-else-if=\"$slots.icon\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" />\n </span>\n\n <span v-if=\"$slots.prefix && !isIconOnly\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"prefix\" />\n </span>\n\n <span v-if=\"$slots.default\" class=\"mo-button__content\">\n <slot />\n </span>\n\n <span v-if=\"$slots.suffix && !isIconOnly\" class=\"mo-button__icon\" aria-hidden=\"true\">\n <slot name=\"suffix\" />\n </span>\n </button>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Button from \"./src/button.vue\";\n\nexport const MoButton = withInstall(Button);\n\nexport default MoButton;\nexport type { ButtonProps } from \"./src/button\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { CardProps } from \"./card\";\n\ndefineOptions({\n name: \"MoCard\"\n});\n\nconst props = withDefaults(defineProps<CardProps>(), {\n theme: \"light\",\n shadow: \"hover\",\n borderStyle: \"solid\",\n hoverable: true,\n animated: true,\n selectable: false,\n selected: false\n});\n\nconst emit = defineEmits<{\n \"update:selected\": [value: boolean];\n select: [value: boolean];\n}>();\n\nconst classes = computed(() => [\n \"mo-card\",\n `mo-theme--${props.theme}`,\n `mo-card--shadow-${props.shadow}`,\n `mo-card--border-${props.borderStyle}`,\n {\n \"is-animated\": props.animated,\n \"is-hoverable\": props.hoverable,\n \"is-selectable\": props.selectable,\n \"is-selected\": props.selectable && props.selected\n }\n]);\n\nfunction toggleSelected() {\n if (!props.selectable) {\n return;\n }\n\n const nextValue = !props.selected;\n emit(\"update:selected\", nextValue);\n emit(\"select\", nextValue);\n}\n</script>\n\n<template>\n <section\n :class=\"classes\"\n :role=\"selectable ? 'button' : undefined\"\n :tabindex=\"selectable ? 0 : undefined\"\n :aria-pressed=\"selectable ? selected : undefined\"\n @click=\"toggleSelected\"\n @keydown.enter.prevent=\"toggleSelected\"\n @keydown.space.prevent=\"toggleSelected\"\n >\n <div v-if=\"selectable && selected\" class=\"mo-card__selected-mark\" aria-hidden=\"true\">\n <slot name=\"selected-icon\"></slot>\n </div>\n\n <div v-if=\"$slots.header\" class=\"mo-card__header\">\n <slot name=\"header\" />\n </div>\n\n <div class=\"mo-card__body\">\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" class=\"mo-card__footer\">\n <slot name=\"footer\" />\n </div>\n </section>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Card from \"./src/card.vue\";\n\nexport const MoCard = withInstall(Card);\n\nexport default MoCard;\nexport type { CardProps } from \"./src/card\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { ColProps } from \"./col\";\n\ndefineOptions({\n name: \"MoCol\"\n});\n\nconst props = withDefaults(defineProps<ColProps>(), {\n span: 24\n});\n\nconst normalizedSpan = computed(() => {\n const span = Number(props.span);\n\n if (!Number.isFinite(span)) {\n return 24;\n }\n\n return Math.min(Math.max(span, 1), 24);\n});\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-col-span\": normalizedSpan.value\n}));\n</script>\n\n<template>\n <div class=\"mo-col\" :style=\"styles\">\n <slot />\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Col from \"./src/col.vue\";\n\nexport const MoCol = withInstall(Col);\n\nexport default MoCol;\nexport type { ColProps } from \"./src/col\";\n","import{computed as p,ref as s}from\"vue\";function d(u,e,r){let i=s(r==null?void 0:r.value),f=p(()=>u.value!==void 0);return[p(()=>f.value?u.value:i.value),function(t){return f.value||(i.value=t),e==null?void 0:e(t)}]}export{d as useControllable};\n","function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","import{microTask as n}from'./micro-task.js';function o(){let a=[],s={addEventListener(e,t,r,i){return e.addEventListener(t,r,i),s.add(()=>e.removeEventListener(t,r,i))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add(()=>cancelAnimationFrame(t))},nextFrame(...e){s.requestAnimationFrame(()=>{s.requestAnimationFrame(...e)})},setTimeout(...e){let t=setTimeout(...e);s.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return n(()=>{t.current&&e[0]()}),s.add(()=>{t.current=!1})},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add(()=>{Object.assign(e.style,{[t]:i})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}},dispose(){for(let e of a.splice(0))e()}};return s}export{o as disposables};\n","var r;import*as e from\"vue\";let n=Symbol(\"headlessui.useid\"),o=0;const i=(r=e.useId)!=null?r:function(){return e.inject(n,()=>`${++o}`)()};function s(t){e.provide(n,t)}export{s as provideUseId,i as useId};\n","function o(e){var l;if(e==null||e.value==null)return null;let n=(l=e.value.$el)!=null?l:e.value;return n instanceof Node?n:null}export{o as dom};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","var i=Object.defineProperty;var d=(t,e,r)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var n=(t,e,r)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,r),r);class s{constructor(){n(this,\"current\",this.detect());n(this,\"currentId\",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}}let c=new s;export{c as env};\n","import{dom as o}from'./dom.js';import{env as t}from'./env.js';function i(r){if(t.isServer)return null;if(r instanceof Node)return r.ownerDocument;if(r!=null&&r.hasOwnProperty(\"value\")){let n=o(r);if(n)return n.ownerDocument}return document}export{i as getOwnerDocument};\n","import{nextTick as b}from\"vue\";import{match as M}from'./match.js';import{getOwnerDocument as f}from'./owner.js';let c=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var N=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n))(N||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),F=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(F||{});function E(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(c)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function w(e,r=0){var t;return e===((t=f(e))==null?void 0:t.body)?!1:M(r,{[0](){return e.matches(c)},[1](){let l=e;for(;l!==null;){if(l.matches(c))return!0;l=l.parentElement}return!1}})}function _(e){let r=f(e);b(()=>{r&&!w(r.activeElement,0)&&S(e)})}var y=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(y||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function S(e){e==null||e.focus({preventScroll:!0})}let H=[\"textarea\",\"input\"].join(\",\");function I(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,H))!=null?t:!1}function O(e,r=t=>t){return e.slice().sort((t,l)=>{let o=r(t),i=r(l);if(o===null||i===null)return 0;let n=o.compareDocumentPosition(i);return n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function v(e,r){return P(E(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:l=null,skipElements:o=[]}={}){var m;let i=(m=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)!=null?m:document,n=Array.isArray(e)?t?O(e):e:E(e);o.length>0&&n.length>1&&(n=n.filter(s=>!o.includes(s))),l=l!=null?l:i.activeElement;let x=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),p=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,n.indexOf(l))-1;if(r&4)return Math.max(0,n.indexOf(l))+1;if(r&8)return n.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),L=r&32?{preventScroll:!0}:{},a=0,d=n.length,u;do{if(a>=d||a+d<=0)return 0;let s=p+a;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}u=n[s],u==null||u.focus(L),a+=x}while(u!==i.activeElement);return r&6&&I(u)&&u.select(),2}export{N as Focus,T as FocusResult,h as FocusableMode,S as focusElement,v as focusFrom,P as focusIn,E as getFocusableElements,w as isFocusableElement,_ as restoreFocusIfNecessary,O as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{watchEffect as r}from\"vue\";import{env as m}from'../utils/env.js';function u(e,t,n){m.isServer||r(o=>{document.addEventListener(e,t,n),o(()=>document.removeEventListener(e,t,n))})}export{u as useDocumentEvent};\n","import{watchEffect as i}from\"vue\";import{env as r}from'../utils/env.js';function w(e,n,t){r.isServer||i(o=>{window.addEventListener(e,n,t),o(()=>window.removeEventListener(e,n,t))})}export{w as useWindowEvent};\n","import{computed as s,ref as E}from\"vue\";import{dom as p}from'../utils/dom.js';import{FocusableMode as d,isFocusableElement as C}from'../utils/focus-management.js';import{isMobile as T}from'../utils/platform.js';import{useDocumentEvent as i}from'./use-document-event.js';import{useWindowEvent as M}from'./use-window-event.js';function w(f,m,l=s(()=>!0)){function a(e,r){if(!l.value||e.defaultPrevented)return;let t=r(e);if(t===null||!t.getRootNode().contains(t))return;let c=function o(n){return typeof n==\"function\"?o(n()):Array.isArray(n)||n instanceof Set?n:[n]}(f);for(let o of c){if(o===null)continue;let n=o instanceof HTMLElement?o:p(o);if(n!=null&&n.contains(t)||e.composed&&e.composedPath().includes(n))return}return!C(t,d.Loose)&&t.tabIndex!==-1&&e.preventDefault(),m(e,t)}let u=E(null);i(\"pointerdown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"mousedown\",e=>{var r,t;l.value&&(u.value=((t=(r=e.composedPath)==null?void 0:r.call(e))==null?void 0:t[0])||e.target)},!0),i(\"click\",e=>{T()||u.value&&(a(e,()=>u.value),u.value=null)},!0),i(\"touchend\",e=>a(e,()=>e.target instanceof HTMLElement?e.target:null),!0),M(\"blur\",e=>a(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{w as useOutsideClick};\n","import{onMounted as i,ref as f,watchEffect as l}from\"vue\";import{dom as o}from'../utils/dom.js';function r(t,e){if(t)return t;let n=e!=null?e:\"button\";if(typeof n==\"string\"&&n.toLowerCase()===\"button\")return\"button\"}function s(t,e){let n=f(r(t.value.type,t.value.as));return i(()=>{n.value=r(t.value.type,t.value.as)}),l(()=>{var u;n.value||o(e)&&o(e)instanceof HTMLButtonElement&&!((u=o(e))!=null&&u.hasAttribute(\"type\"))&&(n.value=\"button\")}),n}export{s as useResolveButtonType};\n","import{ref as o}from\"vue\";function r(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(n){let t=r(n);return e.value[0]===t[0]&&e.value[1]===t[1]?!1:(e.value=t,!0)},update(n){e.value=r(n)}}}export{u as useTrackedPointer};\n","import{watchEffect as p}from\"vue\";import{getOwnerDocument as u}from'../utils/owner.js';function i({container:e,accept:t,walk:d,enabled:o}){p(()=>{let r=e.value;if(!r||o!==void 0&&!o.value)return;let l=u(e);if(!l)return;let c=Object.assign(f=>t(f),{acceptNode:t}),n=l.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,c,!1);for(;n.nextNode();)d(n.currentNode)})}export{i as useTreeWalker};\n","import{cloneVNode as O,Fragment as x,h as k}from\"vue\";import{match as w}from'./match.js';var N=(o=>(o[o.None=0]=\"None\",o[o.RenderStrategy=1]=\"RenderStrategy\",o[o.Static=2]=\"Static\",o))(N||{}),S=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||t&2&&n.static)return y(l);if(t&1){let d=(a=n.unmount)==null||a?0:1;return w(d,{[0](){return null},[1](){return y({...i,props:{...n,hidden:!0,style:{display:\"none\"}}})}})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,h;let{as:n,...l}=T(r,[\"unmount\",\"static\"]),a=(m=e.default)==null?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))typeof f==\"boolean\"&&(u=!0),f===!0&&c.push(p);u&&(d[\"data-headlessui-state\"]=c.join(\" \"))}if(n===\"template\"){if(a=b(a!=null?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=a!=null?a:[];if(!v(u)||c.length>0)throw new Error(['Passing props on \"template\"!',\"\",`The current component <${i} /> is rendering a \"template\".`,\"However we need to passthrough the following props:\",Object.keys(l).concat(Object.keys(t)).map(s=>s.trim()).filter((s,g,R)=>R.indexOf(s)===g).sort((s,g)=>s.localeCompare(g)).map(s=>` - ${s}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"template\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(s=>` - ${s}`).join(`\n`)].join(`\n`));let p=j((h=u.props)!=null?h:{},l,d),f=O(u,p,!0);for(let s in p)s.startsWith(\"on\")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&a.length===1?a[0]:a}return k(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap(t=>t.type===x?b(t.children):[t])}function j(...r){var o;if(r.length===0)return{};if(r.length===1)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith(\"on\")&&typeof i[n]==\"function\"?((o=e[n])!=null||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t[\"aria-disabled\"])return Object.assign(t,Object.fromEntries(Object.keys(e).map(i=>[i,void 0])));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function E(r){let t=Object.assign({},r);for(let e in t)t[e]===void 0&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}function v(r){return r==null?!1:typeof r.type==\"string\"||typeof r.type==\"object\"||typeof r.type==\"function\"}export{N as Features,S as RenderStrategy,E as compact,T as omit,A as render};\n","import{defineComponent as a}from\"vue\";import{render as p}from'../utils/render.js';var u=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(u||{});let f=a({name:\"Hidden\",props:{as:{type:[Object,String],default:\"div\"},features:{type:Number,default:1}},setup(t,{slots:n,attrs:i}){return()=>{var r;let{features:e,...d}=t,o={\"aria-hidden\":(e&2)===2?!0:(r=d[\"aria-hidden\"])!=null?r:void 0,hidden:(e&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(e&4)===4&&(e&2)!==2&&{display:\"none\"}}};return p({ourProps:o,theirProps:d,slot:{},attrs:i,slots:n,name:\"Hidden\"})}}});export{u as Features,f as Hidden};\n","import{inject as p,provide as r}from\"vue\";let n=Symbol(\"Context\");var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function s(){return l()!==null}function l(){return p(n,null)}function t(o){r(n,o)}export{i as State,s as hasOpenClosed,l as useOpenClosed,t as useOpenClosedProvider};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{onDocumentReady as d}from'./document-ready.js';let t=[];d(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t[0]!==n.target&&(t.unshift(n.target),t=t.filter(r=>r!=null&&r.isConnected),t.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{t as history};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex};\n","function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+\"[\"+s+\"]\":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t==\"boolean\"?i.push([s,t?\"1\":\"0\"]):typeof t==\"string\"?i.push([s,t]):typeof t==\"number\"?i.push([s,`${t}`]):t==null?i.push([s,\"\"]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest(\"form\");if(s){for(let n of s.elements)if(n!==i&&(n.tagName===\"INPUT\"&&n.type===\"submit\"||n.tagName===\"BUTTON\"&&n.type===\"submit\"||n.nodeName===\"INPUT\"&&n.type===\"image\")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries};\n","import{watchEffect as i}from\"vue\";import{env as a}from'../utils/env.js';function E(n,e,o,r){a.isServer||i(t=>{n=n!=null?n:window,n.addEventListener(e,o,r),t(()=>n.removeEventListener(e,o,r))})}export{E as useEventListener};\n","import{ref as a}from\"vue\";import{useWindowEvent as t}from'./use-window-event.js';var d=(r=>(r[r.Forwards=0]=\"Forwards\",r[r.Backwards=1]=\"Backwards\",r))(d||{});function n(){let o=a(0);return t(\"keydown\",e=>{e.key===\"Tab\"&&(o.value=e.shiftKey?1:0)}),o}export{d as Direction,n as useTabDirection};\n","import{computed as L,defineComponent as I,Fragment as j,h as R,onMounted as M,onUnmounted as h,ref as E,watch as g,watchEffect as K}from\"vue\";import{useEventListener as U}from'../../hooks/use-event-listener.js';import{Direction as y,useTabDirection as _}from'../../hooks/use-tab-direction.js';import{Features as k,Hidden as D}from'../../internal/hidden.js';import{history as C}from'../../utils/active-element-history.js';import{dom as c}from'../../utils/dom.js';import{Focus as v,focusElement as p,focusIn as b,FocusResult as q}from'../../utils/focus-management.js';import{match as P}from'../../utils/match.js';import{microTask as S}from'../../utils/micro-task.js';import{getOwnerDocument as x}from'../../utils/owner.js';import{render as G}from'../../utils/render.js';function B(t){if(!t)return new Set;if(typeof t==\"function\")return new Set(t());let n=new Set;for(let r of t.value){let l=c(r);l instanceof HTMLElement&&n.add(l)}return n}var A=(e=>(e[e.None=1]=\"None\",e[e.InitialFocus=2]=\"InitialFocus\",e[e.TabLock=4]=\"TabLock\",e[e.FocusLock=8]=\"FocusLock\",e[e.RestoreFocus=16]=\"RestoreFocus\",e[e.All=30]=\"All\",e))(A||{});let ue=Object.assign(I({name:\"FocusTrap\",props:{as:{type:[Object,String],default:\"div\"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:E(new Set)}},inheritAttrs:!1,setup(t,{attrs:n,slots:r,expose:l}){let o=E(null);l({el:o,$el:o});let i=L(()=>x(o)),e=E(!1);M(()=>e.value=!0),h(()=>e.value=!1),$({ownerDocument:i},L(()=>e.value&&Boolean(t.features&16)));let m=z({ownerDocument:i,container:o,initialFocus:L(()=>t.initialFocus)},L(()=>e.value&&Boolean(t.features&2)));J({ownerDocument:i,container:o,containers:t.containers,previousActiveElement:m},L(()=>e.value&&Boolean(t.features&8)));let f=_();function a(u){let T=c(o);if(!T)return;(w=>w())(()=>{P(f.value,{[y.Forwards]:()=>{b(T,v.First,{skipElements:[u.relatedTarget]})},[y.Backwards]:()=>{b(T,v.Last,{skipElements:[u.relatedTarget]})}})})}let s=E(!1);function F(u){u.key===\"Tab\"&&(s.value=!0,requestAnimationFrame(()=>{s.value=!1}))}function H(u){if(!e.value)return;let T=B(t.containers);c(o)instanceof HTMLElement&&T.add(c(o));let d=u.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!==\"true\"&&(N(T,d)||(s.value?b(c(o),P(f.value,{[y.Forwards]:()=>v.Next,[y.Backwards]:()=>v.Previous})|v.WrapAround,{relativeTo:u.target}):u.target instanceof HTMLElement&&p(u.target)))}return()=>{let u={},T={ref:o,onKeydown:F,onFocusout:H},{features:d,initialFocus:w,containers:Q,...O}=t;return R(j,[Boolean(d&4)&&R(D,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:a,features:k.Focusable}),G({ourProps:T,theirProps:{...n,...O},slot:u,attrs:n,slots:r,name:\"FocusTrap\"}),Boolean(d&4)&&R(D,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:a,features:k.Focusable})])}}}),{features:A});function W(t){let n=E(C.slice());return g([t],([r],[l])=>{l===!0&&r===!1?S(()=>{n.value.splice(0)}):l===!1&&r===!0&&(n.value=C.slice())},{flush:\"post\"}),()=>{var r;return(r=n.value.find(l=>l!=null&&l.isConnected))!=null?r:null}}function $({ownerDocument:t},n){let r=W(n);M(()=>{K(()=>{var l,o;n.value||((l=t.value)==null?void 0:l.activeElement)===((o=t.value)==null?void 0:o.body)&&p(r())},{flush:\"post\"})}),h(()=>{n.value&&p(r())})}function z({ownerDocument:t,container:n,initialFocus:r},l){let o=E(null),i=E(!1);return M(()=>i.value=!0),h(()=>i.value=!1),M(()=>{g([n,r,l],(e,m)=>{if(e.every((a,s)=>(m==null?void 0:m[s])===a)||!l.value)return;let f=c(n);f&&S(()=>{var F,H;if(!i.value)return;let a=c(r),s=(F=t.value)==null?void 0:F.activeElement;if(a){if(a===s){o.value=s;return}}else if(f.contains(s)){o.value=s;return}a?p(a):b(f,v.First|v.NoScroll)===q.Error&&console.warn(\"There are no focusable elements inside the <FocusTrap />\"),o.value=(H=t.value)==null?void 0:H.activeElement})},{immediate:!0,flush:\"post\"})}),o}function J({ownerDocument:t,container:n,containers:r,previousActiveElement:l},o){var i;U((i=t.value)==null?void 0:i.defaultView,\"focus\",e=>{if(!o.value)return;let m=B(r);c(n)instanceof HTMLElement&&m.add(c(n));let f=l.value;if(!f)return;let a=e.target;a&&a instanceof HTMLElement?N(m,a)?(l.value=a,p(a)):(e.preventDefault(),e.stopPropagation(),p(f)):p(l.value)},!0)}function N(t,n){for(let r of t)if(r.contains(n))return!0;return!1}export{ue as FocusTrap};\n","import{onUnmounted as o,shallowRef as n}from\"vue\";function m(t){let e=n(t.getSnapshot());return o(t.subscribe(()=>{e.value=t.getSnapshot()})),e}export{m as useStore};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","function c(){let o;return{before({doc:e}){var l;let n=e.documentElement;o=((l=e.defaultView)!=null?l:window).innerWidth-n.clientWidth},after({doc:e,d:n}){let t=e.documentElement,l=t.clientWidth-t.offsetWidth,r=o-l;n.style(t,\"paddingRight\",`${r}px`)}}}export{c as adjustScrollbarPadding};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function w(){return u()?{before({doc:r,d:n,meta:c}){function a(o){return c.containers.flatMap(l=>l()).some(l=>l.contains(o))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),n.add(()=>n.microTask(()=>t.dispose()))}let o=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!a(i)&&(l=i)}catch{}},!0),n.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(a(t.target)){let e=t.target;for(;e.parentElement&&a(e.parentElement);)e=e.parentElement;n.style(e,\"overscrollBehavior\",\"contain\")}else n.style(t.target,\"touchAction\",\"none\")}),n.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName===\"INPUT\")return;if(a(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;o!==t&&window.scrollTo(0,o),l&&l.isConnected&&(l.scrollIntoView({block:\"nearest\"}),l=null)})})}}:{}}export{w as handleIOSLocking};\n","function l(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{l as preventScroll};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{computed as p,watch as s}from\"vue\";import{useStore as v}from'../../hooks/use-store.js';import{overflows as u}from'./overflow-store.js';function d(t,a,n){let i=v(u),l=p(()=>{let e=t.value?i.value.get(t.value):void 0;return e?e.count>0:!1});return s([t,a],([e,m],[r],o)=>{if(!e||!m)return;u.dispatch(\"PUSH\",e,n);let f=!1;o(()=>{f||(u.dispatch(\"POP\",r!=null?r:e,n),f=!0)})},{immediate:!0}),l}export{d as useDocumentOverflowLockedEffect};\n","import{ref as m,watchEffect as s}from\"vue\";import{dom as h}from'../utils/dom.js';let i=new Map,t=new Map;function E(d,f=m(!0)){s(o=>{var a;if(!f.value)return;let e=h(d);if(!e)return;o(function(){var u;if(!e)return;let r=(u=t.get(e))!=null?u:1;if(r===1?t.delete(e):t.set(e,r-1),r!==1)return;let n=i.get(e);n&&(n[\"aria-hidden\"]===null?e.removeAttribute(\"aria-hidden\"):e.setAttribute(\"aria-hidden\",n[\"aria-hidden\"]),e.inert=n.inert,i.delete(e))});let l=(a=t.get(e))!=null?a:0;t.set(e,l+1),l===0&&(i.set(e,{\"aria-hidden\":e.getAttribute(\"aria-hidden\"),inert:e.inert}),e.setAttribute(\"aria-hidden\",\"true\"),e.inert=!0)})}export{E as useInert};\n","import{h as m,ref as s}from\"vue\";import{Features as d,Hidden as c}from'../internal/hidden.js';import{dom as T}from'../utils/dom.js';import{getOwnerDocument as E}from'../utils/owner.js';function N({defaultContainers:o=[],portals:i,mainTreeNodeRef:H}={}){let t=s(null),r=E(t);function u(){var l,f,a;let n=[];for(let e of o)e!==null&&(e instanceof HTMLElement?n.push(e):\"value\"in e&&e.value instanceof HTMLElement&&n.push(e.value));if(i!=null&&i.value)for(let e of i.value)n.push(e);for(let e of(l=r==null?void 0:r.querySelectorAll(\"html > *, body > *\"))!=null?l:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!==\"headlessui-portal-root\"&&(e.contains(T(t))||e.contains((a=(f=T(t))==null?void 0:f.getRootNode())==null?void 0:a.host)||n.some(M=>e.contains(M))||n.push(e));return n}return{resolveContainers:u,contains(n){return u().some(l=>l.contains(n))},mainTreeNodeRef:t,MainTreeNode(){return H!=null?null:m(c,{features:d.Hidden,ref:t})}}}function v(){let o=s(null);return{mainTreeNodeRef:o,MainTreeNode(){return m(c,{features:d.Hidden,ref:o})}}}export{v as useMainTreeNode,N as useRootContainers};\n","import{defineComponent as l,inject as a,provide as c}from\"vue\";import{render as p}from'../utils/render.js';let e=Symbol(\"ForcePortalRootContext\");function s(){return a(e,!1)}let u=l({name:\"ForcePortalRoot\",props:{as:{type:[Object,String],default:\"template\"},force:{type:Boolean,default:!1}},setup(o,{slots:t,attrs:r}){return c(e,o.force),()=>{let{force:f,...n}=o;return p({theirProps:n,ourProps:{},slot:{},slots:t,attrs:r,name:\"ForcePortalRoot\"})}}});export{u as ForcePortalRoot,s as usePortalRoot};\n","import{inject as f,onMounted as m,onUnmounted as l,provide as c,watch as p}from\"vue\";let u=Symbol(\"StackContext\");var s=(e=>(e[e.Add=0]=\"Add\",e[e.Remove=1]=\"Remove\",e))(s||{});function y(){return f(u,()=>{})}function R({type:o,enabled:r,element:e,onUpdate:i}){let a=y();function t(...n){i==null||i(...n),a(...n)}m(()=>{p(r,(n,d)=>{n?t(0,o,e):d===!0&&t(1,o,e)},{immediate:!0,flush:\"sync\"})}),l(()=>{r.value&&t(1,o,e)}),c(u,t)}export{s as StackMessage,y as useStackContext,R as useStackProvider};\n","import{computed as x,defineComponent as y,inject as R,onMounted as v,onUnmounted as D,provide as j,ref as p,unref as C}from\"vue\";import{useId as h}from'../../hooks/use-id.js';import{render as b}from'../../utils/render.js';let u=Symbol(\"DescriptionContext\");function w(){let t=R(u,null);if(t===null)throw new Error(\"Missing parent\");return t}function k({slot:t=p({}),name:o=\"Description\",props:s={}}={}){let e=p([]);function r(n){return e.value.push(n),()=>{let i=e.value.indexOf(n);i!==-1&&e.value.splice(i,1)}}return j(u,{register:r,slot:t,name:o,props:s}),x(()=>e.value.length>0?e.value.join(\" \"):void 0)}let K=y({name:\"Description\",props:{as:{type:[Object,String],default:\"p\"},id:{type:String,default:null}},setup(t,{attrs:o,slots:s}){var n;let e=(n=t.id)!=null?n:`headlessui-description-${h()}`,r=w();return v(()=>D(r.register(e))),()=>{let{name:i=\"Description\",slot:l=p({}),props:d={}}=r,{...c}=t,f={...Object.entries(d).reduce((a,[g,m])=>Object.assign(a,{[g]:C(m)}),{}),id:e};return b({ourProps:f,theirProps:c,slot:l.value,attrs:o,slots:s,name:i})}}});export{K as Description,k as useDescriptions};\n","import{computed as w,defineComponent as m,getCurrentInstance as j,h as I,inject as s,onMounted as R,onUnmounted as y,provide as E,reactive as G,ref as p,Teleport as O,watch as D,watchEffect as K}from\"vue\";import{usePortalRoot as S}from'../../internal/portal-force-root.js';import{dom as B}from'../../utils/dom.js';import{getOwnerDocument as C}from'../../utils/owner.js';import{render as h}from'../../utils/render.js';function x(e){let t=C(e);if(!t){if(e===null)return null;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`)}let l=t.getElementById(\"headlessui-portal-root\");if(l)return l;let r=t.createElement(\"div\");return r.setAttribute(\"id\",\"headlessui-portal-root\"),t.body.appendChild(r)}const f=new WeakMap;function U(e){var t;return(t=f.get(e))!=null?t:0}function M(e,t){let l=t(U(e));return l<=0?f.delete(e):f.set(e,l),l}let $=m({name:\"Portal\",props:{as:{type:[Object,String],default:\"div\"}},setup(e,{slots:t,attrs:l}){let r=p(null),i=w(()=>C(r)),o=S(),u=s(H,null),n=p(o===!0||u==null?x(r.value):u.resolveTarget());n.value&&M(n.value,a=>a+1);let c=p(!1);R(()=>{c.value=!0}),K(()=>{o||u!=null&&(n.value=u.resolveTarget())});let v=s(d,null),g=!1,b=j();return D(r,()=>{if(g||!v)return;let a=B(r);a&&(y(v.register(a),b),g=!0)}),y(()=>{var P,T;let a=(P=i.value)==null?void 0:P.getElementById(\"headlessui-portal-root\");!a||n.value!==a||M(n.value,L=>L-1)||n.value.children.length>0||(T=n.value.parentElement)==null||T.removeChild(n.value)}),()=>{if(!c.value||n.value===null)return null;let a={ref:r,\"data-headlessui-portal\":\"\"};return I(O,{to:n.value},h({ourProps:a,theirProps:e,slot:{},attrs:l,slots:t,name:\"Portal\"}))}}}),d=Symbol(\"PortalParentContext\");function q(){let e=s(d,null),t=p([]);function l(o){return t.value.push(o),e&&e.register(o),()=>r(o)}function r(o){let u=t.value.indexOf(o);u!==-1&&t.value.splice(u,1),e&&e.unregister(o)}let i={register:l,unregister:r,portals:t};return[t,m({name:\"PortalWrapper\",setup(o,{slots:u}){return E(d,i),()=>{var n;return(n=u.default)==null?void 0:n.call(u)}}})]}let H=Symbol(\"PortalGroupContext\"),z=m({name:\"PortalGroup\",props:{as:{type:[Object,String],default:\"template\"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:l}){let r=G({resolveTarget(){return e.target}});return E(H,r),()=>{let{target:i,...o}=e;return h({theirProps:o,ourProps:{},slot:{},attrs:t,slots:l,name:\"PortalGroup\"})}}});export{$ as Portal,z as PortalGroup,q as useNestedPortals};\n","import{computed as o,defineComponent as O,h as v,inject as Y,nextTick as se,onMounted as $,onUnmounted as pe,provide as de,ref as y,watchEffect as fe}from\"vue\";import{FocusTrap as P}from'../../components/focus-trap/focus-trap.js';import{useDocumentOverflowLockedEffect as ge}from'../../hooks/document-overflow/use-document-overflow.js';import{useEventListener as ce}from'../../hooks/use-event-listener.js';import{useId as b}from'../../hooks/use-id.js';import{useInert as _}from'../../hooks/use-inert.js';import{useOutsideClick as ve}from'../../hooks/use-outside-click.js';import{useRootContainers as me}from'../../hooks/use-root-containers.js';import{State as I,useOpenClosed as De}from'../../internal/open-closed.js';import{ForcePortalRoot as F}from'../../internal/portal-force-root.js';import{StackMessage as z,useStackProvider as ye}from'../../internal/stack-context.js';import{Keys as Se}from'../../keyboard.js';import{dom as j}from'../../utils/dom.js';import{match as G}from'../../utils/match.js';import{getOwnerDocument as he}from'../../utils/owner.js';import{Features as V,render as C}from'../../utils/render.js';import{Description as Oe,useDescriptions as Pe}from'../description/description.js';import{Portal as J,PortalGroup as be,useNestedPortals as Ce}from'../portal/portal.js';var Te=(l=>(l[l.Open=0]=\"Open\",l[l.Closed=1]=\"Closed\",l))(Te||{});let H=Symbol(\"DialogContext\");function T(t){let i=Y(H,null);if(i===null){let l=new Error(`<${t} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(l,T),l}return i}let A=\"DC8F892D-2EBD-447C-A4C8-A03058436FF4\",Ye=O({name:\"Dialog\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:A},initialFocus:{type:Object,default:null},id:{type:String,default:null},role:{type:String,default:\"dialog\"}},emits:{close:t=>!0},setup(t,{emit:i,attrs:l,slots:p,expose:s}){var q,W;let n=(q=t.id)!=null?q:`headlessui-dialog-${b()}`,u=y(!1);$(()=>{u.value=!0});let r=!1,g=o(()=>t.role===\"dialog\"||t.role===\"alertdialog\"?t.role:(r||(r=!0,console.warn(`Invalid role [${g}] passed to <Dialog />. Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)),\"dialog\")),D=y(0),S=De(),R=o(()=>t.open===A&&S!==null?(S.value&I.Open)===I.Open:t.open),m=y(null),E=o(()=>he(m));if(s({el:m,$el:m}),!(t.open!==A||S!==null))throw new Error(\"You forgot to provide an `open` prop to the `Dialog`.\");if(typeof R.value!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${R.value===A?void 0:t.open}`);let c=o(()=>u.value&&R.value?0:1),k=o(()=>c.value===0),w=o(()=>D.value>1),N=Y(H,null)!==null,[Q,X]=Ce(),{resolveContainers:B,mainTreeNodeRef:K,MainTreeNode:Z}=me({portals:Q,defaultContainers:[o(()=>{var e;return(e=h.panelRef.value)!=null?e:m.value})]}),ee=o(()=>w.value?\"parent\":\"leaf\"),U=o(()=>S!==null?(S.value&I.Closing)===I.Closing:!1),te=o(()=>N||U.value?!1:k.value),le=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll(\"body > *\"))!=null?a:[]).find(f=>f.id===\"headlessui-portal-root\"?!1:f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(le,te);let ae=o(()=>w.value?!0:k.value),oe=o(()=>{var e,a,d;return(d=Array.from((a=(e=E.value)==null?void 0:e.querySelectorAll(\"[data-headlessui-portal]\"))!=null?a:[]).find(f=>f.contains(j(K))&&f instanceof HTMLElement))!=null?d:null});_(oe,ae),ye({type:\"Dialog\",enabled:o(()=>c.value===0),element:m,onUpdate:(e,a)=>{if(a===\"Dialog\")return G(e,{[z.Add]:()=>D.value+=1,[z.Remove]:()=>D.value-=1})}});let re=Pe({name:\"DialogDescription\",slot:o(()=>({open:R.value}))}),M=y(null),h={titleId:M,panelRef:y(null),dialogState:c,setTitleId(e){M.value!==e&&(M.value=e)},close(){i(\"close\",!1)}};de(H,h);let ne=o(()=>!(!k.value||w.value));ve(B,(e,a)=>{e.preventDefault(),h.close(),se(()=>a==null?void 0:a.focus())},ne);let ie=o(()=>!(w.value||c.value!==0));ce((W=E.value)==null?void 0:W.defaultView,\"keydown\",e=>{ie.value&&(e.defaultPrevented||e.key===Se.Escape&&(e.preventDefault(),e.stopPropagation(),h.close()))});let ue=o(()=>!(U.value||c.value!==0||N));return ge(E,ue,e=>{var a;return{containers:[...(a=e.containers)!=null?a:[],B]}}),fe(e=>{if(c.value!==0)return;let a=j(m);if(!a)return;let d=new ResizeObserver(f=>{for(let L of f){let x=L.target.getBoundingClientRect();x.x===0&&x.y===0&&x.width===0&&x.height===0&&h.close()}});d.observe(a),e(()=>d.disconnect())}),()=>{let{open:e,initialFocus:a,...d}=t,f={...l,ref:m,id:n,role:g.value,\"aria-modal\":c.value===0?!0:void 0,\"aria-labelledby\":M.value,\"aria-describedby\":re.value},L={open:c.value===0};return v(F,{force:!0},()=>[v(J,()=>v(be,{target:m.value},()=>v(F,{force:!1},()=>v(P,{initialFocus:a,containers:B,features:k.value?G(ee.value,{parent:P.features.RestoreFocus,leaf:P.features.All&~P.features.FocusLock}):P.features.None},()=>v(X,{},()=>C({ourProps:f,theirProps:{...d,...l},slot:L,attrs:l,slots:p,visible:c.value===0,features:V.RenderStrategy|V.Static,name:\"Dialog\"})))))),v(Z)])}}}),_e=O({name:\"DialogOverlay\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var u;let p=(u=t.id)!=null?u:`headlessui-dialog-overlay-${b()}`,s=T(\"DialogOverlay\");function n(r){r.target===r.currentTarget&&(r.preventDefault(),r.stopPropagation(),s.close())}return()=>{let{...r}=t;return C({ourProps:{id:p,\"aria-hidden\":!0,onClick:n},theirProps:r,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:\"DialogOverlay\"})}}}),ze=O({name:\"DialogBackdrop\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},inheritAttrs:!1,setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-backdrop-${b()}`,n=T(\"DialogBackdrop\"),u=y(null);return p({el:u,$el:u}),$(()=>{if(n.panelRef.value===null)throw new Error(\"A <DialogBackdrop /> component is being used, but a <DialogPanel /> component is missing.\")}),()=>{let{...g}=t,D={id:s,ref:u,\"aria-hidden\":!0};return v(F,{force:!0},()=>v(J,()=>C({ourProps:D,theirProps:{...i,...g},slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:\"DialogBackdrop\"})))}}}),Ge=O({name:\"DialogPanel\",props:{as:{type:[Object,String],default:\"div\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l,expose:p}){var r;let s=(r=t.id)!=null?r:`headlessui-dialog-panel-${b()}`,n=T(\"DialogPanel\");p({el:n.panelRef,$el:n.panelRef});function u(g){g.stopPropagation()}return()=>{let{...g}=t,D={id:s,ref:n.panelRef,onClick:u};return C({ourProps:D,theirProps:g,slot:{open:n.dialogState.value===0},attrs:i,slots:l,name:\"DialogPanel\"})}}}),Ve=O({name:\"DialogTitle\",props:{as:{type:[Object,String],default:\"h2\"},id:{type:String,default:null}},setup(t,{attrs:i,slots:l}){var n;let p=(n=t.id)!=null?n:`headlessui-dialog-title-${b()}`,s=T(\"DialogTitle\");return $(()=>{s.setTitleId(p),pe(()=>s.setTitleId(null))}),()=>{let{...u}=t;return C({ourProps:{id:p},theirProps:u,slot:{open:s.dialogState.value===0},attrs:i,slots:l,name:\"DialogTitle\"})}}}),Je=Oe;export{Ye as Dialog,ze as DialogBackdrop,Je as DialogDescription,_e as DialogOverlay,Ge as DialogPanel,Ve as DialogTitle};\n","let a=/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:\"\",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:\"\":n;return a.test(l)&&(l=l.replace(a,\"\")),l}function g(e){let n=e.getAttribute(\"aria-label\");if(typeof n==\"string\")return n.trim();let t=e.getAttribute(\"aria-labelledby\");if(t){let u=t.split(\" \").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute(\"aria-label\");return typeof i==\"string\"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(\", \")}return o(e).trim()}export{g as getTextValue};\n","import{ref as n}from\"vue\";import{dom as o}from'../utils/dom.js';import{getTextValue as i}from'../utils/get-text-value.js';function p(a){let t=n(\"\"),r=n(\"\");return()=>{let e=o(a);if(!e)return\"\";let l=e.innerText;if(t.value===l)return r.value;let u=i(e).trim().toLowerCase();return t.value=l,r.value=u,u}}export{p as useTextValue};\n","import{computed as x,defineComponent as E,Fragment as z,h as N,inject as _,nextTick as V,onMounted as K,onUnmounted as q,provide as W,ref as T,toRaw as R,watch as H,watchEffect as G}from\"vue\";import{useControllable as J}from'../../hooks/use-controllable.js';import{useId as F}from'../../hooks/use-id.js';import{useOutsideClick as X}from'../../hooks/use-outside-click.js';import{useResolveButtonType as Y}from'../../hooks/use-resolve-button-type.js';import{useTextValue as Z}from'../../hooks/use-text-value.js';import{useTrackedPointer as ee}from'../../hooks/use-tracked-pointer.js';import{Features as te,Hidden as oe}from'../../internal/hidden.js';import{State as B,useOpenClosed as ae,useOpenClosedProvider as ie}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as ne,Focus as g}from'../../utils/calculate-active-index.js';import{dom as S}from'../../utils/dom.js';import{FocusableMode as le,isFocusableElement as ue,sortByDomNode as re}from'../../utils/focus-management.js';import{objectToFormEntries as se}from'../../utils/form.js';import{match as P}from'../../utils/match.js';import{compact as de,Features as U,omit as fe,render as j}from'../../utils/render.js';function pe(o,b){return o===b}var ce=(r=>(r[r.Open=0]=\"Open\",r[r.Closed=1]=\"Closed\",r))(ce||{}),ve=(r=>(r[r.Single=0]=\"Single\",r[r.Multi=1]=\"Multi\",r))(ve||{}),be=(r=>(r[r.Pointer=0]=\"Pointer\",r[r.Other=1]=\"Other\",r))(be||{});function me(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let $=Symbol(\"ListboxContext\");function A(o){let b=_($,null);if(b===null){let r=new Error(`<${o} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,A),r}return b}let Ie=E({name:\"Listbox\",emits:{\"update:modelValue\":o=>!0},props:{as:{type:[Object,String],default:\"template\"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>pe},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(o,{slots:b,attrs:r,emit:w}){let n=T(1),e=T(null),f=T(null),v=T(null),s=T([]),m=T(\"\"),p=T(null),a=T(1);function u(t=i=>i){let i=p.value!==null?s.value[p.value]:null,l=re(t(s.value.slice()),O=>S(O.dataRef.domRef)),d=i?l.indexOf(i):null;return d===-1&&(d=null),{options:l,activeOptionIndex:d}}let D=x(()=>o.multiple?1:0),[y,L]=J(x(()=>o.modelValue),t=>w(\"update:modelValue\",t),x(()=>o.defaultValue)),M=x(()=>y.value===void 0?P(D.value,{[1]:[],[0]:void 0}):y.value),k={listboxState:n,value:M,mode:D,compare(t,i){if(typeof o.by==\"string\"){let l=o.by;return(t==null?void 0:t[l])===(i==null?void 0:i[l])}return o.by(t,i)},orientation:x(()=>o.horizontal?\"horizontal\":\"vertical\"),labelRef:e,buttonRef:f,optionsRef:v,disabled:x(()=>o.disabled),options:s,searchQuery:m,activeOptionIndex:p,activationTrigger:a,closeListbox(){o.disabled||n.value!==1&&(n.value=1,p.value=null)},openListbox(){o.disabled||n.value!==0&&(n.value=0)},goToOption(t,i,l){if(o.disabled||n.value===1)return;let d=u(),O=ne(t===g.Specific?{focus:g.Specific,id:i}:{focus:t},{resolveItems:()=>d.options,resolveActiveIndex:()=>d.activeOptionIndex,resolveId:h=>h.id,resolveDisabled:h=>h.dataRef.disabled});m.value=\"\",p.value=O,a.value=l!=null?l:1,s.value=d.options},search(t){if(o.disabled||n.value===1)return;let l=m.value!==\"\"?0:1;m.value+=t.toLowerCase();let O=(p.value!==null?s.value.slice(p.value+l).concat(s.value.slice(0,p.value+l)):s.value).find(I=>I.dataRef.textValue.startsWith(m.value)&&!I.dataRef.disabled),h=O?s.value.indexOf(O):-1;h===-1||h===p.value||(p.value=h,a.value=1)},clearSearch(){o.disabled||n.value!==1&&m.value!==\"\"&&(m.value=\"\")},registerOption(t,i){let l=u(d=>[...d,{id:t,dataRef:i}]);s.value=l.options,p.value=l.activeOptionIndex},unregisterOption(t){let i=u(l=>{let d=l.findIndex(O=>O.id===t);return d!==-1&&l.splice(d,1),l});s.value=i.options,p.value=i.activeOptionIndex,a.value=1},theirOnChange(t){o.disabled||L(t)},select(t){o.disabled||L(P(D.value,{[0]:()=>t,[1]:()=>{let i=R(k.value.value).slice(),l=R(t),d=i.findIndex(O=>k.compare(l,R(O)));return d===-1?i.push(l):i.splice(d,1),i}}))}};X([f,v],(t,i)=>{var l;k.closeListbox(),ue(i,le.Loose)||(t.preventDefault(),(l=S(f))==null||l.focus())},x(()=>n.value===0)),W($,k),ie(x(()=>P(n.value,{[0]:B.Open,[1]:B.Closed})));let C=x(()=>{var t;return(t=S(f))==null?void 0:t.closest(\"form\")});return K(()=>{H([C],()=>{if(!C.value||o.defaultValue===void 0)return;function t(){k.theirOnChange(o.defaultValue)}return C.value.addEventListener(\"reset\",t),()=>{var i;(i=C.value)==null||i.removeEventListener(\"reset\",t)}},{immediate:!0})}),()=>{let{name:t,modelValue:i,disabled:l,form:d,...O}=o,h={open:n.value===0,disabled:l,value:M.value};return N(z,[...t!=null&&M.value!=null?se({[t]:M.value}).map(([I,Q])=>N(oe,de({features:te.Hidden,key:I,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:d,disabled:l,name:I,value:Q}))):[],j({ourProps:{},theirProps:{...r,...fe(O,[\"defaultValue\",\"onUpdate:modelValue\",\"horizontal\",\"multiple\",\"by\"])},slot:h,slots:b,attrs:r,name:\"Listbox\"})])}}}),Ee=E({name:\"ListboxLabel\",props:{as:{type:[Object,String],default:\"label\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r}){var f;let w=(f=o.id)!=null?f:`headlessui-listbox-label-${F()}`,n=A(\"ListboxLabel\");function e(){var v;(v=S(n.buttonRef))==null||v.focus({preventScroll:!0})}return()=>{let v={open:n.listboxState.value===0,disabled:n.disabled.value},{...s}=o,m={id:w,ref:n.labelRef,onClick:e};return j({ourProps:m,theirProps:s,slot:v,attrs:b,slots:r,name:\"ListboxLabel\"})}}}),je=E({name:\"ListboxButton\",props:{as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-button-${F()}`,e=A(\"ListboxButton\");w({el:e.buttonRef,$el:e.buttonRef});function f(a){switch(a.key){case c.Space:case c.Enter:case c.ArrowDown:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.First)});break;case c.ArrowUp:a.preventDefault(),e.openListbox(),V(()=>{var u;(u=S(e.optionsRef))==null||u.focus({preventScroll:!0}),e.value.value||e.goToOption(g.Last)});break}}function v(a){switch(a.key){case c.Space:a.preventDefault();break}}function s(a){e.disabled.value||(e.listboxState.value===0?(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})})):(a.preventDefault(),e.openListbox(),me(()=>{var u;return(u=S(e.optionsRef))==null?void 0:u.focus({preventScroll:!0})})))}let m=Y(x(()=>({as:o.as,type:b.type})),e.buttonRef);return()=>{var y,L;let a={open:e.listboxState.value===0,disabled:e.disabled.value,value:e.value.value},{...u}=o,D={ref:e.buttonRef,id:n,type:m.value,\"aria-haspopup\":\"listbox\",\"aria-controls\":(y=S(e.optionsRef))==null?void 0:y.id,\"aria-expanded\":e.listboxState.value===0,\"aria-labelledby\":e.labelRef.value?[(L=S(e.labelRef))==null?void 0:L.id,n].join(\" \"):void 0,disabled:e.disabled.value===!0?!0:void 0,onKeydown:f,onKeyup:v,onClick:s};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,name:\"ListboxButton\"})}}}),Ae=E({name:\"ListboxOptions\",props:{as:{type:[Object,String],default:\"ul\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:b,slots:r,expose:w}){var p;let n=(p=o.id)!=null?p:`headlessui-listbox-options-${F()}`,e=A(\"ListboxOptions\"),f=T(null);w({el:e.optionsRef,$el:e.optionsRef});function v(a){switch(f.value&&clearTimeout(f.value),a.key){case c.Space:if(e.searchQuery.value!==\"\")return a.preventDefault(),a.stopPropagation(),e.search(a.key);case c.Enter:if(a.preventDefault(),a.stopPropagation(),e.activeOptionIndex.value!==null){let u=e.options.value[e.activeOptionIndex.value];e.select(u.dataRef.value)}e.mode.value===0&&(e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})}));break;case P(e.orientation.value,{vertical:c.ArrowDown,horizontal:c.ArrowRight}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Next);case P(e.orientation.value,{vertical:c.ArrowUp,horizontal:c.ArrowLeft}):return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Previous);case c.Home:case c.PageUp:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.First);case c.End:case c.PageDown:return a.preventDefault(),a.stopPropagation(),e.goToOption(g.Last);case c.Escape:a.preventDefault(),a.stopPropagation(),e.closeListbox(),V(()=>{var u;return(u=S(e.buttonRef))==null?void 0:u.focus({preventScroll:!0})});break;case c.Tab:a.preventDefault(),a.stopPropagation();break;default:a.key.length===1&&(e.search(a.key),f.value=setTimeout(()=>e.clearSearch(),350));break}}let s=ae(),m=x(()=>s!==null?(s.value&B.Open)===B.Open:e.listboxState.value===0);return()=>{var y,L;let a={open:e.listboxState.value===0},{...u}=o,D={\"aria-activedescendant\":e.activeOptionIndex.value===null||(y=e.options.value[e.activeOptionIndex.value])==null?void 0:y.id,\"aria-multiselectable\":e.mode.value===1?!0:void 0,\"aria-labelledby\":(L=S(e.buttonRef))==null?void 0:L.id,\"aria-orientation\":e.orientation.value,id:n,onKeydown:v,role:\"listbox\",tabIndex:0,ref:e.optionsRef};return j({ourProps:D,theirProps:u,slot:a,attrs:b,slots:r,features:U.RenderStrategy|U.Static,visible:m.value,name:\"ListboxOptions\"})}}}),Fe=E({name:\"ListboxOption\",props:{as:{type:[Object,String],default:\"li\"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:b,attrs:r,expose:w}){var C;let n=(C=o.id)!=null?C:`headlessui-listbox-option-${F()}`,e=A(\"ListboxOption\"),f=T(null);w({el:f,$el:f});let v=x(()=>e.activeOptionIndex.value!==null?e.options.value[e.activeOptionIndex.value].id===n:!1),s=x(()=>P(e.mode.value,{[0]:()=>e.compare(R(e.value.value),R(o.value)),[1]:()=>R(e.value.value).some(t=>e.compare(R(t),R(o.value)))})),m=x(()=>P(e.mode.value,{[1]:()=>{var i;let t=R(e.value.value);return((i=e.options.value.find(l=>t.some(d=>e.compare(R(d),R(l.dataRef.value)))))==null?void 0:i.id)===n},[0]:()=>s.value})),p=Z(f),a=x(()=>({disabled:o.disabled,value:o.value,get textValue(){return p()},domRef:f}));K(()=>e.registerOption(n,a)),q(()=>e.unregisterOption(n)),K(()=>{H([e.listboxState,s],()=>{e.listboxState.value===0&&s.value&&P(e.mode.value,{[1]:()=>{m.value&&e.goToOption(g.Specific,n)},[0]:()=>{e.goToOption(g.Specific,n)}})},{immediate:!0})}),G(()=>{e.listboxState.value===0&&v.value&&e.activationTrigger.value!==0&&V(()=>{var t,i;return(i=(t=S(f))==null?void 0:t.scrollIntoView)==null?void 0:i.call(t,{block:\"nearest\"})})});function u(t){if(o.disabled)return t.preventDefault();e.select(o.value),e.mode.value===0&&(e.closeListbox(),V(()=>{var i;return(i=S(e.buttonRef))==null?void 0:i.focus({preventScroll:!0})}))}function D(){if(o.disabled)return e.goToOption(g.Nothing);e.goToOption(g.Specific,n)}let y=ee();function L(t){y.update(t)}function M(t){y.wasMoved(t)&&(o.disabled||v.value||e.goToOption(g.Specific,n,0))}function k(t){y.wasMoved(t)&&(o.disabled||v.value&&e.goToOption(g.Nothing))}return()=>{let{disabled:t}=o,i={active:v.value,selected:s.value,disabled:t},{value:l,disabled:d,...O}=o,h={id:n,ref:f,role:\"option\",tabIndex:t===!0?void 0:-1,\"aria-disabled\":t===!0?!0:void 0,\"aria-selected\":s.value,disabled:void 0,onClick:u,onFocus:D,onPointerenter:L,onMouseenter:L,onPointermove:M,onMousemove:M,onPointerleave:k,onMouseleave:k};return j({ourProps:h,theirProps:O,slot:i,attrs:r,slots:b,name:\"ListboxOption\"})}}});export{Ie as Listbox,je as ListboxButton,Ee as ListboxLabel,Fe as ListboxOption,Ae as ListboxOptions};\n","import{computed as y,defineComponent as T,inject as K,nextTick as x,onMounted as N,onUnmounted as j,provide as L,ref as R,watchEffect as B}from\"vue\";import{useId as w}from'../../hooks/use-id.js';import{useOutsideClick as U}from'../../hooks/use-outside-click.js';import{useResolveButtonType as $}from'../../hooks/use-resolve-button-type.js';import{useTextValue as V}from'../../hooks/use-text-value.js';import{useTrackedPointer as H}from'../../hooks/use-tracked-pointer.js';import{useTreeWalker as Q}from'../../hooks/use-tree-walker.js';import{State as D,useOpenClosed as _,useOpenClosedProvider as q}from'../../internal/open-closed.js';import{Keys as c}from'../../keyboard.js';import{calculateActiveIndex as W,Focus as S}from'../../utils/calculate-active-index.js';import{dom as m}from'../../utils/dom.js';import{Focus as E,FocusableMode as J,focusFrom as z,isFocusableElement as G,restoreFocusIfNecessary as k,sortByDomNode as X}from'../../utils/focus-management.js';import{match as Y}from'../../utils/match.js';import{Features as F,render as P}from'../../utils/render.js';var Z=(i=>(i[i.Open=0]=\"Open\",i[i.Closed=1]=\"Closed\",i))(Z||{}),ee=(i=>(i[i.Pointer=0]=\"Pointer\",i[i.Other=1]=\"Other\",i))(ee||{});function te(o){requestAnimationFrame(()=>requestAnimationFrame(o))}let A=Symbol(\"MenuContext\");function O(o){let M=K(A,null);if(M===null){let i=new Error(`<${o} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(i,O),i}return M}let ge=T({name:\"Menu\",props:{as:{type:[Object,String],default:\"template\"}},setup(o,{slots:M,attrs:i}){let I=R(1),p=R(null),e=R(null),r=R([]),f=R(\"\"),d=R(null),g=R(1);function b(t=a=>a){let a=d.value!==null?r.value[d.value]:null,n=X(t(r.value.slice()),v=>m(v.dataRef.domRef)),s=a?n.indexOf(a):null;return s===-1&&(s=null),{items:n,activeItemIndex:s}}let l={menuState:I,buttonRef:p,itemsRef:e,items:r,searchQuery:f,activeItemIndex:d,activationTrigger:g,closeMenu:()=>{I.value=1,d.value=null},openMenu:()=>I.value=0,goToItem(t,a,n){let s=b(),v=W(t===S.Specific?{focus:S.Specific,id:a}:{focus:t},{resolveItems:()=>s.items,resolveActiveIndex:()=>s.activeItemIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.disabled});f.value=\"\",d.value=v,g.value=n!=null?n:1,r.value=s.items},search(t){let n=f.value!==\"\"?0:1;f.value+=t.toLowerCase();let v=(d.value!==null?r.value.slice(d.value+n).concat(r.value.slice(0,d.value+n)):r.value).find(h=>h.dataRef.textValue.startsWith(f.value)&&!h.dataRef.disabled),u=v?r.value.indexOf(v):-1;u===-1||u===d.value||(d.value=u,g.value=1)},clearSearch(){f.value=\"\"},registerItem(t,a){let n=b(s=>[...s,{id:t,dataRef:a}]);r.value=n.items,d.value=n.activeItemIndex,g.value=1},unregisterItem(t){let a=b(n=>{let s=n.findIndex(v=>v.id===t);return s!==-1&&n.splice(s,1),n});r.value=a.items,d.value=a.activeItemIndex,g.value=1}};return U([p,e],(t,a)=>{var n;l.closeMenu(),G(a,J.Loose)||(t.preventDefault(),(n=m(p))==null||n.focus())},y(()=>I.value===0)),L(A,l),q(y(()=>Y(I.value,{[0]:D.Open,[1]:D.Closed}))),()=>{let t={open:I.value===0,close:l.closeMenu};return P({ourProps:{},theirProps:o,slot:t,slots:M,attrs:i,name:\"Menu\"})}}}),Se=T({name:\"MenuButton\",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:\"button\"},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var b;let p=(b=o.id)!=null?b:`headlessui-menu-button-${w()}`,e=O(\"MenuButton\");I({el:e.buttonRef,$el:e.buttonRef});function r(l){switch(l.key){case c.Space:case c.Enter:case c.ArrowDown:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.First)});break;case c.ArrowUp:l.preventDefault(),l.stopPropagation(),e.openMenu(),x(()=>{var t;(t=m(e.itemsRef))==null||t.focus({preventScroll:!0}),e.goToItem(S.Last)});break}}function f(l){switch(l.key){case c.Space:l.preventDefault();break}}function d(l){o.disabled||(e.menuState.value===0?(e.closeMenu(),x(()=>{var t;return(t=m(e.buttonRef))==null?void 0:t.focus({preventScroll:!0})})):(l.preventDefault(),e.openMenu(),te(()=>{var t;return(t=m(e.itemsRef))==null?void 0:t.focus({preventScroll:!0})})))}let g=$(y(()=>({as:o.as,type:M.type})),e.buttonRef);return()=>{var n;let l={open:e.menuState.value===0},{...t}=o,a={ref:e.buttonRef,id:p,type:g.value,\"aria-haspopup\":\"menu\",\"aria-controls\":(n=m(e.itemsRef))==null?void 0:n.id,\"aria-expanded\":e.menuState.value===0,onKeydown:r,onKeyup:f,onClick:d};return P({ourProps:a,theirProps:t,slot:l,attrs:M,slots:i,name:\"MenuButton\"})}}}),Me=T({name:\"MenuItems\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(o,{attrs:M,slots:i,expose:I}){var l;let p=(l=o.id)!=null?l:`headlessui-menu-items-${w()}`,e=O(\"MenuItems\"),r=R(null);I({el:e.itemsRef,$el:e.itemsRef}),Q({container:y(()=>m(e.itemsRef)),enabled:y(()=>e.menuState.value===0),accept(t){return t.getAttribute(\"role\")===\"menuitem\"?NodeFilter.FILTER_REJECT:t.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(t){t.setAttribute(\"role\",\"none\")}});function f(t){var a;switch(r.value&&clearTimeout(r.value),t.key){case c.Space:if(e.searchQuery.value!==\"\")return t.preventDefault(),t.stopPropagation(),e.search(t.key);case c.Enter:if(t.preventDefault(),t.stopPropagation(),e.activeItemIndex.value!==null){let s=e.items.value[e.activeItemIndex.value];(a=m(s.dataRef.domRef))==null||a.click()}e.closeMenu(),k(m(e.buttonRef));break;case c.ArrowDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Next);case c.ArrowUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Previous);case c.Home:case c.PageUp:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.First);case c.End:case c.PageDown:return t.preventDefault(),t.stopPropagation(),e.goToItem(S.Last);case c.Escape:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>{var n;return(n=m(e.buttonRef))==null?void 0:n.focus({preventScroll:!0})});break;case c.Tab:t.preventDefault(),t.stopPropagation(),e.closeMenu(),x(()=>z(m(e.buttonRef),t.shiftKey?E.Previous:E.Next));break;default:t.key.length===1&&(e.search(t.key),r.value=setTimeout(()=>e.clearSearch(),350));break}}function d(t){switch(t.key){case c.Space:t.preventDefault();break}}let g=_(),b=y(()=>g!==null?(g.value&D.Open)===D.Open:e.menuState.value===0);return()=>{var s,v;let t={open:e.menuState.value===0},{...a}=o,n={\"aria-activedescendant\":e.activeItemIndex.value===null||(s=e.items.value[e.activeItemIndex.value])==null?void 0:s.id,\"aria-labelledby\":(v=m(e.buttonRef))==null?void 0:v.id,id:p,onKeydown:f,onKeyup:d,role:\"menu\",tabIndex:0,ref:e.itemsRef};return P({ourProps:n,theirProps:a,slot:t,attrs:M,slots:i,features:F.RenderStrategy|F.Static,visible:b.value,name:\"MenuItems\"})}}}),be=T({name:\"MenuItem\",inheritAttrs:!1,props:{as:{type:[Object,String],default:\"template\"},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(o,{slots:M,attrs:i,expose:I}){var v;let p=(v=o.id)!=null?v:`headlessui-menu-item-${w()}`,e=O(\"MenuItem\"),r=R(null);I({el:r,$el:r});let f=y(()=>e.activeItemIndex.value!==null?e.items.value[e.activeItemIndex.value].id===p:!1),d=V(r),g=y(()=>({disabled:o.disabled,get textValue(){return d()},domRef:r}));N(()=>e.registerItem(p,g)),j(()=>e.unregisterItem(p)),B(()=>{e.menuState.value===0&&f.value&&e.activationTrigger.value!==0&&x(()=>{var u,h;return(h=(u=m(r))==null?void 0:u.scrollIntoView)==null?void 0:h.call(u,{block:\"nearest\"})})});function b(u){if(o.disabled)return u.preventDefault();e.closeMenu(),k(m(e.buttonRef))}function l(){if(o.disabled)return e.goToItem(S.Nothing);e.goToItem(S.Specific,p)}let t=H();function a(u){t.update(u)}function n(u){t.wasMoved(u)&&(o.disabled||f.value||e.goToItem(S.Specific,p,0))}function s(u){t.wasMoved(u)&&(o.disabled||f.value&&e.goToItem(S.Nothing))}return()=>{let{disabled:u,...h}=o,C={active:f.value,disabled:u,close:e.closeMenu};return P({ourProps:{id:p,ref:r,role:\"menuitem\",tabIndex:u===!0?void 0:-1,\"aria-disabled\":u===!0?!0:void 0,onClick:b,onFocus:l,onPointerenter:a,onMouseenter:a,onPointermove:n,onMousemove:n,onPointerleave:s,onMouseleave:s},theirProps:{...i,...h},slot:C,attrs:i,slots:M,name:\"MenuItem\"})}}});export{ge as Menu,Se as MenuButton,be as MenuItem,Me as MenuItems};\n","import{defineComponent as i,h as m,ref as f}from\"vue\";import{Features as l,Hidden as F}from'./hidden.js';let d=i({props:{onFocus:{type:Function,required:!0}},setup(t){let n=f(!0);return()=>n.value?m(F,{as:\"button\",type:\"button\",features:l.Focusable,onFocus(o){o.preventDefault();let e,a=50;function r(){var u;if(a--<=0){e&&cancelAnimationFrame(e);return}if((u=t.onFocus)!=null&&u.call(t)){n.value=!1,cancelAnimationFrame(e);return}e=requestAnimationFrame(r)}e=requestAnimationFrame(r)}}):null}});export{d as FocusSentinel};\n","import{computed as v,defineComponent as L,Fragment as z,h as A,inject as j,onMounted as F,onUnmounted as K,provide as N,ref as P,watch as _,watchEffect as J}from\"vue\";import{useId as $}from'../../hooks/use-id.js';import{useResolveButtonType as Q}from'../../hooks/use-resolve-button-type.js';import{FocusSentinel as V}from'../../internal/focus-sentinel.js';import{Hidden as X}from'../../internal/hidden.js';import{Keys as S}from'../../keyboard.js';import{dom as f}from'../../utils/dom.js';import{Focus as g,focusIn as D,FocusResult as B,sortByDomNode as k}from'../../utils/focus-management.js';import{match as H}from'../../utils/match.js';import{microTask as Y}from'../../utils/micro-task.js';import{getOwnerDocument as Z}from'../../utils/owner.js';import{Features as q,omit as ee,render as M}from'../../utils/render.js';var te=(s=>(s[s.Forwards=0]=\"Forwards\",s[s.Backwards=1]=\"Backwards\",s))(te||{}),le=(d=>(d[d.Less=-1]=\"Less\",d[d.Equal=0]=\"Equal\",d[d.Greater=1]=\"Greater\",d))(le||{});let U=Symbol(\"TabsContext\");function C(a){let b=j(U,null);if(b===null){let s=new Error(`<${a} /> is missing a parent <TabGroup /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(s,C),s}return b}let G=Symbol(\"TabsSSRContext\"),me=L({name:\"TabGroup\",emits:{change:a=>!0},props:{as:{type:[Object,String],default:\"template\"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(a,{slots:b,attrs:s,emit:d}){var E;let i=P((E=a.selectedIndex)!=null?E:a.defaultIndex),l=P([]),r=P([]),p=v(()=>a.selectedIndex!==null),R=v(()=>p.value?a.selectedIndex:i.value);function y(t){var c;let n=k(u.tabs.value,f),o=k(u.panels.value,f),e=n.filter(I=>{var m;return!((m=f(I))!=null&&m.hasAttribute(\"disabled\"))});if(t<0||t>n.length-1){let I=H(i.value===null?0:Math.sign(t-i.value),{[-1]:()=>1,[0]:()=>H(Math.sign(t),{[-1]:()=>0,[0]:()=>0,[1]:()=>1}),[1]:()=>0}),m=H(I,{[0]:()=>n.indexOf(e[0]),[1]:()=>n.indexOf(e[e.length-1])});m!==-1&&(i.value=m),u.tabs.value=n,u.panels.value=o}else{let I=n.slice(0,t),h=[...n.slice(t),...I].find(W=>e.includes(W));if(!h)return;let O=(c=n.indexOf(h))!=null?c:u.selectedIndex.value;O===-1&&(O=u.selectedIndex.value),i.value=O,u.tabs.value=n,u.panels.value=o}}let u={selectedIndex:v(()=>{var t,n;return(n=(t=i.value)!=null?t:a.defaultIndex)!=null?n:null}),orientation:v(()=>a.vertical?\"vertical\":\"horizontal\"),activation:v(()=>a.manual?\"manual\":\"auto\"),tabs:l,panels:r,setSelectedIndex(t){R.value!==t&&d(\"change\",t),p.value||y(t)},registerTab(t){var o;if(l.value.includes(t))return;let n=l.value[i.value];if(l.value.push(t),l.value=k(l.value,f),!p.value){let e=(o=l.value.indexOf(n))!=null?o:i.value;e!==-1&&(i.value=e)}},unregisterTab(t){let n=l.value.indexOf(t);n!==-1&&l.value.splice(n,1)},registerPanel(t){r.value.includes(t)||(r.value.push(t),r.value=k(r.value,f))},unregisterPanel(t){let n=r.value.indexOf(t);n!==-1&&r.value.splice(n,1)}};N(U,u);let T=P({tabs:[],panels:[]}),x=P(!1);F(()=>{x.value=!0}),N(G,v(()=>x.value?null:T.value));let w=v(()=>a.selectedIndex);return F(()=>{_([w],()=>{var t;return y((t=a.selectedIndex)!=null?t:a.defaultIndex)},{immediate:!0})}),J(()=>{if(!p.value||R.value==null||u.tabs.value.length<=0)return;let t=k(u.tabs.value,f);t.some((o,e)=>f(u.tabs.value[e])!==f(o))&&u.setSelectedIndex(t.findIndex(o=>f(o)===f(u.tabs.value[R.value])))}),()=>{let t={selectedIndex:i.value};return A(z,[l.value.length<=0&&A(V,{onFocus:()=>{for(let n of l.value){let o=f(n);if((o==null?void 0:o.tabIndex)===0)return o.focus(),!0}return!1}}),M({theirProps:{...s,...ee(a,[\"selectedIndex\",\"defaultIndex\",\"manual\",\"vertical\",\"onChange\"])},ourProps:{},slot:t,slots:b,attrs:s,name:\"TabGroup\"})])}}}),pe=L({name:\"TabList\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{attrs:b,slots:s}){let d=C(\"TabList\");return()=>{let i={selectedIndex:d.selectedIndex.value},l={role:\"tablist\",\"aria-orientation\":d.orientation.value};return M({ourProps:l,theirProps:a,slot:i,attrs:b,slots:s,name:\"TabList\"})}}}),xe=L({name:\"Tab\",props:{as:{type:[Object,String],default:\"button\"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(a,{attrs:b,slots:s,expose:d}){var o;let i=(o=a.id)!=null?o:`headlessui-tabs-tab-${$()}`,l=C(\"Tab\"),r=P(null);d({el:r,$el:r}),F(()=>l.registerTab(r)),K(()=>l.unregisterTab(r));let p=j(G),R=v(()=>{if(p.value){let e=p.value.tabs.indexOf(i);return e===-1?p.value.tabs.push(i)-1:e}return-1}),y=v(()=>{let e=l.tabs.value.indexOf(r);return e===-1?R.value:e}),u=v(()=>y.value===l.selectedIndex.value);function T(e){var I;let c=e();if(c===B.Success&&l.activation.value===\"auto\"){let m=(I=Z(r))==null?void 0:I.activeElement,h=l.tabs.value.findIndex(O=>f(O)===m);h!==-1&&l.setSelectedIndex(h)}return c}function x(e){let c=l.tabs.value.map(m=>f(m)).filter(Boolean);if(e.key===S.Space||e.key===S.Enter){e.preventDefault(),e.stopPropagation(),l.setSelectedIndex(y.value);return}switch(e.key){case S.Home:case S.PageUp:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.First));case S.End:case S.PageDown:return e.preventDefault(),e.stopPropagation(),T(()=>D(c,g.Last))}if(T(()=>H(l.orientation.value,{vertical(){return e.key===S.ArrowUp?D(c,g.Previous|g.WrapAround):e.key===S.ArrowDown?D(c,g.Next|g.WrapAround):B.Error},horizontal(){return e.key===S.ArrowLeft?D(c,g.Previous|g.WrapAround):e.key===S.ArrowRight?D(c,g.Next|g.WrapAround):B.Error}}))===B.Success)return e.preventDefault()}let w=P(!1);function E(){var e;w.value||(w.value=!0,!a.disabled&&((e=f(r))==null||e.focus({preventScroll:!0}),l.setSelectedIndex(y.value),Y(()=>{w.value=!1})))}function t(e){e.preventDefault()}let n=Q(v(()=>({as:a.as,type:b.type})),r);return()=>{var m,h;let e={selected:u.value,disabled:(m=a.disabled)!=null?m:!1},{...c}=a,I={ref:r,onKeydown:x,onMousedown:t,onClick:E,id:i,role:\"tab\",type:n.value,\"aria-controls\":(h=f(l.panels.value[y.value]))==null?void 0:h.id,\"aria-selected\":u.value,tabIndex:u.value?0:-1,disabled:a.disabled?!0:void 0};return M({ourProps:I,theirProps:c,slot:e,attrs:b,slots:s,name:\"Tab\"})}}}),Ie=L({name:\"TabPanels\",props:{as:{type:[Object,String],default:\"div\"}},setup(a,{slots:b,attrs:s}){let d=C(\"TabPanels\");return()=>{let i={selectedIndex:d.selectedIndex.value};return M({theirProps:a,ourProps:{},slot:i,attrs:s,slots:b,name:\"TabPanels\"})}}}),ye=L({name:\"TabPanel\",props:{as:{type:[Object,String],default:\"div\"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null},tabIndex:{type:Number,default:0}},setup(a,{attrs:b,slots:s,expose:d}){var T;let i=(T=a.id)!=null?T:`headlessui-tabs-panel-${$()}`,l=C(\"TabPanel\"),r=P(null);d({el:r,$el:r}),F(()=>l.registerPanel(r)),K(()=>l.unregisterPanel(r));let p=j(G),R=v(()=>{if(p.value){let x=p.value.panels.indexOf(i);return x===-1?p.value.panels.push(i)-1:x}return-1}),y=v(()=>{let x=l.panels.value.indexOf(r);return x===-1?R.value:x}),u=v(()=>y.value===l.selectedIndex.value);return()=>{var n;let x={selected:u.value},{tabIndex:w,...E}=a,t={ref:r,id:i,role:\"tabpanel\",\"aria-labelledby\":(n=f(l.tabs.value[y.value]))==null?void 0:n.id,tabIndex:u.value?w:-1};return!u.value&&a.unmount&&!a.static?A(X,{as:\"span\",\"aria-hidden\":!0,...t}):M({ourProps:t,theirProps:E,slot:x,attrs:b,slots:s,features:q.Static|q.RenderStrategy,visible:u.value,name:\"TabPanel\"})}}});export{xe as Tab,me as TabGroup,pe as TabList,ye as TabPanel,Ie as TabPanels};\n","function l(r){let e={called:!1};return(...t)=>{if(!e.called)return e.called=!0,r(...t)}}export{l as once};\n","import{disposables as p}from'../../../utils/disposables.js';import{once as f}from'../../../utils/once.js';function m(e,...t){e&&t.length>0&&e.classList.add(...t)}function d(e,...t){e&&t.length>0&&e.classList.remove(...t)}var g=(i=>(i.Finished=\"finished\",i.Cancelled=\"cancelled\",i))(g||{});function F(e,t){let i=p();if(!e)return i.dispose;let{transitionDuration:n,transitionDelay:a}=getComputedStyle(e),[l,s]=[n,a].map(o=>{let[u=0]=o.split(\",\").filter(Boolean).map(r=>r.includes(\"ms\")?parseFloat(r):parseFloat(r)*1e3).sort((r,c)=>c-r);return u});return l!==0?i.setTimeout(()=>t(\"finished\"),l+s):t(\"finished\"),i.add(()=>t(\"cancelled\")),i.dispose}function L(e,t,i,n,a,l){let s=p(),o=l!==void 0?f(l):()=>{};return d(e,...a),m(e,...t,...i),s.nextFrame(()=>{d(e,...i),m(e,...n),s.add(F(e,u=>(d(e,...n,...t),m(e,...a),o(u))))}),s.add(()=>d(e,...t,...i,...n,...a)),s.add(()=>o(\"cancelled\")),s.dispose}export{g as Reason,L as transition};\n","import{computed as w,defineComponent as K,h as k,inject as F,normalizeClass as ae,onMounted as C,onUnmounted as z,provide as B,ref as m,watch as le,watchEffect as x}from\"vue\";import{useId as ie}from'../../hooks/use-id.js';import{hasOpenClosed as se,State as u,useOpenClosed as oe,useOpenClosedProvider as ue}from'../../internal/open-closed.js';import{dom as $}from'../../utils/dom.js';import{env as fe}from'../../utils/env.js';import{match as O}from'../../utils/match.js';import{Features as de,omit as ve,render as q,RenderStrategy as T}from'../../utils/render.js';import{Reason as G,transition as J}from'./utils/transition.js';function g(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}let R=Symbol(\"TransitionContext\");var pe=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(pe||{});function me(){return F(R,null)!==null}function Te(){let e=F(R,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}function ge(){let e=F(N,null);if(e===null)throw new Error(\"A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.\");return e}let N=Symbol(\"NestingContext\");function L(e){return\"children\"in e?L(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function Q(e){let t=m([]),a=m(!1);C(()=>a.value=!0),z(()=>a.value=!1);function s(n,r=T.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&(O(r,{[T.Unmount](){t.value.splice(l,1)},[T.Hidden](){t.value[l].state=\"hidden\"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!==\"visible\"&&(r.state=\"visible\"):t.value.push({id:n,state:\"visible\"}),()=>s(n,T.Unmount)}return{children:t,register:h,unregister:s}}let W=de.RenderStrategy,he=K({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=m(0);function r(){n.value|=u.Opening,t(\"beforeEnter\")}function l(){n.value&=~u.Opening,t(\"afterEnter\")}function f(){n.value|=u.Closing,t(\"beforeLeave\")}function S(){n.value&=~u.Closing,t(\"afterLeave\")}if(!me()&&se())return()=>k(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=m(null),y=w(()=>e.unmount?T.Unmount:T.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=m(v.value?\"visible\":\"hidden\"),I={value:!0},c=ie(),b={value:!1},P=Q(()=>{!b.value&&i.value!==\"hidden\"&&(i.value=\"hidden\",H(c),S())});C(()=>{let o=D(c);z(o)}),x(()=>{if(y.value===T.Hidden&&c){if(v.value&&i.value!==\"visible\"){i.value=\"visible\";return}O(i.value,{[\"hidden\"]:()=>H(c),[\"visible\"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);C(()=>{x(()=>{if(i.value===\"visible\"){let o=$(d);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")}})});function te(o){let E=I.value&&!A.value,p=$(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?J(p,j,M,X,_,V=>{b.value=!1,V===G.Finished&&l()}):J(p,Y,Z,ee,_,V=>{b.value=!1,V===G.Finished&&(L(P)||(i.value=\"hidden\",H(c),S()))})))}return C(()=>{le([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),B(N,P),ue(w(()=>O(i.value,{[\"visible\"]:u.Open,[\"hidden\"]:u.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&fe.isServer?{class:ae([a.class,U.class,...j,...M])}:{}};return q({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value===\"visible\",name:\"TransitionChild\"})}}}),ce=he,Se=K({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=oe(),n=w(()=>e.show===null&&h!==null?(h.value&u.Open)===u.Open:e.show);x(()=>{if(![!0,!1].includes(n.value))throw new Error('A <Transition /> is used but it is missing a `:show=\"true | false\"` prop.')});let r=m(n.value?\"visible\":\"hidden\"),l=Q(()=>{r.value=\"hidden\"}),f=m(!0),S={show:n,appear:w(()=>e.appear||!f.value)};return C(()=>{x(()=>{f.value=!1,n.value?r.value=\"visible\":L(l)||(r.value=\"hidden\")})}),B(N,l),B(R,S),()=>{let d=ve(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),y={unmount:e.unmount};return q({ourProps:{...y,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[k(ce,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value===\"visible\",name:\"Transition\"})}}});export{he as TransitionChild,Se as TransitionRoot};\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, watch } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport {\n Dialog,\n DialogPanel,\n DialogTitle,\n TransitionChild,\n TransitionRoot\n} from \"@/foundation/headless\";\nimport type { DialogProps } from \"./dialog\";\n\ndefineOptions({\n name: \"MoDialog\"\n});\n\nconst props = withDefaults(defineProps<DialogProps>(), {\n modelValue: false,\n title: \"\",\n theme: \"light\",\n width: 520,\n padding: 24,\n showClose: true,\n closeOnOverlay: true,\n lockScroll: false,\n zIndex: 1000\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: boolean];\n open: [];\n close: [];\n}>();\n\nconst classes = computed(() => [\"mo-dialog\", `mo-theme--${props.theme}`]);\n\nconst style = computed<StyleValue>(() => ({\n \"--mo-dialog-width\": formatSize(props.width),\n \"--mo-dialog-padding\": formatSize(props.padding),\n \"--mo-dialog-z-index\": props.zIndex\n}));\n\nconst hasHeader = computed(() => Boolean(props.title) || props.showClose);\nconst initialScrollStyles = {\n htmlOverflow: \"\",\n htmlPaddingRight: \"\",\n bodyOverflow: \"\",\n bodyPaddingRight: \"\"\n};\nlet hasInitialScrollStyles = false;\n\nfunction formatSize(value: number | string) {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nfunction close() {\n emit(\"update:modelValue\", false);\n emit(\"close\");\n}\n\nfunction handleDialogClose() {\n if (props.closeOnOverlay) {\n close();\n }\n}\n\nfunction afterEnter() {\n emit(\"open\");\n unlockDocumentScroll();\n}\n\nfunction captureDocumentScrollStyles() {\n if (hasInitialScrollStyles || typeof document === \"undefined\") {\n return;\n }\n\n initialScrollStyles.htmlOverflow = document.documentElement.style.overflow;\n initialScrollStyles.htmlPaddingRight = document.documentElement.style.paddingRight;\n initialScrollStyles.bodyOverflow = document.body.style.overflow;\n initialScrollStyles.bodyPaddingRight = document.body.style.paddingRight;\n hasInitialScrollStyles = true;\n}\n\nfunction restoreDocumentScrollStyles() {\n if (!hasInitialScrollStyles || typeof document === \"undefined\") {\n return;\n }\n\n document.documentElement.style.overflow = initialScrollStyles.htmlOverflow;\n document.documentElement.style.paddingRight = initialScrollStyles.htmlPaddingRight;\n document.body.style.overflow = initialScrollStyles.bodyOverflow;\n document.body.style.paddingRight = initialScrollStyles.bodyPaddingRight;\n}\n\nfunction unlockDocumentScroll() {\n if (props.lockScroll || typeof window === \"undefined\") {\n return;\n }\n\n nextTick(() => {\n window.requestAnimationFrame(restoreDocumentScrollStyles);\n });\n}\n\nwatch(\n () => props.modelValue,\n (visible) => {\n if (visible) {\n captureDocumentScrollStyles();\n unlockDocumentScroll();\n return;\n }\n\n if (!props.lockScroll) {\n restoreDocumentScrollStyles();\n }\n },\n { immediate: true }\n);\n\nonBeforeUnmount(() => {\n if (!props.lockScroll) {\n restoreDocumentScrollStyles();\n }\n});\n</script>\n\n<template>\n <TransitionRoot appear :show=\"modelValue\" as=\"template\" @after-enter=\"afterEnter\">\n <Dialog as=\"div\" :class=\"classes\" :style=\"style\" @close=\"handleDialogClose\">\n <TransitionChild\n as=\"template\"\n enter=\"mo-dialog-fade-enter\"\n enter-from=\"mo-dialog-fade-enter-from\"\n enter-to=\"mo-dialog-fade-enter-to\"\n leave=\"mo-dialog-fade-leave\"\n leave-from=\"mo-dialog-fade-leave-from\"\n leave-to=\"mo-dialog-fade-leave-to\"\n >\n <div class=\"mo-dialog__overlay\" />\n </TransitionChild>\n\n <div class=\"mo-dialog__wrapper\">\n <TransitionChild\n as=\"template\"\n enter=\"mo-dialog-panel-enter\"\n enter-from=\"mo-dialog-panel-enter-from\"\n enter-to=\"mo-dialog-panel-enter-to\"\n leave=\"mo-dialog-panel-leave\"\n leave-from=\"mo-dialog-panel-leave-from\"\n leave-to=\"mo-dialog-panel-leave-to\"\n >\n <DialogPanel class=\"mo-dialog__panel\">\n <header v-if=\"hasHeader\" class=\"mo-dialog__header\">\n <DialogTitle v-if=\"title || $slots.title\" class=\"mo-dialog__title\">\n <slot name=\"title\">{{ title }}</slot>\n </DialogTitle>\n <span v-else />\n\n <button\n v-if=\"showClose\"\n class=\"mo-dialog__close\"\n type=\"button\"\n aria-label=\"Close\"\n @click=\"close\"\n >\n <slot name=\"close\">×</slot>\n </button>\n </header>\n\n <div class=\"mo-dialog__body\">\n <slot />\n </div>\n\n <footer v-if=\"$slots.footer\" class=\"mo-dialog__footer\">\n <slot name=\"footer\" />\n </footer>\n </DialogPanel>\n </TransitionChild>\n </div>\n </Dialog>\n </TransitionRoot>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Dialog from \"./src/dialog.vue\";\n\nexport const MoDialog = withInstall(Dialog);\n\nexport default MoDialog;\nexport type { DialogProps } from \"./src/dialog\";\n","import type { InjectionKey } from \"vue\";\nimport type { FormLabelPosition, FormModel, FormRequireAsteriskPosition, FormRules } from \"./form\";\nimport type { MojoTheme } from \"@/foundation\";\n\nexport interface FormItemContext {\n prop?: string;\n validate: () => Promise<boolean>;\n resetValidation: () => void;\n}\n\nexport interface FormContext {\n model?: FormModel;\n rules?: FormRules;\n theme: MojoTheme;\n labelPosition: FormLabelPosition;\n labelWidth?: string | number;\n requireAsteriskPosition: FormRequireAsteriskPosition;\n labelSuffix: string;\n showMessage: boolean;\n addField: (field: FormItemContext) => void;\n removeField: (field: FormItemContext) => void;\n}\n\nexport const formContextKey: InjectionKey<FormContext> = Symbol(\"MoFormContext\");\n","<script setup lang=\"ts\">\nimport { computed, provide, reactive } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { FormItemContext, FormContext } from \"./context\";\nimport { formContextKey } from \"./context\";\nimport type { FormProps, FormValidateResult } from \"./form\";\n\ndefineOptions({\n name: \"MoForm\"\n});\n\nconst props = withDefaults(defineProps<FormProps>(), {\n model: undefined,\n rules: undefined,\n theme: \"light\",\n labelPosition: \"right\",\n labelWidth: \"\",\n requireAsteriskPosition: \"left\",\n labelSuffix: \"\",\n showMessage: true\n});\n\nconst fields = reactive<FormItemContext[]>([]);\n\nconst classes = computed(() => [\n \"mo-form\",\n `mo-theme--${props.theme}`,\n `mo-form--label-${props.labelPosition}`\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-form-label-width\":\n typeof props.labelWidth === \"number\" ? `${props.labelWidth}px` : props.labelWidth || undefined\n}));\n\nfunction addField(field: FormItemContext) {\n if (!fields.includes(field)) {\n fields.push(field);\n }\n}\n\nfunction removeField(field: FormItemContext) {\n const index = fields.indexOf(field);\n\n if (index >= 0) {\n fields.splice(index, 1);\n }\n}\n\nasync function validate(): Promise<FormValidateResult> {\n const results = await Promise.all(fields.map((field) => field.validate()));\n const errors: Record<string, string> = {};\n\n fields.forEach((field, index) => {\n if (!results[index] && field.prop) {\n errors[field.prop] = \"\";\n }\n });\n\n return {\n valid: results.every(Boolean),\n errors\n };\n}\n\nfunction resetFields() {\n fields.forEach((field) => field.resetValidation());\n}\n\nconst context = computed<FormContext>(() => ({\n model: props.model,\n rules: props.rules,\n theme: props.theme,\n labelPosition: props.labelPosition,\n labelWidth: props.labelWidth,\n requireAsteriskPosition: props.requireAsteriskPosition,\n labelSuffix: props.labelSuffix,\n showMessage: props.showMessage,\n addField,\n removeField\n}));\n\nprovide(formContextKey, context.value);\n\ndefineExpose({\n validate,\n resetFields\n});\n</script>\n\n<template>\n <form :class=\"classes\" :style=\"styles\">\n <slot />\n </form>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Form from \"./src/form.vue\";\n\nexport const MoForm = withInstall(Form);\n\nexport default MoForm;\nexport type { FormLabelPosition, FormProps, FormRequireAsteriskPosition, FormRules } from \"./src/form\";\n","export type ValidatorValue = unknown;\n\nexport interface MojoRule {\n required?: boolean;\n message?: string;\n validator?: (value: ValidatorValue) => boolean | string | Promise<boolean | string>;\n}\n\nexport function isEmpty(value: ValidatorValue) {\n if (value === null || value === undefined) {\n return true;\n }\n\n if (typeof value === \"string\") {\n return value.trim().length === 0;\n }\n\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n\n return false;\n}\n\nexport function isRequired(value: ValidatorValue) {\n return !isEmpty(value);\n}\n\nexport function isEmail(value: ValidatorValue) {\n if (isEmpty(value)) {\n return true;\n }\n\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(String(value));\n}\n\nexport function isPhone(value: ValidatorValue) {\n if (isEmpty(value)) {\n return true;\n }\n\n return /^1[3-9]\\d{9}$/.test(String(value));\n}\n\nexport function requiredRule(message = \"该项为必填项\"): MojoRule {\n return {\n required: true,\n message\n };\n}\n\nexport function emailRule(message = \"请输入正确的邮箱地址\"): MojoRule {\n return {\n message,\n validator: (value) => isEmail(value) || message\n };\n}\n\nexport function phoneRule(message = \"请输入正确的手机号\"): MojoRule {\n return {\n message,\n validator: (value) => isPhone(value) || message\n };\n}\n","<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, onMounted, ref } from \"vue\";\nimport { formContextKey } from \"@/components/form/src/context\";\nimport type { FormItemContext } from \"@/components/form/src/context\";\nimport { isEmpty } from \"@/utils/validators\";\nimport type { MojoRule } from \"@/utils/validators\";\nimport type { FormItemProps } from \"./form-item\";\n\ndefineOptions({\n name: \"MoFormItem\"\n});\n\nconst props = withDefaults(defineProps<FormItemProps>(), {\n label: \"\",\n prop: \"\",\n required: false,\n rules: undefined,\n help: \"\"\n});\n\nconst form = inject(formContextKey);\nconst errorMessage = ref(\"\");\n\nconst value = computed(() => (props.prop ? form?.model?.[props.prop] : undefined));\n\nconst normalizedRules = computed<MojoRule[]>(() => {\n const formRule = props.prop ? form?.rules?.[props.prop] : undefined;\n const rules = [props.rules, formRule].flat().filter(Boolean) as MojoRule[];\n\n if (props.required && !rules.some((rule) => rule.required)) {\n rules.unshift({ required: true, message: \"该项为必填项\" });\n }\n\n return rules;\n});\n\nconst isRequiredField = computed(\n () => props.required || normalizedRules.value.some((rule) => rule.required)\n);\n\nconst classes = computed(() => [\n \"mo-form-item\",\n {\n \"is-error\": Boolean(errorMessage.value),\n \"is-required\": isRequiredField.value\n }\n]);\n\nasync function validate() {\n errorMessage.value = \"\";\n\n for (const rule of normalizedRules.value) {\n if (rule.required && isEmpty(value.value)) {\n errorMessage.value = rule.message || \"该项为必填项\";\n return false;\n }\n\n if (rule.validator) {\n const result = await rule.validator(value.value);\n\n if (result !== true) {\n errorMessage.value = typeof result === \"string\" ? result : rule.message || \"校验失败\";\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction resetValidation() {\n errorMessage.value = \"\";\n}\n\nconst fieldContext: FormItemContext = {\n prop: props.prop,\n validate,\n resetValidation\n};\n\nonMounted(() => {\n form?.addField(fieldContext);\n});\n\nonBeforeUnmount(() => {\n form?.removeField(fieldContext);\n});\n</script>\n\n<template>\n <div :class=\"classes\">\n <label v-if=\"label\" class=\"mo-form-item__label\">\n <span\n v-if=\"isRequiredField && form?.requireAsteriskPosition === 'left'\"\n class=\"mo-form-item__asterisk\"\n >\n *\n </span>\n <span>{{ label }}</span>\n <span v-if=\"form?.labelSuffix\" class=\"mo-form-item__suffix\">{{ form.labelSuffix }}</span>\n <span\n v-if=\"isRequiredField && form?.requireAsteriskPosition === 'right'\"\n class=\"mo-form-item__asterisk\"\n >\n *\n </span>\n </label>\n\n <div class=\"mo-form-item__content\">\n <slot :error=\"errorMessage\" :validate=\"validate\" />\n <div v-if=\"help && !errorMessage\" class=\"mo-form-item__help\">{{ help }}</div>\n <div v-if=\"form?.showMessage && errorMessage\" class=\"mo-form-item__error\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport FormItem from \"./src/form-item.vue\";\n\nexport const MoFormItem = withInstall(FormItem);\n\nexport default MoFormItem;\nexport type { FormItemProps } from \"./src/form-item\";\n","<script setup lang=\"ts\">\nimport { computed, useSlots } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { InputProps } from \"./input\";\n\ndefineOptions({\n name: \"MoInput\"\n});\n\nconst props = withDefaults(defineProps<InputProps>(), {\n modelValue: \"\",\n tags: () => [],\n type: \"text\",\n size: \"default\",\n theme: \"light\",\n placeholder: \"\",\n maxlength: undefined,\n showWordLimit: false,\n rows: 3,\n disabled: false,\n readonly: false,\n clearable: false,\n taggable: false,\n allowDuplicateTags: false,\n resize: \"vertical\"\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: string];\n \"update:tags\": [value: string[]];\n input: [value: string];\n change: [value: string];\n clear: [];\n tagAdd: [value: string];\n tagRemove: [value: string, index: number];\n}>();\n\nconst slots = useSlots();\nconst inputValue = computed(() => String(props.modelValue ?? \"\"));\nconst isTextarea = computed(() => props.type === \"textarea\");\nconst isTaggable = computed(() => props.taggable && !isTextarea.value);\nconst shouldShowWordLimit = computed(() => props.showWordLimit && props.maxlength !== undefined);\n\nconst classes = computed(() => [\n \"mo-input\",\n `mo-input--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"has-prefix\": Boolean(slots.prefix),\n \"has-suffix\": Boolean(slots.suffix),\n \"is-disabled\": props.disabled,\n \"is-taggable\": isTaggable.value,\n \"is-textarea\": isTextarea.value\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-input-rows\": props.rows\n}));\n\nfunction handleInput(event: Event) {\n const value = (event.target as HTMLInputElement | HTMLTextAreaElement).value;\n emit(\"update:modelValue\", value);\n emit(\"input\", value);\n}\n\nfunction handleChange(event: Event) {\n emit(\"change\", (event.target as HTMLInputElement | HTMLTextAreaElement).value);\n}\n\nfunction handleClear() {\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n emit(\"clear\");\n}\n\nfunction handleEnter(event: KeyboardEvent) {\n if (!isTaggable.value || props.disabled || props.readonly) {\n return;\n }\n\n const value = inputValue.value.trim();\n\n if (!value) {\n return;\n }\n\n event.preventDefault();\n\n if (!props.allowDuplicateTags && props.tags.includes(value)) {\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n return;\n }\n\n emit(\"update:tags\", [...props.tags, value]);\n emit(\"update:modelValue\", \"\");\n emit(\"input\", \"\");\n emit(\"tagAdd\", value);\n}\n\nfunction handleRemoveTag(tag: string, index: number) {\n const nextTags = props.tags.filter((_, tagIndex) => tagIndex !== index);\n emit(\"update:tags\", nextTags);\n emit(\"tagRemove\", tag, index);\n}\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <div class=\"mo-input__field\">\n <span v-if=\"$slots.prefix\" class=\"mo-input__prefix\" aria-hidden=\"true\">\n <slot name=\"prefix\" />\n </span>\n\n <textarea\n v-if=\"isTextarea\"\n class=\"mo-input__inner\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :rows=\"Number(rows)\"\n :style=\"{ resize }\"\n :value=\"inputValue\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n />\n\n <div v-else-if=\"isTaggable\" class=\"mo-input__tag-wrapper\">\n <span v-for=\"(tag, index) in tags\" :key=\"`${tag}-${index}`\" class=\"mo-input__tag\">\n <span class=\"mo-input__tag-text\">{{ tag }}</span>\n <button\n class=\"mo-input__tag-close\"\n type=\"button\"\n :aria-label=\"`Remove ${tag}`\"\n @click=\"handleRemoveTag(tag, index)\"\n >\n ×\n </button>\n </span>\n <input\n class=\"mo-input__tag-input\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :value=\"inputValue\"\n type=\"text\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n @keydown.enter=\"handleEnter\"\n />\n </div>\n\n <input\n v-else\n class=\"mo-input__inner\"\n :disabled=\"disabled\"\n :maxlength=\"maxlength\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :value=\"inputValue\"\n type=\"text\"\n @change=\"handleChange\"\n @input=\"handleInput\"\n @keydown.enter=\"handleEnter\"\n />\n\n <button\n v-if=\"clearable && inputValue && !disabled && !readonly && !isTextarea && !isTaggable\"\n class=\"mo-input__clear\"\n type=\"button\"\n aria-label=\"Clear\"\n @click=\"handleClear\"\n >\n ×\n </button>\n\n <span v-if=\"$slots.suffix\" class=\"mo-input__suffix\" aria-hidden=\"true\">\n <slot name=\"suffix\" />\n </span>\n\n <span v-if=\"shouldShowWordLimit\" class=\"mo-input__count\">\n {{ inputValue.length }} / {{ maxlength }}\n </span>\n </div>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Input from \"./src/input.vue\";\n\nexport const MoInput = withInstall(Input);\n\nexport default MoInput;\nexport type { InputProps } from \"./src/input\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport { Menu, MenuButton, MenuItem, MenuItems } from \"@/foundation/headless\";\nimport type { MenuItemOption, MenuProps, MenuValue } from \"./menu\";\n\ndefineOptions({\n name: \"MoMenu\"\n});\n\nconst props = withDefaults(defineProps<MenuProps>(), {\n items: () => [],\n theme: \"light\",\n placement: \"bottom-start\",\n width: 272\n});\n\nconst emit = defineEmits<{\n select: [value: MenuValue, item: MenuItemOption, index: number];\n}>();\n\nconst classes = computed(() => [\n \"mo-menu\",\n `mo-theme--${props.theme}`,\n `mo-menu--${props.placement}`\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-menu-width\": typeof props.width === \"number\" ? `${props.width}px` : props.width\n}));\n\nfunction handleSelect(item: MenuItemOption, index: number) {\n if (item.disabled) {\n return;\n }\n\n emit(\"select\", item.value, item, index);\n}\n</script>\n\n<template>\n <Menu as=\"div\" :class=\"classes\" :style=\"styles\">\n <MenuButton as=\"template\">\n <slot name=\"trigger\">\n <button class=\"mo-menu__trigger\" type=\"button\">打开菜单</button>\n </slot>\n </MenuButton>\n\n <MenuItems class=\"mo-menu__items\">\n <MenuItem\n v-for=\"(item, index) in items\"\n :key=\"item.value\"\n v-slot=\"{ active, disabled }\"\n as=\"template\"\n :disabled=\"item.disabled\"\n >\n <button\n class=\"mo-menu__item\"\n :class=\"{ 'is-active': active, 'is-disabled': disabled }\"\n type=\"button\"\n @click=\"handleSelect(item, index)\"\n >\n <span class=\"mo-menu__icon\" aria-hidden=\"true\">\n <slot name=\"icon\" :item=\"item\" :index=\"index\" :active=\"active\">\n <span class=\"mo-menu__icon-dot\" />\n </slot>\n </span>\n <span class=\"mo-menu__text\">\n <slot name=\"item\" :item=\"item\" :index=\"index\" :active=\"active\">\n <span class=\"mo-menu__label\">{{ item.label }}</span>\n <span v-if=\"item.description\" class=\"mo-menu__description\">\n {{ item.description }}\n </span>\n </slot>\n </span>\n </button>\n </MenuItem>\n </MenuItems>\n </Menu>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Menu from \"./src/menu.vue\";\n\nexport const MoMenu = withInstall(Menu);\n\nexport default MoMenu;\nexport type { MenuItemOption, MenuPlacement, MenuProps } from \"./src/menu\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { RowProps } from \"./row\";\n\ndefineOptions({\n name: \"MoRow\"\n});\n\nconst props = withDefaults(defineProps<RowProps>(), {\n gutter: 0,\n justify: \"start\",\n align: \"top\",\n wrap: true\n});\n\nconst gutterValue = computed(() => {\n if (typeof props.gutter === \"number\") {\n return `${props.gutter}px`;\n }\n\n return props.gutter;\n});\n\nconst classes = computed(() => [\n \"mo-row\",\n `mo-row--justify-${props.justify}`,\n `mo-row--align-${props.align}`,\n {\n \"is-nowrap\": !props.wrap\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-row-gutter\": gutterValue.value,\n \"--mo-row-gutter-half\": `calc(${gutterValue.value} / 2)`\n}));\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <slot />\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Row from \"./src/row.vue\";\n\nexport const MoRow = withInstall(Row);\n\nexport default MoRow;\nexport type { RowProps } from \"./src/row\";\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport type { ComponentPublicInstance, StyleValue } from \"vue\";\nimport type { ScrollbarProps, ScrollbarTarget } from \"./scrollbar\";\n\ndefineOptions({\n name: \"MoScrollbar\"\n});\n\nconst props = withDefaults(defineProps<ScrollbarProps>(), {\n target: undefined,\n theme: \"light\",\n size: 6,\n minThumbSize: 28,\n offset: 0,\n always: false,\n hideNative: true\n});\n\nconst emit = defineEmits<{\n scroll: [event: Event];\n}>();\n\nconst targetElement = ref<HTMLElement>();\nconst trackTop = ref(0);\nconst trackLeft = ref(0);\nconst trackHeight = ref(0);\nconst thumbHeight = ref(0);\nconst thumbTop = ref(0);\nconst visible = ref(false);\nconst isDragging = ref(false);\nconst dragStart = ref({ y: 0, scrollTop: 0 });\n\nlet resizeObserver: ResizeObserver | undefined;\nlet mutationObserver: MutationObserver | undefined;\nlet hideTimer = 0;\n\nconst sizeValue = computed(() =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size\n);\n\nconst classes = computed(() => [\n \"mo-scrollbar\",\n `mo-theme--${props.theme}`,\n {\n \"is-visible\": props.always || visible.value || isDragging.value,\n \"is-dragging\": isDragging.value\n }\n]);\n\nconst trackStyle = computed<StyleValue>(() => ({\n \"--mo-scrollbar-size\": sizeValue.value,\n height: `${trackHeight.value}px`,\n left: `${trackLeft.value}px`,\n top: `${trackTop.value}px`\n}));\n\nconst thumbStyle = computed<StyleValue>(() => ({\n height: `${thumbHeight.value}px`,\n transform: `translateY(${thumbTop.value}px)`\n}));\n\nfunction resolveTarget(target: ScrollbarTarget) {\n if (!target) {\n return undefined;\n }\n\n if (target instanceof HTMLElement) {\n return target;\n }\n\n const instance = target as ComponentPublicInstance;\n return instance.$el instanceof HTMLElement ? instance.$el : undefined;\n}\n\nfunction updateTarget() {\n const nextTarget = resolveTarget(props.target);\n\n if (targetElement.value === nextTarget) {\n updateGeometry();\n return;\n }\n\n cleanupTarget();\n targetElement.value = nextTarget;\n\n if (!targetElement.value) {\n visible.value = false;\n return;\n }\n\n targetElement.value.addEventListener(\"scroll\", handleTargetScroll, { passive: true });\n\n if (props.hideNative) {\n targetElement.value.classList.add(\"mo-scrollbar-native-hidden\");\n }\n\n resizeObserver = new ResizeObserver(updateGeometry);\n resizeObserver.observe(targetElement.value);\n\n mutationObserver = new MutationObserver(updateGeometry);\n mutationObserver.observe(targetElement.value, {\n childList: true,\n subtree: true,\n characterData: true\n });\n\n updateGeometry();\n}\n\nfunction cleanupTarget() {\n if (targetElement.value) {\n targetElement.value.removeEventListener(\"scroll\", handleTargetScroll);\n targetElement.value.classList.remove(\"mo-scrollbar-native-hidden\");\n }\n\n resizeObserver?.disconnect();\n mutationObserver?.disconnect();\n resizeObserver = undefined;\n mutationObserver = undefined;\n}\n\nfunction updateGeometry() {\n const target = targetElement.value;\n\n if (!target) {\n return;\n }\n\n const rect = target.getBoundingClientRect();\n const styles = window.getComputedStyle(target);\n const borderTop = Number.parseFloat(styles.borderTopWidth) || 0;\n const borderRight = Number.parseFloat(styles.borderRightWidth) || 0;\n const borderBottom = Number.parseFloat(styles.borderBottomWidth) || 0;\n const size = Number.parseFloat(sizeValue.value) || 6;\n const height = Math.max(rect.height - borderTop - borderBottom, 0);\n const canScroll = target.scrollHeight > target.clientHeight + 1;\n\n trackTop.value = rect.top + borderTop;\n trackLeft.value = rect.right - borderRight - size - props.offset;\n trackHeight.value = height;\n thumbHeight.value = canScroll\n ? Math.max((target.clientHeight / target.scrollHeight) * height, props.minThumbSize)\n : 0;\n visible.value = canScroll && (props.always || visible.value);\n updateThumbPosition();\n}\n\nfunction updateThumbPosition() {\n const target = targetElement.value;\n\n if (!target || !thumbHeight.value) {\n thumbTop.value = 0;\n return;\n }\n\n const maxScrollTop = target.scrollHeight - target.clientHeight;\n const maxThumbTop = trackHeight.value - thumbHeight.value;\n thumbTop.value = maxScrollTop > 0 ? (target.scrollTop / maxScrollTop) * maxThumbTop : 0;\n}\n\nfunction handleTargetScroll(event: Event) {\n updateGeometry();\n showTemporarily();\n emit(\"scroll\", event);\n}\n\nfunction showTemporarily() {\n if (props.always) {\n visible.value = true;\n return;\n }\n\n visible.value = true;\n window.clearTimeout(hideTimer);\n hideTimer = window.setTimeout(() => {\n if (!isDragging.value) {\n visible.value = false;\n }\n }, 900);\n}\n\nfunction handleTrackPointerDown(event: PointerEvent) {\n const target = targetElement.value;\n\n if (!target || !thumbHeight.value || event.target !== event.currentTarget) {\n return;\n }\n\n const nextThumbTop = event.clientY - trackTop.value - thumbHeight.value / 2;\n scrollToThumbTop(nextThumbTop);\n startDrag(event);\n}\n\nfunction startDrag(event: PointerEvent) {\n const target = targetElement.value;\n\n if (!target) {\n return;\n }\n\n isDragging.value = true;\n visible.value = true;\n dragStart.value = {\n y: event.clientY,\n scrollTop: target.scrollTop\n };\n (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId);\n}\n\nfunction moveDrag(event: PointerEvent) {\n const target = targetElement.value;\n\n if (!target || !isDragging.value) {\n return;\n }\n\n const maxScrollTop = target.scrollHeight - target.clientHeight;\n const maxThumbTop = trackHeight.value - thumbHeight.value;\n const deltaY = event.clientY - dragStart.value.y;\n const deltaScroll = maxThumbTop > 0 ? (deltaY / maxThumbTop) * maxScrollTop : 0;\n target.scrollTop = dragStart.value.scrollTop + deltaScroll;\n updateThumbPosition();\n}\n\nfunction stopDrag(event: PointerEvent) {\n if (!isDragging.value) {\n return;\n }\n\n isDragging.value = false;\n (event.currentTarget as HTMLElement).releasePointerCapture(event.pointerId);\n showTemporarily();\n}\n\nfunction scrollToThumbTop(top: number) {\n const target = targetElement.value;\n\n if (!target) {\n return;\n }\n\n const maxThumbTop = trackHeight.value - thumbHeight.value;\n const maxScrollTop = target.scrollHeight - target.clientHeight;\n const nextTop = Math.min(Math.max(top, 0), maxThumbTop);\n target.scrollTop = maxThumbTop > 0 ? (nextTop / maxThumbTop) * maxScrollTop : 0;\n}\n\nwatch(\n () => [props.target, props.hideNative],\n () => nextTick(updateTarget),\n { immediate: true }\n);\n\nwatch(\n () => [props.size, props.minThumbSize, props.offset, props.always],\n () => nextTick(updateGeometry)\n);\n\nonMounted(() => {\n window.addEventListener(\"resize\", updateGeometry);\n window.addEventListener(\"scroll\", updateGeometry, true);\n nextTick(updateTarget);\n});\n\nonBeforeUnmount(() => {\n window.clearTimeout(hideTimer);\n window.removeEventListener(\"resize\", updateGeometry);\n window.removeEventListener(\"scroll\", updateGeometry, true);\n cleanupTarget();\n});\n</script>\n\n<template>\n <div\n v-show=\"thumbHeight > 0\"\n :class=\"classes\"\n :style=\"trackStyle\"\n aria-hidden=\"true\"\n @pointerdown.prevent=\"handleTrackPointerDown\"\n @pointermove.prevent=\"moveDrag\"\n @pointerup.prevent=\"stopDrag\"\n @pointercancel.prevent=\"stopDrag\"\n >\n <div\n class=\"mo-scrollbar__thumb\"\n :style=\"thumbStyle\"\n @pointerdown.stop.prevent=\"startDrag\"\n @pointermove.prevent=\"moveDrag\"\n @pointerup.prevent=\"stopDrag\"\n @pointercancel.prevent=\"stopDrag\"\n />\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Scrollbar from \"./src/scrollbar.vue\";\n\nexport const MoScrollbar = withInstall(Scrollbar);\n\nexport default MoScrollbar;\nexport type { ScrollbarProps, ScrollbarTarget } from \"./src/scrollbar\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { Listbox, ListboxButton, ListboxOption, ListboxOptions } from \"@/foundation/headless\";\nimport type { SelectOption, SelectProps, SelectValue } from \"./select\";\n\ndefineOptions({\n name: \"MoSelect\"\n});\n\nconst props = withDefaults(defineProps<SelectProps>(), {\n modelValue: null,\n options: () => [],\n theme: \"light\",\n size: \"default\",\n placeholder: \"请选择\",\n disabled: false,\n horizontal: false,\n name: undefined,\n by: undefined\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: SelectValue];\n change: [value: SelectValue, option?: SelectOption];\n}>();\n\nconst selectedOption = computed(() =>\n props.options.find((option) => isSameValue(option.value, props.modelValue))\n);\n\nconst displayLabel = computed(() => selectedOption.value?.label || props.placeholder);\n\nconst classes = computed(() => [\n \"mo-select\",\n `mo-select--${props.size}`,\n `mo-theme--${props.theme}`,\n {\n \"is-disabled\": props.disabled,\n \"is-placeholder\": !selectedOption.value\n }\n]);\n\nfunction isSameValue(a: SelectValue, b: SelectValue) {\n if (typeof props.by === \"function\") {\n return props.by(a, b);\n }\n\n if (typeof props.by === \"string\" && isRecord(a) && isRecord(b)) {\n return a[props.by] === b[props.by];\n }\n\n return a === b;\n}\n\nfunction isRecord(value: SelectValue): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction handleChange(value: SelectValue) {\n const option = props.options.find((item) => isSameValue(item.value, value));\n emit(\"update:modelValue\", value);\n emit(\"change\", value, option);\n}\n</script>\n\n<template>\n <Listbox\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n :horizontal=\"horizontal\"\n :name=\"name\"\n :by=\"by\"\n @update:model-value=\"handleChange\"\n >\n <div :class=\"classes\">\n <ListboxButton class=\"mo-select__button\">\n <span class=\"mo-select__label\">\n <slot name=\"label\" :option=\"selectedOption\" :label=\"displayLabel\">\n {{ displayLabel }}\n </slot>\n </span>\n <span class=\"mo-select__arrow\" aria-hidden=\"true\" />\n </ListboxButton>\n\n <ListboxOptions class=\"mo-select__options\">\n <ListboxOption\n v-for=\"option in options\"\n :key=\"`${option.label}-${String(option.value)}`\"\n v-slot=\"{ active, selected, disabled: optionDisabled }\"\n as=\"li\"\n class=\"mo-select__option\"\n :value=\"option.value\"\n :disabled=\"option.disabled\"\n >\n <span class=\"mo-select__check\" aria-hidden=\"true\" />\n <slot\n name=\"option\"\n :option=\"option\"\n :active=\"active\"\n :selected=\"selected\"\n :disabled=\"optionDisabled\"\n >\n {{ option.label }}\n </slot>\n </ListboxOption>\n </ListboxOptions>\n </div>\n </Listbox>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Select from \"./src/select.vue\";\n\nexport const MoSelect = withInstall(Select);\n\nexport default MoSelect;\nexport type { SelectOption, SelectProps, SelectValue } from \"./src/select\";\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport { Tab, TabGroup, TabList, TabPanel, TabPanels } from \"@/foundation/headless\";\nimport type { TabsItem, TabsProps, TabsValue } from \"./tabs\";\n\ndefineOptions({\n name: \"MoTabs\"\n});\n\nconst props = withDefaults(defineProps<TabsProps>(), {\n modelValue: undefined,\n size: \"default\",\n theme: \"light\"\n});\n\nconst emit = defineEmits<{\n \"update:modelValue\": [value: TabsValue];\n change: [value: TabsValue, item: TabsItem, index: number];\n}>();\n\nconst selectedIndex = computed(() => {\n const index = props.items.findIndex((item) => item.value === props.modelValue);\n return index >= 0 ? index : 0;\n});\n\nconst classes = computed(() => [\"mo-tabs\", `mo-tabs--${props.size}`, `mo-theme--${props.theme}`]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-tabs-count\": Math.max(props.items.length, 1),\n \"--mo-tabs-active-index\": selectedIndex.value\n}));\n\nfunction handleChange(index: number) {\n const item = props.items[index];\n\n if (!item || item.disabled) {\n return;\n }\n\n emit(\"update:modelValue\", item.value);\n emit(\"change\", item.value, item, index);\n}\n</script>\n\n<template>\n <TabGroup :selected-index=\"selectedIndex\" @change=\"handleChange\">\n <div :class=\"classes\" :style=\"styles\">\n <TabList class=\"mo-tabs__list\">\n <span class=\"mo-tabs__indicator\" aria-hidden=\"true\" />\n <Tab\n v-for=\"(item, index) in items\"\n :key=\"item.value\"\n v-slot=\"{ selected }\"\n as=\"template\"\n :disabled=\"item.disabled\"\n >\n <button\n class=\"mo-tabs__tab\"\n :class=\"{ 'is-active': selected, 'is-disabled': item.disabled }\"\n type=\"button\"\n >\n <slot name=\"label\" :item=\"item\" :index=\"index\" :selected=\"selected\">\n {{ item.label }}\n </slot>\n </button>\n </Tab>\n </TabList>\n\n <TabPanels v-if=\"$slots.panel\" class=\"mo-tabs__panels\">\n <TabPanel v-for=\"(item, index) in items\" :key=\"item.value\" class=\"mo-tabs__panel\">\n <slot name=\"panel\" :item=\"item\" :index=\"index\" />\n </TabPanel>\n </TabPanels>\n </div>\n </TabGroup>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Tabs from \"./src/tabs.vue\";\n\nexport const MoTabs = withInstall(Tabs);\n\nexport default MoTabs;\nexport type { TabsItem, TabsProps } from \"./src/tabs\";\n","import type { UploadRequestOptions } from \"./upload\";\n\ntype ResolvedUploadData = Exclude<Awaited<ReturnType<Extract<UploadRequestOptions[\"data\"], (...args: never[]) => unknown>>>, undefined> | Exclude<UploadRequestOptions[\"data\"], (...args: never[]) => unknown>;\n\nfunction appendData(formData: FormData, data: ResolvedUploadData | undefined) {\n if (!data) {\n return;\n }\n\n if (data instanceof FormData) {\n data.forEach((value, key) => {\n formData.append(key, value);\n });\n return;\n }\n\n Object.entries(data).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n\n formData.append(key, value instanceof Blob ? value : String(value));\n });\n}\n\nasync function resolveData(data: UploadRequestOptions[\"data\"]) {\n return typeof data === \"function\" ? await data() : data;\n}\n\nasync function resolveHeaders(headers: UploadRequestOptions[\"headers\"]) {\n return typeof headers === \"function\" ? await headers() : headers;\n}\n\nexport async function uploadFile(options: UploadRequestOptions) {\n const { action, file, name = \"file\", onProgress, withCredentials = false } = options;\n\n if (!action) {\n throw new Error(\"MoUpload: action is required when request is not provided.\");\n }\n\n const method = (options.method || \"POST\").toUpperCase();\n const formData = new FormData();\n const data = await resolveData(options.data);\n const headers = await resolveHeaders(options.headers);\n\n appendData(formData, data);\n formData.append(name, file);\n\n return new Promise<unknown>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.open(method, action, true);\n xhr.withCredentials = withCredentials;\n\n Object.entries(headers || {}).forEach(([key, value]) => {\n xhr.setRequestHeader(key, value);\n });\n\n xhr.upload.onprogress = (event) => {\n if (event.lengthComputable) {\n onProgress((event.loaded / event.total) * 100);\n }\n };\n\n xhr.onerror = () => reject(new Error(\"MoUpload: upload request failed.\"));\n xhr.onload = () => {\n const responseText = xhr.responseText;\n let response: unknown = responseText;\n\n try {\n response = responseText ? JSON.parse(responseText) : null;\n } catch {\n response = responseText;\n }\n\n if (xhr.status >= 200 && xhr.status < 300) {\n resolve(response);\n return;\n }\n\n reject(response instanceof Error ? response : new Error(`MoUpload: upload failed with ${xhr.status}.`));\n };\n\n xhr.send(formData);\n });\n}\n","<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref } from \"vue\";\nimport type { StyleValue } from \"vue\";\nimport type { UploadFileItem, UploadProps } from \"./upload\";\nimport { uploadFile } from \"./sdk\";\n\ndefineOptions({\n name: \"MoUpload\"\n});\n\nconst props = withDefaults(defineProps<UploadProps>(), {\n theme: \"light\",\n accept: \"\",\n multiple: false,\n limit: 1,\n maxSize: 10,\n hint: \"PNG/JPG/WebP,最大10MB\",\n autoUpload: false,\n action: \"\",\n method: \"POST\",\n name: \"file\",\n data: undefined,\n headers: undefined,\n withCredentials: false,\n request: undefined,\n crop: false,\n manualCrop: true,\n cropShape: \"square\",\n cropSize: 64,\n cropWidth: undefined,\n cropHeight: undefined\n});\n\nconst emit = defineEmits<{\n change: [files: UploadFileItem[]];\n success: [file: UploadFileItem, response: unknown];\n error: [file: UploadFileItem];\n remove: [file: UploadFileItem];\n}>();\n\nconst inputRef = ref<HTMLInputElement>();\nconst cropImageRef = ref<HTMLImageElement>();\nconst files = ref<UploadFileItem[]>([]);\nconst isDragging = ref(false);\nconst cropFile = ref<File>();\nconst cropUrl = ref(\"\");\nconst cropScale = ref(1);\nconst cropX = ref(0);\nconst cropY = ref(0);\nconst cropNaturalSize = ref({ width: 0, height: 0 });\nconst isCropDragging = ref(false);\nconst cropDragStart = ref({ x: 0, y: 0, cropX: 0, cropY: 0 });\nconst cropStageSize = {\n width: 320,\n height: 240\n};\n\nconst classes = computed(() => [\n \"mo-upload\",\n `mo-theme--${props.theme}`,\n {\n \"is-dragging\": isDragging.value\n }\n]);\n\nconst styles = computed<StyleValue>(() => ({\n \"--mo-upload-crop-size\":\n typeof props.cropSize === \"number\" ? `${props.cropSize}px` : props.cropSize,\n \"--mo-upload-crop-preview-width\": `${Math.min(cropOutput.value.width, 140)}px`,\n \"--mo-upload-crop-preview-height\": `${Math.min(\n cropOutput.value.height,\n (140 / cropOutput.value.width) * cropOutput.value.height\n )}px`,\n \"--mo-upload-crop-width\": `${cropFrame.value.width}px`,\n \"--mo-upload-crop-height\": `${cropFrame.value.height}px`\n}));\n\nconst cropOutput = computed(() => {\n if (props.cropShape === \"rect\") {\n return {\n width: parseSizeValue(props.cropWidth, 320),\n height: parseSizeValue(props.cropHeight, 180)\n };\n }\n\n const size = parseSizeValue(props.cropSize, 96);\n return {\n width: size,\n height: size\n };\n});\n\nconst cropFrame = computed(() => {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n const maxWidth = Math.min(cropStageSize.width, naturalWidth * baseScale);\n const maxHeight = Math.min(cropStageSize.height, naturalHeight * baseScale);\n const ratio = cropOutput.value.width / cropOutput.value.height;\n\n if (ratio >= maxWidth / maxHeight) {\n return {\n width: maxWidth,\n height: maxWidth / ratio\n };\n }\n\n return {\n width: maxHeight * ratio,\n height: maxHeight\n };\n});\n\nconst cropImageStyle = computed<StyleValue>(() => {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n\n return {\n width: `${naturalWidth * baseScale}px`,\n height: `${naturalHeight * baseScale}px`,\n transform: `translate(calc(-50% + ${cropX.value}px), calc(-50% + ${cropY.value}px)) scale(${cropScale.value})`\n };\n});\n\nfunction openFileDialog() {\n inputRef.value?.click();\n}\n\nfunction handleInputChange(event: Event) {\n const target = event.target as HTMLInputElement;\n addFiles(target.files);\n target.value = \"\";\n}\n\nfunction handleDrop(event: DragEvent) {\n isDragging.value = false;\n addFiles(event.dataTransfer?.files);\n}\n\nfunction addFiles(fileList?: FileList | null) {\n if (!fileList) {\n return;\n }\n\n const rawFiles = Array.from(fileList)\n .filter((file) => file.size <= props.maxSize * 1024 * 1024)\n .slice(0, Math.max(props.limit - files.value.length, 0));\n\n if (props.crop && props.manualCrop) {\n const imageFile = rawFiles.find((file) => file.type.startsWith(\"image/\"));\n\n if (imageFile) {\n openCropper(imageFile);\n return;\n }\n }\n\n const nextFiles = rawFiles.map(createUploadFile);\n\n files.value = props.multiple ? [...files.value, ...nextFiles] : nextFiles.slice(0, 1);\n emit(\"change\", files.value);\n\n if (props.autoUpload) {\n nextFiles.forEach((file) => upload(file));\n }\n}\n\nfunction appendUploadFile(file: File) {\n const item = createUploadFile(file);\n files.value = props.multiple ? [...files.value, item] : [item];\n emit(\"change\", files.value);\n\n if (props.autoUpload) {\n upload(item);\n }\n}\n\nfunction openCropper(file: File) {\n closeCropper();\n cropFile.value = file;\n cropUrl.value = URL.createObjectURL(file);\n cropScale.value = 1;\n cropX.value = 0;\n cropY.value = 0;\n cropNaturalSize.value = { width: 0, height: 0 };\n}\n\nfunction closeCropper() {\n if (cropUrl.value) {\n URL.revokeObjectURL(cropUrl.value);\n }\n\n cropFile.value = undefined;\n cropUrl.value = \"\";\n cropNaturalSize.value = { width: 0, height: 0 };\n isCropDragging.value = false;\n}\n\nfunction handleCropImageLoad(event: Event) {\n const image = event.target as HTMLImageElement;\n cropNaturalSize.value = {\n width: image.naturalWidth,\n height: image.naturalHeight\n };\n resetCropPosition();\n}\n\nfunction startCropDrag(event: PointerEvent) {\n isCropDragging.value = true;\n cropDragStart.value = {\n x: event.clientX,\n y: event.clientY,\n cropX: cropX.value,\n cropY: cropY.value\n };\n (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId);\n}\n\nfunction moveCrop(event: PointerEvent) {\n if (!isCropDragging.value) {\n return;\n }\n\n setCropPosition(\n cropDragStart.value.cropX + event.clientX - cropDragStart.value.x,\n cropDragStart.value.cropY + event.clientY - cropDragStart.value.y\n );\n}\n\nfunction stopCropDrag(event: PointerEvent) {\n isCropDragging.value = false;\n (event.currentTarget as HTMLElement).releasePointerCapture(event.pointerId);\n}\n\nfunction handleCropWheel(event: WheelEvent) {\n const nextScale = clampNumber(cropScale.value + (event.deltaY > 0 ? -0.08 : 0.08), 1, 4);\n\n cropScale.value = nextScale;\n setCropPosition(cropX.value, cropY.value);\n}\n\nasync function confirmCrop() {\n if (!cropFile.value || !cropImageRef.value) {\n return;\n }\n\n const croppedFile = await createCroppedFile(cropFile.value, cropImageRef.value);\n closeCropper();\n appendUploadFile(croppedFile);\n}\n\nfunction createCroppedFile(file: File, image: HTMLImageElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n\n canvas.width = cropOutput.value.width;\n canvas.height = cropOutput.value.height;\n\n if (!context) {\n return Promise.resolve(file);\n }\n\n const frameWidth = cropFrame.value.width;\n const frameHeight = cropFrame.value.height;\n const frameX = (cropStageSize.width - frameWidth) / 2;\n const frameY = (cropStageSize.height - frameHeight) / 2;\n const baseScale = getContainScale(image.naturalWidth, image.naturalHeight);\n const renderWidth = image.naturalWidth * baseScale * cropScale.value;\n const renderHeight = image.naturalHeight * baseScale * cropScale.value;\n const renderStageX = (cropStageSize.width - renderWidth) / 2 + cropX.value;\n const renderStageY = (cropStageSize.height - renderHeight) / 2 + cropY.value;\n const renderX = renderStageX - frameX;\n const renderY = renderStageY - frameY;\n const scaleXToOutput = cropOutput.value.width / frameWidth;\n const scaleYToOutput = cropOutput.value.height / frameHeight;\n\n if (props.cropShape === \"circle\") {\n context.beginPath();\n context.arc(\n cropOutput.value.width / 2,\n cropOutput.value.height / 2,\n Math.min(cropOutput.value.width, cropOutput.value.height) / 2,\n 0,\n Math.PI * 2\n );\n context.clip();\n }\n\n context.drawImage(\n image,\n renderX * scaleXToOutput,\n renderY * scaleYToOutput,\n renderWidth * scaleXToOutput,\n renderHeight * scaleYToOutput\n );\n\n return new Promise<File>((resolve) => {\n canvas.toBlob((blob) => {\n if (!blob) {\n resolve(file);\n return;\n }\n\n const name = file.name.replace(/\\.[^.]+$/, \".png\");\n resolve(new File([blob], name, { type: \"image/png\", lastModified: Date.now() }));\n }, \"image/png\");\n });\n}\n\nfunction parseSizeValue(value: number | string | undefined, fallback: number) {\n if (typeof value === \"number\") {\n return value;\n }\n\n if (typeof value === \"string\") {\n const parsed = Number.parseInt(value, 10);\n return Number.isFinite(parsed) ? parsed : fallback;\n }\n\n return fallback;\n}\n\nfunction getContainScale(width: number, height: number) {\n return Math.min(cropStageSize.width / width, cropStageSize.height / height);\n}\n\nfunction resetCropPosition() {\n cropScale.value = 1;\n setCropPosition(0, 0);\n}\n\nfunction setCropPosition(x: number, y: number) {\n const bounds = getCropPositionBounds();\n\n cropX.value = clampNumber(x, bounds.minX, bounds.maxX);\n cropY.value = clampNumber(y, bounds.minY, bounds.maxY);\n}\n\nfunction getCropPositionBounds() {\n const naturalWidth = cropNaturalSize.value.width || cropOutput.value.width;\n const naturalHeight = cropNaturalSize.value.height || cropOutput.value.height;\n const baseScale = getContainScale(naturalWidth, naturalHeight);\n const renderWidth = naturalWidth * baseScale * cropScale.value;\n const renderHeight = naturalHeight * baseScale * cropScale.value;\n const imageX = (cropStageSize.width - renderWidth) / 2;\n const imageY = (cropStageSize.height - renderHeight) / 2;\n const frameX = (cropStageSize.width - cropFrame.value.width) / 2;\n const frameY = (cropStageSize.height - cropFrame.value.height) / 2;\n\n return {\n minX: frameX + cropFrame.value.width - renderWidth - imageX,\n maxX: frameX - imageX,\n minY: frameY + cropFrame.value.height - renderHeight - imageY,\n maxY: frameY - imageY\n };\n}\n\nfunction clampNumber(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction createUploadFile(file: File): UploadFileItem {\n return {\n uid: `${Date.now()}-${Math.random().toString(16).slice(2)}`,\n name: file.name,\n size: file.size,\n type: file.type,\n file,\n status: \"ready\",\n percent: 0,\n url: URL.createObjectURL(file)\n };\n}\n\nasync function upload(item: UploadFileItem) {\n item.status = \"uploading\";\n item.percent = 0;\n item.error = \"\";\n item.response = undefined;\n\n try {\n const request = props.request || uploadFile;\n const response = await request({\n file: item.file,\n action: props.action,\n method: props.method,\n name: props.name,\n data: props.data,\n headers: props.headers,\n withCredentials: props.withCredentials,\n onProgress(percent) {\n item.percent = clampPercent(percent);\n }\n });\n\n item.response = response;\n item.percent = 100;\n item.status = \"success\";\n emit(\"success\", item, response);\n } catch (error) {\n item.status = \"error\";\n item.error = error instanceof Error ? error.message : \"上传失败\";\n emit(\"error\", item);\n }\n\n emit(\"change\", files.value);\n}\n\nfunction retry(item: UploadFileItem) {\n return upload(item);\n}\n\nfunction remove(item: UploadFileItem) {\n if (item.url) {\n URL.revokeObjectURL(item.url);\n }\n\n files.value = files.value.filter((file) => file.uid !== item.uid);\n emit(\"remove\", item);\n emit(\"change\", files.value);\n}\n\nfunction submit() {\n return Promise.all(\n files.value\n .filter((file) => file.status === \"ready\" || file.status === \"error\")\n .map((file) => upload(file))\n );\n}\n\nfunction clearFiles() {\n files.value.forEach((file) => {\n if (file.url) {\n URL.revokeObjectURL(file.url);\n }\n });\n files.value = [];\n emit(\"change\", files.value);\n}\n\nfunction isImage(file: UploadFileItem) {\n return file.type.startsWith(\"image/\");\n}\n\nfunction isVideo(file: UploadFileItem) {\n return file.type.startsWith(\"video/\");\n}\n\nfunction formatSize(size: number) {\n if (size < 1024 * 1024) {\n return `${(size / 1024).toFixed(1)}KB`;\n }\n\n return `${(size / 1024 / 1024).toFixed(1)}MB`;\n}\n\nfunction clampPercent(percent: number) {\n return Math.min(Math.max(Math.round(percent), 0), 100);\n}\n\nonBeforeUnmount(() => {\n files.value.forEach((file) => {\n if (file.url) {\n URL.revokeObjectURL(file.url);\n }\n });\n closeCropper();\n});\n\ndefineExpose({\n files,\n upload,\n submit,\n clearFiles\n});\n</script>\n\n<template>\n <div :class=\"classes\" :style=\"styles\">\n <div\n class=\"mo-upload__dropzone\"\n :class=\"{ 'has-custom-dropzone': $slots.dropzone }\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"openFileDialog\"\n @dragenter.prevent=\"isDragging = true\"\n @dragover.prevent=\"isDragging = true\"\n @dragleave.prevent=\"isDragging = false\"\n @drop.prevent=\"handleDrop\"\n @keydown.enter.prevent=\"openFileDialog\"\n @keydown.space.prevent=\"openFileDialog\"\n >\n <input\n ref=\"inputRef\"\n class=\"mo-upload__input\"\n type=\"file\"\n :accept=\"accept\"\n :multiple=\"multiple\"\n @change=\"handleInputChange\"\n />\n <slot v-if=\"$slots.dropzone\" name=\"dropzone\" />\n <div class=\"mo-upload__icon\" aria-hidden=\"true\">↑</div>\n <div class=\"mo-upload__title\">拖拽文件到这里</div>\n <div class=\"mo-upload__action\">或点击上传</div>\n <div class=\"mo-upload__hint\">{{ hint }}</div>\n </div>\n\n <div v-if=\"files.length\" class=\"mo-upload__list\">\n <article v-for=\"file in files\" :key=\"file.uid\" class=\"mo-upload__file\">\n <div\n class=\"mo-upload__preview\"\n :class=\"{\n 'is-crop': crop,\n 'is-circle': crop && cropShape === 'circle',\n 'is-square': crop && cropShape === 'square',\n 'is-rect': crop && cropShape === 'rect'\n }\"\n >\n <img v-if=\"isImage(file)\" :src=\"file.url\" :alt=\"file.name\" />\n <video v-else-if=\"isVideo(file)\" :src=\"file.url\" muted preload=\"metadata\" />\n <span v-else class=\"mo-upload__file-icon\">FILE</span>\n </div>\n\n <div class=\"mo-upload__meta\">\n <div class=\"mo-upload__name\">{{ file.name }}</div>\n <div class=\"mo-upload__size\">{{ formatSize(file.size) }}</div>\n <div class=\"mo-upload__progress\">\n <span class=\"mo-upload__progress-bar\" :style=\"{ width: `${file.percent}%` }\" />\n </div>\n <div class=\"mo-upload__status\">\n <span>{{ file.status === \"error\" ? file.error || \"上传失败\" : `${file.percent}%` }}</span>\n <button v-if=\"file.status === 'error'\" type=\"button\" @click=\"retry(file)\">\n 重新上传\n </button>\n </div>\n </div>\n\n <button class=\"mo-upload__remove\" type=\"button\" aria-label=\"删除\" @click=\"remove(file)\">\n ×\n </button>\n </article>\n </div>\n\n <div v-if=\"cropUrl\" class=\"mo-upload-cropper\" role=\"dialog\" aria-modal=\"true\">\n <div class=\"mo-upload-cropper__panel\">\n <div class=\"mo-upload-cropper__header\">\n <strong>裁切图片</strong>\n <button type=\"button\" @click=\"closeCropper\">×</button>\n </div>\n <div\n class=\"mo-upload-cropper__stage\"\n @pointerdown.prevent=\"startCropDrag\"\n @pointermove.prevent=\"moveCrop\"\n @pointerup.prevent=\"stopCropDrag\"\n @pointercancel.prevent=\"stopCropDrag\"\n @wheel.prevent=\"handleCropWheel\"\n >\n <img\n ref=\"cropImageRef\"\n class=\"mo-upload-cropper__image\"\n :src=\"cropUrl\"\n alt=\"\"\n :style=\"cropImageStyle\"\n draggable=\"false\"\n @load=\"handleCropImageLoad\"\n />\n <div\n class=\"mo-upload-cropper__frame\"\n :class=\"{ 'is-circle': cropShape === 'circle' }\"\n />\n </div>\n <label class=\"mo-upload-cropper__slider\">\n <span>缩放</span>\n <input v-model.number=\"cropScale\" type=\"range\" min=\"1\" max=\"3\" step=\"0.01\" />\n </label>\n <div class=\"mo-upload-cropper__actions\">\n <button type=\"button\" @click=\"closeCropper\">取消</button>\n <button type=\"button\" @click=\"confirmCrop\">确认裁切</button>\n </div>\n </div>\n </div>\n </div>\n</template>\n","import { withInstall } from \"@/utils/install\";\nimport Upload from \"./src/upload.vue\";\n\nexport const MoUpload = withInstall(Upload);\n\nexport default MoUpload;\nexport { uploadFile } from \"./src/sdk\";\nexport type {\n UploadCropShape,\n UploadFileItem,\n UploadFileStatus,\n UploadProps,\n UploadRequestData,\n UploadRequestHeaders,\n UploadRequestOptions,\n UploadRequest\n} from \"./src/upload\";\n","import type { Plugin } from \"vue\";\nimport { MoButton } from \"./button\";\nimport { MoCard } from \"./card\";\nimport { MoCol } from \"./col\";\nimport { MoDialog } from \"./dialog\";\nimport { MoForm } from \"./form\";\nimport { MoFormItem } from \"./form-item\";\nimport { MoInput } from \"./input\";\nimport { MoMenu } from \"./menu\";\nimport { MoRow } from \"./row\";\nimport { MoScrollbar } from \"./scrollbar\";\nimport { MoSelect } from \"./select\";\nimport { MoTabs } from \"./tabs\";\nimport { MoUpload } from \"./upload\";\n\nexport {\n MoButton,\n MoCard,\n MoCol,\n MoDialog,\n MoForm,\n MoFormItem,\n MoInput,\n MoMenu,\n MoRow,\n MoScrollbar,\n MoSelect,\n MoTabs,\n MoUpload\n};\n\nexport const components: Plugin[] = [\n MoButton,\n MoCard,\n MoCol,\n MoDialog,\n MoForm,\n MoFormItem,\n MoInput,\n MoMenu,\n MoRow,\n MoScrollbar,\n MoSelect,\n MoTabs,\n MoUpload\n];\n\nexport * from \"./upload\";\nexport * from \"./scrollbar\";\nexport * from \"./dialog\";\n","import type { App, Plugin } from \"vue\";\nimport { components } from \"./components\";\nimport \"./theme/index.scss\";\n\nexport * from \"./components\";\nexport * from \"./utils/validators\";\n\nconst MojoUi: Plugin = {\n install(app: App) {\n components.forEach((component) => {\n app.use(component);\n });\n }\n};\n\nexport default MojoUi;\n"],"names":["withInstall","component","app","props","__props","emit","__emit","slots","useSlots","isIconOnly","computed","classes","styles","handleClick","event","_createElementBlock","_openBlock","_hoisted_2","$slots","_hoisted_3","_renderSlot","_ctx","_hoisted_4","_hoisted_5","_hoisted_6","MoButton","Button","toggleSelected","nextValue","_createElementVNode","MoCard","Card","normalizedSpan","span","MoCol","Col","d","u","e","r","i","s","f","p","t","o","a","n","s$4","c","N","T","F","E","h","w","M","l","_","b","S","y","H","I","O","v","P","m","x","L","C","A","j","R","k","B","ue","$","z","J","Q","D","G","W","g","K","q","U","Te","Y","Ye","De","he","X","Ce","Z","me","ee","te","le","ae","oe","ye","re","Pe","de","ne","ve","se","ie","ce","Se","ge","fe","be","V","Ge","Ve","pe","Ie","je","Ae","Fe","Me","xe","Ee","style","formatSize","hasHeader","initialScrollStyles","hasInitialScrollStyles","value","close","handleDialogClose","afterEnter","unlockDocumentScroll","captureDocumentScrollStyles","restoreDocumentScrollStyles","nextTick","watch","visible","onBeforeUnmount","_createBlock","_unref","TransitionRoot","_createVNode","Dialog","TransitionChild","_cache","_hoisted_1","DialogPanel","DialogTitle","MoDialog","formContextKey","fields","reactive","addField","field","removeField","index","validate","results","errors","resetFields","context","provide","__expose","MoForm","Form","isEmpty","isRequired","isEmail","isPhone","requiredRule","message","emailRule","phoneRule","form","inject","errorMessage","ref","_a","normalizedRules","formRule","rules","rule","isRequiredField","result","resetValidation","fieldContext","onMounted","_toDisplayString","_hoisted_7","MoFormItem","FormItem","inputValue","isTextarea","isTaggable","shouldShowWordLimit","handleInput","handleChange","handleClear","handleEnter","handleRemoveTag","tag","nextTags","tagIndex","_Fragment","_renderList","$event","_hoisted_9","_hoisted_10","MoInput","Input","handleSelect","item","Menu","MenuButton","MenuItems","MenuItem","active","disabled","_normalizeClass","MoMenu","gutterValue","MoRow","Row","targetElement","trackTop","trackLeft","trackHeight","thumbHeight","thumbTop","isDragging","dragStart","resizeObserver","mutationObserver","hideTimer","sizeValue","trackStyle","thumbStyle","resolveTarget","target","instance","updateTarget","nextTarget","updateGeometry","cleanupTarget","handleTargetScroll","rect","borderTop","borderRight","borderBottom","size","height","canScroll","updateThumbPosition","maxScrollTop","maxThumbTop","showTemporarily","handleTrackPointerDown","nextThumbTop","scrollToThumbTop","startDrag","moveDrag","deltaY","deltaScroll","stopDrag","top","nextTop","MoScrollbar","Scrollbar","selectedOption","option","isSameValue","displayLabel","isRecord","Listbox","ListboxButton","ListboxOptions","ListboxOption","_withCtx","selected","optionDisabled","_createTextVNode","MoSelect","Select","selectedIndex","TabGroup","TabList","Tab","TabPanels","TabPanel","MoTabs","Tabs","appendData","formData","data","key","resolveData","resolveHeaders","headers","uploadFile","options","action","file","name","onProgress","withCredentials","method","resolve","reject","xhr","responseText","response","inputRef","cropImageRef","files","cropFile","cropUrl","cropScale","cropX","cropY","cropNaturalSize","isCropDragging","cropDragStart","cropStageSize","cropOutput","cropFrame","parseSizeValue","naturalWidth","naturalHeight","baseScale","getContainScale","maxWidth","maxHeight","ratio","cropImageStyle","openFileDialog","handleInputChange","addFiles","handleDrop","fileList","rawFiles","imageFile","openCropper","nextFiles","createUploadFile","upload","appendUploadFile","closeCropper","handleCropImageLoad","image","resetCropPosition","startCropDrag","moveCrop","setCropPosition","stopCropDrag","handleCropWheel","nextScale","clampNumber","confirmCrop","croppedFile","createCroppedFile","canvas","frameWidth","frameHeight","frameX","frameY","renderWidth","renderHeight","renderStageX","renderStageY","renderX","renderY","scaleXToOutput","scaleYToOutput","blob","fallback","parsed","width","bounds","getCropPositionBounds","imageX","imageY","min","max","percent","clampPercent","error","retry","remove","submit","clearFiles","isImage","isVideo","_hoisted_8","_hoisted_11","_normalizeStyle","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_18","MoUpload","Upload","components","MojoUi"],"mappings":"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","x_google_ignoreList":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]}
|