@vuetify/nightly 3.6.13-pr-20185.5bf1ff4 → 3.6.14-master.2024-08-02
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 +96 -96
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +136 -136
- package/dist/json/web-types.json +188 -188
- package/dist/vuetify-labs.css +3094 -3095
- package/dist/vuetify-labs.esm.js +6 -6
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +6 -6
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2736 -2737
- package/dist/vuetify.d.ts +46 -46
- package/dist/vuetify.esm.js +6 -6
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +6 -6
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +5 -5
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -1
- package/lib/components/VCounter/VCounter.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/components/VDataTable/composables/options.mjs +1 -1
- package/lib/components/VDataTable/composables/options.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
- package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
- package/lib/components/VFab/VFab.mjs.map +1 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
- package/lib/components/VInput/InputIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSparkline/util/path.mjs.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/transitions/createTransition.mjs.map +1 -1
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/composables/border.mjs.map +1 -1
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/density.mjs.map +1 -1
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/elevation.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/goto.mjs.map +1 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/loader.mjs.map +1 -1
- package/lib/composables/locale.mjs.map +1 -1
- package/lib/composables/location.mjs.map +1 -1
- package/lib/composables/position.mjs.map +1 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/rounded.mjs.map +1 -1
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/size.mjs.map +1 -1
- package/lib/composables/teleport.mjs.map +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/touch.mjs.map +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs.map +1 -1
- package/lib/directives/color/index.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +46 -46
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/it.mjs.map +1 -1
- package/lib/services/goto/index.mjs.map +1 -1
- package/lib/services/goto/util.mjs.map +1 -1
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/console.mjs.map +1 -1
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- package/lib/util/helpers.mjs +2 -2
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","length","_createVNode","value","_Fragment","map","item","index","slotProps","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n const { mobile } = useDisplay(props)\n\n useRender(() => {\n if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableRows.mjs","names":["VDataTableGroupHeaderRow","VDataTableRow","useExpanded","useGroupBy","useHeaders","useSelection","makeDisplayProps","useDisplay","useLocale","Fragment","mergeProps","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVDataTableRowsProps","loading","Boolean","String","loadingText","type","default","hideNoData","items","Array","noDataText","rowProps","Object","Function","cellProps","VDataTableRows","name","inheritAttrs","props","setup","_ref","attrs","slots","columns","expandOnClick","toggleExpand","isExpanded","isSelected","toggleSelect","toggleGroup","isGroupOpen","t","mobile","length","_createVNode","value","_Fragment","map","item","index","slotProps","_mergeProps","id","raw","internalItem","itemSlotProps","key","onClick","undefined"],"sources":["../../../src/components/VDataTable/VDataTableRows.tsx"],"sourcesContent":["// Components\nimport { VDataTableGroupHeaderRow } from './VDataTableGroupHeaderRow'\nimport { VDataTableRow } from './VDataTableRow'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useGroupBy } from './composables/group'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { Fragment, mergeProps } from 'vue'\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Group } from './composables/group'\nimport type { CellProps, DataTableItem, GroupHeaderSlot, ItemSlot, RowProps } from './types'\nimport type { VDataTableGroupHeaderRowSlots } from './VDataTableGroupHeaderRow'\nimport type { VDataTableRowSlots } from './VDataTableRow'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {\n item: ItemSlot<T> & { props: Record<string, any> }\n loading: never\n 'group-header': GroupHeaderSlot\n 'no-data': never\n 'expanded-row': ItemSlot<T>\n}\n\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideNoData: Boolean,\n items: {\n type: Array as PropType<readonly (DataTableItem | Group)[]>,\n default: () => ([]),\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n rowProps: [Object, Function] as PropType<RowProps<any>>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n\n ...makeDisplayProps(),\n}, 'VDataTableRows')\n\nexport const VDataTableRows = genericComponent<new <T>(\n props: {\n items?: readonly (DataTableItem<T> | Group<T>)[]\n },\n slots: VDataTableRowsSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRows',\n\n inheritAttrs: false,\n\n props: makeVDataTableRowsProps(),\n\n setup (props, { attrs, slots }) {\n const { columns } = useHeaders()\n const { expandOnClick, toggleExpand, isExpanded } = useExpanded()\n const { isSelected, toggleSelect } = useSelection()\n const { toggleGroup, isGroupOpen } = useGroupBy()\n const { t } = useLocale()\n const { mobile } = useDisplay(props)\n\n useRender(() => {\n if (props.loading && (!props.items.length || slots.loading)) {\n return (\n <tr\n class=\"v-data-table-rows-loading\"\n key=\"loading\"\n >\n <td colspan={ columns.value.length }>\n { slots.loading?.() ?? t(props.loadingText) }\n </td>\n </tr>\n )\n }\n\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return (\n <tr\n class=\"v-data-table-rows-no-data\"\n key=\"no-data\"\n >\n <td colspan={ columns.value.length }>\n { slots['no-data']?.() ?? t(props.noDataText) }\n </td>\n </tr>\n )\n }\n\n return (\n <>\n { props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen,\n } satisfies GroupHeaderSlot\n\n return slots['group-header'] ? slots['group-header'](slotProps) : (\n <VDataTableGroupHeaderRow\n key={ `group-header_${item.id}` }\n item={ item }\n { ...getPrefixedEventHandlers(attrs, ':group-header', () => slotProps) }\n v-slots={ slots }\n />\n )\n }\n\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n } satisfies ItemSlot<any>\n\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps(\n {\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item)\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value,\n },\n getPrefixedEventHandlers(attrs, ':row', () => slotProps),\n typeof props.rowProps === 'function'\n ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem,\n })\n : props.rowProps,\n ),\n }\n\n return (\n <Fragment key={ itemSlotProps.props.key as string }>\n { slots.item ? slots.item(itemSlotProps) : (\n <VDataTableRow\n { ...itemSlotProps.props }\n v-slots={ slots }\n />\n )}\n\n { isExpanded(item) && slots['expanded-row']?.(slotProps) }\n </Fragment>\n )\n })}\n </>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableRows = InstanceType<typeof VDataTableRows>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","provide","ref","getObjectValueByPath","propsFactory","makeDataTableGroupProps","groupBy","type","Array","default","VDataTableGroupSymbol","Symbol","for","createGroupBy","props","provideGroupBy","options","disableSort","sortBy","opened","Set","sortByWithGroups","value","map","val","order","concat","isGroupOpen","group","has","id","toggleGroup","newOpened","add","delete","extractRows","items","dive","arr","item","push","key","depth","data","useGroupBy","Error","groupItemsByProperty","length","groups","Map","raw","set","get","groupItems","arguments","undefined","prefix","groupedItems","rest","slice","forEach","flattenItems","flatItems","useGroupedItems"],"sources":["../../../../src/components/VDataTable/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { getObjectValueByPath, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableItem } from '../types'\n\nexport interface GroupableItem<T = any> {\n type: 'item'\n raw: T\n}\n\nexport interface Group<T = any> {\n type: 'group'\n depth: number\n id: string\n key: string\n value: any\n items: readonly (T | Group<T>)[]\n}\n\nexport const makeDataTableGroupProps = propsFactory({\n groupBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n}, 'DataTable-group')\n\nconst VDataTableGroupSymbol: InjectionKey<{\n opened: Ref<Set<string>>\n toggleGroup: (group: Group) => void\n isGroupOpen: (group: Group) => boolean\n sortByWithGroups: Ref<SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n extractRows: (items: (DataTableItem | Group<DataTableItem>)[]) => DataTableItem[]\n}> = Symbol.for('vuetify:data-table-group')\n\ntype GroupProps = {\n groupBy: readonly SortItem[]\n 'onUpdate:groupBy': ((value: SortItem[]) => void) | undefined\n}\n\nexport function createGroupBy (props: GroupProps) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n return { groupBy }\n}\n\nexport function provideGroupBy (options: {\n groupBy: Ref<readonly SortItem[]>\n sortBy: Ref<readonly SortItem[]>\n disableSort?: Ref<boolean>\n}) {\n const { disableSort, groupBy, sortBy } = options\n const opened = ref(new Set<string>())\n\n const sortByWithGroups = computed(() => {\n return groupBy.value.map<SortItem>(val => ({\n ...val,\n order: val.order ?? false,\n })).concat(disableSort?.value ? [] : sortBy.value)\n })\n\n function isGroupOpen (group: Group) {\n return opened.value.has(group.id)\n }\n\n function toggleGroup (group: Group) {\n const newOpened = new Set(opened.value)\n if (!isGroupOpen(group)) newOpened.add(group.id)\n else newOpened.delete(group.id)\n\n opened.value = newOpened\n }\n\n function extractRows <T extends GroupableItem> (items: readonly (T | Group<T>)[]) {\n function dive (group: Group<T>): T[] {\n const arr = []\n\n for (const item of group.items) {\n if ('type' in item && item.type === 'group') {\n arr.push(...dive(item))\n } else {\n arr.push(item as T)\n }\n }\n\n return arr\n }\n return dive({ type: 'group', items, id: 'dummy', key: 'dummy', value: 'dummy', depth: 0 })\n }\n\n // onBeforeMount(() => {\n // for (const key of groupedItems.value.keys()) {\n // opened.value.add(key)\n // }\n // })\n\n const data = { sortByWithGroups, toggleGroup, opened, groupBy, extractRows, isGroupOpen }\n\n provide(VDataTableGroupSymbol, data)\n\n return data\n}\n\nexport function useGroupBy () {\n const data = inject(VDataTableGroupSymbol)\n\n if (!data) throw new Error('Missing group!')\n\n return data\n}\n\nfunction groupItemsByProperty <T extends GroupableItem> (items: readonly T[], groupBy: string) {\n if (!items.length) return []\n\n const groups = new Map<any, T[]>()\n for (const item of items) {\n const value = getObjectValueByPath(item.raw, groupBy)\n\n if (!groups.has(value)) {\n groups.set(value, [])\n }\n groups.get(value)!.push(item)\n }\n\n return groups\n}\n\nfunction groupItems <T extends GroupableItem> (items: readonly T[], groupBy: readonly string[], depth = 0, prefix = 'root') {\n if (!groupBy.length) return []\n\n const groupedItems = groupItemsByProperty(items, groupBy[0])\n const groups: Group<T>[] = []\n\n const rest = groupBy.slice(1)\n groupedItems.forEach((items, value) => {\n const key = groupBy[0]\n const id = `${prefix}_${key}_${value}`\n groups.push({\n depth,\n id,\n key,\n value,\n items: rest.length ? groupItems(items, rest, depth + 1, id) : items,\n type: 'group',\n })\n })\n\n return groups\n}\n\nfunction flattenItems <T extends GroupableItem> (items: readonly (T | Group<T>)[], opened: Set<string>): readonly (T | Group<T>)[] {\n const flatItems: (T | Group<T>)[] = []\n\n for (const item of items) {\n // TODO: make this better\n if ('type' in item && item.type === 'group') {\n if (item.value != null) {\n flatItems.push(item)\n }\n\n if (opened.has(item.id) || item.value == null) {\n flatItems.push(...flattenItems(item.items, opened))\n }\n } else {\n flatItems.push(item)\n }\n }\n\n return flatItems\n}\n\nexport function useGroupedItems <T extends GroupableItem> (\n items: Ref<T[]>,\n groupBy: Ref<readonly SortItem[]>,\n opened: Ref<Set<string>>\n) {\n const flatItems = computed(() => {\n if (!groupBy.value.length) return items.value\n\n const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key))\n\n return flattenItems(groupedItems, opened.value)\n })\n\n return { flatItems }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"group.mjs","names":["useProxiedModel","computed","inject","provide","ref","getObjectValueByPath","propsFactory","makeDataTableGroupProps","groupBy","type","Array","default","VDataTableGroupSymbol","Symbol","for","createGroupBy","props","provideGroupBy","options","disableSort","sortBy","opened","Set","sortByWithGroups","value","map","val","order","concat","isGroupOpen","group","has","id","toggleGroup","newOpened","add","delete","extractRows","items","dive","arr","item","push","key","depth","data","useGroupBy","Error","groupItemsByProperty","length","groups","Map","raw","set","get","groupItems","arguments","undefined","prefix","groupedItems","rest","slice","forEach","flattenItems","flatItems","useGroupedItems"],"sources":["../../../../src/components/VDataTable/composables/group.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { getObjectValueByPath, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableItem } from '../types'\n\nexport interface GroupableItem<T = any> {\n type: 'item'\n raw: T\n}\n\nexport interface Group<T = any> {\n type: 'group'\n depth: number\n id: string\n key: string\n value: any\n items: readonly (T | Group<T>)[]\n}\n\nexport const makeDataTableGroupProps = propsFactory({\n groupBy: {\n type: Array as PropType<readonly SortItem[]>,\n default: () => ([]),\n },\n}, 'DataTable-group')\n\nconst VDataTableGroupSymbol: InjectionKey<{\n opened: Ref<Set<string>>\n toggleGroup: (group: Group) => void\n isGroupOpen: (group: Group) => boolean\n sortByWithGroups: Ref<SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n extractRows: (items: (DataTableItem | Group<DataTableItem>)[]) => DataTableItem[]\n}> = Symbol.for('vuetify:data-table-group')\n\ntype GroupProps = {\n groupBy: readonly SortItem[]\n 'onUpdate:groupBy': ((value: SortItem[]) => void) | undefined\n}\n\nexport function createGroupBy (props: GroupProps) {\n const groupBy = useProxiedModel(props, 'groupBy')\n\n return { groupBy }\n}\n\nexport function provideGroupBy (options: {\n groupBy: Ref<readonly SortItem[]>\n sortBy: Ref<readonly SortItem[]>\n disableSort?: Ref<boolean>\n}) {\n const { disableSort, groupBy, sortBy } = options\n const opened = ref(new Set<string>())\n\n const sortByWithGroups = computed(() => {\n return groupBy.value.map<SortItem>(val => ({\n ...val,\n order: val.order ?? false,\n })).concat(disableSort?.value ? [] : sortBy.value)\n })\n\n function isGroupOpen (group: Group) {\n return opened.value.has(group.id)\n }\n\n function toggleGroup (group: Group) {\n const newOpened = new Set(opened.value)\n if (!isGroupOpen(group)) newOpened.add(group.id)\n else newOpened.delete(group.id)\n\n opened.value = newOpened\n }\n\n function extractRows <T extends GroupableItem> (items: readonly (T | Group<T>)[]) {\n function dive (group: Group<T>): T[] {\n const arr = []\n\n for (const item of group.items) {\n if ('type' in item && item.type === 'group') {\n arr.push(...dive(item))\n } else {\n arr.push(item as T)\n }\n }\n\n return arr\n }\n return dive({ type: 'group', items, id: 'dummy', key: 'dummy', value: 'dummy', depth: 0 })\n }\n\n // onBeforeMount(() => {\n // for (const key of groupedItems.value.keys()) {\n // opened.value.add(key)\n // }\n // })\n\n const data = { sortByWithGroups, toggleGroup, opened, groupBy, extractRows, isGroupOpen }\n\n provide(VDataTableGroupSymbol, data)\n\n return data\n}\n\nexport function useGroupBy () {\n const data = inject(VDataTableGroupSymbol)\n\n if (!data) throw new Error('Missing group!')\n\n return data\n}\n\nfunction groupItemsByProperty <T extends GroupableItem> (items: readonly T[], groupBy: string) {\n if (!items.length) return []\n\n const groups = new Map<any, T[]>()\n for (const item of items) {\n const value = getObjectValueByPath(item.raw, groupBy)\n\n if (!groups.has(value)) {\n groups.set(value, [])\n }\n groups.get(value)!.push(item)\n }\n\n return groups\n}\n\nfunction groupItems <T extends GroupableItem> (items: readonly T[], groupBy: readonly string[], depth = 0, prefix = 'root') {\n if (!groupBy.length) return []\n\n const groupedItems = groupItemsByProperty(items, groupBy[0])\n const groups: Group<T>[] = []\n\n const rest = groupBy.slice(1)\n groupedItems.forEach((items, value) => {\n const key = groupBy[0]\n const id = `${prefix}_${key}_${value}`\n groups.push({\n depth,\n id,\n key,\n value,\n items: rest.length ? groupItems(items, rest, depth + 1, id) : items,\n type: 'group',\n })\n })\n\n return groups\n}\n\nfunction flattenItems <T extends GroupableItem> (items: readonly (T | Group<T>)[], opened: Set<string>): readonly (T | Group<T>)[] {\n const flatItems: (T | Group<T>)[] = []\n\n for (const item of items) {\n // TODO: make this better\n if ('type' in item && item.type === 'group') {\n if (item.value != null) {\n flatItems.push(item)\n }\n\n if (opened.has(item.id) || item.value == null) {\n flatItems.push(...flattenItems(item.items, opened))\n }\n } else {\n flatItems.push(item)\n }\n }\n\n return flatItems\n}\n\nexport function useGroupedItems <T extends GroupableItem> (\n items: Ref<T[]>,\n groupBy: Ref<readonly SortItem[]>,\n opened: Ref<Set<string>>\n) {\n const flatItems = computed(() => {\n if (!groupBy.value.length) return items.value\n\n const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key))\n\n return flattenItems(groupedItems, opened.value)\n })\n\n return { flatItems }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"headers.mjs","names":["capitalize","inject","provide","ref","watchEffect","consoleError","propsFactory","makeDataTableHeaderProps","headers","Array","VDataTableHeadersSymbol","Symbol","for","defaultHeader","title","sortable","defaultActionHeader","width","priorityQueue","arr","arguments","length","undefined","queue","map","element","priority","enqueue","added","i","item","splice","push","size","count","whole","Math","floor","dequeue","shift","extractLeaves","columns","children","child","extractKeys","keys","Set","key","add","getDefaultItem","includes","getDepth","depth","max","parseFixedColumns","items","seenFixed","setFixed","parentFixed","fixed","lastFixed","isNaN","setFixedOffset","fixedOffset","parseFloat","parse","maxDepth","currentDepth","rowSize","row","fraction","diff","rowspan","colspan","sort","pow","flat","convertToInternalHeaders","internalHeaders","defaultItem","value","internalItem","createHeaders","props","options","sortFunctions","sortRawFunctions","filterFunctions","_headers","Object","slice","groupBy","has","unshift","showSelect","showExpand","parsed","flatHeaders","header","sortRaw","filter","data","useHeaders","Error"],"sources":["../../../../src/components/VDataTable/composables/headers.ts"],"sourcesContent":["// Utilities\nimport { capitalize, inject, provide, ref, watchEffect } from 'vue'\nimport { consoleError, propsFactory } from '@/util'\n\n// Types\nimport type { DeepReadonly, InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableCompareFunction, DataTableHeader, InternalDataTableHeader } from '../types'\nimport type { FilterKeyFunctions } from '@/composables/filter'\n\nexport const makeDataTableHeaderProps = propsFactory({\n headers: Array as PropType<DeepReadonly<DataTableHeader[]>>,\n}, 'DataTable-header')\n\nexport const VDataTableHeadersSymbol: InjectionKey<{\n headers: Ref<InternalDataTableHeader[][]>\n columns: Ref<InternalDataTableHeader[]>\n}> = Symbol.for('vuetify:data-table-headers')\n\ntype HeaderProps = {\n headers: DeepReadonly<DataTableHeader[]> | undefined\n items: any[]\n}\n\nconst defaultHeader = { title: '', sortable: false }\nconst defaultActionHeader = { ...defaultHeader, width: 48 }\n\nfunction priorityQueue <T> (arr: T[] = []) {\n const queue: { element: T, priority: number }[] = arr.map(element => ({ element, priority: 0 }))\n\n return {\n enqueue: (element: T, priority: number) => {\n let added = false\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i]\n if (item.priority > priority) {\n queue.splice(i, 0, { element, priority })\n added = true\n break\n }\n }\n\n if (!added) queue.push({ element, priority })\n },\n size: () => queue.length,\n count: () => {\n let count = 0\n\n if (!queue.length) return 0\n\n const whole = Math.floor(queue[0].priority)\n for (let i = 0; i < queue.length; i++) {\n if (Math.floor(queue[i].priority) === whole) count += 1\n }\n\n return count\n },\n dequeue: () => {\n return queue.shift()\n },\n }\n}\n\nfunction extractLeaves (item: InternalDataTableHeader, columns: InternalDataTableHeader[] = []) {\n if (!item.children) {\n columns.push(item)\n } else {\n for (const child of item.children) {\n extractLeaves(child, columns)\n }\n }\n\n return columns\n}\n\nfunction extractKeys (headers: DeepReadonly<DataTableHeader[]>, keys = new Set<string>()) {\n for (const item of headers) {\n if (item.key) keys.add(item.key)\n\n if (item.children) {\n extractKeys(item.children, keys)\n }\n }\n\n return keys\n}\n\nfunction getDefaultItem (item: DeepReadonly<DataTableHeader>) {\n if (!item.key) return undefined\n if (item.key === 'data-table-group') return defaultHeader\n if (['data-table-expand', 'data-table-select'].includes(item.key)) return defaultActionHeader\n return undefined\n}\n\nfunction getDepth (item: InternalDataTableHeader, depth = 0): number {\n if (!item.children) return depth\n\n return Math.max(depth, ...item.children.map(child => getDepth(child, depth + 1)))\n}\n\nfunction parseFixedColumns (items: InternalDataTableHeader[]) {\n let seenFixed = false\n function setFixed (item: InternalDataTableHeader, parentFixed = false) {\n if (!item) return\n\n if (parentFixed) {\n item.fixed = true\n }\n\n if (item.fixed) {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i], true)\n }\n } else {\n if (!seenFixed) {\n item.lastFixed = true\n } else if (isNaN(+item.width!)) {\n consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`)\n }\n seenFixed = true\n }\n } else {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i])\n }\n } else {\n seenFixed = false\n }\n }\n }\n\n for (let i = items.length - 1; i >= 0; i--) {\n setFixed(items[i])\n }\n\n function setFixedOffset (item: InternalDataTableHeader, fixedOffset = 0) {\n if (!item) return fixedOffset\n\n if (item.children) {\n item.fixedOffset = fixedOffset\n for (const child of item.children) {\n fixedOffset = setFixedOffset(child, fixedOffset)\n }\n } else if (item.fixed) {\n item.fixedOffset = fixedOffset\n fixedOffset += parseFloat(item.width || '0') || 0\n }\n\n return fixedOffset\n }\n\n let fixedOffset = 0\n for (const item of items) {\n fixedOffset = setFixedOffset(item, fixedOffset)\n }\n}\n\nfunction parse (items: InternalDataTableHeader[], maxDepth: number) {\n const headers: InternalDataTableHeader[][] = []\n let currentDepth = 0\n const queue = priorityQueue(items)\n\n while (queue.size() > 0) {\n let rowSize = queue.count()\n const row: InternalDataTableHeader[] = []\n let fraction = 1\n while (rowSize > 0) {\n const { element: item, priority } = queue.dequeue()!\n const diff = maxDepth - currentDepth - getDepth(item)\n\n row.push({\n ...item,\n rowspan: diff ?? 1,\n colspan: item.children ? extractLeaves(item).length : 1,\n })\n\n if (item.children) {\n for (const child of item.children) {\n // This internally sorts items that are on the same priority \"row\"\n const sort = priority % 1 + (fraction / Math.pow(10, currentDepth + 2))\n queue.enqueue(child, currentDepth + diff + sort)\n }\n }\n\n fraction += 1\n rowSize -= 1\n }\n currentDepth += 1\n headers.push(row)\n }\n\n const columns = items.map(item => extractLeaves(item)).flat()\n\n return { columns, headers }\n}\n\nfunction convertToInternalHeaders (items: DeepReadonly<DataTableHeader[]>) {\n const internalHeaders: InternalDataTableHeader[] = []\n for (const item of items) {\n const defaultItem = { ...getDefaultItem(item), ...item }\n const key = defaultItem.key ?? (typeof defaultItem.value === 'string' ? defaultItem.value : null)\n const value = defaultItem.value ?? key ?? null\n const internalItem: InternalDataTableHeader = {\n ...defaultItem,\n key,\n value,\n sortable: defaultItem.sortable ?? (defaultItem.key != null || !!defaultItem.sort),\n children: defaultItem.children ? convertToInternalHeaders(defaultItem.children) : undefined,\n }\n\n internalHeaders.push(internalItem)\n }\n\n return internalHeaders\n}\n\nexport function createHeaders (\n props: HeaderProps,\n options?: {\n groupBy?: Ref<readonly SortItem[]>\n showSelect?: Ref<boolean>\n showExpand?: Ref<boolean>\n }\n) {\n const headers = ref<InternalDataTableHeader[][]>([])\n const columns = ref<InternalDataTableHeader[]>([])\n const sortFunctions = ref<Record<string, DataTableCompareFunction>>({})\n const sortRawFunctions = ref<Record<string, DataTableCompareFunction>>({})\n const filterFunctions = ref<FilterKeyFunctions>({})\n\n watchEffect(() => {\n const _headers = props.headers ||\n Object.keys(props.items[0] ?? {}).map(key => ({ key, title: capitalize(key) })) as never\n\n const items = _headers.slice()\n const keys = extractKeys(items)\n\n if (options?.groupBy?.value.length && !keys.has('data-table-group')) {\n items.unshift({ key: 'data-table-group', title: 'Group' })\n }\n\n if (options?.showSelect?.value && !keys.has('data-table-select')) {\n items.unshift({ key: 'data-table-select' })\n }\n\n if (options?.showExpand?.value && !keys.has('data-table-expand')) {\n items.push({ key: 'data-table-expand' })\n }\n\n const internalHeaders = convertToInternalHeaders(items)\n\n parseFixedColumns(internalHeaders)\n\n const maxDepth = Math.max(...internalHeaders.map(item => getDepth(item))) + 1\n const parsed = parse(internalHeaders, maxDepth)\n\n headers.value = parsed.headers\n columns.value = parsed.columns\n\n const flatHeaders = parsed.headers.flat(1)\n\n for (const header of flatHeaders) {\n if (!header.key) continue\n\n if (header.sortable) {\n if (header.sort) {\n sortFunctions.value[header.key] = header.sort\n }\n\n if (header.sortRaw) {\n sortRawFunctions.value[header.key] = header.sortRaw\n }\n }\n\n if (header.filter) {\n filterFunctions.value[header.key] = header.filter\n }\n }\n })\n\n const data = { headers, columns, sortFunctions, sortRawFunctions, filterFunctions }\n\n provide(VDataTableHeadersSymbol, data)\n\n return data\n}\n\nexport function useHeaders () {\n const data = inject(VDataTableHeadersSymbol)\n\n if (!data) throw new Error('Missing headers!')\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"headers.mjs","names":["capitalize","inject","provide","ref","watchEffect","consoleError","propsFactory","makeDataTableHeaderProps","headers","Array","VDataTableHeadersSymbol","Symbol","for","defaultHeader","title","sortable","defaultActionHeader","width","priorityQueue","arr","arguments","length","undefined","queue","map","element","priority","enqueue","added","i","item","splice","push","size","count","whole","Math","floor","dequeue","shift","extractLeaves","columns","children","child","extractKeys","keys","Set","key","add","getDefaultItem","includes","getDepth","depth","max","parseFixedColumns","items","seenFixed","setFixed","parentFixed","fixed","lastFixed","isNaN","setFixedOffset","fixedOffset","parseFloat","parse","maxDepth","currentDepth","rowSize","row","fraction","diff","rowspan","colspan","sort","pow","flat","convertToInternalHeaders","internalHeaders","defaultItem","value","internalItem","createHeaders","props","options","sortFunctions","sortRawFunctions","filterFunctions","_headers","Object","slice","groupBy","has","unshift","showSelect","showExpand","parsed","flatHeaders","header","sortRaw","filter","data","useHeaders","Error"],"sources":["../../../../src/components/VDataTable/composables/headers.ts"],"sourcesContent":["// Utilities\nimport { capitalize, inject, provide, ref, watchEffect } from 'vue'\nimport { consoleError, propsFactory } from '@/util'\n\n// Types\nimport type { DeepReadonly, InjectionKey, PropType, Ref } from 'vue'\nimport type { SortItem } from './sort'\nimport type { DataTableCompareFunction, DataTableHeader, InternalDataTableHeader } from '../types'\nimport type { FilterKeyFunctions } from '@/composables/filter'\n\nexport const makeDataTableHeaderProps = propsFactory({\n headers: Array as PropType<DeepReadonly<DataTableHeader[]>>,\n}, 'DataTable-header')\n\nexport const VDataTableHeadersSymbol: InjectionKey<{\n headers: Ref<InternalDataTableHeader[][]>\n columns: Ref<InternalDataTableHeader[]>\n}> = Symbol.for('vuetify:data-table-headers')\n\ntype HeaderProps = {\n headers: DeepReadonly<DataTableHeader[]> | undefined\n items: any[]\n}\n\nconst defaultHeader = { title: '', sortable: false }\nconst defaultActionHeader = { ...defaultHeader, width: 48 }\n\nfunction priorityQueue <T> (arr: T[] = []) {\n const queue: { element: T, priority: number }[] = arr.map(element => ({ element, priority: 0 }))\n\n return {\n enqueue: (element: T, priority: number) => {\n let added = false\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i]\n if (item.priority > priority) {\n queue.splice(i, 0, { element, priority })\n added = true\n break\n }\n }\n\n if (!added) queue.push({ element, priority })\n },\n size: () => queue.length,\n count: () => {\n let count = 0\n\n if (!queue.length) return 0\n\n const whole = Math.floor(queue[0].priority)\n for (let i = 0; i < queue.length; i++) {\n if (Math.floor(queue[i].priority) === whole) count += 1\n }\n\n return count\n },\n dequeue: () => {\n return queue.shift()\n },\n }\n}\n\nfunction extractLeaves (item: InternalDataTableHeader, columns: InternalDataTableHeader[] = []) {\n if (!item.children) {\n columns.push(item)\n } else {\n for (const child of item.children) {\n extractLeaves(child, columns)\n }\n }\n\n return columns\n}\n\nfunction extractKeys (headers: DeepReadonly<DataTableHeader[]>, keys = new Set<string>()) {\n for (const item of headers) {\n if (item.key) keys.add(item.key)\n\n if (item.children) {\n extractKeys(item.children, keys)\n }\n }\n\n return keys\n}\n\nfunction getDefaultItem (item: DeepReadonly<DataTableHeader>) {\n if (!item.key) return undefined\n if (item.key === 'data-table-group') return defaultHeader\n if (['data-table-expand', 'data-table-select'].includes(item.key)) return defaultActionHeader\n return undefined\n}\n\nfunction getDepth (item: InternalDataTableHeader, depth = 0): number {\n if (!item.children) return depth\n\n return Math.max(depth, ...item.children.map(child => getDepth(child, depth + 1)))\n}\n\nfunction parseFixedColumns (items: InternalDataTableHeader[]) {\n let seenFixed = false\n function setFixed (item: InternalDataTableHeader, parentFixed = false) {\n if (!item) return\n\n if (parentFixed) {\n item.fixed = true\n }\n\n if (item.fixed) {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i], true)\n }\n } else {\n if (!seenFixed) {\n item.lastFixed = true\n } else if (isNaN(+item.width!)) {\n consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`)\n }\n seenFixed = true\n }\n } else {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i])\n }\n } else {\n seenFixed = false\n }\n }\n }\n\n for (let i = items.length - 1; i >= 0; i--) {\n setFixed(items[i])\n }\n\n function setFixedOffset (item: InternalDataTableHeader, fixedOffset = 0) {\n if (!item) return fixedOffset\n\n if (item.children) {\n item.fixedOffset = fixedOffset\n for (const child of item.children) {\n fixedOffset = setFixedOffset(child, fixedOffset)\n }\n } else if (item.fixed) {\n item.fixedOffset = fixedOffset\n fixedOffset += parseFloat(item.width || '0') || 0\n }\n\n return fixedOffset\n }\n\n let fixedOffset = 0\n for (const item of items) {\n fixedOffset = setFixedOffset(item, fixedOffset)\n }\n}\n\nfunction parse (items: InternalDataTableHeader[], maxDepth: number) {\n const headers: InternalDataTableHeader[][] = []\n let currentDepth = 0\n const queue = priorityQueue(items)\n\n while (queue.size() > 0) {\n let rowSize = queue.count()\n const row: InternalDataTableHeader[] = []\n let fraction = 1\n while (rowSize > 0) {\n const { element: item, priority } = queue.dequeue()!\n const diff = maxDepth - currentDepth - getDepth(item)\n\n row.push({\n ...item,\n rowspan: diff ?? 1,\n colspan: item.children ? extractLeaves(item).length : 1,\n })\n\n if (item.children) {\n for (const child of item.children) {\n // This internally sorts items that are on the same priority \"row\"\n const sort = priority % 1 + (fraction / Math.pow(10, currentDepth + 2))\n queue.enqueue(child, currentDepth + diff + sort)\n }\n }\n\n fraction += 1\n rowSize -= 1\n }\n currentDepth += 1\n headers.push(row)\n }\n\n const columns = items.map(item => extractLeaves(item)).flat()\n\n return { columns, headers }\n}\n\nfunction convertToInternalHeaders (items: DeepReadonly<DataTableHeader[]>) {\n const internalHeaders: InternalDataTableHeader[] = []\n for (const item of items) {\n const defaultItem = { ...getDefaultItem(item), ...item }\n const key = defaultItem.key ?? (typeof defaultItem.value === 'string' ? defaultItem.value : null)\n const value = defaultItem.value ?? key ?? null\n const internalItem: InternalDataTableHeader = {\n ...defaultItem,\n key,\n value,\n sortable: defaultItem.sortable ?? (defaultItem.key != null || !!defaultItem.sort),\n children: defaultItem.children ? convertToInternalHeaders(defaultItem.children) : undefined,\n }\n\n internalHeaders.push(internalItem)\n }\n\n return internalHeaders\n}\n\nexport function createHeaders (\n props: HeaderProps,\n options?: {\n groupBy?: Ref<readonly SortItem[]>\n showSelect?: Ref<boolean>\n showExpand?: Ref<boolean>\n }\n) {\n const headers = ref<InternalDataTableHeader[][]>([])\n const columns = ref<InternalDataTableHeader[]>([])\n const sortFunctions = ref<Record<string, DataTableCompareFunction>>({})\n const sortRawFunctions = ref<Record<string, DataTableCompareFunction>>({})\n const filterFunctions = ref<FilterKeyFunctions>({})\n\n watchEffect(() => {\n const _headers = props.headers ||\n Object.keys(props.items[0] ?? {}).map(key => ({ key, title: capitalize(key) })) as never\n\n const items = _headers.slice()\n const keys = extractKeys(items)\n\n if (options?.groupBy?.value.length && !keys.has('data-table-group')) {\n items.unshift({ key: 'data-table-group', title: 'Group' })\n }\n\n if (options?.showSelect?.value && !keys.has('data-table-select')) {\n items.unshift({ key: 'data-table-select' })\n }\n\n if (options?.showExpand?.value && !keys.has('data-table-expand')) {\n items.push({ key: 'data-table-expand' })\n }\n\n const internalHeaders = convertToInternalHeaders(items)\n\n parseFixedColumns(internalHeaders)\n\n const maxDepth = Math.max(...internalHeaders.map(item => getDepth(item))) + 1\n const parsed = parse(internalHeaders, maxDepth)\n\n headers.value = parsed.headers\n columns.value = parsed.columns\n\n const flatHeaders = parsed.headers.flat(1)\n\n for (const header of flatHeaders) {\n if (!header.key) continue\n\n if (header.sortable) {\n if (header.sort) {\n sortFunctions.value[header.key] = header.sort\n }\n\n if (header.sortRaw) {\n sortRawFunctions.value[header.key] = header.sortRaw\n }\n }\n\n if (header.filter) {\n filterFunctions.value[header.key] = header.filter\n }\n }\n })\n\n const data = { headers, columns, sortFunctions, sortRawFunctions, filterFunctions }\n\n provide(VDataTableHeadersSymbol, data)\n\n return data\n}\n\nexport function useHeaders () {\n const data = inject(VDataTableHeadersSymbol)\n\n if (!data) throw new Error('Missing headers!')\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -22,7 +22,7 @@ export function useOptions(_ref) {
|
|
22
22
|
if (deepEqual(oldOptions, options.value)) return;
|
23
23
|
|
24
24
|
// Reset page when searching
|
25
|
-
if (oldOptions
|
25
|
+
if (oldOptions && oldOptions.search !== options.value.search) {
|
26
26
|
page.value = 1;
|
27
27
|
}
|
28
28
|
vm.emit('update:options', options.value);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"options.mjs","names":["computed","watch","deepEqual","getCurrentInstance","useOptions","_ref","page","itemsPerPage","sortBy","groupBy","search","vm","options","value","oldOptions","emit","deep","immediate"],"sources":["../../../../src/components/VDataTable/composables/options.ts"],"sourcesContent":["// Utilities\nimport { computed, watch } from 'vue'\nimport { deepEqual, getCurrentInstance } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { SortItem } from './sort'\n\nexport function useOptions ({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n}: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n sortBy: Ref<readonly SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n search: Ref<string | undefined>\n}) {\n const vm = getCurrentInstance('VDataTable')\n\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n search: search.value,\n }))\n\n let oldOptions: typeof options.value | null = null\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return\n\n // Reset page when searching\n if (oldOptions
|
1
|
+
{"version":3,"file":"options.mjs","names":["computed","watch","deepEqual","getCurrentInstance","useOptions","_ref","page","itemsPerPage","sortBy","groupBy","search","vm","options","value","oldOptions","emit","deep","immediate"],"sources":["../../../../src/components/VDataTable/composables/options.ts"],"sourcesContent":["// Utilities\nimport { computed, watch } from 'vue'\nimport { deepEqual, getCurrentInstance } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nimport type { SortItem } from './sort'\n\nexport function useOptions ({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search,\n}: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n sortBy: Ref<readonly SortItem[]>\n groupBy: Ref<readonly SortItem[]>\n search: Ref<string | undefined>\n}) {\n const vm = getCurrentInstance('VDataTable')\n\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n search: search.value,\n }))\n\n let oldOptions: typeof options.value | null = null\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return\n\n // Reset page when searching\n if (oldOptions && oldOptions.search !== options.value.search) {\n page.value = 1\n }\n\n vm.emit('update:options', options.value)\n oldOptions = options.value\n }, { deep: true, immediate: true })\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,SAAS,EAAEC,kBAAkB,mCAEtC;AAIA,OAAO,SAASC,UAAUA,CAAAC,IAAA,EAYvB;EAAA,IAZyB;IAC1BC,IAAI;IACJC,YAAY;IACZC,MAAM;IACNC,OAAO;IACPC;EAOF,CAAC,GAAAL,IAAA;EACC,MAAMM,EAAE,GAAGR,kBAAkB,CAAC,YAAY,CAAC;EAE3C,MAAMS,OAAO,GAAGZ,QAAQ,CAAC,OAAO;IAC9BM,IAAI,EAAEA,IAAI,CAACO,KAAK;IAChBN,YAAY,EAAEA,YAAY,CAACM,KAAK;IAChCL,MAAM,EAAEA,MAAM,CAACK,KAAK;IACpBJ,OAAO,EAAEA,OAAO,CAACI,KAAK;IACtBH,MAAM,EAAEA,MAAM,CAACG;EACjB,CAAC,CAAC,CAAC;EAEH,IAAIC,UAAuC,GAAG,IAAI;EAClDb,KAAK,CAACW,OAAO,EAAE,MAAM;IACnB,IAAIV,SAAS,CAACY,UAAU,EAAEF,OAAO,CAACC,KAAK,CAAC,EAAE;;IAE1C;IACA,IAAIC,UAAU,IAAIA,UAAU,CAACJ,MAAM,KAAKE,OAAO,CAACC,KAAK,CAACH,MAAM,EAAE;MAC5DJ,IAAI,CAACO,KAAK,GAAG,CAAC;IAChB;IAEAF,EAAE,CAACI,IAAI,CAAC,gBAAgB,EAAEH,OAAO,CAACC,KAAK,CAAC;IACxCC,UAAU,GAAGF,OAAO,CAACC,KAAK;EAC5B,CAAC,EAAE;IAAEG,IAAI,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;AACrC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePicker.mjs","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","model","undefined","v","multiple","viewMode","internal","value","isValid","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","minDate","min","maxDate","max","disabled","targets","push","_date","addDays","isAfter","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","isBefore","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n const internal = computed(() => {\n const value = adapter.date(model.value?.[0])\n\n return value && adapter.isValid(value) ? value : adapter.date()\n })\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.setYear(_date, year.value)\n _date = adapter.setMonth(_date, month.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePicker.mjs","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","model","undefined","v","multiple","viewMode","internal","value","isValid","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","minDate","min","maxDate","max","disabled","targets","push","_date","addDays","isAfter","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","isBefore","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n const internal = computed(() => {\n const value = adapter.date(model.value?.[0])\n\n return value && adapter.isValid(value) ? value : adapter.date()\n })\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.setYear(_date, year.value)\n _date = adapter.setMonth(_date, month.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,4BAA4B,EAAEC,mBAAmB;AAAA,SACjDC,iBAAiB;AAAA,SACjBC,yBAAyB,EAAEC,gBAAgB;AAAA,SAC3CC,0BAA0B,EAAEC,iBAAiB;AAAA,SAC7CC,yBAAyB,EAAEC,gBAAgB;AAAA,SAC3CC,eAAe;AAAA,SACfC,iBAAiB;AAAA,SACjBC,gBAAgB,EAAEC,OAAO,0CAElC;AAAA,SACSC,OAAO;AAAA,SACPC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC7CC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,EAAEC,WAAW,gCAErE;AAIA;AAQA,OAAO,MAAMC,oBAAoB,GAAGH,YAAY,CAAC;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAI,MAAM,EAAE;IACNC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EAED,GAAG7B,4BAA4B,CAAC,CAAC;EACjC,GAAGG,yBAAyB,CAAC;IAC3B2B,YAAY,EAAE;EAChB,CAAC,CAAC;EACF,GAAGT,IAAI,CAAChB,0BAA0B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EACrD,GAAGgB,IAAI,CAACd,yBAAyB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EACpD,GAAGI,gBAAgB,CAAC;IAAEoB,KAAK,EAAE;EAA4B,CAAC,CAAC;EAE3DC,UAAU,EAAE;AACd,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMC,WAAW,GAAGb,gBAAgB,CAaI,CAAC,CAAC;EAC/Cc,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEV,oBAAoB,CAAC,CAAC;EAE7BW,KAAK,EAAE;IACL,mBAAmB,EAAGC,IAAS,IAAK,IAAI;IACxC,cAAc,EAAGA,IAAS,IAAK,IAAI;IACnC,aAAa,EAAGA,IAAS,IAAK,IAAI;IAClC;IACA,iBAAiB,EAAGA,IAAS,IAAK;EACpC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,OAAO,GAAG7B,OAAO,CAAC,CAAC;IACzB,MAAM;MAAE8B;IAAE,CAAC,GAAG7B,SAAS,CAAC,CAAC;IAEzB,MAAM8B,KAAK,GAAG7B,eAAe,CAC3BoB,KAAK,EACL,YAAY,EACZU,SAAS,EACTC,CAAC,IAAItB,WAAW,CAACsB,CAAC,CAAC,EACnBA,CAAC,IAAIX,KAAK,CAACY,QAAQ,GAAGD,CAAC,GAAGA,CAAC,CAAC,CAAC,CAC/B,CAAC;IAED,MAAME,QAAQ,GAAGjC,eAAe,CAACoB,KAAK,EAAE,UAAU,CAAC;IACnD;IACA,MAAMc,QAAQ,GAAGjC,QAAQ,CAAC,MAAM;MAC9B,MAAMkC,KAAK,GAAGR,OAAO,CAACL,IAAI,CAACO,KAAK,CAACM,KAAK,GAAG,CAAC,CAAC,CAAC;MAE5C,OAAOA,KAAK,IAAIR,OAAO,CAACS,OAAO,CAACD,KAAK,CAAC,GAAGA,KAAK,GAAGR,OAAO,CAACL,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,MAAMe,KAAK,GAAGnC,GAAG,CAACoC,MAAM,CAAClB,KAAK,CAACiB,KAAK,IAAIV,OAAO,CAACY,QAAQ,CAACZ,OAAO,CAACa,YAAY,CAACN,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChG,MAAMM,IAAI,GAAGvC,GAAG,CAACoC,MAAM,CAAClB,KAAK,CAACqB,IAAI,IAAId,OAAO,CAACe,OAAO,CAACf,OAAO,CAACgB,WAAW,CAAChB,OAAO,CAACiB,QAAQ,CAACV,QAAQ,CAACC,KAAK,EAAEE,KAAK,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3H,MAAMU,WAAW,GAAG1C,UAAU,CAAC,KAAK,CAAC;IACrC,MAAMQ,MAAM,GAAGV,QAAQ,CAAC,MAAM;MAC5B,IAAImB,KAAK,CAACY,QAAQ,IAAIH,KAAK,CAACM,KAAK,CAACW,MAAM,GAAG,CAAC,EAAE;QAC5C,OAAOlB,CAAC,CAAC,mCAAmC,EAAEC,KAAK,CAACM,KAAK,CAACW,MAAM,CAAC;MACnE;MAEA,OAAQjB,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,IAAIR,OAAO,CAACS,OAAO,CAACP,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,CAAC,GACrDR,OAAO,CAACoB,MAAM,CAACpB,OAAO,CAACL,IAAI,CAACO,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,GACrEP,CAAC,CAACR,KAAK,CAACT,MAAM,CAAC;IACrB,CAAC,CAAC;IACF,MAAMqC,IAAI,GAAG/C,QAAQ,CAAC,MAAM;MAC1B,IAAIqB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAAC,CAAC;MAEzBA,IAAI,GAAGK,OAAO,CAACsB,OAAO,CAAC3B,IAAI,EAAE,CAAC,CAAC;MAC/BA,IAAI,GAAGK,OAAO,CAACiB,QAAQ,CAACtB,IAAI,EAAEe,KAAK,CAACF,KAAK,CAAC;MAC1Cb,IAAI,GAAGK,OAAO,CAACuB,OAAO,CAAC5B,IAAI,EAAEmB,IAAI,CAACN,KAAK,CAAC;MAExC,OAAOR,OAAO,CAACoB,MAAM,CAACzB,IAAI,EAAE,cAAc,CAAC;IAC7C,CAAC,CAAC;IACF;IACA,MAAM6B,gBAAgB,GAAGlD,QAAQ,CAAC,MAAM,qBAAqB4C,WAAW,CAACV,KAAK,GAAG,UAAU,GAAG,EAAE,aAAa,CAAC;IAC9G,MAAMiB,OAAO,GAAGnD,QAAQ,CAAC,MAAM;MAC7B,MAAMqB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAACF,KAAK,CAACiC,GAAG,CAAC;MAEpC,OAAOjC,KAAK,CAACiC,GAAG,IAAI1B,OAAO,CAACS,OAAO,CAACd,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;IACzD,CAAC,CAAC;IACF,MAAMgC,OAAO,GAAGrD,QAAQ,CAAC,MAAM;MAC7B,MAAMqB,IAAI,GAAGK,OAAO,CAACL,IAAI,CAACF,KAAK,CAACmC,GAAG,CAAC;MAEpC,OAAOnC,KAAK,CAACmC,GAAG,IAAI5B,OAAO,CAACS,OAAO,CAACd,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;IACzD,CAAC,CAAC;IACF,MAAMkC,QAAQ,GAAGvD,QAAQ,CAAC,MAAM;MAC9B,IAAImB,KAAK,CAACoC,QAAQ,EAAE,OAAO,IAAI;MAE/B,MAAMC,OAAO,GAAG,EAAE;MAElB,IAAIxB,QAAQ,CAACE,KAAK,KAAK,OAAO,EAAE;QAC9BsB,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;MACnC,CAAC,MAAM;QACL,IAAIC,KAAK,GAAGhC,OAAO,CAACL,IAAI,CAAC,CAAC;QAE1BqC,KAAK,GAAGhC,OAAO,CAACuB,OAAO,CAACS,KAAK,EAAElB,IAAI,CAACN,KAAK,CAAC;QAC1CwB,KAAK,GAAGhC,OAAO,CAACiB,QAAQ,CAACe,KAAK,EAAEtB,KAAK,CAACF,KAAK,CAAC;QAE5C,IAAIiB,OAAO,CAACjB,KAAK,EAAE;UACjB,MAAMb,IAAI,GAAGK,OAAO,CAACiC,OAAO,CAACjC,OAAO,CAACa,YAAY,CAACmB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;UAE7DhC,OAAO,CAACkC,OAAO,CAACT,OAAO,CAACjB,KAAK,EAAEb,IAAI,CAAC,IAAImC,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;QAC9D;QAEA,IAAIJ,OAAO,CAACnB,KAAK,EAAE;UACjB,MAAMb,IAAI,GAAGK,OAAO,CAACiC,OAAO,CAACjC,OAAO,CAACmC,UAAU,CAACH,KAAK,CAAC,EAAE,CAAC,CAAC;UAE1DhC,OAAO,CAACkC,OAAO,CAACvC,IAAI,EAAEgC,OAAO,CAACnB,KAAK,CAAC,IAAIsB,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;QAC9D;MACF;MAEA,OAAOD,OAAO;IAChB,CAAC,CAAC;;IAEF;IACA;IACA;;IAEA,SAASM,WAAWA,CAAA,EAAI;MACtB,IAAI1B,KAAK,CAACF,KAAK,GAAG,EAAE,EAAE;QACpBE,KAAK,CAACF,KAAK,EAAE;MACf,CAAC,MAAM;QACLM,IAAI,CAACN,KAAK,EAAE;QACZE,KAAK,CAACF,KAAK,GAAG,CAAC;QACf6B,YAAY,CAACvB,IAAI,CAACN,KAAK,CAAC;MAC1B;MACA8B,aAAa,CAAC5B,KAAK,CAACF,KAAK,CAAC;IAC5B;IAEA,SAAS+B,WAAWA,CAAA,EAAI;MACtB,IAAI7B,KAAK,CAACF,KAAK,GAAG,CAAC,EAAE;QACnBE,KAAK,CAACF,KAAK,EAAE;MACf,CAAC,MAAM;QACLM,IAAI,CAACN,KAAK,EAAE;QACZE,KAAK,CAACF,KAAK,GAAG,EAAE;QAChB6B,YAAY,CAACvB,IAAI,CAACN,KAAK,CAAC;MAC1B;MACA8B,aAAa,CAAC5B,KAAK,CAACF,KAAK,CAAC;IAC5B;IAEA,SAASgC,WAAWA,CAAA,EAAI;MACtBlC,QAAQ,CAACE,KAAK,GAAG,OAAO;IAC1B;IAEA,SAASiC,YAAYA,CAAA,EAAI;MACvBnC,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,KAAK,QAAQ,GAAG,OAAO,GAAG,QAAQ;IACnE;IAEA,SAASkC,WAAWA,CAAA,EAAI;MACtBpC,QAAQ,CAACE,KAAK,GAAGF,QAAQ,CAACE,KAAK,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM;IAC/D;IAEA,SAAS8B,aAAaA,CAAE9B,KAAa,EAAE;MACrC,IAAIF,QAAQ,CAACE,KAAK,KAAK,QAAQ,EAAEiC,YAAY,CAAC,CAAC;MAE/C3C,IAAI,CAAC,cAAc,EAAEU,KAAK,CAAC;IAC7B;IAEA,SAAS6B,YAAYA,CAAE7B,KAAa,EAAE;MACpC,IAAIF,QAAQ,CAACE,KAAK,KAAK,MAAM,EAAEkC,WAAW,CAAC,CAAC;MAE5C5C,IAAI,CAAC,aAAa,EAAEU,KAAK,CAAC;IAC5B;IAEA/B,KAAK,CAACyB,KAAK,EAAE,CAACyC,GAAG,EAAEC,MAAM,KAAK;MAC5B,MAAMC,SAAS,GAAG/D,WAAW,CAAC8D,MAAM,CAAC;MACrC,MAAME,QAAQ,GAAGhE,WAAW,CAAC6D,GAAG,CAAC;MAEjC,IAAI,CAACG,QAAQ,CAAC3B,MAAM,EAAE;MAEtB,MAAM4B,MAAM,GAAG/C,OAAO,CAACL,IAAI,CAACkD,SAAS,CAACA,SAAS,CAAC1B,MAAM,GAAG,CAAC,CAAC,CAAC;MAC5D,MAAM6B,KAAK,GAAGhD,OAAO,CAACL,IAAI,CAACmD,QAAQ,CAACA,QAAQ,CAAC3B,MAAM,GAAG,CAAC,CAAC,CAAC;MACzD,MAAM8B,QAAQ,GAAGjD,OAAO,CAACY,QAAQ,CAACoC,KAAK,CAAC;MACxC,MAAME,OAAO,GAAGlD,OAAO,CAACe,OAAO,CAACiC,KAAK,CAAC;MAEtC,IAAIC,QAAQ,KAAKvC,KAAK,CAACF,KAAK,EAAE;QAC5BE,KAAK,CAACF,KAAK,GAAGyC,QAAQ;QACtBX,aAAa,CAAC5B,KAAK,CAACF,KAAK,CAAC;MAC5B;MAEA,IAAI0C,OAAO,KAAKpC,IAAI,CAACN,KAAK,EAAE;QAC1BM,IAAI,CAACN,KAAK,GAAG0C,OAAO;QACpBb,YAAY,CAACvB,IAAI,CAACN,KAAK,CAAC;MAC1B;MAEAU,WAAW,CAACV,KAAK,GAAGR,OAAO,CAACmD,QAAQ,CAACJ,MAAM,EAAEC,KAAK,CAAC;IACrD,CAAC,CAAC;IAEFnE,SAAS,CAAC,MAAM;MACd,MAAMuE,WAAW,GAAGlF,OAAO,CAACmF,WAAW,CAAC5D,KAAK,CAAC;MAC9C,MAAM6D,uBAAuB,GAAG/F,mBAAmB,CAAC8F,WAAW,CAAC5D,KAAK,CAAC;MACtE,MAAM8D,qBAAqB,GAAG/F,iBAAiB,CAAC6F,WAAW,CAAC5D,KAAK,CAAC;MAClE,MAAM+D,oBAAoB,GAAG9F,gBAAgB,CAAC2F,WAAW,CAAC5D,KAAK,CAAC;MAChE,MAAMgE,qBAAqB,GAAG9E,IAAI,CAACf,iBAAiB,CAACyF,WAAW,CAAC5D,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;MACxF,MAAMiE,oBAAoB,GAAG/E,IAAI,CAACb,gBAAgB,CAACuF,WAAW,CAAC5D,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;MAEtF,MAAMkE,WAAW,GAAG;QAClB3E,MAAM,EAAEA,MAAM,CAACwB,KAAK;QACpBoD,UAAU,EAAEpC,gBAAgB,CAAChB;MAC/B,CAAC;MAED,OAAAqD,YAAA,CAAA3F,OAAA,EAAA4F,WAAA,CAESV,WAAW;QAAA,SACT,CACL,eAAe,EACf,kBAAkB9C,QAAQ,CAACE,KAAK,EAAE,EAClC;UACE,0BAA0B,EAAEf,KAAK,CAACsE;QACpC,CAAC,EACDtE,KAAK,CAACuE,KAAK,CACZ;QAAA,SACOvE,KAAK,CAACwE;MAAK,IACV;QACP5E,KAAK,EAAEA,CAAA,KAAMU,KAAK,CAACV,KAAK,GAAG,CAAC,IAAAwE,YAAA;UAAA;QAAA,IAEtB5D,CAAC,CAACR,KAAK,CAACJ,KAAK,CAAC,EAEnB;QACDL,MAAM,EAAEA,CAAA,KAAMe,KAAK,CAACf,MAAM,GAAA6E,YAAA,CAAA7F,iBAAA;UAAA,YAEZ;YACRR,iBAAiB,EAAE;cAAE,GAAGmG;YAAY;UACtC;QAAC;UAAAxE,OAAA,EAAAA,CAAA,MAECY,KAAK,CAACf,MAAM,GAAG2E,WAAW,CAAC;QAAA,KAAAE,YAAA,CAAArG,iBAAA,EAAAsG,WAAA;UAAA;QAAA,GAKxBP,qBAAqB,EACrBI,WAAW;UAAA,WACNrD,QAAQ,CAACE,KAAK,KAAK,OAAO,GAAGgC,WAAW,GAAGrC;QAAS,IACrD;UACP,GAAGJ,KAAK;UACRZ,OAAO,EAAEgB;QACX,CAAC,CAEJ;QACDhB,OAAO,EAAEA,CAAA,KAAA0E,YAAA,CAAAK,SAAA,SAAAL,YAAA,CAAAtG,mBAAA,EAAAuG,WAAA,CAGER,uBAAuB;UAAA,YACjBzB,QAAQ,CAACrB,KAAK;UAAA,QAClBa,IAAI,CAACb,KAAK;UAAA,gBACF4B,WAAW;UAAA,gBACXG,WAAW;UAAA,iBACVE,YAAY;UAAA,gBACbC;QAAW,WAAAmB,YAAA,CAAA9F,eAAA;UAAA;QAAA;UAAAoB,OAAA,EAAAA,CAAA,MAIxBmB,QAAQ,CAACE,KAAK,KAAK,QAAQ,GAAAqD,YAAA,CAAAjG,iBAAA,EAAAkG,WAAA;YAAA;UAAA,GAGpBL,qBAAqB;YAAA,cAChB/C,KAAK,CAACF,KAAK;YAAA,wBAAA2D,MAAA,IAAXzD,KAAK,CAACF,KAAK,GAAA2D,MAAA,EACC7B,aAAa;YAAA,OAC7Bb,OAAO,CAACjB,KAAK;YAAA,OACbmB,OAAO,CAACnB,KAAK;YAAA,QACZM,IAAI,CAACN;UAAK,YAEjBF,QAAQ,CAACE,KAAK,KAAK,MAAM,GAAAqD,YAAA,CAAA/F,gBAAA,EAAAgG,WAAA;YAAA;UAAA,GAGpBJ,oBAAoB;YAAA,cACf5C,IAAI,CAACN,KAAK;YAAA,wBAAA2D,MAAA,IAAVrD,IAAI,CAACN,KAAK,GAAA2D,MAAA,EACE9B,YAAY;YAAA,OAC5BZ,OAAO,CAACjB,KAAK;YAAA,OACbmB,OAAO,CAACnB;UAAK,YAAAqD,YAAA,CAAAnG,gBAAA,EAAAoG,WAAA;YAAA;UAAA,GAKdN,oBAAoB;YAAA,cACftD,KAAK,CAACM,KAAK;YAAA,uBAAA2D,MAAA,IAAXjE,KAAK,CAACM,KAAK,GAAA2D,MAAA;YAAA,SACLzD,KAAK,CAACF,KAAK;YAAA,mBAAA2D,MAAA,IAAXzD,KAAK,CAACF,KAAK,GAAA2D,MAAA,EAEV7B,aAAa;YAAA,QADfxB,IAAI,CAACN,KAAK;YAAA,kBAAA2D,MAAA,IAAVrD,IAAI,CAACN,KAAK,GAAA2D,MAAA,EAET9B,YAAY;YAAA,OACtBZ,OAAO,CAACjB,KAAK;YAAA,OACbmB,OAAO,CAACnB;UAAK,SAEtB;QAAA,IAGN;QACD4D,OAAO,EAAErE,KAAK,CAACqE;MACjB,CAAC;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createNativeLocaleFormatter.mjs","names":["pad","createNativeLocaleFormatter","locale","options","substrOptions","arguments","length","undefined","start","makeIsoString","dateString","year","month","date","trim","split","join","intlFormatter","Intl","DateTimeFormat","format","Date","e","substr"],"sources":["../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAmBV,SAASC,2BAA2BA,CAClCC,MAA0B,EAC1BC,OAAmC,EAEF;EAAA,IADjCC,aAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAAEG,KAAK,EAAE,CAAC;IAAEF,MAAM,EAAE;EAAE,CAAC;EAEtD,MAAMG,aAAa,GAAIC,UAAkB,IAAK;IAC5C,MAAM,CAACC,IAAI,EAAEC,KAAK,EAAEC,IAAI,CAAC,GAAGH,UAAU,CAACI,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;IACtE,OAAO,CAACf,GAAG,CAACW,IAAI,EAAE,CAAC,CAAC,EAAEX,GAAG,CAACY,KAAK,IAAI,CAAC,CAAC,EAAEZ,GAAG,CAACa,IAAI,IAAI,CAAC,CAAC,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC;EAClE,CAAC;EAED,IAAI;IACF,MAAMC,aAAa,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACjB,MAAM,IAAIK,SAAS,EAAEJ,OAAO,CAAC;IAC3E,OAAQO,UAAkB,IAAKO,aAAa,CAACG,MAAM,CAAC,IAAIC,IAAI,
|
1
|
+
{"version":3,"file":"createNativeLocaleFormatter.mjs","names":["pad","createNativeLocaleFormatter","locale","options","substrOptions","arguments","length","undefined","start","makeIsoString","dateString","year","month","date","trim","split","join","intlFormatter","Intl","DateTimeFormat","format","Date","e","substr"],"sources":["../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAmBV,SAASC,2BAA2BA,CAClCC,MAA0B,EAC1BC,OAAmC,EAEF;EAAA,IADjCC,aAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAAEG,KAAK,EAAE,CAAC;IAAEF,MAAM,EAAE;EAAE,CAAC;EAEtD,MAAMG,aAAa,GAAIC,UAAkB,IAAK;IAC5C,MAAM,CAACC,IAAI,EAAEC,KAAK,EAAEC,IAAI,CAAC,GAAGH,UAAU,CAACI,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;IACtE,OAAO,CAACf,GAAG,CAACW,IAAI,EAAE,CAAC,CAAC,EAAEX,GAAG,CAACY,KAAK,IAAI,CAAC,CAAC,EAAEZ,GAAG,CAACa,IAAI,IAAI,CAAC,CAAC,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC;EAClE,CAAC;EAED,IAAI;IACF,MAAMC,aAAa,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACjB,MAAM,IAAIK,SAAS,EAAEJ,OAAO,CAAC;IAC3E,OAAQO,UAAkB,IAAKO,aAAa,CAACG,MAAM,CAAC,IAAIC,IAAI,CAAC,GAAGZ,aAAa,CAACC,UAAU,CAAC,iBAAiB,CAAC,CAAC;EAC9G,CAAC,CAAC,OAAOY,CAAC,EAAE;IACV,OAAQlB,aAAa,CAACI,KAAK,IAAIJ,aAAa,CAACE,MAAM,GAC9CI,UAAkB,IAAKD,aAAa,CAACC,UAAU,CAAC,CAACa,MAAM,CAACnB,aAAa,CAACI,KAAK,IAAI,CAAC,EAAEJ,aAAa,CAACE,MAAM,CAAC,GACxGC,SAAS;EACf;AACF;AAEA,eAAeN,2BAA2B","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"monthChange.mjs","names":["pad","value","sign","year","month","split","map","Number"],"sources":["../../../../src/components/VDatePicker/util/monthChange.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAEV;AACA;AACA;AACA;AACA,gBAAe,CAACC,KAAa,EAAEC,IAAY,KAAK;EAC9C,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EAElD,IAAIH,KAAK,GAAGF,IAAI,KAAK,CAAC,EAAE;IACtB,
|
1
|
+
{"version":3,"file":"monthChange.mjs","names":["pad","value","sign","year","month","split","map","Number"],"sources":["../../../../src/components/VDatePicker/util/monthChange.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAEV;AACA;AACA;AACA;AACA,gBAAe,CAACC,KAAa,EAAEC,IAAY,KAAK;EAC9C,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EAElD,IAAIH,KAAK,GAAGF,IAAI,KAAK,CAAC,EAAE;IACtB,OAAO,GAAGC,IAAI,GAAG,CAAC,KAAK;EACzB,CAAC,MAAM,IAAIC,KAAK,GAAGF,IAAI,KAAK,EAAE,EAAE;IAC9B,OAAO,GAAGC,IAAI,GAAG,CAAC,KAAK;EACzB,CAAC,MAAM;IACL,OAAO,GAAGA,IAAI,IAAIH,GAAG,CAACI,KAAK,GAAGF,IAAI,CAAC,EAAE;EACvC;AACF,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sanitizeDateString.mjs","names":["pad","dateString","type","year","month","date","split","substr"],"sources":["../../../../src/components/VDatePicker/util/sanitizeDateString.ts"],"sourcesContent":["// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (dateString: string, type: 'date' | 'month' | 'year'): string => {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n"],"mappings":"AAAA;AACA;AAAA,OACOA,GAAG;AAEV,gBAAe,CAACC,UAAkB,EAAEC,IAA+B,KAAa;EAC9E,MAAM,CAACC,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,GAAG,CAAC,CAAC,GAAGJ,UAAU,CAACK,KAAK,CAAC,GAAG,CAAC;EACzD,
|
1
|
+
{"version":3,"file":"sanitizeDateString.mjs","names":["pad","dateString","type","year","month","date","split","substr"],"sources":["../../../../src/components/VDatePicker/util/sanitizeDateString.ts"],"sourcesContent":["// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (dateString: string, type: 'date' | 'month' | 'year'): string => {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n"],"mappings":"AAAA;AACA;AAAA,OACOA,GAAG;AAEV,gBAAe,CAACC,UAAkB,EAAEC,IAA+B,KAAa;EAC9E,MAAM,CAACC,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,GAAG,CAAC,CAAC,GAAGJ,UAAU,CAACK,KAAK,CAAC,GAAG,CAAC;EACzD,OAAO,GAAGH,IAAI,IAAIH,GAAG,CAACI,KAAK,CAAC,IAAIJ,GAAG,CAACK,IAAI,CAAC,EAAE,CAACE,MAAM,CAAC,CAAC,EAAE;IAAEF,IAAI,EAAE,EAAE;IAAED,KAAK,EAAE,CAAC;IAAED,IAAI,EAAE;EAAE,CAAC,CAACD,IAAI,CAAC,CAAC;AAC9F,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDivider.mjs","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'height' | 'width'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => {\n const divider = (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n { '--v-border-opacity': props.opacity },\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n )\n\n if (!slots.default) return divider\n\n return (\n <div\n class={[\n 'v-divider__wrapper',\n {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset,\n },\n ]}\n >\n { divider }\n\n <div class=\"v-divider__content\">\n { slots.default() }\n </div>\n\n { divider }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,kBAAkB;AAAA,SAClBC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAKjE,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,KAAK,EAAEC,MAAM;EACbC,KAAK,EAAEC,OAAO;EACdC,MAAM,EAAE,CAACC,MAAM,EAAEJ,MAAM,CAAC;EACxBK,OAAO,EAAE,CAACD,MAAM,EAAEJ,MAAM,CAAC;EACzBM,SAAS,EAAE,CAACF,MAAM,EAAEJ,MAAM,CAAC;EAC3BO,QAAQ,EAAEL,OAAO;EAEjB,GAAGb,kBAAkB,CAAC,CAAC;EACvB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,MAAMkB,QAAQ,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EACzCc,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAEZ,iBAAiB,CAAC,CAAC;EAE1Ba,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAM;MAAEG;IAAa,CAAC,GAAGxB,YAAY,CAACmB,KAAK,CAAC;IAC5C,MAAM;MAAEM,gBAAgB;MAAEC;IAAgB,CAAC,GAAG7B,YAAY,CAACK,KAAK,CAACiB,KAAK,EAAE,OAAO,CAAC,CAAC;IACjF,MAAMQ,aAAa,GAAG1B,QAAQ,CAAC,MAAM;MACnC,MAAM2B,MAAqB,GAAG,CAAC,CAAC;MAEhC,IAAIT,KAAK,CAACP,MAAM,EAAE;QAChBgB,MAAM,CAACT,KAAK,CAACH,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAGb,aAAa,CAACgB,KAAK,CAACP,MAAM,CAAC;MAC3E;MAEA,IAAIO,KAAK,CAACJ,SAAS,EAAE;QACnBa,MAAM,CAACT,KAAK,CAACH,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,GAAGb,aAAa,CAACgB,KAAK,CAACJ,SAAS,CAAC;MACjG;MAEA,OAAOa,MAAM;IACf,CAAC,CAAC;IAEFtB,SAAS,CAAC,MAAM;MACd,MAAMuB,OAAO,GAAAC,YAAA;QAAA,SAEF,CACL;UACE,WAAW,EAAE,IAAI;UACjB,kBAAkB,EAAEX,KAAK,CAACT,KAAK;UAC/B,qBAAqB,EAAES,KAAK,CAACH;QAC/B,CAAC,EACDQ,YAAY,CAACO,KAAK,EAClBN,gBAAgB,CAACM,KAAK,EACtBZ,KAAK,CAACa,KAAK,CACZ;QAAA,SACM,CACLL,aAAa,CAACI,KAAK,EACnBL,eAAe,CAACK,KAAK,EACrB;UAAE,oBAAoB,EAAEZ,KAAK,CAACL;QAAQ,CAAC,EACvCK,KAAK,CAACc,KAAK,CACZ;QAAA,oBAEC,CAACX,KAAK,CAACY,IAAI,IAAIZ,KAAK,CAACY,IAAI,KAAK,WAAW,GACrCf,KAAK,CAACH,QAAQ,GAAG,UAAU,GAAG,YAAY,GAC1CmB,SAAS;QAAA,
|
1
|
+
{"version":3,"file":"VDivider.mjs","names":["useTextColor","makeComponentProps","makeThemeProps","provideTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVDividerProps","color","String","inset","Boolean","length","Number","opacity","thickness","vertical","VDivider","name","props","setup","_ref","attrs","slots","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","divider","_createVNode","value","class","style","role","undefined","default"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'height' | 'width'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VDivider')\n\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n\n props: makeVDividerProps(),\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n useRender(() => {\n const divider = (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n textColorClasses.value,\n props.class,\n ]}\n style={[\n dividerStyles.value,\n textColorStyles.value,\n { '--v-border-opacity': props.opacity },\n props.style,\n ]}\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={ `${attrs.role || 'separator'}` }\n />\n )\n\n if (!slots.default) return divider\n\n return (\n <div\n class={[\n 'v-divider__wrapper',\n {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset,\n },\n ]}\n >\n { divider }\n\n <div class=\"v-divider__content\">\n { slots.default() }\n </div>\n\n { divider }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VEmptyState.mjs","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n text: props.actionText,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VEmptyState.mjs","names":["VBtn","VDefaultsProvider","VIcon","VImg","useBackgroundColor","makeComponentProps","makeDimensionProps","useDimension","useDisplay","IconValue","makeSizeProps","makeThemeProps","provideTheme","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVEmptyStateProps","actionText","String","bgColor","color","icon","image","justify","type","default","headline","title","text","textWidth","Number","href","to","size","undefined","VEmptyState","name","props","emits","e","setup","_ref","emit","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","dimensionStyles","displayClasses","onClickAction","hasActions","actions","hasHeadline","hasTitle","hasText","hasMedia","media","_createVNode","value","class","style","_Fragment","src","height","maxWidth","onClick"],"sources":["../../../src/components/VEmptyState/VEmptyState.tsx"],"sourcesContent":["// Styles\nimport './VEmptyState.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport type VEmptyStateSlots = {\n actions: {\n props: {\n onClick: (e: Event) => void\n }\n }\n default: never\n headline: never\n title: never\n media: never\n text: never\n}\n\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500,\n },\n href: String,\n to: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({ size: undefined }),\n ...makeThemeProps(),\n}, 'VEmptyState')\n\nexport const VEmptyState = genericComponent<VEmptyStateSlots>()({\n name: 'VEmptyState',\n\n props: makeVEmptyStateProps(),\n\n emits: {\n 'click:action': (e: Event) => true,\n },\n\n setup (props, { emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { dimensionStyles } = useDimension(props)\n const { displayClasses } = useDisplay()\n\n function onClickAction (e: Event) {\n emit('click:action', e)\n }\n\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText)\n const hasHeadline = !!(slots.headline || props.headline)\n const hasTitle = !!(slots.title || props.title)\n const hasText = !!(slots.text || props.text)\n const hasMedia = !!(slots.media || props.image || props.icon)\n const size = props.size || (props.image ? 200 : 96)\n\n return (\n <div\n class={[\n 'v-empty-state',\n {\n [`v-empty-state--${props.justify}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n displayClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n props.style,\n ]}\n >\n { hasMedia && (\n <div key=\"media\" class=\"v-empty-state__media\">\n { !slots.media ? (\n <>\n { props.image ? (\n <VImg\n key=\"image\"\n src={ props.image }\n height={ size }\n />\n ) : props.icon ? (\n <VIcon\n key=\"icon\"\n color={ props.color }\n size={ size }\n icon={ props.icon }\n />\n ) : undefined }\n </>\n ) : (\n <VDefaultsProvider\n key=\"media-defaults\"\n defaults={{\n VImg: {\n src: props.image,\n height: size,\n },\n VIcon: {\n size,\n icon: props.icon,\n },\n }}\n >\n { slots.media() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n\n { hasHeadline && (\n <div key=\"headline\" class=\"v-empty-state__headline\">\n { slots.headline?.() ?? props.headline }\n </div>\n )}\n\n { hasTitle && (\n <div key=\"title\" class=\"v-empty-state__title\">\n { slots.title?.() ?? props.title }\n </div>\n )}\n\n { hasText && (\n <div\n key=\"text\"\n class=\"v-empty-state__text\"\n style={{\n maxWidth: convertToUnit(props.textWidth),\n }}\n >\n { slots.text?.() ?? props.text }\n </div>\n )}\n\n { slots.default && (\n <div key=\"content\" class=\"v-empty-state__content\">\n { slots.default() }\n </div>\n )}\n\n { hasActions && (\n <div key=\"actions\" class=\"v-empty-state__actions\">\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n text: props.actionText,\n },\n }}\n >\n {\n slots.actions?.({ props: { onClick: onClickAction } }) ?? (\n <VBtn onClick={ onClickAction } />\n )\n }\n </VDefaultsProvider>\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VEmptyState = InstanceType<typeof VEmptyState>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,IAAI,6BAEb;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,UAAU;AAAA,SACVC,SAAS;AAAA,SACTC,aAAa;AAAA,SACbC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAEjE;AAGA;AAeA,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,UAAU,EAAEC,MAAM;EAClBC,OAAO,EAAED,MAAM;EACfE,KAAK,EAAEF,MAAM;EACbG,IAAI,EAAEd,SAAS;EACfe,KAAK,EAAEJ,MAAM;EACbK,OAAO,EAAE;IACPC,IAAI,EAAEN,MAA8C;IACpDO,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAER,MAAM;EAChBS,KAAK,EAAET,MAAM;EACbU,IAAI,EAAEV,MAAM;EACZW,SAAS,EAAE;IACTL,IAAI,EAAE,CAACM,MAAM,EAAEZ,MAAM,CAAC;IACtBO,OAAO,EAAE;EACX,CAAC;EACDM,IAAI,EAAEb,MAAM;EACZc,EAAE,EAAEd,MAAM;EAEV,GAAGf,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGI,aAAa,CAAC;IAAEyB,IAAI,EAAEC;EAAU,CAAC,CAAC;EACrC,GAAGzB,cAAc,CAAC;AACpB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAM0B,WAAW,GAAGtB,gBAAgB,CAAmB,CAAC,CAAC;EAC9DuB,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAErB,oBAAoB,CAAC,CAAC;EAE7BsB,KAAK,EAAE;IACL,cAAc,EAAGC,CAAQ,IAAK;EAChC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG;IAAa,CAAC,GAAGlC,YAAY,CAAC2B,KAAK,CAAC;IAC5C,MAAM;MAAEQ,sBAAsB;MAAEC;IAAsB,CAAC,GAAG5C,kBAAkB,CAACS,KAAK,CAAC0B,KAAK,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM;MAAEU;IAAgB,CAAC,GAAG1C,YAAY,CAACgC,KAAK,CAAC;IAC/C,MAAM;MAAEW;IAAe,CAAC,GAAG1C,UAAU,CAAC,CAAC;IAEvC,SAAS2C,aAAaA,CAAEV,CAAQ,EAAE;MAChCG,IAAI,CAAC,cAAc,EAAEH,CAAC,CAAC;IACzB;IAEAxB,SAAS,CAAC,MAAM;MACd,MAAMmC,UAAU,GAAG,CAAC,EAAEP,KAAK,CAACQ,OAAO,IAAId,KAAK,CAACpB,UAAU,CAAC;MACxD,MAAMmC,WAAW,GAAG,CAAC,EAAET,KAAK,CAACjB,QAAQ,IAAIW,KAAK,CAACX,QAAQ,CAAC;MACxD,MAAM2B,QAAQ,GAAG,CAAC,EAAEV,KAAK,CAAChB,KAAK,IAAIU,KAAK,CAACV,KAAK,CAAC;MAC/C,MAAM2B,OAAO,GAAG,CAAC,EAAEX,KAAK,CAACf,IAAI,IAAIS,KAAK,CAACT,IAAI,CAAC;MAC5C,MAAM2B,QAAQ,GAAG,CAAC,EAAEZ,KAAK,CAACa,KAAK,IAAInB,KAAK,CAACf,KAAK,IAAIe,KAAK,CAAChB,IAAI,CAAC;MAC7D,MAAMY,IAAI,GAAGI,KAAK,CAACJ,IAAI,KAAKI,KAAK,CAACf,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC;MAEnD,OAAAmC,YAAA;QAAA,SAEW,CACL,eAAe,EACf;UACE,CAAC,kBAAkBpB,KAAK,CAACd,OAAO,EAAE,GAAG;QACvC,CAAC,EACDqB,YAAY,CAACc,KAAK,EAClBb,sBAAsB,CAACa,KAAK,EAC5BV,cAAc,CAACU,KAAK,EACpBrB,KAAK,CAACsB,KAAK,CACZ;QAAA,SACM,CACLb,qBAAqB,CAACY,KAAK,EAC3BX,eAAe,CAACW,KAAK,EACrBrB,KAAK,CAACuB,KAAK;MACZ,IAECL,QAAQ,IAAAE,YAAA;QAAA;QAAA;MAAA,IAEJ,CAACd,KAAK,CAACa,KAAK,GAAAC,YAAA,CAAAI,SAAA,SAERxB,KAAK,CAACf,KAAK,GAAAmC,YAAA,CAAAxD,IAAA;QAAA;QAAA,OAGHoC,KAAK,CAACf,KAAK;QAAA,UACRW;MAAI,WAEbI,KAAK,CAAChB,IAAI,GAAAoC,YAAA,CAAAzD,KAAA;QAAA;QAAA,SAGFqC,KAAK,CAACjB,KAAK;QAAA,QACZa,IAAI;QAAA,QACJI,KAAK,CAAChB;MAAI,WAEjBa,SAAS,KAAAuB,YAAA,CAAA1D,iBAAA;QAAA;QAAA,YAKH;UACRE,IAAI,EAAE;YACJ6D,GAAG,EAAEzB,KAAK,CAACf,KAAK;YAChByC,MAAM,EAAE9B;UACV,CAAC;UACDjC,KAAK,EAAE;YACLiC,IAAI;YACJZ,IAAI,EAAEgB,KAAK,CAAChB;UACd;QACF;MAAC;QAAAI,OAAA,EAAAA,CAAA,MAECkB,KAAK,CAACa,KAAK,CAAC,CAAC;MAAA,EAElB,EAEJ,EAECJ,WAAW,IAAAK,YAAA;QAAA;QAAA;MAAA,IAEPd,KAAK,CAACjB,QAAQ,GAAG,CAAC,IAAIW,KAAK,CAACX,QAAQ,EAEzC,EAEC2B,QAAQ,IAAAI,YAAA;QAAA;QAAA;MAAA,IAEJd,KAAK,CAAChB,KAAK,GAAG,CAAC,IAAIU,KAAK,CAACV,KAAK,EAEnC,EAEC2B,OAAO,IAAAG,YAAA;QAAA;QAAA;QAAA,SAIE;UACLO,QAAQ,EAAEpD,aAAa,CAACyB,KAAK,CAACR,SAAS;QACzC;MAAC,IAECc,KAAK,CAACf,IAAI,GAAG,CAAC,IAAIS,KAAK,CAACT,IAAI,EAEjC,EAECe,KAAK,CAAClB,OAAO,IAAAgC,YAAA;QAAA;QAAA;MAAA,IAETd,KAAK,CAAClB,OAAO,CAAC,CAAC,EAEpB,EAECyB,UAAU,IAAAO,YAAA;QAAA;QAAA;MAAA,IAAAA,YAAA,CAAA1D,iBAAA;QAAA,YAGI;UACRD,IAAI,EAAE;YACJ6D,KAAK,EAAE,2BAA2B;YAClCvC,KAAK,EAAEiB,KAAK,CAACjB,KAAK,IAAI,iBAAiB;YACvCQ,IAAI,EAAES,KAAK,CAACpB;UACd;QACF;MAAC;QAAAQ,OAAA,EAAAA,CAAA,MAGCkB,KAAK,CAACQ,OAAO,GAAG;UAAEd,KAAK,EAAE;YAAE4B,OAAO,EAAEhB;UAAc;QAAE,CAAC,CAAC,IAAAQ,YAAA,CAAA3D,IAAA;UAAA,WACpCmD;QAAa,QAC9B;MAAA,IAIR;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VExpansionPanels.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","computed","toRef","genericComponent","pick","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...pick(makeVExpansionPanelProps(), [\n 'bgColor',\n 'collapseIcon',\n 'color',\n 'eager',\n 'elevation',\n 'expandIcon',\n 'focusable',\n 'hideActions',\n 'readonly',\n 'ripple',\n 'rounded',\n 'tile',\n 'static',\n ]),\n ...makeThemeProps(),\n ...makeComponentProps(),\n ...makeTagProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,wBAAwB,iCAEjC;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAGA,MAAMC,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAU;AAa5E,OAAO,MAAMC,yBAAyB,GAAGH,YAAY,CAAC;EACpDI,IAAI,EAAEC,OAAO;EAEb,GAAGd,cAAc,CAAC,CAAC;EACnB,GAAGQ,IAAI,CAACX,wBAAwB,CAAC,CAAC,EAAE,CAClC,SAAS,EACT,cAAc,EACd,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,CACT,CAAC;EACF,GAAGM,cAAc,CAAC,CAAC;EACnB,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGI,YAAY,CAAC,CAAC;EAEjBa,OAAO,EAAE;IACPC,IAAI,EAAEC,MAA2B;IACjCC,OAAO,EAAE,SAAS;IAClBC,SAAS,EAAGC,CAAM,IAAKT,eAAe,CAACU,QAAQ,CAACD,CAAC;EACnD;AACF,CAAC,EAAE,kBAAkB,CAAC;AAEtB,OAAO,MAAME,gBAAgB,GAAGf,gBAAgB,CAAuB,CAAC,CAAC;EACvEgB,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAEZ,yBAAyB,CAAC,CAAC;EAElCa,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAY,IAAK;EACzC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,IAAI;MAAEC;IAAK,CAAC,GAAG9B,QAAQ,CAACuB,KAAK,EAAE5B,qBAAqB,CAAC;IAE7D,MAAM;MAAEoC;IAAa,CAAC,GAAG5B,YAAY,CAACoB,KAAK,CAAC;IAE5C,MAAMS,YAAY,GAAG5B,QAAQ,CAAC,MAAMmB,KAAK,CAACT,OAAO,
|
1
|
+
{"version":3,"file":"VExpansionPanels.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","makeComponentProps","provideDefaults","makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","computed","toRef","genericComponent","pick","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...pick(makeVExpansionPanelProps(), [\n 'bgColor',\n 'collapseIcon',\n 'color',\n 'eager',\n 'elevation',\n 'expandIcon',\n 'focusable',\n 'hideActions',\n 'readonly',\n 'ripple',\n 'rounded',\n 'tile',\n 'static',\n ]),\n ...makeThemeProps(),\n ...makeComponentProps(),\n ...makeTagProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VFab.mjs","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","makeLocationProps","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","makeVFabProps","app","Boolean","appear","extended","layout","offset","modelValue","type","default","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","location","split","shift","orientation","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","width","undefined","style","_withDirectives","_mergeProps","_vShow"],"sources":["../../../src/components/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n layout: Boolean,\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...omit(makeVBtnProps({ active: true }), ['location']),\n ...makeLayoutItemProps(),\n ...makeLocationProps(),\n ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n name: 'VFab',\n\n props: makeVFabProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const height = shallowRef(56)\n const layoutItemStyles = ref()\n\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n height.value = entries[0].target.clientHeight\n })\n\n const hasPosition = computed(() => props.app || props.absolute)\n\n const position = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ').shift() ?? 'bottom'\n }) as ComputedRef<Position>\n\n const orientation = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ')[1] ?? 'end'\n })\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n elementSize: computed(() => height.value + 24),\n active: computed(() => props.app && model.value),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n const vFabRef = ref()\n\n useRender(() => {\n const btnProps = VBtn.filterProps(props)\n\n return (\n <div\n ref={ vFabRef }\n class={[\n 'v-fab',\n {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value,\n },\n props.class,\n ]}\n style={[\n props.app ? {\n ...layoutItemStyles.value,\n } : {\n height: 'inherit',\n width: undefined,\n },\n props.style,\n ]}\n >\n <div class=\"v-fab__container\">\n <MaybeTransition\n appear={ props.appear }\n transition={ props.transition }\n >\n <VBtn\n v-show={ props.active }\n ref={ resizeRef }\n { ...btnProps }\n active={ undefined }\n location={ undefined }\n v-slots={ slots }\n />\n </MaybeTransition>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType<typeof VFab>\n"],"mappings":"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
|
1
|
+
{"version":3,"file":"VFab.mjs","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","makeLocationProps","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","makeVFabProps","app","Boolean","appear","extended","layout","offset","modelValue","type","default","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","location","split","shift","orientation","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","width","undefined","style","_withDirectives","_mergeProps","_vShow"],"sources":["../../../src/components/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n layout: Boolean,\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...omit(makeVBtnProps({ active: true }), ['location']),\n ...makeLayoutItemProps(),\n ...makeLocationProps(),\n ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n name: 'VFab',\n\n props: makeVFabProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const height = shallowRef(56)\n const layoutItemStyles = ref()\n\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n height.value = entries[0].target.clientHeight\n })\n\n const hasPosition = computed(() => props.app || props.absolute)\n\n const position = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ').shift() ?? 'bottom'\n }) as ComputedRef<Position>\n\n const orientation = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location?.split(' ')[1] ?? 'end'\n })\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n elementSize: computed(() => height.value + 24),\n active: computed(() => props.app && model.value),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n const vFabRef = ref()\n\n useRender(() => {\n const btnProps = VBtn.filterProps(props)\n\n return (\n <div\n ref={ vFabRef }\n class={[\n 'v-fab',\n {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value,\n },\n props.class,\n ]}\n style={[\n props.app ? {\n ...layoutItemStyles.value,\n } : {\n height: 'inherit',\n width: undefined,\n },\n props.style,\n ]}\n >\n <div class=\"v-fab__container\">\n <MaybeTransition\n appear={ props.appear }\n transition={ props.transition }\n >\n <VBtn\n v-show={ props.active }\n ref={ resizeRef }\n { ...btnProps }\n active={ undefined }\n location={ undefined }\n v-slots={ slots }\n />\n </MaybeTransition>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType<typeof VFab>\n"],"mappings":"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","ignoreList":[]}
|