vuetify 3.0.0 → 3.0.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/dist/json/attributes.json +488 -524
- package/dist/json/importMap.json +64 -60
- package/dist/json/tags.json +0 -9
- package/dist/json/web-types.json +790 -898
- package/dist/vuetify.css +141 -142
- package/dist/vuetify.d.ts +4398 -3687
- package/dist/vuetify.esm.js +2400 -2345
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +2399 -2344
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +798 -788
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +12 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +392 -158
- package/lib/components/VAvatar/VAvatar.mjs +1 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +2 -0
- package/lib/components/VBtn/index.d.ts +1 -0
- package/lib/components/VCard/VCard.css +0 -3
- package/lib/components/VCard/VCard.mjs +2 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCard.sass +0 -3
- package/lib/components/VCard/VCardItem.mjs +1 -2
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +1 -0
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +1 -1
- package/lib/components/VChip/VChip.mjs +0 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +1 -2
- package/lib/components/VCombobox/VCombobox.mjs +12 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +392 -158
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +5 -5
- package/lib/components/VFileInput/index.d.ts +6 -6
- package/lib/components/VInput/VInput.mjs +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +4 -4
- package/lib/components/VList/VList.mjs +3 -0
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +3 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +19 -8
- package/lib/components/VNoSsr/VNoSsr.mjs +1 -3
- package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +3 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs +17 -19
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +5 -1
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +5 -1
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +1 -1
- package/lib/components/VRangeSlider/index.d.ts +1 -1
- package/lib/components/VRating/VRating.mjs +7 -6
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +14 -14
- package/lib/components/VSelect/VSelect.mjs +16 -8
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +392 -158
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.css +1 -0
- package/lib/components/VSlideGroup/VSlideGroup.sass +1 -0
- package/lib/components/VSlider/index.d.ts +1 -1
- package/lib/components/VSwitch/index.d.ts +1 -1
- package/lib/components/VTable/VTable.css +9 -9
- package/lib/components/VTable/VTable.sass +20 -15
- package/lib/components/VTabs/index.d.ts +1 -0
- package/lib/components/VTextField/VTextField.mjs +23 -19
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +58 -58
- package/lib/components/VTextarea/index.d.ts +6 -6
- package/lib/components/VToolbar/VToolbar.css +1 -0
- package/lib/components/VToolbar/VToolbar.sass +1 -0
- package/lib/components/VValidation/index.d.ts +1 -1
- package/lib/components/index.d.ts +4145 -3435
- package/lib/components/transitions/index.mjs +1 -1
- package/lib/components/transitions/index.mjs.map +1 -1
- package/lib/composables/hydration.mjs +8 -4
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/icons.mjs +6 -3
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/router.mjs +2 -2
- package/lib/composables/router.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +6 -2
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +16 -10
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.ts +17 -16
- package/lib/util/defineComponent.mjs +10 -15
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +10 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -17,7 +17,8 @@ import { useItems } from "../../composables/items.mjs";
|
|
|
17
17
|
import { useLocale } from "../../composables/locale.mjs";
|
|
18
18
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utility
|
|
19
19
|
import { computed, mergeProps, nextTick, ref, watch } from 'vue';
|
|
20
|
-
import { genericComponent, useRender, wrapInArray } from "../../util/index.mjs";
|
|
20
|
+
import { genericComponent, omit, useRender, wrapInArray } from "../../util/index.mjs";
|
|
21
|
+
import { filterVTextFieldProps, makeVTextFieldProps } from "../VTextField/VTextField.mjs"; // Types
|
|
21
22
|
function highlightResult(text, matches, length) {
|
|
22
23
|
if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');
|
|
23
24
|
return typeof matches === 'number' && ~matches ? _createVNode(_Fragment, null, [_createVNode("span", {
|
|
@@ -38,6 +39,9 @@ export const VAutocomplete = genericComponent()({
|
|
|
38
39
|
filterKeys: ['title']
|
|
39
40
|
}),
|
|
40
41
|
...makeSelectProps(),
|
|
42
|
+
...omit(makeVTextFieldProps({
|
|
43
|
+
modelValue: null
|
|
44
|
+
}), ['validationValue', 'dirty', 'appendInnerIcon']),
|
|
41
45
|
...makeTransitionProps({
|
|
42
46
|
transition: false
|
|
43
47
|
})
|
|
@@ -102,9 +106,11 @@ export const VAutocomplete = genericComponent()({
|
|
|
102
106
|
}
|
|
103
107
|
if (e.key === 'ArrowDown') {
|
|
104
108
|
var _listRef$value;
|
|
109
|
+
e.preventDefault();
|
|
105
110
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
|
106
111
|
} else if (e.key === 'ArrowUp') {
|
|
107
112
|
var _listRef$value2;
|
|
113
|
+
e.preventDefault();
|
|
108
114
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
|
109
115
|
}
|
|
110
116
|
}
|
|
@@ -165,8 +171,10 @@ export const VAutocomplete = genericComponent()({
|
|
|
165
171
|
});
|
|
166
172
|
useRender(() => {
|
|
167
173
|
const hasChips = !!(props.chips || slots.chip);
|
|
168
|
-
|
|
169
|
-
|
|
174
|
+
const [textFieldProps] = filterVTextFieldProps(props);
|
|
175
|
+
return _createVNode(VTextField, _mergeProps({
|
|
176
|
+
"ref": vTextFieldRef
|
|
177
|
+
}, textFieldProps, {
|
|
170
178
|
"modelValue": search.value,
|
|
171
179
|
"onUpdate:modelValue": v => {
|
|
172
180
|
if (v == null) model.value = [];
|
|
@@ -188,7 +196,7 @@ export const VAutocomplete = genericComponent()({
|
|
|
188
196
|
"onFocus": () => isFocused.value = true,
|
|
189
197
|
"onBlur": () => isFocused.value = false,
|
|
190
198
|
"onKeydown": onKeydown
|
|
191
|
-
}, {
|
|
199
|
+
}), {
|
|
192
200
|
...slots,
|
|
193
201
|
default: () => {
|
|
194
202
|
var _slots$noData, _slots$prependItem, _slots$appendItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VAutocomplete.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","forwardRefs","useItems","useLocale","useProxiedModel","computed","mergeProps","nextTick","ref","watch","genericComponent","useRender","wrapInArray","highlightResult","text","matches","length","Array","isArray","Error","substr","VAutocomplete","name","props","search","String","filterKeys","transition","emits","val","setup","slots","t","vTextFieldRef","isFocused","isPristine","menu","items","transformIn","transformOut","model","v","transformed","multiple","filteredItems","value","undefined","selections","map","find","item","selected","selection","listRef","onClear","e","openOnClear","onClickControl","hideNoData","readonly","onKeydown","includes","key","focus","onInput","target","onAfterLeave","onFocusin","onFocusout","relatedTarget","isSelecting","select","index","findIndex","splice","title","at","hasChips","chips","chip","externalValue","menuIcon","default","eager","menuProps","preventDefault","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","modelValue","closable","closableChips","size"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VAutocomplete = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & Omit<VTextField['$props'], 'modelValue' | 'onUpdate:modelValue' | '$children'> & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:search': (val: any) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const { items, transformIn, transformOut } = useItems(props)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n listRef.value?.focus('prev')\n }\n }\n\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n const isSelecting = ref(false)\n\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item]\n search.value = ''\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n\n isSelecting.value = true\n\n if (!slots.selection) {\n search.value = item.title\n }\n\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple || !!slots.selection ? '' : String(selections.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n modelValue={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n onInput={ onInput }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-autocomplete--selection-slot': !!slots.selection,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn modelValue={ isSelected } ripple={ false } />\n ) : undefined,\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n\n { slots['append-item']?.() }\n </VList>\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-autocomplete__selection\">\n { hasChips ? (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n ) }\n </span>\n )\n )}\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VAutocomplete.mjs","names":["makeSelectProps","VCheckboxBtn","VChip","VDefaultsProvider","VList","VListItem","VMenu","VTextField","makeFilterProps","useFilter","makeTransitionProps","forwardRefs","useItems","useLocale","useProxiedModel","computed","mergeProps","nextTick","ref","watch","genericComponent","omit","useRender","wrapInArray","filterVTextFieldProps","makeVTextFieldProps","highlightResult","text","matches","length","Array","isArray","Error","substr","VAutocomplete","name","props","search","String","filterKeys","modelValue","transition","emits","val","setup","slots","t","vTextFieldRef","isFocused","isPristine","menu","items","transformIn","transformOut","model","v","transformed","multiple","filteredItems","value","undefined","selections","map","find","item","selected","selection","listRef","onClear","e","openOnClear","onClickControl","hideNoData","readonly","onKeydown","includes","key","preventDefault","focus","onInput","target","onAfterLeave","onFocusin","onFocusout","relatedTarget","isSelecting","select","index","findIndex","splice","title","at","hasChips","chips","chip","textFieldProps","externalValue","menuIcon","default","eager","menuProps","noDataText","onClick","prepend","isSelected","hideSelected","onChipClose","stopPropagation","slotProps","closable","closableChips","size"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { VTextField } from '@/components/VTextField'\n\n// Composables\nimport { makeFilterProps, useFilter } from '@/composables/filter'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender, wrapInArray } from '@/util'\nimport { filterVTextFieldProps, makeVTextFieldProps } from '../VTextField/VTextField'\n\n// Types\nimport type { FilterMatch } from '@/composables/filter'\nimport type { InternalItem } from '@/composables/items'\nimport type { MakeSlots, SlotsToProps } from '@/util'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nfunction highlightResult (text: string, matches: FilterMatch, length: number) {\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented')\n\n return typeof matches === 'number' && ~matches\n ? (\n <>\n <span class=\"v-autocomplete__unmask\">{ text.substr(0, matches) }</span>\n <span class=\"v-autocomplete__mask\">{ text.substr(matches, length) }</span>\n <span class=\"v-autocomplete__unmask\">{ text.substr(matches + length) }</span>\n </>\n )\n : text\n}\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = T extends Primitive\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject>\n\nexport const VAutocomplete = genericComponent<new <\n T,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<T, ReturnObject, Multiple> = Value<T, ReturnObject, Multiple>\n>() => {\n $props: {\n items?: readonly T[]\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V\n 'onUpdate:modelValue'?: (val: V) => void\n } & SlotsToProps<\n Omit<VInputSlots & VFieldSlots, 'default'> & MakeSlots<{\n item: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n chip: [{ item: InternalItem<T>, index: number, props: Record<string, unknown> }]\n selection: [{ item: InternalItem<T>, index: number }]\n 'prepend-item': []\n 'append-item': []\n 'no-data': []\n }>\n >\n}>()({\n name: 'VAutocomplete',\n\n props: {\n // TODO: implement post keyboard support\n // autoSelectFirst: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n },\n\n emits: {\n 'update:search': (val: any) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const isFocused = ref(false)\n const isPristine = ref(true)\n const menu = useProxiedModel(props, 'menu')\n const { items, transformIn, transformOut } = useItems(props)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const { filteredItems } = useFilter(props, items, computed(() => isPristine.value ? undefined : search.value))\n const selections = computed(() => {\n return model.value.map(v => {\n return items.value.find(item => item.value === v.value) || v\n })\n })\n const selected = computed(() => selections.value.map(selection => selection.props.value))\n const listRef = ref<VList>()\n\n function onClear (e: MouseEvent) {\n model.value = []\n\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onClickControl () {\n if (\n (props.hideNoData && !items.value.length) ||\n props.readonly\n ) return\n\n menu.value = true\n }\n function onKeydown (e: KeyboardEvent) {\n if (props.readonly) return\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n isPristine.value = true\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n listRef.value?.focus('next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n listRef.value?.focus('prev')\n }\n }\n\n function onInput (e: InputEvent) {\n search.value = (e.target as HTMLInputElement).value\n }\n\n function onAfterLeave () {\n if (isFocused.value) isPristine.value = true\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n\n function onFocusout (e: FocusEvent) {\n if (e.relatedTarget == null) {\n vTextFieldRef.value?.focus()\n }\n }\n\n const isSelecting = ref(false)\n\n function select (item: InternalItem) {\n if (props.multiple) {\n const index = selected.value.findIndex(selection => selection === item.value)\n\n if (index === -1) {\n model.value = [...model.value, item]\n search.value = ''\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n\n isSelecting.value = true\n\n if (!slots.selection) {\n search.value = item.title\n }\n\n menu.value = false\n isPristine.value = true\n\n nextTick(() => (isSelecting.value = false))\n }\n }\n\n watch(isFocused, val => {\n if (val) {\n isSelecting.value = true\n search.value = props.multiple || !!slots.selection ? '' : String(selections.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n menu.value = false\n search.value = ''\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const [textFieldProps] = filterVTextFieldProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ search.value }\n onUpdate:modelValue={ v => { if (v == null) model.value = [] } }\n validationValue={ model.externalValue }\n dirty={ model.value.length > 0 }\n onInput={ onInput }\n class={[\n 'v-autocomplete',\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n [`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-autocomplete--selection-slot': !!slots.selection,\n },\n ]}\n appendInnerIcon={ props.menuIcon }\n readonly={ props.readonly }\n onClick:clear={ onClear }\n onClick:control={ onClickControl }\n onClick:input={ onClickControl }\n onFocus={ () => isFocused.value = true }\n onBlur={ () => isFocused.value = false }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n eager={ props.eager }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n <VList\n ref={ listRef }\n selected={ selected.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n >\n { !filteredItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n )) }\n\n { slots['prepend-item']?.() }\n\n { filteredItems.value.map(({ item, matches }, index) => slots.item?.({\n item,\n index,\n props: mergeProps(item.props, { onClick: () => select(item) }),\n }) ?? (\n <VListItem\n key={ index }\n { ...item.props }\n onClick={ () => select(item) }\n >\n {{\n prepend: ({ isSelected }) => props.multiple && !props.hideSelected ? (\n <VCheckboxBtn modelValue={ isSelected } ripple={ false } />\n ) : undefined,\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult(item.title, matches.title, search.value?.length ?? 0)\n },\n }}\n </VListItem>\n )) }\n\n { slots['append-item']?.() }\n </VList>\n </VMenu>\n\n { selections.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n return (\n <div key={ item.value } class=\"v-autocomplete__selection\">\n { hasChips ? (\n <VDefaultsProvider\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slots.chip\n ? slots.chip({ item, index, props: slotProps })\n : (<VChip { ...slotProps } />)\n }\n </VDefaultsProvider>\n ) : (\n slots.selection\n ? slots.selection({ item, index })\n : (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < selections.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n ) }\n </span>\n )\n )}\n </div>\n )\n }) }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe;AAAA,SACfC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,iBAAiB;AAAA,SACjBC,KAAK,EAAEC,SAAS;AAAA,SAChBC,KAAK;AAAA,SACLC,UAAU,mCAEnB;AAAA,SACSC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,mBAAmB;AAAA,SACnBC,WAAW;AAAA,SACXC,QAAQ;AAAA,SACRC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACvDC,gBAAgB,EAAEC,IAAI,EAAEC,SAAS,EAAEC,WAAW;AAAA,SAC9CC,qBAAqB,EAAEC,mBAAmB,wCAEnD;AAOA,SAASC,eAAe,CAAEC,IAAY,EAAEC,OAAoB,EAAEC,MAAc,EAAE;EAC5E,IAAIC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,EAAE,MAAM,IAAII,KAAK,CAAC,qCAAqC,CAAC;EAElF,OAAO,OAAOJ,OAAO,KAAK,QAAQ,IAAI,CAACA,OAAO;IAAA,SAG5B;EAAwB,IAAGD,IAAI,CAACM,MAAM,CAAC,CAAC,EAAEL,OAAO,CAAC;IAAA,SAClD;EAAsB,IAAGD,IAAI,CAACM,MAAM,CAACL,OAAO,EAAEC,MAAM,CAAC;IAAA,SACrD;EAAwB,IAAGF,IAAI,CAACM,MAAM,CAACL,OAAO,GAAGC,MAAM,CAAC,OAGtEF,IAAI;AACV;AAaA,OAAO,MAAMO,aAAa,GAAGd,gBAAgB,EAsBzC,CAAC;EACHe,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACL;IACA;IACAC,MAAM,EAAEC,MAAM;IAEd,GAAG9B,eAAe,CAAC;MAAE+B,UAAU,EAAE,CAAC,OAAO;IAAE,CAAC,CAAC;IAC7C,GAAGvC,eAAe,EAAE;IACpB,GAAGqB,IAAI,CAACI,mBAAmB,CAAC;MAC1Be,UAAU,EAAE;IACd,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpD,GAAG9B,mBAAmB,CAAC;MAAE+B,UAAU,EAAE;IAAM,CAAC;EAC9C,CAAC;EAEDC,KAAK,EAAE;IACL,eAAe,EAAGC,GAAQ,IAAK,IAAI;IACnC,mBAAmB,EAAGA,GAAQ,IAAK,IAAI;IACvC,aAAa,EAAGA,GAAY,IAAK;EACnC,CAAC;EAEDC,KAAK,CAAER,KAAK,QAAa;IAAA,IAAX;MAAES;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAE,CAAC,GAAGjC,SAAS,EAAE;IACzB,MAAMkC,aAAa,GAAG7B,GAAG,EAAE;IAC3B,MAAM8B,SAAS,GAAG9B,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM+B,UAAU,GAAG/B,GAAG,CAAC,IAAI,CAAC;IAC5B,MAAMgC,IAAI,GAAGpC,eAAe,CAACsB,KAAK,EAAE,MAAM,CAAC;IAC3C,MAAM;MAAEe,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGzC,QAAQ,CAACwB,KAAK,CAAC;IAC5D,MAAMC,MAAM,GAAGvB,eAAe,CAACsB,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;IACnD,MAAMkB,KAAK,GAAGxC,eAAe,CAC3BsB,KAAK,EACL,YAAY,EACZ,EAAE,EACFmB,CAAC,IAAIH,WAAW,CAAC7B,WAAW,CAACgC,CAAC,CAAC,CAAC,EAChCA,CAAC,IAAI;MACH,MAAMC,WAAW,GAAGH,YAAY,CAACE,CAAC,CAAC;MACnC,OAAOnB,KAAK,CAACqB,QAAQ,GAAGD,WAAW,GAAIA,WAAW,CAAC,CAAC,CAAC,IAAI,IAAK;IAChE,CAAC,CACF;IACD,MAAM;MAAEE;IAAc,CAAC,GAAGjD,SAAS,CAAC2B,KAAK,EAAEe,KAAK,EAAEpC,QAAQ,CAAC,MAAMkC,UAAU,CAACU,KAAK,GAAGC,SAAS,GAAGvB,MAAM,CAACsB,KAAK,CAAC,CAAC;IAC9G,MAAME,UAAU,GAAG9C,QAAQ,CAAC,MAAM;MAChC,OAAOuC,KAAK,CAACK,KAAK,CAACG,GAAG,CAACP,CAAC,IAAI;QAC1B,OAAOJ,KAAK,CAACQ,KAAK,CAACI,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACL,KAAK,KAAKJ,CAAC,CAACI,KAAK,CAAC,IAAIJ,CAAC;MAC9D,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAMU,QAAQ,GAAGlD,QAAQ,CAAC,MAAM8C,UAAU,CAACF,KAAK,CAACG,GAAG,CAACI,SAAS,IAAIA,SAAS,CAAC9B,KAAK,CAACuB,KAAK,CAAC,CAAC;IACzF,MAAMQ,OAAO,GAAGjD,GAAG,EAAS;IAE5B,SAASkD,OAAO,CAAEC,CAAa,EAAE;MAC/Bf,KAAK,CAACK,KAAK,GAAG,EAAE;MAEhB,IAAIvB,KAAK,CAACkC,WAAW,EAAE;QACrBpB,IAAI,CAACS,KAAK,GAAG,IAAI;MACnB;MAEAtB,MAAM,CAACsB,KAAK,GAAG,EAAE;IACnB;IACA,SAASY,cAAc,GAAI;MACzB,IACGnC,KAAK,CAACoC,UAAU,IAAI,CAACrB,KAAK,CAACQ,KAAK,CAAC9B,MAAM,IACxCO,KAAK,CAACqC,QAAQ,EACd;MAEFvB,IAAI,CAACS,KAAK,GAAG,IAAI;IACnB;IACA,SAASe,SAAS,CAAEL,CAAgB,EAAE;MACpC,IAAIjC,KAAK,CAACqC,QAAQ,EAAE;MAEpB,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAACE,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC1C1B,IAAI,CAACS,KAAK,GAAG,IAAI;MACnB;MAEA,IAAI,CAAC,QAAQ,CAAC,CAACgB,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC9B1B,IAAI,CAACS,KAAK,GAAG,KAAK;MACpB;MAEA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAACgB,QAAQ,CAACN,CAAC,CAACO,GAAG,CAAC,EAAE;QAC9C3B,UAAU,CAACU,KAAK,GAAG,IAAI;MACzB;MAEA,IAAIU,CAAC,CAACO,GAAG,KAAK,WAAW,EAAE;QAAA;QACzBP,CAAC,CAACQ,cAAc,EAAE;QAClB,kBAAAV,OAAO,CAACR,KAAK,qBAAb,eAAemB,KAAK,CAAC,MAAM,CAAC;MAC9B,CAAC,MAAM,IAAIT,CAAC,CAACO,GAAG,KAAK,SAAS,EAAE;QAAA;QAC9BP,CAAC,CAACQ,cAAc,EAAE;QAClB,mBAAAV,OAAO,CAACR,KAAK,qBAAb,gBAAemB,KAAK,CAAC,MAAM,CAAC;MAC9B;IACF;IAEA,SAASC,OAAO,CAAEV,CAAa,EAAE;MAC/BhC,MAAM,CAACsB,KAAK,GAAIU,CAAC,CAACW,MAAM,CAAsBrB,KAAK;IACrD;IAEA,SAASsB,YAAY,GAAI;MACvB,IAAIjC,SAAS,CAACW,KAAK,EAAEV,UAAU,CAACU,KAAK,GAAG,IAAI;IAC9C;IAEA,SAASuB,SAAS,CAAEb,CAAa,EAAE;MACjCrB,SAAS,CAACW,KAAK,GAAG,IAAI;IACxB;IAEA,SAASwB,UAAU,CAAEd,CAAa,EAAE;MAClC,IAAIA,CAAC,CAACe,aAAa,IAAI,IAAI,EAAE;QAAA;QAC3B,wBAAArC,aAAa,CAACY,KAAK,qBAAnB,qBAAqBmB,KAAK,EAAE;MAC9B;IACF;IAEA,MAAMO,WAAW,GAAGnE,GAAG,CAAC,KAAK,CAAC;IAE9B,SAASoE,MAAM,CAAEtB,IAAkB,EAAE;MACnC,IAAI5B,KAAK,CAACqB,QAAQ,EAAE;QAClB,MAAM8B,KAAK,GAAGtB,QAAQ,CAACN,KAAK,CAAC6B,SAAS,CAACtB,SAAS,IAAIA,SAAS,KAAKF,IAAI,CAACL,KAAK,CAAC;QAE7E,IAAI4B,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBjC,KAAK,CAACK,KAAK,GAAG,CAAC,GAAGL,KAAK,CAACK,KAAK,EAAEK,IAAI,CAAC;UACpC3B,MAAM,CAACsB,KAAK,GAAG,EAAE;QACnB,CAAC,MAAM;UACL,MAAMA,KAAK,GAAG,CAAC,GAAGL,KAAK,CAACK,KAAK,CAAC;UAC9BA,KAAK,CAAC8B,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;UACtBjC,KAAK,CAACK,KAAK,GAAGA,KAAK;QACrB;MACF,CAAC,MAAM;QACLL,KAAK,CAACK,KAAK,GAAG,CAACK,IAAI,CAAC;QAEpBqB,WAAW,CAAC1B,KAAK,GAAG,IAAI;QAExB,IAAI,CAACd,KAAK,CAACqB,SAAS,EAAE;UACpB7B,MAAM,CAACsB,KAAK,GAAGK,IAAI,CAAC0B,KAAK;QAC3B;QAEAxC,IAAI,CAACS,KAAK,GAAG,KAAK;QAClBV,UAAU,CAACU,KAAK,GAAG,IAAI;QAEvB1C,QAAQ,CAAC,MAAOoE,WAAW,CAAC1B,KAAK,GAAG,KAAM,CAAC;MAC7C;IACF;IAEAxC,KAAK,CAAC6B,SAAS,EAAEL,GAAG,IAAI;MACtB,IAAIA,GAAG,EAAE;QAAA;QACP0C,WAAW,CAAC1B,KAAK,GAAG,IAAI;QACxBtB,MAAM,CAACsB,KAAK,GAAGvB,KAAK,CAACqB,QAAQ,IAAI,CAAC,CAACZ,KAAK,CAACqB,SAAS,GAAG,EAAE,GAAG5B,MAAM,CAAC,yBAAAuB,UAAU,CAACF,KAAK,CAACgC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAvB,qBAAyBvD,KAAK,CAACsD,KAAK,KAAI,EAAE,CAAC;QAC5GzC,UAAU,CAACU,KAAK,GAAG,IAAI;QAEvB1C,QAAQ,CAAC,MAAMoE,WAAW,CAAC1B,KAAK,GAAG,KAAK,CAAC;MAC3C,CAAC,MAAM;QACLT,IAAI,CAACS,KAAK,GAAG,KAAK;QAClBtB,MAAM,CAACsB,KAAK,GAAG,EAAE;MACnB;IACF,CAAC,CAAC;IAEFxC,KAAK,CAACkB,MAAM,EAAEM,GAAG,IAAI;MACnB,IAAI,CAACK,SAAS,CAACW,KAAK,IAAI0B,WAAW,CAAC1B,KAAK,EAAE;MAE3C,IAAIhB,GAAG,EAAEO,IAAI,CAACS,KAAK,GAAG,IAAI;MAE1BV,UAAU,CAACU,KAAK,GAAG,CAAChB,GAAG;IACzB,CAAC,CAAC;IAEFrB,SAAS,CAAC,MAAM;MACd,MAAMsE,QAAQ,GAAG,CAAC,EAAExD,KAAK,CAACyD,KAAK,IAAIhD,KAAK,CAACiD,IAAI,CAAC;MAC9C,MAAM,CAACC,cAAc,CAAC,GAAGvE,qBAAqB,CAACY,KAAK,CAAC;MAErD;QAAA,OAEUW;MAAa,GACdgD,cAAc;QAAA,cACN1D,MAAM,CAACsB,KAAK;QAAA,uBACHJ,CAAC,IAAI;UAAE,IAAIA,CAAC,IAAI,IAAI,EAAED,KAAK,CAACK,KAAK,GAAG,EAAE;QAAC,CAAC;QAAA,mBAC5CL,KAAK,CAAC0C,aAAa;QAAA,SAC7B1C,KAAK,CAACK,KAAK,CAAC9B,MAAM,GAAG,CAAC;QAAA,WACpBkD,OAAO;QAAA,SACV,CACL,gBAAgB,EAChB;UACE,6BAA6B,EAAE7B,IAAI,CAACS,KAAK;UACzC,uBAAuB,EAAE,CAAC,CAACvB,KAAK,CAACyD,KAAK;UACtC,CAAE,mBAAkBzD,KAAK,CAACqB,QAAQ,GAAG,UAAU,GAAG,QAAS,EAAC,GAAG,IAAI;UACnE,gCAAgC,EAAE,CAAC,CAACZ,KAAK,CAACqB;QAC5C,CAAC,CACF;QAAA,mBACiB9B,KAAK,CAAC6D,QAAQ;QAAA,YACrB7D,KAAK,CAACqC,QAAQ;QAAA,iBACTL,OAAO;QAAA,mBACLG,cAAc;QAAA,iBAChBA,cAAc;QAAA,WACpB,MAAMvB,SAAS,CAACW,KAAK,GAAG,IAAI;QAAA,UAC7B,MAAMX,SAAS,CAACW,KAAK,GAAG,KAAK;QAAA,aAC1Be;MAAS;QAGnB,GAAG7B,KAAK;QACRqD,OAAO,EAAE;UAAA;UAAA;YAAA,cAGOhD,IAAI,CAACS,KAAK;YAAA,iCAAVT,IAAI,CAACS,KAAK;YAAA,aACV,QAAQ;YAAA,gBACL,yBAAyB;YAAA,SAC9BvB,KAAK,CAAC+D,KAAK;YAAA,eACL,KAAK;YAAA,uBACG,KAAK;YAAA,cACd/D,KAAK,CAACK,UAAU;YAAA,gBACdwC;UAAY,GACtB7C,KAAK,CAACgE,SAAS;YAAA;cAAA,OAGZjC,OAAO;cAAA,YACFF,QAAQ,CAACN,KAAK;cAAA,kBACRvB,KAAK,CAACqB,QAAQ,GAAG,aAAa,GAAG,oBAAoB;cAAA,eACvDY,CAAa,IAAKA,CAAC,CAACQ,cAAc,EAAE;cAAA,aACvCK,SAAS;cAAA,cACRC;YAAU;cAAA,gBAErB,CAACzB,aAAa,CAACC,KAAK,CAAC9B,MAAM,IAAI,CAACO,KAAK,CAACoC,UAAU,KAAK,kBAAA3B,KAAK,CAAC,SAAS,CAAC,qBAAhB,mBAAAA,KAAK,CAAe;gBAAA,SACtDC,CAAC,CAACV,KAAK,CAACiE,UAAU;cAAC,QACvC,CAAC,wBAEAxD,KAAK,CAAC,cAAc,CAAC,qBAArB,wBAAAA,KAAK,CAAoB,EAEzBa,aAAa,CAACC,KAAK,CAACG,GAAG,CAAC,QAAoByB,KAAK;gBAAA;gBAAA,IAAxB;kBAAEvB,IAAI;kBAAEpC;gBAAQ,CAAC;gBAAA,OAAY,gBAAAiB,KAAK,CAACmB,IAAI,qBAAV,iBAAAnB,KAAK,EAAQ;kBACnEmB,IAAI;kBACJuB,KAAK;kBACLnD,KAAK,EAAEpB,UAAU,CAACgD,IAAI,CAAC5B,KAAK,EAAE;oBAAEkE,OAAO,EAAE,MAAMhB,MAAM,CAACtB,IAAI;kBAAE,CAAC;gBAC/D,CAAC,CAAC;kBAAA,OAEQuB;gBAAK,GACNvB,IAAI,CAAC5B,KAAK;kBAAA,WACL,MAAMkD,MAAM,CAACtB,IAAI;gBAAC;kBAG1BuC,OAAO,EAAE;oBAAA,IAAC;sBAAEC;oBAAW,CAAC;oBAAA,OAAKpE,KAAK,CAACqB,QAAQ,IAAI,CAACrB,KAAK,CAACqE,YAAY;sBAAA,cACrCD,UAAU;sBAAA,UAAY;oBAAK,WACpD5C,SAAS;kBAAA;kBACb8B,KAAK,EAAE,MAAM;oBAAA;oBACX,OAAOzC,UAAU,CAACU,KAAK,GACnBK,IAAI,CAAC0B,KAAK,GACVhE,eAAe,CAACsC,IAAI,CAAC0B,KAAK,EAAE9D,OAAO,CAAC8D,KAAK,EAAE,kBAAArD,MAAM,CAACsB,KAAK,qBAAZ,cAAc9B,MAAM,KAAI,CAAC,CAAC;kBAC3E;gBAAC,EAGN;cAAA,EAAC,uBAEAgB,KAAK,CAAC,aAAa,CAAC,qBAApB,uBAAAA,KAAK,CAAmB;YAAA;UAAA,IAI5BgB,UAAU,CAACF,KAAK,CAACG,GAAG,CAAC,CAACE,IAAI,EAAEuB,KAAK,KAAK;YACtC,SAASmB,WAAW,CAAErC,CAAQ,EAAE;cAC9BA,CAAC,CAACsC,eAAe,EAAE;cACnBtC,CAAC,CAACQ,cAAc,EAAE;cAElBS,MAAM,CAACtB,IAAI,CAAC;YACd;YAEA,MAAM4C,SAAS,GAAG;cAChB,eAAe,EAAEF,WAAW;cAC5BlE,UAAU,EAAE,IAAI;cAChB,qBAAqB,EAAEoB;YACzB,CAAC;YAED;cAAA,OACaI,IAAI,CAACL,KAAK;cAAA,SAAS;YAA2B,IACrDiC,QAAQ;cAAA,YAEI;gBACR1F,KAAK,EAAE;kBACL2G,QAAQ,EAAEzE,KAAK,CAAC0E,aAAa;kBAC7BC,IAAI,EAAE,OAAO;kBACbpF,IAAI,EAAEqC,IAAI,CAAC0B;gBACb;cACF;YAAC;cAAA,gBAEC7C,KAAK,CAACiD,IAAI,GACRjD,KAAK,CAACiD,IAAI,CAAC;gBAAE9B,IAAI;gBAAEuB,KAAK;gBAAEnD,KAAK,EAAEwE;cAAU,CAAC,CAAC,uBAChCA,SAAS,OAAM;YAAA,KAIlC/D,KAAK,CAACqB,SAAS,GACXrB,KAAK,CAACqB,SAAS,CAAC;cAAEF,IAAI;cAAEuB;YAAM,CAAC,CAAC;cAAA,SAEpB;YAAgC,IACxCvB,IAAI,CAAC0B,KAAK,EACVtD,KAAK,CAACqB,QAAQ,IAAK8B,KAAK,GAAG1B,UAAU,CAACF,KAAK,CAAC9B,MAAM,GAAG,CAAE;cAAA,SAC3C;YAAiC,2BAC9C,EAGR;UAGP,CAAC,CAAC;QAAA;MAEL;IAIT,CAAC,CAAC;IAEF,OAAOlB,WAAW,CAAC;MACjBqC,SAAS;MACTC,UAAU;MACVC,IAAI;MACJb,MAAM;MACNqB,aAAa;MACb4B;IACF,CAAC,EAAEvC,aAAa,CAAC;EACnB;AACF,CAAC,CAAC"}
|