vuetify 3.8.0-beta.0 → 3.8.0

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 (87) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +3162 -3030
  3. package/dist/json/importMap-labs.json +32 -28
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/tags.json +38 -0
  6. package/dist/json/web-types.json +6016 -5639
  7. package/dist/vuetify-labs.cjs +320 -55
  8. package/dist/vuetify-labs.css +5453 -5271
  9. package/dist/vuetify-labs.d.ts +612 -267
  10. package/dist/vuetify-labs.esm.js +320 -55
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +320 -55
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +74 -36
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3042 -3037
  17. package/dist/vuetify.d.ts +161 -178
  18. package/dist/vuetify.esm.js +74 -36
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +74 -36
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +32 -32
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.js +5 -10
  26. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  27. package/lib/components/VColorPicker/VColorPickerPreview.js +4 -3
  28. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  29. package/lib/components/VConfirmEdit/VConfirmEdit.d.ts +31 -6
  30. package/lib/components/VConfirmEdit/VConfirmEdit.js +17 -2
  31. package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTable.d.ts +4 -4
  33. package/lib/components/VDataTable/VDataTableRow.d.ts +9 -6
  34. package/lib/components/VDataTable/VDataTableRow.js +18 -3
  35. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  36. package/lib/components/VDataTable/VDataTableRows.d.ts +4 -4
  37. package/lib/components/VDataTable/VDataTableServer.d.ts +4 -4
  38. package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -4
  39. package/lib/components/VDatePicker/VDatePicker.d.ts +33 -78
  40. package/lib/components/VDatePicker/VDatePicker.js +1 -1
  41. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  42. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +33 -78
  43. package/lib/components/VEmptyState/VEmptyState.js +3 -1
  44. package/lib/components/VEmptyState/VEmptyState.js.map +1 -1
  45. package/lib/components/VField/VField.css +2 -2
  46. package/lib/components/VField/VField.js +5 -1
  47. package/lib/components/VField/VField.js.map +1 -1
  48. package/lib/components/VField/_variables.scss +1 -1
  49. package/lib/components/VIcon/VIcon.css +1 -0
  50. package/lib/components/VIcon/VIcon.d.ts +10 -0
  51. package/lib/components/VIcon/VIcon.js +6 -3
  52. package/lib/components/VIcon/VIcon.js.map +1 -1
  53. package/lib/components/VIcon/VIcon.sass +1 -0
  54. package/lib/components/VInput/VInput.css +7 -7
  55. package/lib/components/VInput/VInput.sass +5 -2
  56. package/lib/composables/calendar.d.ts +12 -35
  57. package/lib/composables/calendar.js +12 -9
  58. package/lib/composables/calendar.js.map +1 -1
  59. package/lib/entry-bundler.js +1 -1
  60. package/lib/entry-bundler.js.map +1 -1
  61. package/lib/framework.d.ts +61 -60
  62. package/lib/framework.js +1 -1
  63. package/lib/framework.js.map +1 -1
  64. package/lib/labs/VCalendar/VCalendar.d.ts +33 -78
  65. package/lib/labs/VDateInput/VDateInput.d.ts +103 -81
  66. package/lib/labs/VDateInput/VDateInput.js +77 -19
  67. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  68. package/lib/labs/VFileUpload/VFileUpload.js +2 -1
  69. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  70. package/lib/labs/VIconBtn/VIconBtn.css +178 -0
  71. package/lib/labs/VIconBtn/VIconBtn.d.ts +608 -0
  72. package/lib/labs/VIconBtn/VIconBtn.js +184 -0
  73. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -0
  74. package/lib/labs/VIconBtn/VIconBtn.scss +110 -0
  75. package/lib/labs/VIconBtn/_variables.scss +36 -0
  76. package/lib/labs/VIconBtn/index.d.ts +1 -0
  77. package/lib/labs/VIconBtn/index.js +2 -0
  78. package/lib/labs/VIconBtn/index.js.map +1 -0
  79. package/lib/labs/components.d.ts +1 -0
  80. package/lib/labs/components.js +1 -0
  81. package/lib/labs/components.js.map +1 -1
  82. package/lib/styles/main.css +4 -0
  83. package/lib/styles/settings/_utilities.scss +5 -0
  84. package/lib/util/helpers.d.ts +1 -2
  85. package/lib/util/helpers.js +2 -12
  86. package/lib/util/helpers.js.map +1 -1
  87. 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(event => toggleSelect(item, props.index, event), ['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.js","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","event","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(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\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,iCAErB;AAAA,SACSC,WAAW;AAAA,SACXC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,gBAAgB,EAAEC,UAAU,wCAErC;AACA,SAASC,eAAe,EAAEC,aAAa,QAAQ,KAAK;AAAA,SAC3CC,SAAS,EAAEC,gBAAgB,EAAEC,oBAAoB,EAAEC,YAAY,EAAEC,SAAS,+BAEnF;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,CACpB4D,KAAY,IAAKnC,YAAY,CAAChB,IAAI,EAAES,KAAK,CAACX,KAAK,EAAEqD,KAAqB,CAAC,EACxE,CAAC,MAAM,CACT;YAAC,QAEJ;UACH;UAEA,IAAItB,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,MAAMoD,YAAY,GAAG9D,eAAe,CAAC4C,SAAS,CAACP,KAAK,CAAC;UAErD,OAAO,CAACb,MAAM,CAACa,KAAK,GAAGyB,YAAY,GAAA1B,YAAA,CAAA2B,SAAA,SAAA3B,YAAA;YAAA;UAAA,IAG3Bd,KAAK,CAACqB,cAAc,CAAC,GAAGI,eAAe,CAAC,IAAIR,MAAM,CAACyB,KAAK,IAAA5B,YAAA;YAAA;UAAA,IAIxDd,KAAK,CAACmB,QAAQ,CAAC,GAAGG,SAAS,CAAC,IAAIkB,YAAY,IAGnD;QACH;MAAC;IAIT,CAAC,CAAC,EAEL,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableRow.js","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","event","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(\n (event: Event) => toggleSelect(item, props.index, event as PointerEvent),\n ['stop']\n )}\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":[]}
@@ -112,8 +112,8 @@ export declare const VDataTableRows: {
112
112
  'data-table-select': (arg: {
113
113
  props: Record<string, unknown>;
114
114
  }) => import("vue").VNode[];
115
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<unknown>, "value">) => import("vue").VNode[];
116
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<unknown>, "value">) => import("vue").VNode[];
115
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<unknown>) => import("vue").VNode[];
116
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<unknown>) => import("vue").VNode[];
117
117
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
118
118
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
119
119
  item: (arg: {
@@ -185,8 +185,8 @@ export declare const VDataTableRows: {
185
185
  'data-table-select': (arg: {
186
186
  props: Record<string, unknown>;
187
187
  }) => import("vue").VNode[];
188
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<unknown>, "value">) => import("vue").VNode[];
189
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<unknown>, "value">) => import("vue").VNode[];
188
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<unknown>) => import("vue").VNode[];
189
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<unknown>) => import("vue").VNode[];
190
190
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
191
191
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
192
192
  item: (arg: {
@@ -907,8 +907,8 @@ export declare const VDataTableServer: {
907
907
  'data-table-select': (arg: {
908
908
  props: Record<string, unknown>;
909
909
  }) => import("vue").VNode[];
910
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
911
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
910
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
911
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
912
912
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
913
913
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
914
914
  item: (arg: {
@@ -1279,8 +1279,8 @@ export declare const VDataTableServer: {
1279
1279
  'data-table-select': (arg: {
1280
1280
  props: Record<string, unknown>;
1281
1281
  }) => import("vue").VNode[];
1282
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
1283
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
1282
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
1283
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
1284
1284
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
1285
1285
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
1286
1286
  item: (arg: {
@@ -769,8 +769,8 @@ export declare const VDataTableVirtual: {
769
769
  'data-table-select': (arg: {
770
770
  props: Record<string, unknown>;
771
771
  }) => import("vue").VNode[];
772
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
773
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
772
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
773
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
774
774
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
775
775
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
776
776
  item: (arg: {
@@ -1092,8 +1092,8 @@ export declare const VDataTableVirtual: {
1092
1092
  'data-table-select': (arg: {
1093
1093
  props: Record<string, unknown>;
1094
1094
  }) => import("vue").VNode[];
1095
- 'item.data-table-select': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
1096
- 'item.data-table-expand': (arg: Omit<import("./types.js").ItemKeySlot<any>, "value">) => import("vue").VNode[];
1095
+ 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
1096
+ 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps<any>) => import("vue").VNode[];
1097
1097
  'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
1098
1098
  'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[];
1099
1099
  item: (arg: {
@@ -214,44 +214,14 @@ export declare const makeVDatePickerProps: <Defaults extends {
214
214
  default: unknown extends Defaults["showAdjacentMonths"] ? boolean : boolean | Defaults["showAdjacentMonths"];
215
215
  };
216
216
  weekdays: unknown extends Defaults["weekdays"] ? {
217
- type: {
218
- (arrayLength: number): number[];
219
- (...items: number[]): number[];
220
- new (arrayLength: number): number[];
221
- new (...items: number[]): number[];
222
- isArray(arg: any): arg is any[];
223
- readonly prototype: any[];
224
- from<T>(arrayLike: ArrayLike<T>): T[];
225
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
226
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
227
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
228
- of<T>(...items: T[]): T[];
229
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
230
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
231
- readonly [Symbol.species]: ArrayConstructor;
232
- };
217
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
233
218
  default: () => number[];
234
219
  } : Omit<{
235
- type: {
236
- (arrayLength: number): number[];
237
- (...items: number[]): number[];
238
- new (arrayLength: number): number[];
239
- new (...items: number[]): number[];
240
- isArray(arg: any): arg is any[];
241
- readonly prototype: any[];
242
- from<T>(arrayLike: ArrayLike<T>): T[];
243
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
244
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
245
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
246
- of<T>(...items: T[]): T[];
247
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
248
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
249
- readonly [Symbol.species]: ArrayConstructor;
250
- };
220
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
251
221
  default: () => number[];
252
222
  }, "type" | "default"> & {
253
- type: import("vue").PropType<unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"]>;
254
- default: unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"];
223
+ type: import("vue").PropType<unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"]>;
224
+ default: unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"];
255
225
  };
256
226
  weeksInMonth: unknown extends Defaults["weeksInMonth"] ? Omit<{
257
227
  type: import("vue").PropType<"dynamic" | "static">;
@@ -269,7 +239,13 @@ export declare const makeVDatePickerProps: <Defaults extends {
269
239
  type: import("vue").PropType<unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : "static" | "dynamic" | Defaults["weeksInMonth"]>;
270
240
  default: unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : NonNullable<"static" | "dynamic"> | Defaults["weeksInMonth"];
271
241
  };
272
- firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? (StringConstructor | NumberConstructor)[] : {
242
+ firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? {
243
+ type: (StringConstructor | NumberConstructor)[];
244
+ default: number;
245
+ } : Omit<{
246
+ type: (StringConstructor | NumberConstructor)[];
247
+ default: number;
248
+ }, "type" | "default"> & {
273
249
  type: import("vue").PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
274
250
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
275
251
  };
@@ -400,8 +376,9 @@ export declare const VDatePicker: {
400
376
  modeIcon: import("../../composables/icons.js").IconValue;
401
377
  viewMode: "month" | "year" | "months";
402
378
  showAdjacentMonths: boolean;
403
- weekdays: number[];
379
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
404
380
  weeksInMonth: "static" | "dynamic";
381
+ firstDayOfWeek: string | number;
405
382
  hideWeekdays: boolean;
406
383
  showWeek: boolean;
407
384
  } & {
@@ -428,7 +405,6 @@ export declare const VDatePicker: {
428
405
  bgColor?: string | undefined;
429
406
  controlHeight?: string | number | undefined;
430
407
  headerColor?: string | undefined;
431
- firstDayOfWeek?: string | number | undefined;
432
408
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
433
409
  } & {
434
410
  "onUpdate:month"?: ((date: any) => any) | undefined;
@@ -458,8 +434,9 @@ export declare const VDatePicker: {
458
434
  modeIcon: import("../../composables/icons.js").IconValue;
459
435
  viewMode: "month" | "year" | "months";
460
436
  showAdjacentMonths: boolean;
461
- weekdays: number[];
437
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
462
438
  weeksInMonth: "static" | "dynamic";
439
+ firstDayOfWeek: string | number;
463
440
  hideWeekdays: boolean;
464
441
  showWeek: boolean;
465
442
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -494,8 +471,9 @@ export declare const VDatePicker: {
494
471
  modeIcon: import("../../composables/icons.js").IconValue;
495
472
  viewMode: "month" | "year" | "months";
496
473
  showAdjacentMonths: boolean;
497
- weekdays: number[];
474
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
498
475
  weeksInMonth: "static" | "dynamic";
476
+ firstDayOfWeek: string | number;
499
477
  hideWeekdays: boolean;
500
478
  showWeek: boolean;
501
479
  } & {
@@ -522,7 +500,6 @@ export declare const VDatePicker: {
522
500
  bgColor?: string | undefined;
523
501
  controlHeight?: string | number | undefined;
524
502
  headerColor?: string | undefined;
525
- firstDayOfWeek?: string | number | undefined;
526
503
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
527
504
  } & {
528
505
  "onUpdate:month"?: ((date: any) => any) | undefined;
@@ -547,8 +524,9 @@ export declare const VDatePicker: {
547
524
  modeIcon: import("../../composables/icons.js").IconValue;
548
525
  viewMode: "month" | "year" | "months";
549
526
  showAdjacentMonths: boolean;
550
- weekdays: number[];
527
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
551
528
  weeksInMonth: "static" | "dynamic";
529
+ firstDayOfWeek: string | number;
552
530
  hideWeekdays: boolean;
553
531
  showWeek: boolean;
554
532
  }>;
@@ -572,8 +550,9 @@ export declare const VDatePicker: {
572
550
  modeIcon: import("../../composables/icons.js").IconValue;
573
551
  viewMode: "month" | "year" | "months";
574
552
  showAdjacentMonths: boolean;
575
- weekdays: number[];
553
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
576
554
  weeksInMonth: "static" | "dynamic";
555
+ firstDayOfWeek: string | number;
577
556
  hideWeekdays: boolean;
578
557
  showWeek: boolean;
579
558
  } & {
@@ -600,7 +579,6 @@ export declare const VDatePicker: {
600
579
  bgColor?: string | undefined;
601
580
  controlHeight?: string | number | undefined;
602
581
  headerColor?: string | undefined;
603
- firstDayOfWeek?: string | number | undefined;
604
582
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
605
583
  } & {
606
584
  "onUpdate:month"?: ((date: any) => any) | undefined;
@@ -630,8 +608,9 @@ export declare const VDatePicker: {
630
608
  modeIcon: import("../../composables/icons.js").IconValue;
631
609
  viewMode: "month" | "year" | "months";
632
610
  showAdjacentMonths: boolean;
633
- weekdays: number[];
611
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
634
612
  weeksInMonth: "static" | "dynamic";
613
+ firstDayOfWeek: string | number;
635
614
  hideWeekdays: boolean;
636
615
  showWeek: boolean;
637
616
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -698,22 +677,7 @@ export declare const VDatePicker: {
698
677
  month: (StringConstructor | NumberConstructor)[];
699
678
  showAdjacentMonths: BooleanConstructor;
700
679
  weekdays: {
701
- type: {
702
- (arrayLength: number): number[];
703
- (...items: number[]): number[];
704
- new (arrayLength: number): number[];
705
- new (...items: number[]): number[];
706
- isArray(arg: any): arg is any[];
707
- readonly prototype: any[];
708
- from<T>(arrayLike: ArrayLike<T>): T[];
709
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
710
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
711
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
712
- of<T>(...items: T[]): T[];
713
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
714
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
715
- readonly [Symbol.species]: ArrayConstructor;
716
- };
680
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
717
681
  default: () => number[];
718
682
  };
719
683
  weeksInMonth: Omit<{
@@ -723,7 +687,10 @@ export declare const VDatePicker: {
723
687
  type: import("vue").PropType<"static" | "dynamic">;
724
688
  default: NonNullable<"static" | "dynamic">;
725
689
  };
726
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
690
+ firstDayOfWeek: {
691
+ type: (StringConstructor | NumberConstructor)[];
692
+ default: number;
693
+ };
727
694
  allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
728
695
  hideWeekdays: BooleanConstructor;
729
696
  multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
@@ -815,22 +782,7 @@ export declare const VDatePicker: {
815
782
  month: (StringConstructor | NumberConstructor)[];
816
783
  showAdjacentMonths: BooleanConstructor;
817
784
  weekdays: {
818
- type: {
819
- (arrayLength: number): number[];
820
- (...items: number[]): number[];
821
- new (arrayLength: number): number[];
822
- new (...items: number[]): number[];
823
- isArray(arg: any): arg is any[];
824
- readonly prototype: any[];
825
- from<T>(arrayLike: ArrayLike<T>): T[];
826
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
827
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
828
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
829
- of<T>(...items: T[]): T[];
830
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
831
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
832
- readonly [Symbol.species]: ArrayConstructor;
833
- };
785
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
834
786
  default: () => number[];
835
787
  };
836
788
  weeksInMonth: Omit<{
@@ -840,7 +792,10 @@ export declare const VDatePicker: {
840
792
  type: import("vue").PropType<"static" | "dynamic">;
841
793
  default: NonNullable<"static" | "dynamic">;
842
794
  };
843
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
795
+ firstDayOfWeek: {
796
+ type: (StringConstructor | NumberConstructor)[];
797
+ default: number;
798
+ };
844
799
  allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
845
800
  hideWeekdays: BooleanConstructor;
846
801
  multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
@@ -77,7 +77,7 @@ export const VDatePicker = genericComponent()({
77
77
  const {
78
78
  rtlClasses
79
79
  } = useRtl();
80
- const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
80
+ const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v).map(i => adapter.date(i)), v => props.multiple ? v : v[0]);
81
81
  const viewMode = useProxiedModel(props, 'viewMode');
82
82
  // const inputMode = useProxiedModel(props, 'inputMode')
83
83
 
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","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, useRtl } 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 headerColor: String,\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 const { rtlClasses } = useRtl()\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 const headerColor = computed(() => props.headerColor ?? props.color)\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 color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\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.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","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, useRtl } 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 headerColor: String,\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 const { rtlClasses } = useRtl()\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 const headerColor = computed(() => props.headerColor ?? props.color)\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 color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\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":[]}