vuetify 3.7.18 → 3.7.19

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.
Files changed (40) hide show
  1. package/dist/json/attributes.json +2834 -2822
  2. package/dist/json/importMap-labs.json +26 -26
  3. package/dist/json/importMap.json +138 -138
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +5323 -5273
  6. package/dist/vuetify-labs.css +3725 -3725
  7. package/dist/vuetify-labs.d.ts +74 -32
  8. package/dist/vuetify-labs.esm.js +98 -27
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +98 -27
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3391 -3391
  13. package/dist/vuetify.d.ts +86 -83
  14. package/dist/vuetify.esm.js +25 -10
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +25 -10
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +10 -10
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VDataTable/VDataTableRow.mjs +18 -3
  22. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  23. package/lib/components/VDataTable/index.d.mts +91 -88
  24. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  25. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  26. package/lib/components/VIcon/VIcon.mjs +2 -2
  27. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  28. package/lib/components/index.d.mts +35 -32
  29. package/lib/composables/calendar.mjs +1 -1
  30. package/lib/composables/calendar.mjs.map +1 -1
  31. package/lib/entry-bundler.mjs +1 -1
  32. package/lib/framework.mjs +1 -1
  33. package/lib/index.d.mts +51 -51
  34. package/lib/labs/VDateInput/VDateInput.mjs +75 -18
  35. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  36. package/lib/labs/VDateInput/index.d.mts +43 -0
  37. package/lib/labs/components.d.mts +43 -4
  38. package/lib/util/helpers.mjs +1 -1
  39. package/lib/util/helpers.mjs.map +1 -1
  40. package/package.json +2 -2
@@ -109,22 +109,37 @@ export const VDataTableRow = genericComponent()({
109
109
  "width": !mobile.value ? column.width : undefined
110
110
  }, cellProps, columnCellProps), {
111
111
  default: () => {
112
- if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
113
112
  if (column.key === 'data-table-select') {
114
- return slots['item.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {
113
+ return slots['item.data-table-select']?.({
114
+ ...slotProps,
115
+ props: {
116
+ disabled: !item.selectable,
117
+ modelValue: isSelected([item]),
118
+ onClick: withModifiers(() => toggleSelect(item), ['stop'])
119
+ }
120
+ }) ?? _createVNode(VCheckboxBtn, {
115
121
  "disabled": !item.selectable,
116
122
  "modelValue": isSelected([item]),
117
123
  "onClick": withModifiers(() => toggleSelect(item), ['stop'])
118
124
  }, null);
119
125
  }
120
126
  if (column.key === 'data-table-expand') {
121
- return slots['item.data-table-expand']?.(slotProps) ?? _createVNode(VBtn, {
127
+ return slots['item.data-table-expand']?.({
128
+ ...slotProps,
129
+ props: {
130
+ icon: isExpanded(item) ? '$collapse' : '$expand',
131
+ size: 'small',
132
+ variant: 'text',
133
+ onClick: withModifiers(() => toggleExpand(item), ['stop'])
134
+ }
135
+ }) ?? _createVNode(VBtn, {
122
136
  "icon": isExpanded(item) ? '$collapse' : '$expand',
123
137
  "size": "small",
124
138
  "variant": "text",
125
139
  "onClick": withModifiers(() => toggleExpand(item), ['stop'])
126
140
  }, null);
127
141
  }
142
+ if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
128
143
  const displayValue = toDisplayString(slotProps.value);
129
144
  return !mobile.value ? displayValue : _createVNode(_Fragment, null, [_createVNode("div", {
130
145
  "class": "v-data-table__td-title"
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableRow.mjs","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","selectable","displayValue","_Fragment","title"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>\n 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => '',\n }\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps)\n\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB;AAAA,SAChBC,IAAI;AAAA,SACJC,YAAY,kCAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,gBAAgB,EAAEC,UAAU,yCAErC;AACA,SAASC,eAAe,EAAEC,aAAa,QAAQ,KAAK;AAAA,SAC3CC,SAAS,EAAEC,gBAAgB,EAAEC,oBAAoB,EAAEC,YAAY,EAAEC,SAAS,gCAEnF;AAgBA,OAAO,MAAMC,sBAAsB,GAAGF,YAAY,CAAC;EACjDG,KAAK,EAAEC,MAAM;EACbC,IAAI,EAAEC,MAAiC;EACvCC,SAAS,EAAE,CAACD,MAAM,EAAEE,QAAQ,CAA6B;EACzDC,OAAO,EAAEZ,SAAS,CAAe,CAAC;EAClCa,aAAa,EAAEb,SAAS,CAAe,CAAC;EACxCc,UAAU,EAAEd,SAAS,CAAe,CAAC;EAErC,GAAGJ,gBAAgB,CAAC;AACtB,CAAC,EAAE,eAAe,CAAC;AAEnB,OAAO,MAAMmB,aAAa,GAAGd,gBAAgB,CAME,CAAC,CAAC;EAC/Ce,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAEZ,sBAAsB,CAAC,CAAC;EAE/Ba,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,cAAc;MAAEC;IAAO,CAAC,GAAGzB,UAAU,CAACoB,KAAK,EAAE,kBAAkB,CAAC;IACxE,MAAM;MAAEM,UAAU;MAAEC,YAAY;MAAEC,YAAY;MAAEC,WAAW;MAAEC;IAAU,CAAC,GAAGjC,YAAY,CAAC,CAAC;IACzF,MAAM;MAAEkC,UAAU;MAAEC;IAAa,CAAC,GAAGrC,WAAW,CAAC,CAAC;IAClD,MAAM;MAAEsC,UAAU;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAGrC,OAAO,CAAC,CAAC;IAClD,MAAM;MAAEsC;IAAQ,CAAC,GAAGxC,UAAU,CAAC,CAAC;IAEhCW,SAAS,CAAC,MAAA8B,YAAA;MAAA,SAEC,CACL,kBAAkB,EAClB;QACE,6BAA6B,EAAE,CAAC,EAAEjB,KAAK,CAACL,OAAO,IAAIK,KAAK,CAACJ,aAAa,IAAII,KAAK,CAACH,UAAU;MAC5F,CAAC,EACDO,cAAc,CAACc,KAAK,CACrB;MAAA,WACSlB,KAAK,CAACL,OAAO;MAAA,iBACPK,KAAK,CAACJ,aAAa;MAAA,cACtBI,KAAK,CAACH;IAAU,IAE3BG,KAAK,CAACT,IAAI,IAAIyB,OAAO,CAACE,KAAK,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,CAAC,KAAK;MAC/C,MAAM9B,IAAI,GAAGS,KAAK,CAACT,IAAK;MACxB,MAAM+B,QAAQ,GAAG,QAAQF,MAAM,CAACG,GAAG,EAAW;MAC9C,MAAMC,cAAc,GAAG,UAAUJ,MAAM,CAACG,GAAG,EAAW;MACtD,MAAME,SAAS,GAAG;QAChBpC,KAAK,EAAEW,KAAK,CAACX,KAAM;QACnBE,IAAI,EAAEA,IAAI,CAACmC,GAAG;QACdC,YAAY,EAAEpC,IAAI;QAClB2B,KAAK,EAAEjC,oBAAoB,CAACM,IAAI,CAACyB,OAAO,EAAEI,MAAM,CAACG,GAAG,CAAC;QACrDH,MAAM;QACNd,UAAU;QACVC,YAAY;QACZI,UAAU;QACVC;MACF,CAA4B;MAE5B,MAAMgB,eAAoD,GAAG;QAC3DR,MAAM;QACNV,SAAS;QACTK,QAAQ;QACRF,UAAU;QACVC,MAAM,EAAEA,MAAM,CAACI,KAAK;QACpBV,YAAY,EAAEA,YAAY,CAACU,KAAK;QAChCT,WAAW,EAAEA,WAAW,CAACS,KAAK;QAC9BW,WAAW,EAAEA,CAAA,KAAM;MACrB,CAAC;MAED,MAAMpC,SAAS,GAAG,OAAOO,KAAK,CAACP,SAAS,KAAK,UAAU,GACnDO,KAAK,CAACP,SAAS,CAAC;QAChBJ,KAAK,EAAEoC,SAAS,CAACpC,KAAK;QACtBE,IAAI,EAAEkC,SAAS,CAAClC,IAAI;QACpBoC,YAAY,EAAEF,SAAS,CAACE,YAAY;QACpCT,KAAK,EAAEO,SAAS,CAACP,KAAK;QACtBE;MACF,CAAC,CAAC,GACApB,KAAK,CAACP,SAAS;MACnB,MAAMqC,eAAe,GAAG,OAAOV,MAAM,CAAC3B,SAAS,KAAK,UAAU,GAC1D2B,MAAM,CAAC3B,SAAS,CAAC;QACjBJ,KAAK,EAAEoC,SAAS,CAACpC,KAAK;QACtBE,IAAI,EAAEkC,SAAS,CAAClC,IAAI;QACpBoC,YAAY,EAAEF,SAAS,CAACE,YAAY;QACpCT,KAAK,EAAEO,SAAS,CAACP;MACnB,CAAC,CAAC,GACAE,MAAM,CAAC3B,SAAS;MAEpB,OAAAwB,YAAA,CAAA7C,gBAAA,EAAA2D,WAAA;QAAA,SAEYX,MAAM,CAACY,KAAK;QAAA,SACb;UACL,gCAAgC,EAAEZ,MAAM,CAACG,GAAG,KAAK,mBAAmB;UACpE,8BAA8B,EAAEH,MAAM,CAACG,GAAG,KAAK;QACjD,CAAC;QAAA,SACOH,MAAM,CAACa,KAAK;QAAA,eACNb,MAAM,CAACc,WAAW;QAAA,aACpBd,MAAM,CAACe,SAAS;QAAA,YACjB,CAAC9B,MAAM,CAACa,KAAK,GAAGE,MAAM,CAACgB,QAAQ,GAAGC,SAAS;QAAA,aAC1CjB,MAAM,CAACG,GAAG,KAAK,mBAAmB,IAAIH,MAAM,CAACG,GAAG,KAAK,mBAAmB;QAAA,UAC3EH,MAAM,CAACkB,MAAM;QAAA,SACd,CAACjC,MAAM,CAACa,KAAK,GAAGE,MAAM,CAACmB,KAAK,GAAGF;MAAS,GAC3C5C,SAAS,EACTqC,eAAe;QAGlBU,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIrC,KAAK,CAACmB,QAAQ,CAAC,IAAI,CAACjB,MAAM,CAACa,KAAK,EAAE,OAAOf,KAAK,CAACmB,QAAQ,CAAC,GAAGG,SAAS,CAAC;UAEzE,IAAIL,MAAM,CAACG,GAAG,KAAK,mBAAmB,EAAE;YACtC,OAAOpB,KAAK,CAAC,wBAAwB,CAAC,GAAGsB,SAAS,CAAC,IAAAR,YAAA,CAAA3C,YAAA;cAAA,YAEpC,CAACiB,IAAI,CAACkD,UAAU;cAAA,cACdnC,UAAU,CAAC,CAACf,IAAI,CAAC,CAAC;cAAA,WACrBT,aAAa,CAAC,MAAMyB,YAAY,CAAChB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAAC,QAE9D;UACH;UAEA,IAAI6B,MAAM,CAACG,GAAG,KAAK,mBAAmB,EAAE;YACtC,OAAOpB,KAAK,CAAC,wBAAwB,CAAC,GAAGsB,SAAS,CAAC,IAAAR,YAAA,CAAA5C,IAAA;cAAA,QAExCsC,UAAU,CAACpB,IAAI,CAAC,GAAG,WAAW,GAAG,SAAS;cAAA;cAAA;cAAA,WAGvCT,aAAa,CAAC,MAAM8B,YAAY,CAACrB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAAC,QAE9D;UACH;UAEA,MAAMmD,YAAY,GAAG7D,eAAe,CAAC4C,SAAS,CAACP,KAAK,CAAC;UAErD,OAAO,CAACb,MAAM,CAACa,KAAK,GAAGwB,YAAY,GAAAzB,YAAA,CAAA0B,SAAA,SAAA1B,YAAA;YAAA;UAAA,IAG3Bd,KAAK,CAACqB,cAAc,CAAC,GAAGI,eAAe,CAAC,IAAIR,MAAM,CAACwB,KAAK,IAAA3B,YAAA;YAAA;UAAA,IAIxDd,KAAK,CAACmB,QAAQ,CAAC,GAAGG,SAAS,CAAC,IAAIiB,YAAY,IAGnD;QACH;MAAC;IAIT,CAAC,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRow.mjs","names":["VDataTableColumn","VBtn","VCheckboxBtn","useExpanded","useHeaders","useSelection","useSort","makeDisplayProps","useDisplay","toDisplayString","withModifiers","EventProp","genericComponent","getObjectValueByPath","propsFactory","useRender","makeVDataTableRowProps","index","Number","item","Object","cellProps","Function","onClick","onContextmenu","onDblclick","VDataTableRow","name","props","setup","_ref","slots","displayClasses","mobile","isSelected","toggleSelect","someSelected","allSelected","selectAll","isExpanded","toggleExpand","toggleSort","sortBy","isSorted","columns","_createVNode","value","map","column","i","slotName","key","headerSlotName","slotProps","raw","internalItem","columnSlotProps","getSortIcon","columnCellProps","_mergeProps","align","fixed","fixedOffset","lastFixed","maxWidth","undefined","nowrap","width","default","disabled","selectable","modelValue","icon","size","variant","displayValue","_Fragment","title"],"sources":["../../../src/components/VDataTable/VDataTableRow.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VBtn } from '@/components/VBtn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { useExpanded } from './composables/expand'\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\n\n// Utilities\nimport { toDisplayString, withModifiers } from 'vue'\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CellProps, DataTableItem, ItemKeySlot } from './types'\nimport type { VDataTableHeaderCellColumnSlotProps } from './VDataTableHeaders'\nimport type { GenericProps } from '@/util'\n\nexport type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {\n props: Record<string, unknown>\n}\n\nexport type VDataTableRowSlots<T> = {\n 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>\n 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & {\n [key: `item.${string}`]: ItemKeySlot<T>\n [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps\n}\n\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object as PropType<DataTableItem>,\n cellProps: [Object, Function] as PropType<CellProps<any>>,\n onClick: EventProp<[MouseEvent]>(),\n onContextmenu: EventProp<[MouseEvent]>(),\n onDblclick: EventProp<[MouseEvent]>(),\n\n ...makeDisplayProps(),\n}, 'VDataTableRow')\n\nexport const VDataTableRow = genericComponent<new <T>(\n props: {\n item?: DataTableItem<T>\n cellProps?: CellProps<T>\n },\n slots: VDataTableRowSlots<T>,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDataTableRow',\n\n props: makeVDataTableRowProps(),\n\n setup (props, { slots }) {\n const { displayClasses, mobile } = useDisplay(props, 'v-data-table__tr')\n const { isSelected, toggleSelect, someSelected, allSelected, selectAll } = useSelection()\n const { isExpanded, toggleExpand } = useExpanded()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { columns } = useHeaders()\n\n useRender(() => (\n <tr\n class={[\n 'v-data-table__tr',\n {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick),\n },\n displayClasses.value,\n ]}\n onClick={ props.onClick as any }\n onContextmenu={ props.onContextmenu as any }\n onDblclick={ props.onDblclick as any }\n >\n { props.item && columns.value.map((column, i) => {\n const item = props.item!\n const slotName = `item.${column.key}` as const\n const headerSlotName = `header.${column.key}` as const\n const slotProps = {\n index: props.index!,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand,\n } satisfies ItemKeySlot<any>\n\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => '',\n }\n\n const cellProps = typeof props.cellProps === 'function'\n ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column,\n })\n : props.cellProps\n const columnCellProps = typeof column.cellProps === 'function'\n ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n })\n : column.cellProps\n\n return (\n <VDataTableColumn\n align={ column.align }\n class={{\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select',\n }}\n fixed={ column.fixed }\n fixedOffset={ column.fixedOffset }\n lastFixed={ column.lastFixed }\n maxWidth={ !mobile.value ? column.maxWidth : undefined }\n noPadding={ column.key === 'data-table-select' || column.key === 'data-table-expand' }\n nowrap={ column.nowrap }\n width={ !mobile.value ? column.width : undefined }\n { ...cellProps }\n { ...columnCellProps }\n >\n {{\n default: () => {\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.({\n ...slotProps,\n props: {\n disabled: !item.selectable,\n modelValue: isSelected([item]),\n onClick: withModifiers(() => toggleSelect(item), ['stop']),\n },\n }) ?? (\n <VCheckboxBtn\n disabled={ !item.selectable }\n modelValue={ isSelected([item]) }\n onClick={ withModifiers(() => toggleSelect(item), ['stop']) }\n />\n )\n }\n\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.({\n ...slotProps,\n props: {\n icon: isExpanded(item) ? '$collapse' : '$expand',\n size: 'small',\n variant: 'text',\n onClick: withModifiers(() => toggleExpand(item), ['stop']),\n },\n }) ?? (\n <VBtn\n icon={ isExpanded(item) ? '$collapse' : '$expand' }\n size=\"small\"\n variant=\"text\"\n onClick={ withModifiers(() => toggleExpand(item), ['stop']) }\n />\n )\n }\n\n if (slots[slotName] && !mobile.value) return slots[slotName](slotProps)\n\n const displayValue = toDisplayString(slotProps.value)\n\n return !mobile.value ? displayValue : (\n <>\n <div class=\"v-data-table__td-title\">\n { slots[headerSlotName]?.(columnSlotProps) ?? column.title }\n </div>\n\n <div class=\"v-data-table__td-value\">\n { slots[slotName]?.(slotProps) ?? displayValue }\n </div>\n </>\n )\n },\n }}\n </VDataTableColumn>\n )\n })}\n </tr>\n ))\n },\n})\n\nexport type VDataTableRow = InstanceType<typeof VDataTableRow>\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { VNodeChild, VNode, ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, Ref, UnwrapRef, DeepReadonly } from 'vue';
2
+ import { VNodeChild, VNode, ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, Ref, FunctionalComponent, UnwrapRef, DeepReadonly } from 'vue';
3
3
 
4
4
  type ClassValue = any;
5
5
 
@@ -51,12 +51,6 @@ declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
51
51
  type Breakpoint = typeof breakpoints[number];
52
52
  type DisplayBreakpoint = 'xs' | Breakpoint;
53
53
 
54
- type JSXComponent<Props = any> = {
55
- new (): ComponentPublicInstance<Props>;
56
- } | FunctionalComponent<Props>;
57
- type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
58
- declare const IconValue: PropType<IconValue>;
59
-
60
54
  type ExpandProps = {
61
55
  expandOnClick: boolean;
62
56
  expanded: readonly string[];
@@ -128,6 +122,37 @@ declare function provideGroupBy(options: {
128
122
  isGroupOpen: (group: Group) => boolean;
129
123
  };
130
124
 
125
+ interface DataTableItemProps {
126
+ items: any[];
127
+ itemValue: SelectItemKey;
128
+ itemSelectable: SelectItemKey;
129
+ returnObject: boolean;
130
+ }
131
+
132
+ interface SelectableItem {
133
+ value: any;
134
+ selectable: boolean;
135
+ }
136
+ type SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {
137
+ modelValue: readonly any[];
138
+ selectStrategy: 'single' | 'page' | 'all';
139
+ valueComparator: typeof deepEqual;
140
+ 'onUpdate:modelValue': EventProp<[any[]]> | undefined;
141
+ };
142
+ declare function provideSelection(props: SelectionProps, { allItems, currentPage }: {
143
+ allItems: Ref<SelectableItem[]>;
144
+ currentPage: Ref<SelectableItem[]>;
145
+ }): {
146
+ toggleSelect: (item: SelectableItem) => void;
147
+ select: (items: SelectableItem[], value: boolean) => void;
148
+ selectAll: (value: boolean) => void;
149
+ isSelected: (items: SelectableItem | SelectableItem[]) => boolean;
150
+ isSomeSelected: (items: SelectableItem | SelectableItem[]) => boolean;
151
+ someSelected: vue.ComputedRef<boolean>;
152
+ allSelected: vue.ComputedRef<boolean>;
153
+ showSelectAll: vue.ComputedRef<boolean>;
154
+ };
155
+
131
156
  type DataTableCompareFunction<T = any> = (a: T, b: T) => number | null;
132
157
  type DataTableHeader<T = Record<string, any>> = {
133
158
  key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {});
@@ -196,36 +221,11 @@ type RowProps<T> = Record<string, any> | ((data: Pick<ItemKeySlot<T>, 'index' |
196
221
  type CellProps<T> = Record<string, any> | ((data: Pick<ItemKeySlot<T>, 'index' | 'item' | 'internalItem' | 'value' | 'column'>) => Record<string, any>);
197
222
  type HeaderCellProps = Record<string, any> | ((data: Pick<ItemKeySlot<any>, 'index' | 'item' | 'internalItem' | 'value'>) => Record<string, any>);
198
223
 
199
- interface DataTableItemProps {
200
- items: any[];
201
- itemValue: SelectItemKey;
202
- itemSelectable: SelectItemKey;
203
- returnObject: boolean;
204
- }
205
-
206
- interface SelectableItem {
207
- value: any;
208
- selectable: boolean;
209
- }
210
- type SelectionProps = Pick<DataTableItemProps, 'itemValue'> & {
211
- modelValue: readonly any[];
212
- selectStrategy: 'single' | 'page' | 'all';
213
- valueComparator: typeof deepEqual;
214
- 'onUpdate:modelValue': EventProp<[any[]]> | undefined;
215
- };
216
- declare function provideSelection(props: SelectionProps, { allItems, currentPage }: {
217
- allItems: Ref<SelectableItem[]>;
218
- currentPage: Ref<SelectableItem[]>;
219
- }): {
220
- toggleSelect: (item: SelectableItem) => void;
221
- select: (items: SelectableItem[], value: boolean) => void;
222
- selectAll: (value: boolean) => void;
223
- isSelected: (items: SelectableItem | SelectableItem[]) => boolean;
224
- isSomeSelected: (items: SelectableItem | SelectableItem[]) => boolean;
225
- someSelected: vue.ComputedRef<boolean>;
226
- allSelected: vue.ComputedRef<boolean>;
227
- showSelectAll: vue.ComputedRef<boolean>;
228
- };
224
+ type JSXComponent<Props = any> = {
225
+ new (): ComponentPublicInstance<Props>;
226
+ } | FunctionalComponent<Props>;
227
+ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
228
+ declare const IconValue: PropType<IconValue>;
229
229
 
230
230
  type HeadersSlotProps = {
231
231
  headers: InternalDataTableHeader[][];
@@ -489,39 +489,12 @@ declare const VDataTableHeaders: {
489
489
  }>>;
490
490
  type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>;
491
491
 
492
- type Density = null | 'default' | 'comfortable' | 'compact';
493
-
494
- declare function providePagination(options: {
495
- page: Ref<number>;
496
- itemsPerPage: Ref<number>;
497
- itemsLength: Ref<number>;
498
- }): {
499
- page: Ref<number>;
500
- itemsPerPage: Ref<number>;
501
- startIndex: vue.ComputedRef<number>;
502
- stopIndex: vue.ComputedRef<number>;
503
- pageCount: vue.ComputedRef<number>;
504
- itemsLength: Ref<number>;
505
- nextPage: () => void;
506
- prevPage: () => void;
507
- setPage: (value: number) => void;
508
- setItemsPerPage: (value: number) => void;
492
+ type VDataTableItemCellColumnSlotProps<T> = Omit<ItemKeySlot<T>, 'value'> & {
493
+ props: Record<string, unknown>;
509
494
  };
510
-
511
- type VDataTableGroupHeaderRowSlots = {
512
- 'data-table-group': {
513
- item: Group;
514
- count: number;
515
- props: Record<string, unknown>;
516
- };
517
- 'data-table-select': {
518
- props: Record<string, unknown>;
519
- };
520
- };
521
-
522
495
  type VDataTableRowSlots<T> = {
523
- 'item.data-table-select': Omit<ItemKeySlot<T>, 'value'>;
524
- 'item.data-table-expand': Omit<ItemKeySlot<T>, 'value'>;
496
+ 'item.data-table-select': VDataTableItemCellColumnSlotProps<T>;
497
+ 'item.data-table-expand': VDataTableItemCellColumnSlotProps<T>;
525
498
  'header.data-table-select': VDataTableHeaderCellColumnSlotProps;
526
499
  'header.data-table-expand': VDataTableHeaderCellColumnSlotProps;
527
500
  } & {
@@ -550,8 +523,8 @@ declare const VDataTableRow: {
550
523
  }, true, {}, vue.SlotsType<Partial<{
551
524
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
552
525
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
553
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
554
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
526
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
527
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
555
528
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
556
529
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
557
530
  }>>, {
@@ -588,8 +561,8 @@ declare const VDataTableRow: {
588
561
  }, {}, string, vue.SlotsType<Partial<{
589
562
  [x: `item.${string}`]: (arg: ItemKeySlot<unknown>) => vue.VNode[];
590
563
  [x: `header.${string}`]: (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
591
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
592
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
564
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
565
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
593
566
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
594
567
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
595
568
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
@@ -622,6 +595,36 @@ declare const VDataTableRow: {
622
595
  }>>;
623
596
  type VDataTableRow = InstanceType<typeof VDataTableRow>;
624
597
 
598
+ type Density = null | 'default' | 'comfortable' | 'compact';
599
+
600
+ declare function providePagination(options: {
601
+ page: Ref<number>;
602
+ itemsPerPage: Ref<number>;
603
+ itemsLength: Ref<number>;
604
+ }): {
605
+ page: Ref<number>;
606
+ itemsPerPage: Ref<number>;
607
+ startIndex: vue.ComputedRef<number>;
608
+ stopIndex: vue.ComputedRef<number>;
609
+ pageCount: vue.ComputedRef<number>;
610
+ itemsLength: Ref<number>;
611
+ nextPage: () => void;
612
+ prevPage: () => void;
613
+ setPage: (value: number) => void;
614
+ setItemsPerPage: (value: number) => void;
615
+ };
616
+
617
+ type VDataTableGroupHeaderRowSlots = {
618
+ 'data-table-group': {
619
+ item: Group;
620
+ count: number;
621
+ props: Record<string, unknown>;
622
+ };
623
+ 'data-table-select': {
624
+ props: Record<string, unknown>;
625
+ };
626
+ };
627
+
625
628
  type VDataTableRowsSlots<T> = VDataTableGroupHeaderRowSlots & VDataTableRowSlots<T> & {
626
629
  item: ItemSlot<T> & {
627
630
  props: Record<string, any>;
@@ -668,8 +671,8 @@ declare const VDataTableRows: {
668
671
  'data-table-select': (arg: {
669
672
  props: Record<string, unknown>;
670
673
  }) => vue.VNode[];
671
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
672
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
674
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
675
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
673
676
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
674
677
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
675
678
  item: (arg: {
@@ -741,8 +744,8 @@ declare const VDataTableRows: {
741
744
  'data-table-select': (arg: {
742
745
  props: Record<string, unknown>;
743
746
  }) => vue.VNode[];
744
- 'item.data-table-select': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
745
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<unknown>, "value">) => vue.VNode[];
747
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
748
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<unknown>) => vue.VNode[];
746
749
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
747
750
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
748
751
  item: (arg: {
@@ -1057,8 +1060,8 @@ declare const VDataTable: {
1057
1060
  'data-table-select': (arg: {
1058
1061
  props: Record<string, unknown>;
1059
1062
  }) => vue.VNode[];
1060
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1061
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1063
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1064
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1062
1065
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1063
1066
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1064
1067
  item: (arg: {
@@ -1358,8 +1361,8 @@ declare const VDataTable: {
1358
1361
  'data-table-select': (arg: {
1359
1362
  props: Record<string, unknown>;
1360
1363
  }) => vue.VNode[];
1361
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1362
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
1364
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1365
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
1363
1366
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1364
1367
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
1365
1368
  item: (arg: {
@@ -2260,8 +2263,8 @@ declare const VDataTableVirtual: {
2260
2263
  'data-table-select': (arg: {
2261
2264
  props: Record<string, unknown>;
2262
2265
  }) => vue.VNode[];
2263
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2264
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2266
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2267
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2265
2268
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2266
2269
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2267
2270
  item: (arg: {
@@ -2570,8 +2573,8 @@ declare const VDataTableVirtual: {
2570
2573
  'data-table-select': (arg: {
2571
2574
  props: Record<string, unknown>;
2572
2575
  }) => vue.VNode[];
2573
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2574
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
2576
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2577
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
2575
2578
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2576
2579
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
2577
2580
  item: (arg: {
@@ -3118,8 +3121,8 @@ declare const VDataTableServer: {
3118
3121
  'data-table-select': (arg: {
3119
3122
  props: Record<string, unknown>;
3120
3123
  }) => vue.VNode[];
3121
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3122
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3124
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3125
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3123
3126
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3124
3127
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3125
3128
  item: (arg: {
@@ -3490,8 +3493,8 @@ declare const VDataTableServer: {
3490
3493
  'data-table-select': (arg: {
3491
3494
  props: Record<string, unknown>;
3492
3495
  }) => vue.VNode[];
3493
- 'item.data-table-select': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3494
- 'item.data-table-expand': (arg: Omit<ItemKeySlot<any>, "value">) => vue.VNode[];
3496
+ 'item.data-table-select': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3497
+ 'item.data-table-expand': (arg: VDataTableItemCellColumnSlotProps<any>) => vue.VNode[];
3495
3498
  'header.data-table-select': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3496
3499
  'header.data-table-expand': (arg: VDataTableHeaderCellColumnSlotProps) => vue.VNode[];
3497
3500
  item: (arg: {
@@ -73,7 +73,7 @@ export const VDatePicker = genericComponent()({
73
73
  const {
74
74
  t
75
75
  } = useLocale();
76
- const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
76
+ const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v).map(i => adapter.date(i)), v => props.multiple ? v : v[0]);
77
77
  const viewMode = useProxiedModel(props, 'viewMode');
78
78
  // const inputMode = useProxiedModel(props, 'inputMode')
79
79
 
@@ -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","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","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\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\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\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\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.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.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","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","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).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\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\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\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\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.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.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":[]}
@@ -8,7 +8,7 @@ import { makeComponentProps } from "../../composables/component.mjs";
8
8
  import { IconValue, useIcon } from "../../composables/icons.mjs";
9
9
  import { makeSizeProps, useSize } from "../../composables/size.mjs";
10
10
  import { makeTagProps } from "../../composables/tag.mjs";
11
- import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
11
+ import { makeThemeProps, useTheme } from "../../composables/theme.mjs"; // Utilities
12
12
  import { computed, ref, Text, toRef } from 'vue';
13
13
  import { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
14
14
  export const makeVIconProps = propsFactory({
@@ -35,7 +35,7 @@ export const VIcon = genericComponent()({
35
35
  const slotIcon = ref();
36
36
  const {
37
37
  themeClasses
38
- } = provideTheme(props);
38
+ } = useTheme();
39
39
  const {
40
40
  iconData
41
41
  } = useIcon(computed(() => slotIcon.value || props.icon));
@@ -1 +1 @@
1
- {"version":3,"file":"VIcon.mjs","names":["useTextColor","makeComponentProps","IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","computed","ref","Text","toRef","convertToUnit","flattenFragments","genericComponent","propsFactory","useRender","makeVIconProps","color","String","disabled","Boolean","start","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","hasClick","onClick","onClickOnce","_createVNode","component","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref<string>()\n\n const { themeClasses } = provideTheme(props)\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce)\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ hasClick ? 'button' : undefined }\n aria-hidden={ !hasClick }\n tabindex={ hasClick ? props.disabled ? -1 : 0 : undefined }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIcon.mjs","names":["useTextColor","makeComponentProps","IconValue","useIcon","makeSizeProps","useSize","makeTagProps","makeThemeProps","useTheme","computed","ref","Text","toRef","convertToUnit","flattenFragments","genericComponent","propsFactory","useRender","makeVIconProps","color","String","disabled","Boolean","start","end","icon","tag","VIcon","name","props","setup","_ref","attrs","slots","slotIcon","themeClasses","iconData","value","sizeClasses","textColorClasses","textColorStyles","slotValue","default","filter","node","type","children","hasClick","onClick","onClickOnce","_createVNode","component","class","fontSize","size","height","width","undefined","style"],"sources":["../../../src/components/VIcon/VIcon.tsx"],"sourcesContent":["// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue, useIcon } from '@/composables/icons'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, Text, toRef } from 'vue'\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n ...makeThemeProps(),\n}, 'VIcon')\n\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n\n props: makeVIconProps(),\n\n setup (props, { attrs, slots }) {\n const slotIcon = ref<string>()\n\n const { themeClasses } = useTheme()\n const { iconData } = useIcon(computed(() => slotIcon.value || props.icon))\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n useRender(() => {\n const slotValue = slots.default?.()\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node =>\n node.type === Text && node.children && typeof node.children === 'string'\n )[0]?.children as string\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce)\n\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end,\n },\n props.class,\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n props.style,\n ]}\n role={ hasClick ? 'button' : undefined }\n aria-hidden={ !hasClick }\n tabindex={ hasClick ? props.disabled ? -1 : 0 : undefined }\n >\n { slotValue }\n </iconData.value.component>\n )\n })\n\n return {}\n },\n})\n\nexport type VIcon = InstanceType<typeof VIcon>\n"],"mappings":"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","ignoreList":[]}