vuetify 3.3.5 → 3.3.6
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 +4 -8
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +7 -17
- package/dist/vuetify-labs.css +41 -18
- package/dist/vuetify-labs.d.ts +38 -54
- package/dist/vuetify-labs.esm.js +67 -39
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +67 -39
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +36 -13
- package/dist/vuetify.d.ts +3 -3
- package/dist/vuetify.esm.js +36 -29
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +36 -29
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +20 -21
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/VAppBar.mjs +12 -9
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +12 -4
- package/lib/components/VAutocomplete/VAutocomplete.sass +17 -9
- package/lib/components/VAutocomplete/_variables.scss +1 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +4 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +8 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +1 -1
- package/lib/components/VBtn/VBtn.sass +1 -1
- package/lib/components/VCombobox/VCombobox.css +12 -4
- package/lib/components/VCombobox/VCombobox.sass +17 -9
- package/lib/components/VCombobox/_variables.scss +1 -0
- package/lib/components/VFooter/VFooter.mjs +4 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +1 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +4 -3
- package/lib/components/VSelect/VSelect.sass +10 -12
- package/lib/components/VSlider/VSliderThumb.mjs +6 -2
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.css +2 -0
- package/lib/components/VTextField/VTextField.mjs +2 -4
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/VTextField.sass +3 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa.mjs +2 -2
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -2
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/index.d.mts +3 -3
- package/lib/labs/VDataTable/composables/sort.mjs +4 -1
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.mjs +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +0 -5
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/labs/VDatePicker/index.d.mts +38 -54
- package/lib/labs/VDateRangePicker/index.d.mts +34 -44
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +24 -4
- package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/labs/components.d.mts +38 -54
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/injectSelf.mjs +1 -0
- package/lib/util/injectSelf.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VInfiniteScroll.mjs","names":["VBtn","VProgressCircular","makeDimensionProps","useDimension","useIntersectionObserver","useLocale","makeTagProps","computed","nextTick","onMounted","ref","watch","convertToUnit","defineComponent","genericComponent","propsFactory","useRender","makeVInfiniteScrollProps","color","String","direction","type","default","validator","v","includes","side","mode","margin","Number","loadMoreText","emptyText","VInfiniteScrollIntersect","name","props","required","rootRef","rootMargin","emits","intersect","setup","_ref","emit","intersectionRef","isIntersecting","entries","root","undefined","val","_createVNode","_createTextVNode","VInfiniteScroll","load","options","_ref2","slots","rootEl","startStatus","endStatus","setScrollAmount","amount","value","property","getScrollAmount","getScrollSize","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","done","t","renderSide","onClick","slotProps","error","empty","loading","dimensionStyles","Tag","tag","hasStartIntersect","hasEndIntersect","intersectMode"],"sources":["../../../src/labs/VInfiniteScroll/VInfiniteScroll.tsx"],"sourcesContent":["// Styles\nimport './VInfiniteScroll.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useLocale } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type InfiniteScrollSide = 'start' | 'end' | 'both'\nexport type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error'\n\ntype InfiniteScrollSlot = {\n side: InfiniteScrollSide\n props: Record<string, any>\n}\n\ntype VInfiniteScrollSlots = {\n default: never\n loading: InfiniteScrollSlot\n error: InfiniteScrollSlot\n empty: InfiniteScrollSlot\n 'load-more': InfiniteScrollSlot\n}\n\nexport const makeVInfiniteScrollProps = propsFactory({\n color: String,\n direction: {\n type: String as PropType<'vertical' | 'horizontal'>,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n side: {\n type: String as PropType<InfiniteScrollSide>,\n default: 'end',\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n },\n mode: {\n type: String as PropType<'intersect' | 'manual'>,\n default: 'intersect',\n validator: (v: any) => ['intersect', 'manual'].includes(v),\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore',\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty',\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VInfiniteScroll')\n\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n\n props: {\n side: {\n type: String as PropType<InfiniteScrollSide>,\n required: true,\n },\n rootRef: null,\n rootMargin: String,\n },\n\n emits: {\n intersect: (side: InfiniteScrollSide) => true,\n },\n\n setup (props, { emit }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver(entries => {\n }, props.rootMargin ? {\n root: props.rootRef,\n rootMargin: props.rootMargin,\n } : undefined)\n\n watch(isIntersecting, async val => {\n if (val) emit('intersect', props.side)\n })\n\n useRender(() => (\n <div class=\"v-infinite-scroll-intersect\" ref={ intersectionRef }> </div>\n ))\n\n return {}\n },\n})\n\nexport const VInfiniteScroll = genericComponent<VInfiniteScrollSlots>()({\n name: 'VInfiniteScroll',\n\n props: makeVInfiniteScrollProps(),\n\n emits: {\n load: (options: { side: InfiniteScrollSide, done: (status: InfiniteScrollStatus) => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n const rootEl = ref<HTMLDivElement>()\n const startStatus = ref<InfiniteScrollStatus>('ok')\n const endStatus = ref<InfiniteScrollStatus>('ok')\n const margin = computed(() => convertToUnit(props.margin))\n\n function setScrollAmount (amount: number) {\n if (!rootEl.value) return\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n rootEl.value[property] = amount\n }\n\n function getScrollAmount () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n return rootEl.value[property]\n }\n\n function getScrollSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth'\n return rootEl.value[property]\n }\n\n function getContainerSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth'\n return rootEl.value[property]\n }\n\n onMounted(() => {\n if (!rootEl.value) return\n\n if (props.side === 'start') {\n setScrollAmount(getScrollSize())\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2)\n }\n })\n\n function setStatus (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (side === 'start') {\n startStatus.value = status\n } else if (side === 'end') {\n endStatus.value = status\n }\n }\n\n function getStatus (side: string) {\n return side === 'start' ? startStatus.value : endStatus.value\n }\n\n let previousScrollSize = 0\n function handleIntersect (side: InfiniteScrollSide) {\n const status = getStatus(side)\n if (!rootEl.value || status === 'loading') return\n\n previousScrollSize = getScrollSize()\n setStatus(side, 'loading')\n\n function done (status: InfiniteScrollStatus) {\n setStatus(side, status)\n\n nextTick(() => {\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount())\n }\n })\n }\n\n emit('load', { side, done })\n }\n\n const { t } = useLocale()\n\n function renderSide (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (props.side !== side && props.side !== 'both') return\n\n const onClick = () => handleIntersect(side)\n const slotProps = { side, props: { onClick, color: props.color } }\n\n if (status === 'error') return slots.error?.(slotProps)\n\n if (status === 'empty') return slots.empty?.(slotProps) ?? <div>{ t(props.emptyText) }</div>\n\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n return slots['load-more']?.(slotProps) ?? (\n <VBtn variant=\"outlined\" color={ props.color } onClick={ onClick }>\n { t(props.loadMoreText) }\n </VBtn>\n )\n }\n\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => {\n const Tag = props.tag\n const hasStartIntersect = props.side === 'start' || props.side === 'both'\n const hasEndIntersect = props.side === 'end' || props.side === 'both'\n const intersectMode = props.mode === 'intersect'\n\n return (\n <Tag\n ref={ rootEl }\n class={[\n 'v-infinite-scroll',\n `v-infinite-scroll--${props.direction}`,\n {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect,\n },\n ]}\n style={ dimensionStyles.value }\n >\n <div class=\"v-infinite-scroll__side\">\n { renderSide('start', startStatus.value) }\n </div>\n\n { rootEl.value && hasStartIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"start\"\n side=\"start\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n { slots.default?.() }\n\n { rootEl.value && hasEndIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"end\"\n side=\"end\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n <div class=\"v-infinite-scroll__side\">\n { renderSide('end', endStatus.value) }\n </div>\n </Tag>\n )\n })\n },\n})\n\nexport type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VInfiniteScroll.mjs","names":["VBtn","VProgressCircular","makeDimensionProps","useDimension","useIntersectionObserver","useLocale","makeTagProps","computed","nextTick","onMounted","ref","watch","convertToUnit","defineComponent","genericComponent","propsFactory","useRender","makeVInfiniteScrollProps","color","String","direction","type","default","validator","v","includes","side","mode","margin","Number","loadMoreText","emptyText","VInfiniteScrollIntersect","name","props","required","rootRef","rootMargin","emits","intersect","isIntersecting","setup","_ref","emit","intersectionRef","entries","root","undefined","val","_createVNode","_createTextVNode","VInfiniteScroll","load","options","_ref2","slots","rootEl","startStatus","endStatus","setScrollAmount","amount","value","property","getScrollAmount","getScrollSize","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","_isIntersecting","intersecting","done","window","requestAnimationFrame","t","renderSide","onClick","slotProps","error","empty","loading","dimensionStyles","Tag","tag","hasStartIntersect","hasEndIntersect","intersectMode"],"sources":["../../../src/labs/VInfiniteScroll/VInfiniteScroll.tsx"],"sourcesContent":["// Styles\nimport './VInfiniteScroll.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useLocale } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type InfiniteScrollSide = 'start' | 'end' | 'both'\nexport type InfiniteScrollStatus = 'ok' | 'empty' | 'loading' | 'error'\n\ntype InfiniteScrollSlot = {\n side: InfiniteScrollSide\n props: Record<string, any>\n}\n\ntype VInfiniteScrollSlots = {\n default: never\n loading: InfiniteScrollSlot\n error: InfiniteScrollSlot\n empty: InfiniteScrollSlot\n 'load-more': InfiniteScrollSlot\n}\n\nexport const makeVInfiniteScrollProps = propsFactory({\n color: String,\n direction: {\n type: String as PropType<'vertical' | 'horizontal'>,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n side: {\n type: String as PropType<InfiniteScrollSide>,\n default: 'end',\n validator: (v: any) => ['start', 'end', 'both'].includes(v),\n },\n mode: {\n type: String as PropType<'intersect' | 'manual'>,\n default: 'intersect',\n validator: (v: any) => ['intersect', 'manual'].includes(v),\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore',\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty',\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n}, 'VInfiniteScroll')\n\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n\n props: {\n side: {\n type: String as PropType<InfiniteScrollSide>,\n required: true,\n },\n rootRef: null,\n rootMargin: String,\n },\n\n emits: {\n intersect: (side: InfiniteScrollSide, isIntersecting: boolean) => true,\n },\n\n setup (props, { emit }) {\n const { intersectionRef, isIntersecting } = useIntersectionObserver(entries => {\n }, props.rootMargin ? {\n root: props.rootRef,\n rootMargin: props.rootMargin,\n } : undefined)\n\n watch(isIntersecting, async val => {\n emit('intersect', props.side, val)\n })\n\n useRender(() => (\n <div class=\"v-infinite-scroll-intersect\" ref={ intersectionRef }> </div>\n ))\n\n return {}\n },\n})\n\nexport const VInfiniteScroll = genericComponent<VInfiniteScrollSlots>()({\n name: 'VInfiniteScroll',\n\n props: makeVInfiniteScrollProps(),\n\n emits: {\n load: (options: { side: InfiniteScrollSide, done: (status: InfiniteScrollStatus) => void }) => true,\n },\n\n setup (props, { slots, emit }) {\n const rootEl = ref<HTMLDivElement>()\n const startStatus = ref<InfiniteScrollStatus>('ok')\n const endStatus = ref<InfiniteScrollStatus>('ok')\n const margin = computed(() => convertToUnit(props.margin))\n const isIntersecting = ref(false)\n\n function setScrollAmount (amount: number) {\n if (!rootEl.value) return\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n rootEl.value[property] = amount\n }\n\n function getScrollAmount () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft'\n return rootEl.value[property]\n }\n\n function getScrollSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth'\n return rootEl.value[property]\n }\n\n function getContainerSize () {\n if (!rootEl.value) return 0\n\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth'\n return rootEl.value[property]\n }\n\n onMounted(() => {\n if (!rootEl.value) return\n\n if (props.side === 'start') {\n setScrollAmount(getScrollSize())\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2)\n }\n })\n\n function setStatus (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (side === 'start') {\n startStatus.value = status\n } else if (side === 'end') {\n endStatus.value = status\n }\n }\n\n function getStatus (side: string) {\n return side === 'start' ? startStatus.value : endStatus.value\n }\n\n let previousScrollSize = 0\n function handleIntersect (side: InfiniteScrollSide, _isIntersecting: boolean) {\n isIntersecting.value = _isIntersecting\n if (isIntersecting.value) {\n intersecting(side)\n }\n }\n\n function intersecting (side: InfiniteScrollSide) {\n if (props.mode !== 'manual' && !isIntersecting.value) return\n\n const status = getStatus(side)\n if (!rootEl.value || status === 'loading') return\n\n previousScrollSize = getScrollSize()\n setStatus(side, 'loading')\n\n function done (status: InfiniteScrollStatus) {\n setStatus(side, status)\n\n nextTick(() => {\n if (status === 'empty' || status === 'error') return\n\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount())\n }\n if (props.mode !== 'manual') {\n nextTick(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n intersecting(side)\n })\n })\n })\n })\n }\n })\n }\n\n emit('load', { side, done })\n }\n\n const { t } = useLocale()\n\n function renderSide (side: InfiniteScrollSide, status: InfiniteScrollStatus) {\n if (props.side !== side && props.side !== 'both') return\n\n const onClick = () => intersecting(side)\n const slotProps = { side, props: { onClick, color: props.color } }\n\n if (status === 'error') return slots.error?.(slotProps)\n\n if (status === 'empty') return slots.empty?.(slotProps) ?? <div>{ t(props.emptyText) }</div>\n\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n return slots['load-more']?.(slotProps) ?? (\n <VBtn variant=\"outlined\" color={ props.color } onClick={ onClick }>\n { t(props.loadMoreText) }\n </VBtn>\n )\n }\n\n return slots.loading?.(slotProps) ?? (\n <VProgressCircular indeterminate color={ props.color } />\n )\n }\n\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => {\n const Tag = props.tag\n const hasStartIntersect = props.side === 'start' || props.side === 'both'\n const hasEndIntersect = props.side === 'end' || props.side === 'both'\n const intersectMode = props.mode === 'intersect'\n\n return (\n <Tag\n ref={ rootEl }\n class={[\n 'v-infinite-scroll',\n `v-infinite-scroll--${props.direction}`,\n {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect,\n },\n ]}\n style={ dimensionStyles.value }\n >\n <div class=\"v-infinite-scroll__side\">\n { renderSide('start', startStatus.value) }\n </div>\n\n { rootEl.value && hasStartIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"start\"\n side=\"start\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n { slots.default?.() }\n\n { rootEl.value && hasEndIntersect && intersectMode && (\n <VInfiniteScrollIntersect\n key=\"end\"\n side=\"end\"\n onIntersect={ handleIntersect }\n rootRef={ rootEl.value }\n rootMargin={ margin.value }\n />\n )}\n\n <div class=\"v-infinite-scroll__side\">\n { renderSide('end', endStatus.value) }\n </div>\n </Tag>\n )\n })\n },\n})\n\nexport type VInfiniteScroll = InstanceType<typeof VInfiniteScroll>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,wDAE1B;AAAA,SACSC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,uBAAuB;AAAA,SACvBC,SAAS;AAAA,SACTC,YAAY,qCAErB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACtDC,aAAa,EAAEC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAmBA,OAAO,MAAMC,wBAAwB,GAAGF,YAAY,CAAC;EACnDG,KAAK,EAAEC,MAAM;EACbC,SAAS,EAAE;IACTC,IAAI,EAAEF,MAA6C;IACnDG,OAAO,EAAE,UAAU;IACnBC,SAAS,EAAGC,CAAM,IAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC9D,CAAC;EACDE,IAAI,EAAE;IACJL,IAAI,EAAEF,MAAsC;IAC5CG,OAAO,EAAE,KAAK;IACdC,SAAS,EAAGC,CAAM,IAAK,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC5D,CAAC;EACDG,IAAI,EAAE;IACJN,IAAI,EAAEF,MAA0C;IAChDG,OAAO,EAAE,WAAW;IACpBC,SAAS,EAAGC,CAAM,IAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAACC,QAAQ,CAACD,CAAC;EAC3D,CAAC;EACDI,MAAM,EAAE,CAACC,MAAM,EAAEV,MAAM,CAAC;EACxBW,YAAY,EAAE;IACZT,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDS,SAAS,EAAE;IACTV,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EAED,GAAGpB,kBAAkB,EAAE;EACvB,GAAGI,YAAY;AACjB,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,MAAM0B,wBAAwB,GAAGnB,eAAe,CAAC;EACtDoB,IAAI,EAAE,0BAA0B;EAEhCC,KAAK,EAAE;IACLR,IAAI,EAAE;MACJL,IAAI,EAAEF,MAAsC;MAC5CgB,QAAQ,EAAE;IACZ,CAAC;IACDC,OAAO,EAAE,IAAI;IACbC,UAAU,EAAElB;EACd,CAAC;EAEDmB,KAAK,EAAE;IACLC,SAAS,EAAEA,CAACb,IAAwB,EAAEc,cAAuB,KAAK;EACpE,CAAC;EAEDC,KAAKA,CAAEP,KAAK,EAAAQ,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpB,MAAM;MAAEE,eAAe;MAAEJ;IAAe,CAAC,GAAGpC,uBAAuB,CAACyC,OAAO,IAAI,CAC/E,CAAC,EAAEX,KAAK,CAACG,UAAU,GAAG;MACpBS,IAAI,EAAEZ,KAAK,CAACE,OAAO;MACnBC,UAAU,EAAEH,KAAK,CAACG;IACpB,CAAC,GAAGU,SAAS,CAAC;IAEdpC,KAAK,CAAC6B,cAAc,EAAE,MAAMQ,GAAG,IAAI;MACjCL,IAAI,CAAC,WAAW,EAAET,KAAK,CAACR,IAAI,EAAEsB,GAAG,CAAC;IACpC,CAAC,CAAC;IAEFhC,SAAS,CAAC,MAAAiC,YAAA;MAAA,SACG,6BAA6B;MAAA,OAAOL;IAAe,IAAAM,gBAAA,UAC/D,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,eAAe,GAAGrC,gBAAgB,EAAwB,CAAC;EACtEmB,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAEjB,wBAAwB,EAAE;EAEjCqB,KAAK,EAAE;IACLc,IAAI,EAAGC,OAAmF,IAAK;EACjG,CAAC;EAEDZ,KAAKA,CAAEP,KAAK,EAAAoB,KAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEZ;IAAK,CAAC,GAAAW,KAAA;IAC3B,MAAME,MAAM,GAAG9C,GAAG,EAAkB;IACpC,MAAM+C,WAAW,GAAG/C,GAAG,CAAuB,IAAI,CAAC;IACnD,MAAMgD,SAAS,GAAGhD,GAAG,CAAuB,IAAI,CAAC;IACjD,MAAMkB,MAAM,GAAGrB,QAAQ,CAAC,MAAMK,aAAa,CAACsB,KAAK,CAACN,MAAM,CAAC,CAAC;IAC1D,MAAMY,cAAc,GAAG9B,GAAG,CAAC,KAAK,CAAC;IAEjC,SAASiD,eAAeA,CAAEC,MAAc,EAAE;MACxC,IAAI,CAACJ,MAAM,CAACK,KAAK,EAAE;MAEnB,MAAMC,QAAQ,GAAG5B,KAAK,CAACd,SAAS,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY;MAC5EoC,MAAM,CAACK,KAAK,CAACC,QAAQ,CAAC,GAAGF,MAAM;IACjC;IAEA,SAASG,eAAeA,CAAA,EAAI;MAC1B,IAAI,CAACP,MAAM,CAACK,KAAK,EAAE,OAAO,CAAC;MAE3B,MAAMC,QAAQ,GAAG5B,KAAK,CAACd,SAAS,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY;MAC5E,OAAOoC,MAAM,CAACK,KAAK,CAACC,QAAQ,CAAC;IAC/B;IAEA,SAASE,aAAaA,CAAA,EAAI;MACxB,IAAI,CAACR,MAAM,CAACK,KAAK,EAAE,OAAO,CAAC;MAE3B,MAAMC,QAAQ,GAAG5B,KAAK,CAACd,SAAS,KAAK,UAAU,GAAG,cAAc,GAAG,aAAa;MAChF,OAAOoC,MAAM,CAACK,KAAK,CAACC,QAAQ,CAAC;IAC/B;IAEA,SAASG,gBAAgBA,CAAA,EAAI;MAC3B,IAAI,CAACT,MAAM,CAACK,KAAK,EAAE,OAAO,CAAC;MAE3B,MAAMC,QAAQ,GAAG5B,KAAK,CAACd,SAAS,KAAK,UAAU,GAAG,cAAc,GAAG,aAAa;MAChF,OAAOoC,MAAM,CAACK,KAAK,CAACC,QAAQ,CAAC;IAC/B;IAEArD,SAAS,CAAC,MAAM;MACd,IAAI,CAAC+C,MAAM,CAACK,KAAK,EAAE;MAEnB,IAAI3B,KAAK,CAACR,IAAI,KAAK,OAAO,EAAE;QAC1BiC,eAAe,CAACK,aAAa,EAAE,CAAC;MAClC,CAAC,MAAM,IAAI9B,KAAK,CAACR,IAAI,KAAK,MAAM,EAAE;QAChCiC,eAAe,CAACK,aAAa,EAAE,GAAG,CAAC,GAAGC,gBAAgB,EAAE,GAAG,CAAC,CAAC;MAC/D;IACF,CAAC,CAAC;IAEF,SAASC,SAASA,CAAExC,IAAwB,EAAEyC,MAA4B,EAAE;MAC1E,IAAIzC,IAAI,KAAK,OAAO,EAAE;QACpB+B,WAAW,CAACI,KAAK,GAAGM,MAAM;MAC5B,CAAC,MAAM,IAAIzC,IAAI,KAAK,KAAK,EAAE;QACzBgC,SAAS,CAACG,KAAK,GAAGM,MAAM;MAC1B;IACF;IAEA,SAASC,SAASA,CAAE1C,IAAY,EAAE;MAChC,OAAOA,IAAI,KAAK,OAAO,GAAG+B,WAAW,CAACI,KAAK,GAAGH,SAAS,CAACG,KAAK;IAC/D;IAEA,IAAIQ,kBAAkB,GAAG,CAAC;IAC1B,SAASC,eAAeA,CAAE5C,IAAwB,EAAE6C,eAAwB,EAAE;MAC5E/B,cAAc,CAACqB,KAAK,GAAGU,eAAe;MACtC,IAAI/B,cAAc,CAACqB,KAAK,EAAE;QACxBW,YAAY,CAAC9C,IAAI,CAAC;MACpB;IACF;IAEA,SAAS8C,YAAYA,CAAE9C,IAAwB,EAAE;MAC/C,IAAIQ,KAAK,CAACP,IAAI,KAAK,QAAQ,IAAI,CAACa,cAAc,CAACqB,KAAK,EAAE;MAEtD,MAAMM,MAAM,GAAGC,SAAS,CAAC1C,IAAI,CAAC;MAC9B,IAAI,CAAC8B,MAAM,CAACK,KAAK,IAAIM,MAAM,KAAK,SAAS,EAAE;MAE3CE,kBAAkB,GAAGL,aAAa,EAAE;MACpCE,SAAS,CAACxC,IAAI,EAAE,SAAS,CAAC;MAE1B,SAAS+C,IAAIA,CAAEN,MAA4B,EAAE;QAC3CD,SAAS,CAACxC,IAAI,EAAEyC,MAAM,CAAC;QAEvB3D,QAAQ,CAAC,MAAM;UACb,IAAI2D,MAAM,KAAK,OAAO,IAAIA,MAAM,KAAK,OAAO,EAAE;UAE9C,IAAIA,MAAM,KAAK,IAAI,IAAIzC,IAAI,KAAK,OAAO,EAAE;YACvCiC,eAAe,CAACK,aAAa,EAAE,GAAGK,kBAAkB,GAAGN,eAAe,EAAE,CAAC;UAC3E;UACA,IAAI7B,KAAK,CAACP,IAAI,KAAK,QAAQ,EAAE;YAC3BnB,QAAQ,CAAC,MAAM;cACbkE,MAAM,CAACC,qBAAqB,CAAC,MAAM;gBACjCD,MAAM,CAACC,qBAAqB,CAAC,MAAM;kBACjCD,MAAM,CAACC,qBAAqB,CAAC,MAAM;oBACjCH,YAAY,CAAC9C,IAAI,CAAC;kBACpB,CAAC,CAAC;gBACJ,CAAC,CAAC;cACJ,CAAC,CAAC;YACJ,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ;MAEAiB,IAAI,CAAC,MAAM,EAAE;QAAEjB,IAAI;QAAE+C;MAAK,CAAC,CAAC;IAC9B;IAEA,MAAM;MAAEG;IAAE,CAAC,GAAGvE,SAAS,EAAE;IAEzB,SAASwE,UAAUA,CAAEnD,IAAwB,EAAEyC,MAA4B,EAAE;MAC3E,IAAIjC,KAAK,CAACR,IAAI,KAAKA,IAAI,IAAIQ,KAAK,CAACR,IAAI,KAAK,MAAM,EAAE;MAElD,MAAMoD,OAAO,GAAGA,CAAA,KAAMN,YAAY,CAAC9C,IAAI,CAAC;MACxC,MAAMqD,SAAS,GAAG;QAAErD,IAAI;QAAEQ,KAAK,EAAE;UAAE4C,OAAO;UAAE5D,KAAK,EAAEgB,KAAK,CAAChB;QAAM;MAAE,CAAC;MAElE,IAAIiD,MAAM,KAAK,OAAO,EAAE,OAAOZ,KAAK,CAACyB,KAAK,GAAGD,SAAS,CAAC;MAEvD,IAAIZ,MAAM,KAAK,OAAO,EAAE,OAAOZ,KAAK,CAAC0B,KAAK,GAAGF,SAAS,CAAC,IAAA9B,YAAA,eAAW2B,CAAC,CAAC1C,KAAK,CAACH,SAAS,CAAC,EAAQ;MAE5F,IAAIG,KAAK,CAACP,IAAI,KAAK,QAAQ,EAAE;QAC3B,IAAIwC,MAAM,KAAK,SAAS,EAAE;UACxB,OAAOZ,KAAK,CAAC2B,OAAO,GAAGH,SAAS,CAAC,IAAA9B,YAAA,CAAAhD,iBAAA;YAAA;YAAA,SACUiC,KAAK,CAAChB;UAAK,QACrD;QACH;QAEA,OAAOqC,KAAK,CAAC,WAAW,CAAC,GAAGwB,SAAS,CAAC,IAAA9B,YAAA,CAAAjD,IAAA;UAAA,WACtB,UAAU;UAAA,SAASkC,KAAK,CAAChB,KAAK;UAAA,WAAa4D;QAAO;UAAAxD,OAAA,EAAAA,CAAA,MAC5DsD,CAAC,CAAC1C,KAAK,CAACJ,YAAY,CAAC;QAAA,EAE1B;MACH;MAEA,OAAOyB,KAAK,CAAC2B,OAAO,GAAGH,SAAS,CAAC,IAAA9B,YAAA,CAAAhD,iBAAA;QAAA;QAAA,SACUiC,KAAK,CAAChB;MAAK,QACrD;IACH;IAEA,MAAM;MAAEiE;IAAgB,CAAC,GAAGhF,YAAY,CAAC+B,KAAK,CAAC;IAE/ClB,SAAS,CAAC,MAAM;MACd,MAAMoE,GAAG,GAAGlD,KAAK,CAACmD,GAAG;MACrB,MAAMC,iBAAiB,GAAGpD,KAAK,CAACR,IAAI,KAAK,OAAO,IAAIQ,KAAK,CAACR,IAAI,KAAK,MAAM;MACzE,MAAM6D,eAAe,GAAGrD,KAAK,CAACR,IAAI,KAAK,KAAK,IAAIQ,KAAK,CAACR,IAAI,KAAK,MAAM;MACrE,MAAM8D,aAAa,GAAGtD,KAAK,CAACP,IAAI,KAAK,WAAW;MAEhD,OAAAsB,YAAA,CAAAmC,GAAA;QAAA,OAEU5B,MAAM;QAAA,SACL,CACL,mBAAmB,EAClB,sBAAqBtB,KAAK,CAACd,SAAU,EAAC,EACvC;UACE,0BAA0B,EAAEkE,iBAAiB;UAC7C,wBAAwB,EAAEC;QAC5B,CAAC,CACF;QAAA,SACOJ,eAAe,CAACtB;MAAK;QAAAvC,OAAA,EAAAA,CAAA,MAAA2B,YAAA;UAAA,SAElB;QAAyB,IAChC4B,UAAU,CAAC,OAAO,EAAEpB,WAAW,CAACI,KAAK,CAAC,IAGxCL,MAAM,CAACK,KAAK,IAAIyB,iBAAiB,IAAIE,aAAa,IAAAvC,YAAA,CAAAjB,wBAAA;UAAA,OAE5C,OAAO;UAAA,QACN,OAAO;UAAA,eACEsC,eAAe;UAAA,WACnBd,MAAM,CAACK,KAAK;UAAA,cACTjC,MAAM,CAACiC;QAAK,QAE5B,EAECN,KAAK,CAACjC,OAAO,IAAI,EAEjBkC,MAAM,CAACK,KAAK,IAAI0B,eAAe,IAAIC,aAAa,IAAAvC,YAAA,CAAAjB,wBAAA;UAAA,OAE1C,KAAK;UAAA,QACJ,KAAK;UAAA,eACIsC,eAAe;UAAA,WACnBd,MAAM,CAACK,KAAK;UAAA,cACTjC,MAAM,CAACiC;QAAK,QAE5B,EAAAZ,YAAA;UAAA,SAEU;QAAyB,IAChC4B,UAAU,CAAC,KAAK,EAAEnB,SAAS,CAACG,KAAK,CAAC;MAAA;IAI5C,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -10097,7 +10097,7 @@ declare const VDateCard: {
|
|
|
10097
10097
|
} | undefined;
|
|
10098
10098
|
inputMode?: "calendar" | "keyboard" | undefined;
|
|
10099
10099
|
multiple?: boolean | undefined;
|
|
10100
|
-
range?:
|
|
10100
|
+
range?: string | boolean | undefined;
|
|
10101
10101
|
modelValue?: any[] | undefined;
|
|
10102
10102
|
collapseIcon?: string | undefined;
|
|
10103
10103
|
expandIcon?: string | undefined;
|
|
@@ -10458,7 +10458,7 @@ declare const VDateCard: {
|
|
|
10458
10458
|
};
|
|
10459
10459
|
inputMode: "calendar" | "keyboard";
|
|
10460
10460
|
multiple: boolean;
|
|
10461
|
-
range:
|
|
10461
|
+
range: string | boolean;
|
|
10462
10462
|
modelValue: any[];
|
|
10463
10463
|
collapseIcon: string;
|
|
10464
10464
|
expandIcon: string;
|
|
@@ -10743,7 +10743,7 @@ declare const VDateCard: {
|
|
|
10743
10743
|
};
|
|
10744
10744
|
inputMode: "calendar" | "keyboard";
|
|
10745
10745
|
multiple: boolean;
|
|
10746
|
-
range:
|
|
10746
|
+
range: string | boolean;
|
|
10747
10747
|
modelValue: any[];
|
|
10748
10748
|
collapseIcon: string;
|
|
10749
10749
|
expandIcon: string;
|
|
@@ -11020,7 +11020,7 @@ declare const VDateCard: {
|
|
|
11020
11020
|
};
|
|
11021
11021
|
inputMode: "calendar" | "keyboard";
|
|
11022
11022
|
multiple: boolean;
|
|
11023
|
-
range:
|
|
11023
|
+
range: string | boolean;
|
|
11024
11024
|
modelValue: any[];
|
|
11025
11025
|
collapseIcon: string;
|
|
11026
11026
|
expandIcon: string;
|
|
@@ -11302,7 +11302,7 @@ declare const VDateCard: {
|
|
|
11302
11302
|
};
|
|
11303
11303
|
inputMode: "calendar" | "keyboard";
|
|
11304
11304
|
multiple: boolean;
|
|
11305
|
-
range:
|
|
11305
|
+
range: string | boolean;
|
|
11306
11306
|
modelValue: any[];
|
|
11307
11307
|
collapseIcon: string;
|
|
11308
11308
|
expandIcon: string;
|
|
@@ -11587,7 +11587,7 @@ declare const VDateCard: {
|
|
|
11587
11587
|
};
|
|
11588
11588
|
inputMode: "calendar" | "keyboard";
|
|
11589
11589
|
multiple: boolean;
|
|
11590
|
-
range:
|
|
11590
|
+
range: string | boolean;
|
|
11591
11591
|
modelValue: any[];
|
|
11592
11592
|
collapseIcon: string;
|
|
11593
11593
|
expandIcon: string;
|
|
@@ -12073,11 +12073,6 @@ declare const VDateCard: {
|
|
|
12073
12073
|
showAdjacentMonths: BooleanConstructor;
|
|
12074
12074
|
hideWeekdays: BooleanConstructor;
|
|
12075
12075
|
showWeek: BooleanConstructor;
|
|
12076
|
-
range: {
|
|
12077
|
-
default: boolean;
|
|
12078
|
-
type: PropType<boolean | "end" | "start">;
|
|
12079
|
-
validator: (v: any) => boolean;
|
|
12080
|
-
};
|
|
12081
12076
|
hoverDate: null;
|
|
12082
12077
|
multiple: BooleanConstructor;
|
|
12083
12078
|
side: {
|
|
@@ -12103,6 +12098,11 @@ declare const VDateCard: {
|
|
|
12103
12098
|
type: StringConstructor[];
|
|
12104
12099
|
default: string;
|
|
12105
12100
|
};
|
|
12101
|
+
range: {
|
|
12102
|
+
default: boolean;
|
|
12103
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
12104
|
+
validator: (v: any) => boolean;
|
|
12105
|
+
};
|
|
12106
12106
|
cancelText: {
|
|
12107
12107
|
type: StringConstructor;
|
|
12108
12108
|
default: string;
|
|
@@ -12558,11 +12558,6 @@ declare const VDateCard: {
|
|
|
12558
12558
|
showAdjacentMonths: BooleanConstructor;
|
|
12559
12559
|
hideWeekdays: BooleanConstructor;
|
|
12560
12560
|
showWeek: BooleanConstructor;
|
|
12561
|
-
range: {
|
|
12562
|
-
default: boolean;
|
|
12563
|
-
type: PropType<boolean | "end" | "start">;
|
|
12564
|
-
validator: (v: any) => boolean;
|
|
12565
|
-
};
|
|
12566
12561
|
hoverDate: null;
|
|
12567
12562
|
multiple: BooleanConstructor;
|
|
12568
12563
|
side: {
|
|
@@ -12588,6 +12583,11 @@ declare const VDateCard: {
|
|
|
12588
12583
|
type: StringConstructor[];
|
|
12589
12584
|
default: string;
|
|
12590
12585
|
};
|
|
12586
|
+
range: {
|
|
12587
|
+
default: boolean;
|
|
12588
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
12589
|
+
validator: (v: any) => boolean;
|
|
12590
|
+
};
|
|
12591
12591
|
cancelText: {
|
|
12592
12592
|
type: StringConstructor;
|
|
12593
12593
|
default: string;
|
|
@@ -12615,7 +12615,7 @@ declare const VDatePicker: {
|
|
|
12615
12615
|
inputMode?: "calendar" | "keyboard" | undefined;
|
|
12616
12616
|
multiple?: boolean | undefined;
|
|
12617
12617
|
landscape?: boolean | undefined;
|
|
12618
|
-
range?:
|
|
12618
|
+
range?: string | boolean | undefined;
|
|
12619
12619
|
tag?: string | undefined;
|
|
12620
12620
|
rounded?: string | number | boolean | undefined;
|
|
12621
12621
|
modelValue?: any[] | undefined;
|
|
@@ -12747,7 +12747,7 @@ declare const VDatePicker: {
|
|
|
12747
12747
|
inputMode: "calendar" | "keyboard";
|
|
12748
12748
|
multiple: boolean;
|
|
12749
12749
|
landscape: boolean;
|
|
12750
|
-
range:
|
|
12750
|
+
range: string | boolean;
|
|
12751
12751
|
tag: string;
|
|
12752
12752
|
modelValue: any[];
|
|
12753
12753
|
collapseIcon: string;
|
|
@@ -12829,7 +12829,7 @@ declare const VDatePicker: {
|
|
|
12829
12829
|
inputMode: "calendar" | "keyboard";
|
|
12830
12830
|
multiple: boolean;
|
|
12831
12831
|
landscape: boolean;
|
|
12832
|
-
range:
|
|
12832
|
+
range: string | boolean;
|
|
12833
12833
|
tag: string;
|
|
12834
12834
|
rounded: string | number | boolean;
|
|
12835
12835
|
modelValue: any[];
|
|
@@ -12882,7 +12882,7 @@ declare const VDatePicker: {
|
|
|
12882
12882
|
inputMode: "calendar" | "keyboard";
|
|
12883
12883
|
multiple: boolean;
|
|
12884
12884
|
landscape: boolean;
|
|
12885
|
-
range:
|
|
12885
|
+
range: string | boolean;
|
|
12886
12886
|
tag: string;
|
|
12887
12887
|
modelValue: any[];
|
|
12888
12888
|
collapseIcon: string;
|
|
@@ -12960,7 +12960,7 @@ declare const VDatePicker: {
|
|
|
12960
12960
|
inputMode: "calendar" | "keyboard";
|
|
12961
12961
|
multiple: boolean;
|
|
12962
12962
|
landscape: boolean;
|
|
12963
|
-
range:
|
|
12963
|
+
range: string | boolean;
|
|
12964
12964
|
tag: string;
|
|
12965
12965
|
modelValue: any[];
|
|
12966
12966
|
collapseIcon: string;
|
|
@@ -13042,7 +13042,7 @@ declare const VDatePicker: {
|
|
|
13042
13042
|
inputMode: "calendar" | "keyboard";
|
|
13043
13043
|
multiple: boolean;
|
|
13044
13044
|
landscape: boolean;
|
|
13045
|
-
range:
|
|
13045
|
+
range: string | boolean;
|
|
13046
13046
|
tag: string;
|
|
13047
13047
|
rounded: string | number | boolean;
|
|
13048
13048
|
modelValue: any[];
|
|
@@ -13116,11 +13116,6 @@ declare const VDatePicker: {
|
|
|
13116
13116
|
showAdjacentMonths: BooleanConstructor;
|
|
13117
13117
|
hideWeekdays: BooleanConstructor;
|
|
13118
13118
|
showWeek: BooleanConstructor;
|
|
13119
|
-
range: {
|
|
13120
|
-
default: boolean;
|
|
13121
|
-
type: vue.PropType<boolean | "end" | "start">;
|
|
13122
|
-
validator: (v: any) => boolean;
|
|
13123
|
-
};
|
|
13124
13119
|
hoverDate: null;
|
|
13125
13120
|
multiple: BooleanConstructor;
|
|
13126
13121
|
side: {
|
|
@@ -13146,6 +13141,11 @@ declare const VDatePicker: {
|
|
|
13146
13141
|
type: StringConstructor[];
|
|
13147
13142
|
default: string;
|
|
13148
13143
|
};
|
|
13144
|
+
range: {
|
|
13145
|
+
default: boolean;
|
|
13146
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
13147
|
+
validator: (v: any) => boolean;
|
|
13148
|
+
};
|
|
13149
13149
|
inputMode: {
|
|
13150
13150
|
type: vue.PropType<"calendar" | "keyboard">;
|
|
13151
13151
|
default: string;
|
|
@@ -13223,11 +13223,6 @@ declare const VDatePicker: {
|
|
|
13223
13223
|
showAdjacentMonths: BooleanConstructor;
|
|
13224
13224
|
hideWeekdays: BooleanConstructor;
|
|
13225
13225
|
showWeek: BooleanConstructor;
|
|
13226
|
-
range: {
|
|
13227
|
-
default: boolean;
|
|
13228
|
-
type: vue.PropType<boolean | "end" | "start">;
|
|
13229
|
-
validator: (v: any) => boolean;
|
|
13230
|
-
};
|
|
13231
13226
|
hoverDate: null;
|
|
13232
13227
|
multiple: BooleanConstructor;
|
|
13233
13228
|
side: {
|
|
@@ -13253,6 +13248,11 @@ declare const VDatePicker: {
|
|
|
13253
13248
|
type: StringConstructor[];
|
|
13254
13249
|
default: string;
|
|
13255
13250
|
};
|
|
13251
|
+
range: {
|
|
13252
|
+
default: boolean;
|
|
13253
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
13254
|
+
validator: (v: any) => boolean;
|
|
13255
|
+
};
|
|
13256
13256
|
inputMode: {
|
|
13257
13257
|
type: vue.PropType<"calendar" | "keyboard">;
|
|
13258
13258
|
default: string;
|
|
@@ -13781,7 +13781,6 @@ declare const VDatePickerMonth: {
|
|
|
13781
13781
|
$props: {
|
|
13782
13782
|
color?: string | undefined;
|
|
13783
13783
|
multiple?: boolean | undefined;
|
|
13784
|
-
range?: boolean | "end" | "start" | undefined;
|
|
13785
13784
|
modelValue?: any[] | undefined;
|
|
13786
13785
|
displayDate?: any;
|
|
13787
13786
|
showAdjacentMonths?: boolean | undefined;
|
|
@@ -13864,7 +13863,6 @@ declare const VDatePickerMonth: {
|
|
|
13864
13863
|
$options: vue.ComponentOptionsBase<{
|
|
13865
13864
|
color: string;
|
|
13866
13865
|
multiple: boolean;
|
|
13867
|
-
range: boolean | "end" | "start";
|
|
13868
13866
|
modelValue: any[];
|
|
13869
13867
|
displayDate: any;
|
|
13870
13868
|
showAdjacentMonths: boolean;
|
|
@@ -13896,7 +13894,6 @@ declare const VDatePickerMonth: {
|
|
|
13896
13894
|
}, string, {
|
|
13897
13895
|
color: string;
|
|
13898
13896
|
multiple: boolean;
|
|
13899
|
-
range: boolean | "end" | "start";
|
|
13900
13897
|
modelValue: any[];
|
|
13901
13898
|
displayDate: any;
|
|
13902
13899
|
showAdjacentMonths: boolean;
|
|
@@ -13929,7 +13926,6 @@ declare const VDatePickerMonth: {
|
|
|
13929
13926
|
} & {
|
|
13930
13927
|
color: string;
|
|
13931
13928
|
multiple: boolean;
|
|
13932
|
-
range: boolean | "end" | "start";
|
|
13933
13929
|
modelValue: any[];
|
|
13934
13930
|
displayDate: any;
|
|
13935
13931
|
showAdjacentMonths: boolean;
|
|
@@ -13960,7 +13956,6 @@ declare const VDatePickerMonth: {
|
|
|
13960
13956
|
} & vue.ComponentOptionsBase<{
|
|
13961
13957
|
color: string;
|
|
13962
13958
|
multiple: boolean;
|
|
13963
|
-
range: boolean | "end" | "start";
|
|
13964
13959
|
modelValue: any[];
|
|
13965
13960
|
displayDate: any;
|
|
13966
13961
|
showAdjacentMonths: boolean;
|
|
@@ -13992,7 +13987,6 @@ declare const VDatePickerMonth: {
|
|
|
13992
13987
|
}, string, {
|
|
13993
13988
|
color: string;
|
|
13994
13989
|
multiple: boolean;
|
|
13995
|
-
range: boolean | "end" | "start";
|
|
13996
13990
|
modelValue: any[];
|
|
13997
13991
|
displayDate: any;
|
|
13998
13992
|
showAdjacentMonths: boolean;
|
|
@@ -14005,25 +13999,20 @@ declare const VDatePickerMonth: {
|
|
|
14005
13999
|
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
|
|
14006
14000
|
format: StringConstructor;
|
|
14007
14001
|
modelValue: {
|
|
14008
|
-
type: PropType<any[]>;
|
|
14002
|
+
type: vue.PropType<any[]>;
|
|
14009
14003
|
default: () => never[];
|
|
14010
14004
|
};
|
|
14011
14005
|
displayDate: {
|
|
14012
|
-
type: PropType<any>;
|
|
14006
|
+
type: vue.PropType<any>;
|
|
14013
14007
|
default: Date;
|
|
14014
14008
|
};
|
|
14015
14009
|
color: {
|
|
14016
|
-
type: PropType<string>;
|
|
14010
|
+
type: vue.PropType<string>;
|
|
14017
14011
|
default: string;
|
|
14018
14012
|
};
|
|
14019
14013
|
showAdjacentMonths: BooleanConstructor;
|
|
14020
14014
|
hideWeekdays: BooleanConstructor;
|
|
14021
14015
|
showWeek: BooleanConstructor;
|
|
14022
|
-
range: {
|
|
14023
|
-
default: boolean;
|
|
14024
|
-
type: PropType<boolean | "end" | "start">;
|
|
14025
|
-
validator: (v: any) => boolean;
|
|
14026
|
-
};
|
|
14027
14016
|
hoverDate: null;
|
|
14028
14017
|
multiple: BooleanConstructor;
|
|
14029
14018
|
side: {
|
|
@@ -14032,25 +14021,20 @@ declare const VDatePickerMonth: {
|
|
|
14032
14021
|
}, vue.ExtractPropTypes<{
|
|
14033
14022
|
format: StringConstructor;
|
|
14034
14023
|
modelValue: {
|
|
14035
|
-
type: PropType<any[]>;
|
|
14024
|
+
type: vue.PropType<any[]>;
|
|
14036
14025
|
default: () => never[];
|
|
14037
14026
|
};
|
|
14038
14027
|
displayDate: {
|
|
14039
|
-
type: PropType<any>;
|
|
14028
|
+
type: vue.PropType<any>;
|
|
14040
14029
|
default: Date;
|
|
14041
14030
|
};
|
|
14042
14031
|
color: {
|
|
14043
|
-
type: PropType<string>;
|
|
14032
|
+
type: vue.PropType<string>;
|
|
14044
14033
|
default: string;
|
|
14045
14034
|
};
|
|
14046
14035
|
showAdjacentMonths: BooleanConstructor;
|
|
14047
14036
|
hideWeekdays: BooleanConstructor;
|
|
14048
14037
|
showWeek: BooleanConstructor;
|
|
14049
|
-
range: {
|
|
14050
|
-
default: boolean;
|
|
14051
|
-
type: PropType<boolean | "end" | "start">;
|
|
14052
|
-
validator: (v: any) => boolean;
|
|
14053
|
-
};
|
|
14054
14038
|
hoverDate: null;
|
|
14055
14039
|
multiple: BooleanConstructor;
|
|
14056
14040
|
side: {
|
package/lib/util/helpers.mjs
CHANGED
|
@@ -443,5 +443,8 @@ export function focusChild(el, location) {
|
|
|
443
443
|
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
|
444
444
|
}
|
|
445
445
|
}
|
|
446
|
+
export function isEmpty(val) {
|
|
447
|
+
return val === null || val === undefined || typeof val === 'string' && val.trim() === '';
|
|
448
|
+
}
|
|
446
449
|
export function noop() {}
|
|
447
450
|
//# sourceMappingURL=helpers.mjs.map
|
package/lib/util/helpers.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","refElement","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","exclude","found","create","rest","some","RegExp","test","omit","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","items","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","_len","args","_key","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","getDecimals","trimmedStr","padEnd","char","repeat","padStart","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","cache","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","targets","s","join","querySelectorAll","focusChild","location","focusable","idx","document","activeElement","contains","focus","at","_el","idxx","inc","offsetParent","noop"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function refElement<T extends object | undefined> (obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement {\n return obj && '$el' in obj\n ? obj.$el as HTMLElement\n : obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[]\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}:not([tabindex=\"-1\"]):not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last') {\n const focusable = focusableChildren(el)\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let _el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n _el = focusable[idxx]\n } while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function noop () {}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","arguments","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","refElement","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","has","key","hasOwnProperty","pick","paths","exclude","found","create","rest","some","RegExp","test","omit","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","items","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","_len","args","_key","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","getDecimals","trimmedStr","padEnd","char","repeat","padStart","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","cache","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","_arr","WeakMap","_pointer","CircularBuffer","constructor","_classPrivateFieldInitSpec","writable","val","_classPrivateFieldGet","_classPrivateFieldSet","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","eventName","propName","EventProp","Function","hasEvent","name","callEvent","handler","_len2","_key2","h","focusableChildren","targets","s","join","querySelectorAll","focusChild","location","focusable","idx","document","activeElement","contains","focus","at","_el","idxx","inc","offsetParent","isEmpty","noop"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function refElement<T extends object | undefined> (obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement {\n return obj && '$el' in obj\n ? obj.$el as HTMLElement\n : obj as HTMLElement\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues: Record<string, string> = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O extends {}> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\nexport function has<T extends string> (obj: object, key: T[]): obj is Record<T, unknown> {\n return key.every(k => obj.hasOwnProperty(k))\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\n// Array of keys\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: U[], exclude?: E[]): [yes: MaybePick<T, Exclude<U, E>>, no: Omit<T, Exclude<U, E>>]\n// Array of keys or RegExp to test keys against\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>,\n E extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[], exclude?: E[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n ) && !exclude?.some(path => path === key)\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ntype IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;\nexport function wrapInArray<T> (\n v: T | null | undefined\n): T extends readonly any[]\n ? IfAny<T, T[], T>\n : NonNullable<T>[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v as any : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function getDecimals (value: number) {\n const trimmedStr = value.toString().trim()\n return trimmedStr.includes('.')\n ? (trimmedStr.length - trimmedStr.indexOf('.') - 1)\n : 0\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function padStart (str: string, length: number, char = '0') {\n return char.repeat(Math.max(0, length - str.length)) + str\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport function eventName (propName: string) {\n return propName[2].toLowerCase() + propName.slice(3)\n}\n\nexport type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[]\nexport const EventProp = <T extends any[] = any[]>() => [Function, Array] as PropType<EventProp<T>>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent<T extends any[]> (handler: EventProp<T> | undefined, ...args: T) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n\nexport function focusableChildren (el: Element) {\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]']\n .map(s => `${s}:not([tabindex=\"-1\"]):not([disabled])`)\n .join(', ')\n return [...el.querySelectorAll(targets)] as HTMLElement[]\n}\n\nexport function focusChild (el: Element, location?: 'next' | 'prev' | 'first' | 'last') {\n const focusable = focusableChildren(el)\n const idx = focusable.indexOf(document.activeElement as HTMLElement)\n\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus()\n }\n } else if (location === 'first') {\n focusable[0]?.focus()\n } else if (location === 'last') {\n focusable.at(-1)?.focus()\n } else {\n let _el\n let idxx = idx\n const inc = location === 'next' ? 1 : -1\n do {\n idxx += inc\n _el = focusable[idxx]\n } while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0)\n if (_el) _el.focus()\n else focusChild(el, location === 'next' ? 'first' : 'last')\n }\n}\n\nexport function isEmpty (val: any): boolean {\n return val === null || val === undefined || (typeof val === 'string' && val.trim() === '')\n}\n\nexport function noop () {}\n"],"mappings":"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"}
|
package/lib/util/injectSelf.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectSelf.mjs","names":["getCurrentInstance","injectSelf","key","provides"],"sources":["../../src/util/injectSelf.ts"],"sourcesContent":["// Utilities\nimport { getCurrentInstance } from '@/util/getCurrentInstance'\n\n// Types\nimport type { InjectionKey } from 'vue'\n\nexport function injectSelf<T>(key: InjectionKey<T> | string): T | undefined\nexport function injectSelf (key: InjectionKey<any> | string) {\n const { provides } = getCurrentInstance('injectSelf')\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,oCAE3B;AAIA,OAAO,SAASC,UAAUA,CAAEC,GAA+B,EAAE;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGH,kBAAkB,CAAC,YAAY,CAAC;EAErD,IAAIG,QAAQ,IAAKD,GAAG,IAAwBC,QAAQ,EAAE;IACpD;IACA,OAAOA,QAAQ,CAACD,GAAG,CAAW;EAChC;
|
|
1
|
+
{"version":3,"file":"injectSelf.mjs","names":["getCurrentInstance","injectSelf","key","provides","undefined"],"sources":["../../src/util/injectSelf.ts"],"sourcesContent":["// Utilities\nimport { getCurrentInstance } from '@/util/getCurrentInstance'\n\n// Types\nimport type { InjectionKey } from 'vue'\n\nexport function injectSelf<T>(key: InjectionKey<T> | string): T | undefined\nexport function injectSelf (key: InjectionKey<any> | string) {\n const { provides } = getCurrentInstance('injectSelf')\n\n if (provides && (key as string | symbol) in provides) {\n // TS doesn't allow symbol as index type\n return provides[key as string]\n }\n return undefined\n}\n"],"mappings":"AAAA;AAAA,SACSA,kBAAkB,oCAE3B;AAIA,OAAO,SAASC,UAAUA,CAAEC,GAA+B,EAAE;EAC3D,MAAM;IAAEC;EAAS,CAAC,GAAGH,kBAAkB,CAAC,YAAY,CAAC;EAErD,IAAIG,QAAQ,IAAKD,GAAG,IAAwBC,QAAQ,EAAE;IACpD;IACA,OAAOA,QAAQ,CAACD,GAAG,CAAW;EAChC;EACA,OAAOE,SAAS;AAClB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vuetify",
|
|
3
3
|
"description": "Vue Material Component Framework",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.6",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "John Leider",
|
|
7
7
|
"email": "john@vuetifyjs.com"
|
|
@@ -199,5 +199,5 @@
|
|
|
199
199
|
"attributes": "dist/json/attributes.json"
|
|
200
200
|
},
|
|
201
201
|
"web-types": "dist/json/web-types.json",
|
|
202
|
-
"gitHead": "
|
|
202
|
+
"gitHead": "f5c6a529808c8c06254fc2cc5574bd26d5abf76a"
|
|
203
203
|
}
|