@vuetify/nightly 3.8.10-dev.2025-06-18 → 3.8.10-master.2025-06-18

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 (209) hide show
  1. package/CHANGELOG.md +3 -54
  2. package/dist/json/attributes.json +1259 -1655
  3. package/dist/json/importMap-labs.json +22 -26
  4. package/dist/json/importMap.json +160 -160
  5. package/dist/json/tags.json +2 -106
  6. package/dist/json/web-types.json +2705 -4334
  7. package/dist/vuetify-labs.cjs +180 -750
  8. package/dist/vuetify-labs.css +4655 -4700
  9. package/dist/vuetify-labs.d.ts +3083 -10404
  10. package/dist/vuetify-labs.esm.js +181 -751
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +180 -750
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +166 -478
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3324 -3369
  17. package/dist/vuetify.d.ts +2088 -2790
  18. package/dist/vuetify.esm.js +167 -479
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +166 -478
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1232 -1254
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +1 -6
  26. package/lib/components/VAlert/VAlert.d.ts +0 -35
  27. package/lib/components/VAlert/VAlert.js +10 -15
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +1 -7
  30. package/lib/components/VAppBar/VAppBar.d.ts +3 -15
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +10 -20
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +110 -175
  33. package/lib/components/VAutocomplete/VAutocomplete.js +3 -21
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +0 -60
  36. package/lib/components/VBadge/VBadge.js +2 -7
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.d.ts +10 -20
  39. package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
  40. package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
  41. package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
  42. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
  44. package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
  45. package/lib/components/VCard/VCard.d.ts +10 -20
  46. package/lib/components/VCheckbox/VCheckbox.d.ts +13 -23
  47. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +10 -20
  48. package/lib/components/VChip/VChip.d.ts +10 -20
  49. package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
  50. package/lib/components/VCombobox/VCombobox.d.ts +110 -175
  51. package/lib/components/VCombobox/VCombobox.js +3 -22
  52. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTable.d.ts +0 -60
  54. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  55. package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
  56. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.d.ts +0 -42
  58. package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -42
  59. package/lib/components/VDatePicker/VDatePicker.d.ts +5 -80
  60. package/lib/components/VDatePicker/VDatePicker.js +4 -10
  61. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  63. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  64. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  65. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +10 -20
  66. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +10 -20
  67. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +10 -20
  68. package/lib/components/VFab/VFab.d.ts +10 -20
  69. package/lib/components/VField/VField.d.ts +3 -3
  70. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +3 -9
  72. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +0 -29
  73. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  74. package/lib/components/VInput/VInput.d.ts +4 -4
  75. package/lib/components/VKbd/VKbd.css +2 -13
  76. package/lib/components/VKbd/VKbd.sass +1 -2
  77. package/lib/components/VKbd/_variables.scss +1 -12
  78. package/lib/components/VKbd/index.d.ts +95 -1
  79. package/lib/components/VKbd/index.js +4 -1
  80. package/lib/components/VKbd/index.js.map +1 -1
  81. package/lib/components/VList/VList.d.ts +0 -13
  82. package/lib/components/VList/VList.js +1 -4
  83. package/lib/components/VList/VList.js.map +1 -1
  84. package/lib/components/VList/VListChildren.js.map +1 -1
  85. package/lib/components/VList/VListItem.d.ts +10 -28
  86. package/lib/components/VList/VListItem.js +3 -7
  87. package/lib/components/VList/VListItem.js.map +1 -1
  88. package/lib/components/VList/list.d.ts +2 -9
  89. package/lib/components/VList/list.js +0 -7
  90. package/lib/components/VList/list.js.map +1 -1
  91. package/lib/components/VMenu/VMenu.d.ts +0 -13
  92. package/lib/components/VMenu/VMenu.js +1 -2
  93. package/lib/components/VMenu/VMenu.js.map +1 -1
  94. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -114
  95. package/lib/components/VNumberInput/VNumberInput.js +20 -43
  96. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  97. package/lib/components/VOtpInput/VOtpInput.js +1 -2
  98. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  99. package/lib/components/VOverlay/VOverlay.css +1 -1
  100. package/lib/components/VOverlay/_variables.scss +1 -1
  101. package/lib/components/VRadio/VRadio.d.ts +10 -20
  102. package/lib/components/VRadioGroup/VRadioGroup.d.ts +13 -23
  103. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  104. package/lib/components/VSelect/VSelect.d.ts +118 -204
  105. package/lib/components/VSelect/VSelect.js +3 -21
  106. package/lib/components/VSelect/VSelect.js.map +1 -1
  107. package/lib/components/VSelectionControl/VSelectionControl.d.ts +10 -20
  108. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +14 -28
  109. package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
  110. package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
  111. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  112. package/lib/components/VSlider/VSlider.d.ts +3 -3
  113. package/lib/components/VSlider/VSliderThumb.d.ts +10 -20
  114. package/lib/components/VSpeedDial/VSpeedDial.d.ts +0 -13
  115. package/lib/components/VStepper/VStepperItem.d.ts +14 -28
  116. package/lib/components/VSwitch/VSwitch.d.ts +13 -23
  117. package/lib/components/VTable/VTable.css +0 -6
  118. package/lib/components/VTable/VTable.d.ts +24 -55
  119. package/lib/components/VTable/VTable.js +2 -9
  120. package/lib/components/VTable/VTable.js.map +1 -1
  121. package/lib/components/VTable/VTable.sass +0 -14
  122. package/lib/components/VTable/_variables.scss +0 -1
  123. package/lib/components/VTabs/VTab.d.ts +28 -56
  124. package/lib/components/VTabs/VTabs.d.ts +0 -10
  125. package/lib/components/VTextField/VTextField.d.ts +27 -27
  126. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  127. package/lib/components/VToolbar/VToolbar.d.ts +3 -15
  128. package/lib/components/VToolbar/VToolbar.js +3 -6
  129. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  130. package/lib/composables/calendar.d.ts +0 -5
  131. package/lib/composables/calendar.js +1 -2
  132. package/lib/composables/calendar.js.map +1 -1
  133. package/lib/composables/date/DateAdapter.d.ts +3 -3
  134. package/lib/composables/date/DateAdapter.js.map +1 -1
  135. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  136. package/lib/composables/date/adapters/vuetify.js +4 -4
  137. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  138. package/lib/composables/date/date.d.ts +3 -3
  139. package/lib/composables/date/index.d.ts +0 -1
  140. package/lib/composables/date/index.js +0 -1
  141. package/lib/composables/date/index.js.map +1 -1
  142. package/lib/composables/filter.js +0 -3
  143. package/lib/composables/filter.js.map +1 -1
  144. package/lib/composables/locale.d.ts +1 -5
  145. package/lib/composables/locale.js.map +1 -1
  146. package/lib/composables/theme.d.ts +1 -6
  147. package/lib/composables/theme.js +29 -97
  148. package/lib/composables/theme.js.map +1 -1
  149. package/lib/composables/virtual.js +1 -6
  150. package/lib/composables/virtual.js.map +1 -1
  151. package/lib/directives/ripple/index.d.ts +1 -2
  152. package/lib/directives/ripple/index.js +7 -12
  153. package/lib/directives/ripple/index.js.map +1 -1
  154. package/lib/entry-bundler.d.ts +3 -4
  155. package/lib/entry-bundler.js +1 -1
  156. package/lib/entry-bundler.js.map +1 -1
  157. package/lib/framework.d.ts +67 -86
  158. package/lib/framework.js +1 -1
  159. package/lib/framework.js.map +1 -1
  160. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  161. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  162. package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
  163. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  164. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +10 -20
  165. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  166. package/lib/labs/VIconBtn/VIconBtn.js +11 -7
  167. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  168. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +10 -20
  169. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +10 -20
  170. package/lib/labs/VTreeview/VTreeview.d.ts +38 -51
  171. package/lib/labs/VTreeview/VTreeview.js +1 -1
  172. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  173. package/lib/labs/VTreeview/VTreeviewChildren.d.ts +0 -35
  174. package/lib/labs/VTreeview/VTreeviewChildren.js +2 -19
  175. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  176. package/lib/labs/VTreeview/VTreeviewItem.d.ts +10 -20
  177. package/lib/labs/components.d.ts +0 -1
  178. package/lib/labs/components.js +0 -1
  179. package/lib/labs/components.js.map +1 -1
  180. package/lib/labs/entry-bundler.d.ts +3 -4
  181. package/lib/locale/adapters/vue-i18n.js +1 -6
  182. package/lib/locale/adapters/vue-i18n.js.map +1 -1
  183. package/lib/locale/adapters/vuetify.js +1 -7
  184. package/lib/locale/adapters/vuetify.js.map +1 -1
  185. package/lib/util/globals.d.ts +0 -1
  186. package/lib/util/globals.js +0 -1
  187. package/lib/util/globals.js.map +1 -1
  188. package/lib/util/helpers.d.ts +1 -2
  189. package/lib/util/helpers.js +7 -12
  190. package/lib/util/helpers.js.map +1 -1
  191. package/package.json +1 -3
  192. package/lib/components/VKbd/VKbd.d.ts +0 -221
  193. package/lib/components/VKbd/VKbd.js +0 -55
  194. package/lib/components/VKbd/VKbd.js.map +0 -1
  195. package/lib/composables/date/adapters/string.d.ts +0 -54
  196. package/lib/composables/date/adapters/string.js +0 -153
  197. package/lib/composables/date/adapters/string.js.map +0 -1
  198. package/lib/composables/iconSizes.d.ts +0 -28
  199. package/lib/composables/iconSizes.js +0 -23
  200. package/lib/composables/iconSizes.js.map +0 -1
  201. package/lib/composables/mask.d.ts +0 -38
  202. package/lib/composables/mask.js +0 -183
  203. package/lib/composables/mask.js.map +0 -1
  204. package/lib/labs/VMaskInput/VMaskInput.d.ts +0 -6993
  205. package/lib/labs/VMaskInput/VMaskInput.js +0 -67
  206. package/lib/labs/VMaskInput/VMaskInput.js.map +0 -1
  207. package/lib/labs/VMaskInput/index.d.ts +0 -1
  208. package/lib/labs/VMaskInput/index.js +0 -2
  209. package/lib/labs/VMaskInput/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: {\n type: Boolean,\n default: null,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(props.extended === null ? !!(slots.extension?.()) : props.extended)\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = props.extended === null ? !!extension : props.extended\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,6 @@ export declare const makeCalendarProps: <Defaults extends {
48
48
  weekdays?: unknown;
49
49
  weeksInMonth?: unknown;
50
50
  firstDayOfWeek?: unknown;
51
- weekdayFormat?: unknown;
52
51
  } = {}>(defaults?: Defaults | undefined) => {
53
52
  allowedDates: unknown extends Defaults["allowedDates"] ? PropType<unknown[] | ((date: unknown) => boolean)> : {
54
53
  type: PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
@@ -122,10 +121,6 @@ export declare const makeCalendarProps: <Defaults extends {
122
121
  type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
123
122
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
124
123
  };
125
- weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
126
- type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
127
- default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : Defaults["weekdayFormat"] | NonNullable<"long" | "short" | "narrow" | undefined>;
128
- };
129
124
  };
130
125
  export declare function useCalendar(props: CalendarProps): {
131
126
  displayValue: import("vue").ComputedRef<unknown>;
@@ -29,8 +29,7 @@ export const makeCalendarProps = propsFactory({
29
29
  firstDayOfWeek: {
30
30
  type: [Number, String],
31
31
  default: undefined
32
- },
33
- weekdayFormat: String
32
+ }
34
33
  }, 'calendar');
35
34
  export function useCalendar(props) {
36
35
  const adapter = useDate();
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","names":["useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","undefined","weekdayFormat","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekDays","toJsDate","startOfWeek","getDay","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarDay = {\n date: Date\n formatted: string\n isAdjacent: boolean\n isDisabled: boolean\n isEnd: boolean\n isHidden: boolean\n isSame: boolean\n isSelected: boolean\n isStart: boolean\n isToday: boolean\n isWeekEnd: boolean\n isWeekStart: boolean\n isoDate: string\n localized: string\n month: number\n year: number\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: undefined,\n },\n weekdayFormat: String as PropType<'long' | 'short' | 'narrow' | undefined>,\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekDays = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n // Always generate all days, regardless of props.weekdays\n return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: Date[], today: Date): CalendarDay[] {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n formatted: adapter.format(date, 'keyboardDate'),\n isAdjacent,\n isDisabled: isDisabled(date),\n isEnd,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isSame,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isStart,\n isToday: adapter.isSameDay(date, today),\n isWeekEnd: index % 7 === 6,\n isWeekStart: index % 7 === 0,\n isoDate,\n localized: adapter.format(date, 'dayOfMonth'),\n month: adapter.getMonth(date),\n year: adapter.getYear(date),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week: Date[] = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day) as Date)\n }\n\n const today = adapter.date() as Date\n\n return genDays(week as Date[], today as Date)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat() as Date[]\n const today = adapter.date() as Date\n\n return genDays(days as Date[], today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return !props.weekdays.includes(adapter.toJsDate(date).getDay())\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"calendar.js","names":["useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","undefined","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekDays","toJsDate","startOfWeek","getDay","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarDay = {\n date: Date\n formatted: string\n isAdjacent: boolean\n isDisabled: boolean\n isEnd: boolean\n isHidden: boolean\n isSame: boolean\n isSelected: boolean\n isStart: boolean\n isToday: boolean\n isWeekEnd: boolean\n isWeekStart: boolean\n isoDate: string\n localized: string\n month: number\n year: number\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: undefined,\n },\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekDays = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n // Always generate all days, regardless of props.weekdays\n return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: Date[], today: Date): CalendarDay[] {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n formatted: adapter.format(date, 'keyboardDate'),\n isAdjacent,\n isDisabled: isDisabled(date),\n isEnd,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isSame,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isStart,\n isToday: adapter.isSameDay(date, today),\n isWeekEnd: index % 7 === 6,\n isWeekStart: index % 7 === 0,\n isoDate,\n localized: adapter.format(date, 'dayOfMonth'),\n month: adapter.getMonth(date),\n year: adapter.getYear(date),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week: Date[] = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day) as Date)\n }\n\n const today = adapter.date() as Date\n\n return genDays(week as Date[], today as Date)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat() as Date[]\n const today = adapter.date() as Date\n\n return genDays(days as Date[], today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return !props.weekdays.includes(adapter.toJsDate(date).getDay())\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,10 +13,10 @@ export interface DateAdapter<T = unknown> {
13
13
  startOfYear(date: T): T;
14
14
  endOfYear(date: T): T;
15
15
  isAfter(date: T, comparing: T): boolean;
16
- isAfterDay(date: T, comparing: T): boolean;
16
+ isAfterDay(value: T, comparing: T): boolean;
17
17
  isSameDay(date: T, comparing: T): boolean;
18
18
  isSameMonth(date: T, comparing: T): boolean;
19
- isSameYear(date: T, comparing: T): boolean;
19
+ isSameYear(value: T, comparing: T): boolean;
20
20
  isBefore(date: T, comparing: T): boolean;
21
21
  isEqual(date: T, comparing: T): boolean;
22
22
  isValid(date: any): boolean;
@@ -30,7 +30,7 @@ export interface DateAdapter<T = unknown> {
30
30
  setYear(date: T, year: number): T;
31
31
  getDiff(date: T, comparing: T | string, unit?: string): number;
32
32
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
33
- getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
33
+ getWeekdays(firstDayOfWeek?: number | string): string[];
34
34
  getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
35
35
  getMonth(date: T): number;
36
36
  setMonth(date: T, month: number): T;
@@ -1 +1 @@
1
- {"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(date: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(date: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[]\n getWeek (date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getDate (date: T): number\n setDate (date: T, day: number): T\n getNextMonth (date: T): T\n getPreviousMonth(date: T): T\n\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(value: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(value: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string): string[]\n getWeek (date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getDate (date: T): number\n setDate (date: T, day: number): T\n getNextMonth (date: T): T\n getPreviousMonth(date: T): T\n\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":"","ignoreList":[]}
@@ -37,7 +37,7 @@ export declare class VuetifyDateAdapter implements DateAdapter<Date> {
37
37
  setDate(date: Date, day: number): Date;
38
38
  setYear(date: Date, year: number): Date;
39
39
  getDiff(date: Date, comparing: Date | string, unit?: string): number;
40
- getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
40
+ getWeekdays(firstDayOfWeek?: number | string): string[];
41
41
  getYear(date: Date): number;
42
42
  getMonth(date: Date): number;
43
43
  getWeek(date: Date, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
@@ -148,13 +148,13 @@ function date(value) {
148
148
  return null;
149
149
  }
150
150
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
151
- function getWeekdays(locale, firstDayOfWeek, weekdayFormat) {
151
+ function getWeekdays(locale, firstDayOfWeek) {
152
152
  const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
153
153
  return createRange(7).map(i => {
154
154
  const weekday = new Date(sundayJanuarySecond2000);
155
155
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
156
156
  return new Intl.DateTimeFormat(locale, {
157
- weekday: weekdayFormat ?? 'narrow'
157
+ weekday: 'narrow'
158
158
  }).format(weekday);
159
159
  });
160
160
  }
@@ -618,9 +618,9 @@ export class VuetifyDateAdapter {
618
618
  getDiff(date, comparing, unit) {
619
619
  return getDiff(date, comparing, unit);
620
620
  }
621
- getWeekdays(firstDayOfWeek, weekdayFormat) {
621
+ getWeekdays(firstDayOfWeek) {
622
622
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
623
- return getWeekdays(this.locale, firstDay, weekdayFormat);
623
+ return getWeekdays(this.locale, firstDay);
624
624
  }
625
625
  getYear(date) {
626
626
  return getYear(date);
@@ -1 +1 @@
1
- {"version":3,"file":"vuetify.js","names":["createRange","padStart","weekInfo","locale","code","slice","toUpperCase","firstDay","firstWeekSize","includes","getWeekArray","date","firstDayOfWeek","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","first","firstDayWeekIndex","getDay","lastDayWeekIndex","i","adjacentDay","Date","setDate","getDate","push","day","getFullYear","getMonth","length","startOfWeek","d","endOfWeek","lastDay","parseLocalDate","value","parts","split","map","Number","_YYYMMDD","parsed","test","parse","isNaN","sundayJanuarySecond2000","getWeekdays","weekdayFormat","daysFromSunday","weekday","Intl","DateTimeFormat","format","formatString","formats","newDate","customFormat","options","year","month","NumberFormat","hour","hour12","minute","second","replace","timeZone","timeZoneName","toISO","adapter","toJsDate","String","parseISO","addMinutes","amount","setMinutes","getMinutes","addHours","setHours","getHours","addDays","addWeeks","addMonths","setMonth","getYear","getWeek","firstWeekMinSize","weekInfoFromLocale","weekStart","minWeekSize","yearStart","getDiff","currentWeekEnd","size","d1w1","endOfDay","startOfDay","getNextMonth","getPreviousMonth","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","getTime","comparing","isAfterDay","isEqual","isSameDay","isSameMonth","isSameYear","unit","c","Math","floor","count","setYear","setFullYear","VuetifyDateAdapter","constructor","undefined"],"sources":["../../../../src/composables/date/adapters/vuetify.ts"],"sourcesContent":["// Utilities\nimport { createRange, padStart } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: Date, formatString: string, locale: string) => string)\n\nfunction weekInfo (locale: string): { firstDay: number, firstWeekSize: number } | null {\n // https://simplelocalize.io/data/locales/\n // then `new Intl.Locale(...).getWeekInfo()`\n const code = locale.slice(-2).toUpperCase()\n switch (true) {\n case locale === 'GB-alt-variant': {\n return { firstDay: 0, firstWeekSize: 4 }\n }\n case locale === '001': {\n return { firstDay: 1, firstWeekSize: 1 }\n }\n case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE\n KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US\n VE VI WS YE ZA ZW`.includes(code): {\n return { firstDay: 0, firstWeekSize: 1 }\n }\n case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV\n MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code): {\n return { firstDay: 1, firstWeekSize: 1 }\n }\n case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS\n IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code): {\n return { firstDay: 1, firstWeekSize: 4 }\n }\n case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code): {\n return { firstDay: 6, firstWeekSize: 1 }\n }\n case code === 'MV': {\n return { firstDay: 5, firstWeekSize: 1 }\n }\n case code === 'PT': {\n return { firstDay: 0, firstWeekSize: 4 }\n }\n default: return null\n }\n}\n\nfunction getWeekArray (date: Date, locale: string, firstDayOfWeek?: number) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7\n const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n if (currentWeek.length > 0) {\n weeks.push(currentWeek)\n }\n\n return weeks\n}\n\nfunction startOfWeek (date: Date, locale: string, firstDayOfWeek?: number) {\n const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n\n const d = new Date(date)\n while (d.getDay() !== day) {\n d.setDate(d.getDate() - 1)\n }\n return d\n}\n\nfunction endOfWeek (date: Date, locale: string) {\n const d = new Date(date)\n const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7\n while (d.getDay() !== lastDay) {\n d.setDate(d.getDate() + 1)\n }\n return d\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /^([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))$/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string, firstDayOfWeek?: number, weekdayFormat?: 'long' | 'short' | 'narrow') {\n const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: weekdayFormat ?? 'narrow' }).format(weekday)\n })\n}\n\nfunction format (\n value: Date,\n formatString: string,\n locale: string,\n formats?: Record<string, CustomDateFormat>\n): string {\n const newDate = date(value) ?? new Date()\n const customFormat = formats?.[formatString]\n\n if (typeof customFormat === 'function') {\n return customFormat(newDate, formatString, locale)\n }\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDate':\n options = { year: 'numeric', month: 'long', day: 'numeric' }\n break\n case 'fullDateWithWeekday':\n options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }\n break\n case 'normalDate':\n const day = newDate.getDate()\n const month = new Intl.DateTimeFormat(locale, { month: 'long' }).format(newDate)\n return `${day} ${month}`\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'shortDate':\n options = { month: 'short', day: 'numeric' }\n break\n case 'year':\n options = { year: 'numeric' }\n break\n case 'month':\n options = { month: 'long' }\n break\n case 'monthShort':\n options = { month: 'short' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'weekday':\n options = { weekday: 'long' }\n break\n case 'weekdayShort':\n options = { weekday: 'short' }\n break\n case 'dayOfMonth':\n return new Intl.NumberFormat(locale).format(newDate.getDate())\n case 'hours12h':\n options = { hour: 'numeric', hour12: true }\n break\n case 'hours24h':\n options = { hour: 'numeric', hour12: false }\n break\n case 'minutes':\n options = { minute: 'numeric' }\n break\n case 'seconds':\n options = { second: 'numeric' }\n break\n case 'fullTime':\n options = { hour: 'numeric', minute: 'numeric' }\n break\n case 'fullTime12h':\n options = { hour: 'numeric', minute: 'numeric', hour12: true }\n break\n case 'fullTime24h':\n options = { hour: 'numeric', minute: 'numeric', hour12: false }\n break\n case 'fullDateTime':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' }\n break\n case 'fullDateTime12h':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: true }\n break\n case 'fullDateTime24h':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: false }\n break\n case 'keyboardDate':\n options = { year: 'numeric', month: '2-digit', day: '2-digit' }\n break\n case 'keyboardDateTime':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric' }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n case 'keyboardDateTime12h':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: true }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n case 'keyboardDateTime24h':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: false }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n default:\n options = customFormat ?? { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(newDate)\n}\n\nfunction toISO (adapter: DateAdapter<any>, value: Date) {\n const date = adapter.toJsDate(value)\n const year = date.getFullYear()\n const month = padStart(String(date.getMonth() + 1), 2, '0')\n const day = padStart(String(date.getDate()), 2, '0')\n\n return `${year}-${month}-${day}`\n}\n\nfunction parseISO (value: string) {\n const [year, month, day] = value.split('-').map(Number)\n\n return new Date(year, month - 1, day)\n}\n\nfunction addMinutes (date: Date, amount: number) {\n const d = new Date(date)\n d.setMinutes(d.getMinutes() + amount)\n return d\n}\n\nfunction addHours (date: Date, amount: number) {\n const d = new Date(date)\n d.setHours(d.getHours() + amount)\n return d\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addWeeks (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + (amount * 7))\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(1)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction getWeek (date: Date, locale: string, firstDayOfWeek?: number, firstWeekMinSize?: number) {\n const weekInfoFromLocale = weekInfo(locale)\n const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0\n const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1\n function firstWeekSize (year: number) {\n const yearStart = new Date(year, 0, 1)\n return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days')\n }\n\n let year = getYear(date)\n const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6)\n if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {\n year++\n }\n\n const yearStart = new Date(year, 0, 1)\n const size = firstWeekSize(year)\n const d1w1 = size >= minWeekSize\n ? addDays(yearStart, size - 7)\n : addDays(yearStart, size)\n\n return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks')\n}\n\nfunction getDate (date: Date) {\n return date.getDate()\n}\n\nfunction getNextMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1)\n}\n\nfunction getPreviousMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() - 1, 1)\n}\n\nfunction getHours (date: Date) {\n return date.getHours()\n}\n\nfunction getMinutes (date: Date) {\n return date.getMinutes()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isAfterDay (date: Date, comparing: Date): boolean {\n return isAfter(startOfDay(date), startOfDay(comparing))\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameYear (date: Date, comparing: Date) {\n return date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n switch (unit) {\n case 'years':\n return d.getFullYear() - c.getFullYear()\n case 'quarters':\n return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4)\n case 'months':\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n case 'weeks':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7))\n case 'days':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n case 'hours':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60))\n case 'minutes':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60))\n case 'seconds':\n return Math.floor((d.getTime() - c.getTime()) / 1000)\n default: {\n return d.getTime() - c.getTime()\n }\n }\n}\n\nfunction setHours (date: Date, count: number) {\n const d = new Date(date)\n d.setHours(count)\n return d\n}\n\nfunction setMinutes (date: Date, count: number) {\n const d = new Date(date)\n d.setMinutes(count)\n return d\n}\n\nfunction setMonth (date: Date, count: number) {\n const d = new Date(date)\n d.setMonth(count)\n return d\n}\n\nfunction setDate (date: Date, day: number) {\n const d = new Date(date)\n d.setDate(day)\n return d\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nfunction startOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0)\n}\n\nfunction endOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999)\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n formats?: Record<string, CustomDateFormat>\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.locale = options.locale\n this.formats = options.formats\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n toISO (date: Date): string {\n return toISO(this, date)\n }\n\n parseISO (date: string) {\n return parseISO(date)\n }\n\n addMinutes (date: Date, amount: number) {\n return addMinutes(date, amount)\n }\n\n addHours (date: Date, amount: number) {\n return addHours(date, amount)\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addWeeks (date: Date, amount: number) {\n return addWeeks(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date, firstDayOfWeek?: number | string) {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeekArray(date, this.locale, firstDay)\n }\n\n startOfWeek (date: Date, firstDayOfWeek?: number | string): Date {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return startOfWeek(date, this.locale, firstDay)\n }\n\n endOfWeek (date: Date): Date {\n return endOfWeek(date, this.locale)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale, this.formats)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isAfterDay (date: Date, comparing: Date) {\n return isAfterDay(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n isSameYear (date: Date, comparing: Date) {\n return isSameYear(date, comparing)\n }\n\n setMinutes (date: Date, count: number) {\n return setMinutes(date, count)\n }\n\n setHours (date: Date, count: number) {\n return setHours(date, count)\n }\n\n setMonth (date: Date, count: number) {\n return setMonth(date, count)\n }\n\n setDate (date: Date, day: number): Date {\n return setDate(date, day)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow') {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeekdays(this.locale, firstDay, weekdayFormat)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n getWeek (date: Date, firstDayOfWeek?: number | string, firstWeekMinSize?: number) {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeek(date, this.locale, firstDay, firstWeekMinSize)\n }\n\n getDate (date: Date) {\n return getDate(date)\n }\n\n getNextMonth (date: Date) {\n return getNextMonth(date)\n }\n\n getPreviousMonth (date: Date) {\n return getPreviousMonth(date)\n }\n\n getHours (date: Date) {\n return getHours(date)\n }\n\n getMinutes (date: Date) {\n return getMinutes(date)\n }\n\n startOfDay (date: Date) {\n return startOfDay(date)\n }\n\n endOfDay (date: Date) {\n return endOfDay(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"vuetify.js","names":["createRange","padStart","weekInfo","locale","code","slice","toUpperCase","firstDay","firstWeekSize","includes","getWeekArray","date","firstDayOfWeek","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","first","firstDayWeekIndex","getDay","lastDayWeekIndex","i","adjacentDay","Date","setDate","getDate","push","day","getFullYear","getMonth","length","startOfWeek","d","endOfWeek","lastDay","parseLocalDate","value","parts","split","map","Number","_YYYMMDD","parsed","test","parse","isNaN","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","Intl","DateTimeFormat","format","formatString","formats","newDate","customFormat","options","year","month","NumberFormat","hour","hour12","minute","second","replace","timeZone","timeZoneName","toISO","adapter","toJsDate","String","parseISO","addMinutes","amount","setMinutes","getMinutes","addHours","setHours","getHours","addDays","addWeeks","addMonths","setMonth","getYear","getWeek","firstWeekMinSize","weekInfoFromLocale","weekStart","minWeekSize","yearStart","getDiff","currentWeekEnd","size","d1w1","endOfDay","startOfDay","getNextMonth","getPreviousMonth","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","getTime","comparing","isAfterDay","isEqual","isSameDay","isSameMonth","isSameYear","unit","c","Math","floor","count","setYear","setFullYear","VuetifyDateAdapter","constructor","undefined"],"sources":["../../../../src/composables/date/adapters/vuetify.ts"],"sourcesContent":["// Utilities\nimport { createRange, padStart } from '@/util'\n\n// Types\nimport type { DateAdapter } from '../DateAdapter'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: Date, formatString: string, locale: string) => string)\n\nfunction weekInfo (locale: string): { firstDay: number, firstWeekSize: number } | null {\n // https://simplelocalize.io/data/locales/\n // then `new Intl.Locale(...).getWeekInfo()`\n const code = locale.slice(-2).toUpperCase()\n switch (true) {\n case locale === 'GB-alt-variant': {\n return { firstDay: 0, firstWeekSize: 4 }\n }\n case locale === '001': {\n return { firstDay: 1, firstWeekSize: 1 }\n }\n case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE\n KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US\n VE VI WS YE ZA ZW`.includes(code): {\n return { firstDay: 0, firstWeekSize: 1 }\n }\n case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV\n MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code): {\n return { firstDay: 1, firstWeekSize: 1 }\n }\n case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS\n IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code): {\n return { firstDay: 1, firstWeekSize: 4 }\n }\n case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code): {\n return { firstDay: 6, firstWeekSize: 1 }\n }\n case code === 'MV': {\n return { firstDay: 5, firstWeekSize: 1 }\n }\n case code === 'PT': {\n return { firstDay: 0, firstWeekSize: 4 }\n }\n default: return null\n }\n}\n\nfunction getWeekArray (date: Date, locale: string, firstDayOfWeek?: number) {\n const weeks = []\n let currentWeek = []\n const firstDayOfMonth = startOfMonth(date)\n const lastDayOfMonth = endOfMonth(date)\n const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7\n const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7\n\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i))\n currentWeek.push(adjacentDay)\n }\n\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i)\n\n // Add the day to the current week\n currentWeek.push(day)\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek)\n currentWeek = []\n }\n }\n\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth)\n adjacentDay.setDate(adjacentDay.getDate() + i)\n currentWeek.push(adjacentDay)\n }\n\n if (currentWeek.length > 0) {\n weeks.push(currentWeek)\n }\n\n return weeks\n}\n\nfunction startOfWeek (date: Date, locale: string, firstDayOfWeek?: number) {\n const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n\n const d = new Date(date)\n while (d.getDay() !== day) {\n d.setDate(d.getDate() - 1)\n }\n return d\n}\n\nfunction endOfWeek (date: Date, locale: string) {\n const d = new Date(date)\n const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7\n while (d.getDay() !== lastDay) {\n d.setDate(d.getDate() + 1)\n }\n return d\n}\n\nfunction startOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), 1)\n}\n\nfunction endOfMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0)\n}\n\nfunction parseLocalDate (value: string): Date {\n const parts = value.split('-').map(Number)\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2])\n}\n\nconst _YYYMMDD = /^([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))$/\n\nfunction date (value?: any): Date | null {\n if (value == null) return new Date()\n\n if (value instanceof Date) return value\n\n if (typeof value === 'string') {\n let parsed\n\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value)\n } else {\n parsed = Date.parse(value)\n }\n\n if (!isNaN(parsed)) return new Date(parsed)\n }\n\n return null\n}\n\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2)\n\nfunction getWeekdays (locale: string, firstDayOfWeek?: number) {\n const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0\n\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000)\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i)\n return new Intl.DateTimeFormat(locale, { weekday: 'narrow' }).format(weekday)\n })\n}\n\nfunction format (\n value: Date,\n formatString: string,\n locale: string,\n formats?: Record<string, CustomDateFormat>\n): string {\n const newDate = date(value) ?? new Date()\n const customFormat = formats?.[formatString]\n\n if (typeof customFormat === 'function') {\n return customFormat(newDate, formatString, locale)\n }\n\n let options: Intl.DateTimeFormatOptions = {}\n switch (formatString) {\n case 'fullDate':\n options = { year: 'numeric', month: 'long', day: 'numeric' }\n break\n case 'fullDateWithWeekday':\n options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }\n break\n case 'normalDate':\n const day = newDate.getDate()\n const month = new Intl.DateTimeFormat(locale, { month: 'long' }).format(newDate)\n return `${day} ${month}`\n case 'normalDateWithWeekday':\n options = { weekday: 'short', day: 'numeric', month: 'short' }\n break\n case 'shortDate':\n options = { month: 'short', day: 'numeric' }\n break\n case 'year':\n options = { year: 'numeric' }\n break\n case 'month':\n options = { month: 'long' }\n break\n case 'monthShort':\n options = { month: 'short' }\n break\n case 'monthAndYear':\n options = { month: 'long', year: 'numeric' }\n break\n case 'monthAndDate':\n options = { month: 'long', day: 'numeric' }\n break\n case 'weekday':\n options = { weekday: 'long' }\n break\n case 'weekdayShort':\n options = { weekday: 'short' }\n break\n case 'dayOfMonth':\n return new Intl.NumberFormat(locale).format(newDate.getDate())\n case 'hours12h':\n options = { hour: 'numeric', hour12: true }\n break\n case 'hours24h':\n options = { hour: 'numeric', hour12: false }\n break\n case 'minutes':\n options = { minute: 'numeric' }\n break\n case 'seconds':\n options = { second: 'numeric' }\n break\n case 'fullTime':\n options = { hour: 'numeric', minute: 'numeric' }\n break\n case 'fullTime12h':\n options = { hour: 'numeric', minute: 'numeric', hour12: true }\n break\n case 'fullTime24h':\n options = { hour: 'numeric', minute: 'numeric', hour12: false }\n break\n case 'fullDateTime':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' }\n break\n case 'fullDateTime12h':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: true }\n break\n case 'fullDateTime24h':\n options = { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: false }\n break\n case 'keyboardDate':\n options = { year: 'numeric', month: '2-digit', day: '2-digit' }\n break\n case 'keyboardDateTime':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric' }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n case 'keyboardDateTime12h':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: true }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n case 'keyboardDateTime24h':\n options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: false }\n return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, ' ')\n default:\n options = customFormat ?? { timeZone: 'UTC', timeZoneName: 'short' }\n }\n\n return new Intl.DateTimeFormat(locale, options).format(newDate)\n}\n\nfunction toISO (adapter: DateAdapter<any>, value: Date) {\n const date = adapter.toJsDate(value)\n const year = date.getFullYear()\n const month = padStart(String(date.getMonth() + 1), 2, '0')\n const day = padStart(String(date.getDate()), 2, '0')\n\n return `${year}-${month}-${day}`\n}\n\nfunction parseISO (value: string) {\n const [year, month, day] = value.split('-').map(Number)\n\n return new Date(year, month - 1, day)\n}\n\nfunction addMinutes (date: Date, amount: number) {\n const d = new Date(date)\n d.setMinutes(d.getMinutes() + amount)\n return d\n}\n\nfunction addHours (date: Date, amount: number) {\n const d = new Date(date)\n d.setHours(d.getHours() + amount)\n return d\n}\n\nfunction addDays (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + amount)\n return d\n}\n\nfunction addWeeks (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(d.getDate() + (amount * 7))\n return d\n}\n\nfunction addMonths (date: Date, amount: number) {\n const d = new Date(date)\n d.setDate(1)\n d.setMonth(d.getMonth() + amount)\n return d\n}\n\nfunction getYear (date: Date) {\n return date.getFullYear()\n}\n\nfunction getMonth (date: Date) {\n return date.getMonth()\n}\n\nfunction getWeek (date: Date, locale: string, firstDayOfWeek?: number, firstWeekMinSize?: number) {\n const weekInfoFromLocale = weekInfo(locale)\n const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0\n const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1\n function firstWeekSize (year: number) {\n const yearStart = new Date(year, 0, 1)\n return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days')\n }\n\n let year = getYear(date)\n const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6)\n if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {\n year++\n }\n\n const yearStart = new Date(year, 0, 1)\n const size = firstWeekSize(year)\n const d1w1 = size >= minWeekSize\n ? addDays(yearStart, size - 7)\n : addDays(yearStart, size)\n\n return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks')\n}\n\nfunction getDate (date: Date) {\n return date.getDate()\n}\n\nfunction getNextMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1)\n}\n\nfunction getPreviousMonth (date: Date) {\n return new Date(date.getFullYear(), date.getMonth() - 1, 1)\n}\n\nfunction getHours (date: Date) {\n return date.getHours()\n}\n\nfunction getMinutes (date: Date) {\n return date.getMinutes()\n}\n\nfunction startOfYear (date: Date) {\n return new Date(date.getFullYear(), 0, 1)\n}\nfunction endOfYear (date: Date) {\n return new Date(date.getFullYear(), 11, 31)\n}\n\nfunction isWithinRange (date: Date, range: [Date, Date]) {\n return isAfter(date, range[0]) && isBefore(date, range[1])\n}\n\nfunction isValid (date: any) {\n const d = new Date(date)\n\n return d instanceof Date && !isNaN(d.getTime())\n}\n\nfunction isAfter (date: Date, comparing: Date) {\n return date.getTime() > comparing.getTime()\n}\n\nfunction isAfterDay (date: Date, comparing: Date): boolean {\n return isAfter(startOfDay(date), startOfDay(comparing))\n}\n\nfunction isBefore (date: Date, comparing: Date) {\n return date.getTime() < comparing.getTime()\n}\n\nfunction isEqual (date: Date, comparing: Date) {\n return date.getTime() === comparing.getTime()\n}\n\nfunction isSameDay (date: Date, comparing: Date) {\n return date.getDate() === comparing.getDate() &&\n date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameMonth (date: Date, comparing: Date) {\n return date.getMonth() === comparing.getMonth() &&\n date.getFullYear() === comparing.getFullYear()\n}\n\nfunction isSameYear (date: Date, comparing: Date) {\n return date.getFullYear() === comparing.getFullYear()\n}\n\nfunction getDiff (date: Date, comparing: Date | string, unit?: string) {\n const d = new Date(date)\n const c = new Date(comparing)\n\n switch (unit) {\n case 'years':\n return d.getFullYear() - c.getFullYear()\n case 'quarters':\n return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4)\n case 'months':\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12\n case 'weeks':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7))\n case 'days':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24))\n case 'hours':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60))\n case 'minutes':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60))\n case 'seconds':\n return Math.floor((d.getTime() - c.getTime()) / 1000)\n default: {\n return d.getTime() - c.getTime()\n }\n }\n}\n\nfunction setHours (date: Date, count: number) {\n const d = new Date(date)\n d.setHours(count)\n return d\n}\n\nfunction setMinutes (date: Date, count: number) {\n const d = new Date(date)\n d.setMinutes(count)\n return d\n}\n\nfunction setMonth (date: Date, count: number) {\n const d = new Date(date)\n d.setMonth(count)\n return d\n}\n\nfunction setDate (date: Date, day: number) {\n const d = new Date(date)\n d.setDate(day)\n return d\n}\n\nfunction setYear (date: Date, year: number) {\n const d = new Date(date)\n d.setFullYear(year)\n return d\n}\n\nfunction startOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0)\n}\n\nfunction endOfDay (date: Date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999)\n}\n\nexport class VuetifyDateAdapter implements DateAdapter<Date> {\n locale: string\n formats?: Record<string, CustomDateFormat>\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.locale = options.locale\n this.formats = options.formats\n }\n\n date (value?: any) {\n return date(value)\n }\n\n toJsDate (date: Date) {\n return date\n }\n\n toISO (date: Date): string {\n return toISO(this, date)\n }\n\n parseISO (date: string) {\n return parseISO(date)\n }\n\n addMinutes (date: Date, amount: number) {\n return addMinutes(date, amount)\n }\n\n addHours (date: Date, amount: number) {\n return addHours(date, amount)\n }\n\n addDays (date: Date, amount: number) {\n return addDays(date, amount)\n }\n\n addWeeks (date: Date, amount: number) {\n return addWeeks(date, amount)\n }\n\n addMonths (date: Date, amount: number) {\n return addMonths(date, amount)\n }\n\n getWeekArray (date: Date, firstDayOfWeek?: number | string) {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeekArray(date, this.locale, firstDay)\n }\n\n startOfWeek (date: Date, firstDayOfWeek?: number | string): Date {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return startOfWeek(date, this.locale, firstDay)\n }\n\n endOfWeek (date: Date): Date {\n return endOfWeek(date, this.locale)\n }\n\n startOfMonth (date: Date) {\n return startOfMonth(date)\n }\n\n endOfMonth (date: Date) {\n return endOfMonth(date)\n }\n\n format (date: Date, formatString: string) {\n return format(date, formatString, this.locale, this.formats)\n }\n\n isEqual (date: Date, comparing: Date) {\n return isEqual(date, comparing)\n }\n\n isValid (date: any) {\n return isValid(date)\n }\n\n isWithinRange (date: Date, range: [Date, Date]) {\n return isWithinRange(date, range)\n }\n\n isAfter (date: Date, comparing: Date) {\n return isAfter(date, comparing)\n }\n\n isAfterDay (date: Date, comparing: Date) {\n return isAfterDay(date, comparing)\n }\n\n isBefore (date: Date, comparing: Date) {\n return !isAfter(date, comparing) && !isEqual(date, comparing)\n }\n\n isSameDay (date: Date, comparing: Date) {\n return isSameDay(date, comparing)\n }\n\n isSameMonth (date: Date, comparing: Date) {\n return isSameMonth(date, comparing)\n }\n\n isSameYear (date: Date, comparing: Date) {\n return isSameYear(date, comparing)\n }\n\n setMinutes (date: Date, count: number) {\n return setMinutes(date, count)\n }\n\n setHours (date: Date, count: number) {\n return setHours(date, count)\n }\n\n setMonth (date: Date, count: number) {\n return setMonth(date, count)\n }\n\n setDate (date: Date, day: number): Date {\n return setDate(date, day)\n }\n\n setYear (date: Date, year: number) {\n return setYear(date, year)\n }\n\n getDiff (date: Date, comparing: Date | string, unit?: string) {\n return getDiff(date, comparing, unit)\n }\n\n getWeekdays (firstDayOfWeek?: number | string) {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeekdays(this.locale, firstDay)\n }\n\n getYear (date: Date) {\n return getYear(date)\n }\n\n getMonth (date: Date) {\n return getMonth(date)\n }\n\n getWeek (date: Date, firstDayOfWeek?: number | string, firstWeekMinSize?: number) {\n const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined\n return getWeek(date, this.locale, firstDay, firstWeekMinSize)\n }\n\n getDate (date: Date) {\n return getDate(date)\n }\n\n getNextMonth (date: Date) {\n return getNextMonth(date)\n }\n\n getPreviousMonth (date: Date) {\n return getPreviousMonth(date)\n }\n\n getHours (date: Date) {\n return getHours(date)\n }\n\n getMinutes (date: Date) {\n return getMinutes(date)\n }\n\n startOfDay (date: Date) {\n return startOfDay(date)\n }\n\n endOfDay (date: Date) {\n return endOfDay(date)\n }\n\n startOfYear (date: Date) {\n return startOfYear(date)\n }\n\n endOfYear (date: Date) {\n return endOfYear(date)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,10 +40,10 @@ export declare function createDate(options: DateOptions | undefined, locale: Loc
40
40
  startOfYear: (date: unknown) => unknown;
41
41
  endOfYear: (date: unknown) => unknown;
42
42
  isAfter: (date: unknown, comparing: unknown) => boolean;
43
- isAfterDay: (date: unknown, comparing: unknown) => boolean;
43
+ isAfterDay: (value: unknown, comparing: unknown) => boolean;
44
44
  isSameDay: (date: unknown, comparing: unknown) => boolean;
45
45
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
46
- isSameYear: (date: unknown, comparing: unknown) => boolean;
46
+ isSameYear: (value: unknown, comparing: unknown) => boolean;
47
47
  isBefore: (date: unknown, comparing: unknown) => boolean;
48
48
  isEqual: (date: unknown, comparing: unknown) => boolean;
49
49
  isValid: (date: any) => boolean;
@@ -57,7 +57,7 @@ export declare function createDate(options: DateOptions | undefined, locale: Loc
57
57
  setYear: (date: unknown, year: number) => unknown;
58
58
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
59
59
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
60
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
60
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
61
61
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
62
62
  getMonth: (date: unknown) => number;
63
63
  setMonth: (date: unknown, month: number) => unknown;
@@ -1,4 +1,3 @@
1
1
  export { createDate, useDate, DateAdapterSymbol } from './date.js';
2
2
  export type { DateAdapter } from './DateAdapter.js';
3
3
  export type { DateOptions, DateInstance, DateModule } from './date.js';
4
- export { VuetifyDateAdapter } from './adapters/vuetify.js';
@@ -1,3 +1,2 @@
1
1
  export { createDate, useDate, DateAdapterSymbol } from "./date.js";
2
- export { VuetifyDateAdapter } from "./adapters/vuetify.js";
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createDate","useDate","DateAdapterSymbol","VuetifyDateAdapter"],"sources":["../../../src/composables/date/index.ts"],"sourcesContent":["export { createDate, useDate, DateAdapterSymbol } from './date'\nexport type { DateAdapter } from './DateAdapter'\nexport type { DateOptions, DateInstance, DateModule } from './date'\nexport { VuetifyDateAdapter } from './adapters/vuetify'\n"],"mappings":"SAASA,UAAU,EAAEC,OAAO,EAAEC,iBAAiB;AAAA,SAGtCC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createDate","useDate","DateAdapterSymbol"],"sources":["../../../src/composables/date/index.ts"],"sourcesContent":["export { createDate, useDate, DateAdapterSymbol } from './date'\nexport type { DateAdapter } from './DateAdapter'\nexport type { DateOptions, DateInstance, DateModule } from './date'\n"],"mappings":"SAASA,UAAU,EAAEC,OAAO,EAAEC,iBAAiB","ignoreList":[]}
@@ -54,9 +54,6 @@ export function filterItems(items, query, options) {
54
54
  let match = -1;
55
55
  if ((query || customFiltersLength > 0) && !options?.noFilter) {
56
56
  if (typeof item === 'object') {
57
- if (['divider', 'subheader'].includes(item.raw?.type)) {
58
- continue;
59
- }
60
57
  const filterKeys = keys || Object.keys(transformed);
61
58
  for (const key of filterKeys) {
62
59
  const value = getPropertyFromItem(transformed, key);
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","normalizeClass","_normalizeClass","createElementVNode","_createElementVNode","Fragment","_Fragment","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","length","toString","toLocaleLowerCase","result","idx","indexOf","push","normaliseMatch","match","Array","isArray","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","loop","i","transformed","customMatches","defaultMatches","includes","raw","key","keyFilter","title","defaultMatchesLength","customMatchesLength","index","matches","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get","highlightResult","name","text","start","slice"],"sources":["../../src/composables/filter.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\nexport type FilterMatchArraySingle = readonly [number, number]\nexport type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[]\nexport type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple\nexport type FilterMatch = boolean | number | FilterMatchArray\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n if (!query.length) return 0\n\n value = value.toString().toLocaleLowerCase()\n query = query.toString().toLocaleLowerCase()\n\n const result = []\n let idx = value.indexOf(query)\n while (~idx) {\n result.push([idx, idx + query.length] as const)\n\n idx = value.indexOf(query, idx + query.length)\n }\n\n return result.length ? result : -1\n}\n\nfunction normaliseMatch (match: FilterMatch, query: string): FilterMatchArrayMultiple | undefined {\n if (match == null || typeof match === 'boolean' || match === -1) return\n if (typeof match === 'number') return [[match, match + query.length]]\n if (Array.isArray(match[0])) return match as FilterMatchArrayMultiple\n return [match] as FilterMatchArrayMultiple\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatchArrayMultiple | undefined> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n const defaultMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n if (['divider', 'subheader'].includes(item.raw?.type)) {\n continue\n }\n\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query)\n else defaultMatches[key] = normaliseMatch(match, query)\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query)\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems = shallowRef<T[]>([])\n const filteredMatches = shallowRef(new Map<unknown, Record<string, FilterMatchArrayMultiple | undefined>>())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n\nexport function highlightResult (name: string, text: string, matches: FilterMatchArrayMultiple | undefined) {\n if (matches == null || !matches.length) return text\n\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1]\n const result = [\n <span class={ `${name}__unmask` }>{ text.slice(start, match[0]) }</span>,\n <span class={ `${name}__mask` }>{ text.slice(match[0], match[1]) }</span>,\n ]\n if (i === matches.length - 1) {\n result.push(<span class={ `${name}__unmask` }>{ text.slice(match[1]) }</span>)\n }\n return <>{ result }</>\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"filter.js","names":["computed","shallowRef","unref","watchEffect","normalizeClass","_normalizeClass","createElementVNode","_createElementVNode","Fragment","_Fragment","getPropertyFromItem","propsFactory","wrapInArray","defaultFilter","value","query","item","length","toString","toLocaleLowerCase","result","idx","indexOf","push","normaliseMatch","match","Array","isArray","makeFilterProps","customFilter","Function","customKeyFilter","Object","filterKeys","String","filterMode","type","default","noFilter","Boolean","filterItems","items","options","array","filter","keys","customFiltersLength","loop","i","transformed","customMatches","defaultMatches","key","keyFilter","title","defaultMatchesLength","customMatchesLength","index","matches","useFilter","props","filteredItems","filteredMatches","Map","transformedItems","transform","map","_query","strQuery","results","originalItems","_filteredItems","_filteredMatches","forEach","_ref","set","getMatches","get","highlightResult","name","text","start","slice"],"sources":["../../src/composables/filter.tsx"],"sourcesContent":["/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect } from 'vue'\nimport { getPropertyFromItem, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\nexport type FilterMatchArraySingle = readonly [number, number]\nexport type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[]\nexport type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple\nexport type FilterMatch = boolean | number | FilterMatchArray\nexport type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch\nexport type FilterKeyFunctions = Record<string, FilterFunction>\nexport type FilterKeys = string | string[]\nexport type FilterMode = 'some' | 'every' | 'union' | 'intersection'\n\nexport interface FilterProps {\n customFilter?: FilterFunction\n customKeyFilter?: FilterKeyFunctions\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n}\n\nexport interface InternalItem<T = any> {\n value: any\n raw: T\n}\n\n// Composables\nexport const defaultFilter: FilterFunction = (value, query, item) => {\n if (value == null || query == null) return -1\n if (!query.length) return 0\n\n value = value.toString().toLocaleLowerCase()\n query = query.toString().toLocaleLowerCase()\n\n const result = []\n let idx = value.indexOf(query)\n while (~idx) {\n result.push([idx, idx + query.length] as const)\n\n idx = value.indexOf(query, idx + query.length)\n }\n\n return result.length ? result : -1\n}\n\nfunction normaliseMatch (match: FilterMatch, query: string): FilterMatchArrayMultiple | undefined {\n if (match == null || typeof match === 'boolean' || match === -1) return\n if (typeof match === 'number') return [[match, match + query.length]]\n if (Array.isArray(match[0])) return match as FilterMatchArrayMultiple\n return [match] as FilterMatchArrayMultiple\n}\n\nexport const makeFilterProps = propsFactory({\n customFilter: Function as PropType<FilterFunction>,\n customKeyFilter: Object as PropType<FilterKeyFunctions>,\n filterKeys: [Array, String] as PropType<FilterKeys>,\n filterMode: {\n type: String as PropType<FilterMode>,\n default: 'intersection',\n },\n noFilter: Boolean,\n}, 'filter')\n\nexport function filterItems (\n items: readonly (readonly [item: InternalItem, transformed: {}])[] | readonly InternalItem[],\n query: string,\n options?: {\n customKeyFilter?: FilterKeyFunctions\n default?: FilterFunction\n filterKeys?: FilterKeys\n filterMode?: FilterMode\n noFilter?: boolean\n },\n) {\n const array: { index: number, matches: Record<string, FilterMatchArrayMultiple | undefined> }[] = []\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length\n\n if (!items?.length) return array\n\n loop:\n for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]) as readonly [InternalItem, {}]\n const customMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n const defaultMatches: Record<string, FilterMatchArrayMultiple | undefined> = {}\n let match: FilterMatch = -1\n\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(transformed)\n\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key)\n const keyFilter = options?.customKeyFilter?.[key]\n\n match = keyFilter\n ? keyFilter(value, query, item)\n : filter(value, query, item)\n\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query)\n else defaultMatches[key] = normaliseMatch(match, query)\n } else if (options?.filterMode === 'every') {\n continue loop\n }\n }\n } else {\n match = filter(item, query, item)\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query)\n }\n }\n\n const defaultMatchesLength = Object.keys(defaultMatches).length\n const customMatchesLength = Object.keys(customMatches).length\n\n if (!defaultMatchesLength && !customMatchesLength) continue\n\n if (\n options?.filterMode === 'union' &&\n customMatchesLength !== customFiltersLength &&\n !defaultMatchesLength\n ) continue\n\n if (\n options?.filterMode === 'intersection' &&\n (\n customMatchesLength !== customFiltersLength ||\n !defaultMatchesLength\n )\n ) continue\n }\n\n array.push({ index: i, matches: { ...defaultMatches, ...customMatches } })\n }\n\n return array\n}\n\nexport function useFilter <T extends InternalItem> (\n props: FilterProps,\n items: MaybeRef<T[]>,\n query: Ref<string | undefined> | (() => string | undefined),\n options?: {\n transform?: (item: T) => {}\n customKeyFilter?: MaybeRef<FilterKeyFunctions | undefined>\n }\n) {\n const filteredItems = shallowRef<T[]>([])\n const filteredMatches = shallowRef(new Map<unknown, Record<string, FilterMatchArrayMultiple | undefined>>())\n const transformedItems = computed(() => (\n options?.transform\n ? unref(items).map(item => ([item, options.transform!(item)] as const))\n : unref(items)\n ))\n\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query)\n const strQuery = (\n typeof _query !== 'string' &&\n typeof _query !== 'number'\n ) ? '' : String(_query)\n\n const results = filterItems(\n transformedItems.value,\n strQuery,\n {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter),\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter,\n },\n )\n\n const originalItems = unref(items)\n\n const _filteredItems: typeof filteredItems['value'] = []\n const _filteredMatches: typeof filteredMatches['value'] = new Map()\n results.forEach(({ index, matches }) => {\n const item = originalItems[index]\n _filteredItems.push(item)\n _filteredMatches.set(item.value, matches)\n })\n filteredItems.value = _filteredItems\n filteredMatches.value = _filteredMatches\n })\n\n function getMatches (item: T) {\n return filteredMatches.value.get(item.value)\n }\n\n return { filteredItems, filteredMatches, getMatches }\n}\n\nexport function highlightResult (name: string, text: string, matches: FilterMatchArrayMultiple | undefined) {\n if (matches == null || !matches.length) return text\n\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1]\n const result = [\n <span class={ `${name}__unmask` }>{ text.slice(start, match[0]) }</span>,\n <span class={ `${name}__mask` }>{ text.slice(match[0], match[1]) }</span>,\n ]\n if (i === matches.length - 1) {\n result.push(<span class={ `${name}__unmask` }>{ text.slice(match[1]) }</span>)\n }\n return <>{ result }</>\n })\n}\n"],"mappings":"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","ignoreList":[]}