@vuetify/nightly 3.9.3-master.2025-08-01 → 3.9.3-master.2025-08-03

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 (60) hide show
  1. package/CHANGELOG.md +11 -4
  2. package/dist/json/attributes.json +2189 -2173
  3. package/dist/json/importMap-labs.json +44 -44
  4. package/dist/json/importMap.json +200 -200
  5. package/dist/json/tags.json +4 -0
  6. package/dist/json/web-types.json +3795 -3759
  7. package/dist/vuetify-labs.cjs +48 -18
  8. package/dist/vuetify-labs.css +6177 -6162
  9. package/dist/vuetify-labs.d.ts +133 -77
  10. package/dist/vuetify-labs.esm.js +48 -18
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +48 -18
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +48 -18
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3590 -3575
  17. package/dist/vuetify.d.ts +105 -77
  18. package/dist/vuetify.esm.js +48 -18
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +48 -18
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +289 -283
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +9 -2
  26. package/lib/components/VAlert/VAlert.js +2 -2
  27. package/lib/components/VAlert/VAlert.js.map +1 -1
  28. package/lib/components/VAlert/VAlert.sass +10 -3
  29. package/lib/components/VAlert/_variables.scss +1 -1
  30. package/lib/components/VApp/VApp.js +5 -4
  31. package/lib/components/VApp/VApp.js.map +1 -1
  32. package/lib/components/VDatePicker/VDatePicker.d.ts +25 -0
  33. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +25 -0
  34. package/lib/components/VStepper/VStepperItem.css +2 -0
  35. package/lib/components/VStepper/VStepperItem.sass +3 -0
  36. package/lib/components/VTreeview/VTreeviewItem.css +6 -0
  37. package/lib/components/VTreeview/VTreeviewItem.sass +7 -0
  38. package/lib/composables/calendar.d.ts +12 -0
  39. package/lib/composables/calendar.js +5 -1
  40. package/lib/composables/calendar.js.map +1 -1
  41. package/lib/composables/date/DateAdapter.d.ts +1 -1
  42. package/lib/composables/date/DateAdapter.js.map +1 -1
  43. package/lib/composables/date/adapters/string.d.ts +1 -1
  44. package/lib/composables/date/adapters/string.js +2 -2
  45. package/lib/composables/date/adapters/string.js.map +1 -1
  46. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  47. package/lib/composables/date/adapters/vuetify.js +25 -5
  48. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  49. package/lib/composables/date/date.d.ts +1 -1
  50. package/lib/entry-bundler.d.ts +1 -1
  51. package/lib/entry-bundler.js +1 -1
  52. package/lib/framework.d.ts +77 -77
  53. package/lib/framework.js +1 -1
  54. package/lib/labs/VCalendar/VCalendar.d.ts +25 -0
  55. package/lib/labs/VDateInput/VDateInput.d.ts +25 -0
  56. package/lib/labs/entry-bundler.d.ts +1 -1
  57. package/lib/labs/rules/rules.d.ts +10 -3
  58. package/lib/labs/rules/rules.js +13 -5
  59. package/lib/labs/rules/rules.js.map +1 -1
  60. package/package.json +1 -1
@@ -111,7 +111,7 @@
111
111
  }
112
112
 
113
113
  .v-alert:not(:has(.v-alert-title)) .v-alert__content {
114
- padding-top: 0.125rem;
114
+ padding-block: calc((1.75rem - 1.5 * 1rem) / 2);
115
115
  }
116
116
 
117
117
  .v-alert__border {
@@ -150,7 +150,9 @@
150
150
  .v-alert__close {
151
151
  flex: 0 1 auto;
152
152
  grid-area: close;
153
- margin-block: -2px;
153
+ }
154
+ .v-alert__close > .v-btn {
155
+ margin-block: calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2);
154
156
  }
155
157
 
156
158
  .v-alert__content {
@@ -180,6 +182,11 @@
180
182
  margin-inline-end: 16px;
181
183
  min-height: 1.75rem;
182
184
  }
185
+ .v-alert__prepend > .v-icon {
186
+ font-size: 1.75rem;
187
+ height: 1.75rem;
188
+ width: 1.75rem;
189
+ }
183
190
  .v-alert--prominent .v-alert__prepend {
184
191
  align-self: center;
185
192
  }
@@ -91,7 +91,7 @@ export const VAlert = genericComponent()({
91
91
  });
92
92
  const {
93
93
  iconSize
94
- } = useIconSizes(props, () => props.prominent ? 44 : 28);
94
+ } = useIconSizes(props, () => props.prominent ? 44 : undefined);
95
95
  const {
96
96
  themeClasses
97
97
  } = provideTheme(props);
@@ -142,7 +142,7 @@ export const VAlert = genericComponent()({
142
142
  const iconProps = {
143
143
  density: props.density,
144
144
  icon: icon.value,
145
- size: iconSize.value
145
+ size: props.iconSize || props.prominent ? iconSize.value : undefined
146
146
  };
147
147
  return isActive.value && _createVNode(props.tag, {
148
148
  "class": _normalizeClass(['v-alert', props.border && {
@@ -1 +1 @@
1
- {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : 28)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: iconSize.value,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : undefined)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: props.iconSize || props.prominent\n ? iconSize.value\n : undefined,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
@@ -45,7 +45,7 @@
45
45
 
46
46
  &:not(:has(.v-alert-title))
47
47
  .v-alert__content
48
- padding-top: calc(($alert-title-line-height - settings.$line-height-root * 1rem) / 2)
48
+ padding-block: calc((#{$alert-prepend-icon-size} - #{settings.$line-height-root} * 1rem) / 2)
49
49
 
50
50
  .v-alert__border
51
51
  border-radius: inherit
@@ -75,7 +75,9 @@
75
75
  .v-alert__close
76
76
  flex: 0 1 auto
77
77
  grid-area: close
78
- margin-block: -2px
78
+
79
+ > .v-btn
80
+ margin-block: calc(-1 * (var(--v-btn-height) + 12px - #{$alert-prepend-icon-size}) / 2)
79
81
 
80
82
  .v-alert__content
81
83
  align-self: center
@@ -99,7 +101,12 @@
99
101
  align-items: center
100
102
  grid-area: prepend
101
103
  margin-inline-end: $alert-prepend-margin-inline-end
102
- min-height: $alert-title-line-height
104
+ min-height: $alert-prepend-icon-size
105
+
106
+ > .v-icon
107
+ font-size: $alert-prepend-icon-size
108
+ height: $alert-prepend-icon-size
109
+ width: $alert-prepend-icon-size
103
110
 
104
111
  .v-alert--prominent &
105
112
  align-self: center
@@ -17,6 +17,7 @@ $alert-plain-opacity: .62 !default;
17
17
  $alert-plain-transition: .2s opacity settings.$standard-easing !default;
18
18
  $alert-positions: absolute fixed sticky !default;
19
19
  $alert-prepend-margin-inline-end: 16px !default;
20
+ $alert-prepend-icon-size: 1.75rem !default;
20
21
  $alert-append-margin-inline-start: 16px !default;
21
22
  $alert-append-close-margin-inline-start: 16px !default;
22
23
 
@@ -25,7 +26,6 @@ $alert-title-font-size: tools.map-deep-get(settings.$typography, 'h6', 'size') !
25
26
  $alert-title-font-weight: tools.map-deep-get(settings.$typography, 'h6', 'weight') !default;
26
27
  $alert-title-hyphens: auto !default;
27
28
  $alert-title-letter-spacing: tools.map-deep-get(settings.$typography, 'h6', 'letter-spacing') !default;
28
- // $alert-title-line-height: tools.map-deep-get(settings.$typography, 'h6', 'line-height') !default;
29
29
  $alert-title-line-height: 1.75rem !default;
30
30
  $alert-title-overflow-wrap: normal !default;
31
31
  $alert-title-text-transform: none !default;
@@ -10,9 +10,7 @@ import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Ut
10
10
  import { genericComponent, omit, propsFactory, useRender } from "../../util/index.js";
11
11
  export const makeVAppProps = propsFactory({
12
12
  ...makeComponentProps(),
13
- ...omit(makeLayoutProps({
14
- fullHeight: true
15
- }), ['fullHeight']),
13
+ ...omit(makeLayoutProps(), ['fullHeight']),
16
14
  ...makeThemeProps()
17
15
  }, 'VApp');
18
16
  export const VApp = genericComponent()({
@@ -28,7 +26,10 @@ export const VApp = genericComponent()({
28
26
  getLayoutItem,
29
27
  items,
30
28
  layoutRef
31
- } = createLayout(props);
29
+ } = createLayout({
30
+ ...props,
31
+ fullHeight: true
32
+ });
32
33
  const {
33
34
  rtlClasses
34
35
  } = useRtl();
@@ -1 +1 @@
1
- {"version":3,"file":"VApp.js","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","genericComponent","omit","propsFactory","useRender","makeVAppProps","fullHeight","VApp","name","props","setup","_ref","slots","theme","layoutClasses","getLayoutItem","items","layoutRef","rtlClasses","_createElementVNode","_normalizeClass","themeClasses","value","class","_normalizeStyle","style","default"],"sources":["../../../src/components/VApp/VApp.tsx"],"sourcesContent":["// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...omit(makeLayoutProps({ fullHeight: true }), ['fullHeight']),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe;AAAA,SAC7BC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS;AAExD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxC,GAAGR,kBAAkB,CAAC,CAAC;EACvB,GAAGO,IAAI,CAACL,eAAe,CAAC;IAAES,UAAU,EAAE;EAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EAC9D,GAAGP,cAAc,CAAC;AACpB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMQ,IAAI,GAAGN,gBAAgB,CAAC,CAAC,CAAC;EACrCO,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEJ,aAAa,CAAC,CAAC;EAEtBK,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGb,YAAY,CAACS,KAAK,CAAC;IACjC,MAAM;MAAEK,aAAa;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGrB,YAAY,CAACa,KAAK,CAAC;IAC9E,MAAM;MAAES;IAAW,CAAC,GAAGpB,MAAM,CAAC,CAAC;IAE/BM,SAAS,CAAC,MAAAe,mBAAA;MAAA,OAEAF,SAAS;MAAA,SAAAG,eAAA,CACR,CACL,eAAe,EACfP,KAAK,CAACQ,YAAY,CAACC,KAAK,EACxBR,aAAa,CAACQ,KAAK,EACnBJ,UAAU,CAACI,KAAK,EAChBb,KAAK,CAACc,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACLf,KAAK,CAACgB,KAAK,CACZ;IAAA,IAAAN,mBAAA;MAAA;IAAA,IAGGP,KAAK,CAACc,OAAO,GAAG,CAAC,IAGxB,CAAC;IAEF,OAAO;MACLX,aAAa;MACbC,KAAK;MACLH;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VApp.js","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","genericComponent","omit","propsFactory","useRender","makeVAppProps","VApp","name","props","setup","_ref","slots","theme","layoutClasses","getLayoutItem","items","layoutRef","fullHeight","rtlClasses","_createElementVNode","_normalizeClass","themeClasses","value","class","_normalizeStyle","style","default"],"sources":["../../../src/components/VApp/VApp.tsx"],"sourcesContent":["// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...omit(makeLayoutProps(), ['fullHeight']),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items, layoutRef } = createLayout({ ...props, fullHeight: true })\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe;AAAA,SAC7BC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS;AAExD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxC,GAAGR,kBAAkB,CAAC,CAAC;EACvB,GAAGO,IAAI,CAACL,eAAe,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;EAC1C,GAAGE,cAAc,CAAC;AACpB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMO,IAAI,GAAGL,gBAAgB,CAAC,CAAC,CAAC;EACrCM,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEH,aAAa,CAAC,CAAC;EAEtBI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGZ,YAAY,CAACQ,KAAK,CAAC;IACjC,MAAM;MAAEK,aAAa;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGpB,YAAY,CAAC;MAAE,GAAGY,KAAK;MAAES,UAAU,EAAE;IAAK,CAAC,CAAC;IACvG,MAAM;MAAEC;IAAW,CAAC,GAAGpB,MAAM,CAAC,CAAC;IAE/BM,SAAS,CAAC,MAAAe,mBAAA;MAAA,OAEAH,SAAS;MAAA,SAAAI,eAAA,CACR,CACL,eAAe,EACfR,KAAK,CAACS,YAAY,CAACC,KAAK,EACxBT,aAAa,CAACS,KAAK,EACnBJ,UAAU,CAACI,KAAK,EAChBd,KAAK,CAACe,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACLhB,KAAK,CAACiB,KAAK,CACZ;IAAA,IAAAN,mBAAA;MAAA;IAAA,IAGGR,KAAK,CAACe,OAAO,GAAG,CAAC,IAGxB,CAAC;IAEF,OAAO;MACLZ,aAAa;MACbC,KAAK;MACLH;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -45,6 +45,7 @@ export declare const makeVDatePickerProps: <Defaults extends {
45
45
  weekdays?: unknown;
46
46
  weeksInMonth?: unknown;
47
47
  firstDayOfWeek?: unknown;
48
+ firstDayOfYear?: unknown;
48
49
  allowedDates?: unknown;
49
50
  weekdayFormat?: unknown;
50
51
  hideWeekdays?: unknown;
@@ -264,6 +265,16 @@ export declare const makeVDatePickerProps: <Defaults extends {
264
265
  type: import("vue").PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
265
266
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
266
267
  };
268
+ firstDayOfYear: unknown extends Defaults["firstDayOfYear"] ? {
269
+ type: (StringConstructor | NumberConstructor)[];
270
+ default: undefined;
271
+ } : Omit<{
272
+ type: (StringConstructor | NumberConstructor)[];
273
+ default: undefined;
274
+ }, "type" | "default"> & {
275
+ type: import("vue").PropType<unknown extends Defaults["firstDayOfYear"] ? string | number : string | number | Defaults["firstDayOfYear"]>;
276
+ default: unknown extends Defaults["firstDayOfYear"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfYear"];
277
+ };
267
278
  allowedDates: unknown extends Defaults["allowedDates"] ? import("vue").PropType<unknown[] | ((date: unknown) => boolean)> : {
268
279
  type: import("vue").PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
269
280
  default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
@@ -424,6 +435,7 @@ export declare const VDatePicker: {
424
435
  controlHeight?: string | number | undefined;
425
436
  headerColor?: string | undefined;
426
437
  firstDayOfWeek?: string | number | undefined;
438
+ firstDayOfYear?: string | number | undefined;
427
439
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
428
440
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
429
441
  allowedMonths?: number[] | ((date: number) => boolean) | undefined;
@@ -459,6 +471,7 @@ export declare const VDatePicker: {
459
471
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
460
472
  weeksInMonth: "static" | "dynamic";
461
473
  firstDayOfWeek: string | number;
474
+ firstDayOfYear: string | number;
462
475
  hideWeekdays: boolean;
463
476
  showWeek: boolean;
464
477
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -555,6 +568,7 @@ export declare const VDatePicker: {
555
568
  controlHeight?: string | number | undefined;
556
569
  headerColor?: string | undefined;
557
570
  firstDayOfWeek?: string | number | undefined;
571
+ firstDayOfYear?: string | number | undefined;
558
572
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
559
573
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
560
574
  allowedMonths?: number[] | ((date: number) => boolean) | undefined;
@@ -585,6 +599,7 @@ export declare const VDatePicker: {
585
599
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
586
600
  weeksInMonth: "static" | "dynamic";
587
601
  firstDayOfWeek: string | number;
602
+ firstDayOfYear: string | number;
588
603
  hideWeekdays: boolean;
589
604
  showWeek: boolean;
590
605
  }>;
@@ -637,6 +652,7 @@ export declare const VDatePicker: {
637
652
  controlHeight?: string | number | undefined;
638
653
  headerColor?: string | undefined;
639
654
  firstDayOfWeek?: string | number | undefined;
655
+ firstDayOfYear?: string | number | undefined;
640
656
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
641
657
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
642
658
  allowedMonths?: number[] | ((date: number) => boolean) | undefined;
@@ -672,6 +688,7 @@ export declare const VDatePicker: {
672
688
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
673
689
  weeksInMonth: "static" | "dynamic";
674
690
  firstDayOfWeek: string | number;
691
+ firstDayOfYear: string | number;
675
692
  hideWeekdays: boolean;
676
693
  showWeek: boolean;
677
694
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -787,6 +804,10 @@ export declare const VDatePicker: {
787
804
  type: (StringConstructor | NumberConstructor)[];
788
805
  default: undefined;
789
806
  };
807
+ firstDayOfYear: {
808
+ type: (StringConstructor | NumberConstructor)[];
809
+ default: undefined;
810
+ };
790
811
  allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
791
812
  weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
792
813
  hideWeekdays: BooleanConstructor;
@@ -895,6 +916,10 @@ export declare const VDatePicker: {
895
916
  type: (StringConstructor | NumberConstructor)[];
896
917
  default: undefined;
897
918
  };
919
+ firstDayOfYear: {
920
+ type: (StringConstructor | NumberConstructor)[];
921
+ default: undefined;
922
+ };
898
923
  allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
899
924
  weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
900
925
  hideWeekdays: BooleanConstructor;
@@ -19,6 +19,7 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
19
19
  weekdays?: unknown;
20
20
  weeksInMonth?: unknown;
21
21
  firstDayOfWeek?: unknown;
22
+ firstDayOfYear?: unknown;
22
23
  allowedDates?: unknown;
23
24
  weekdayFormat?: unknown;
24
25
  color?: unknown;
@@ -92,6 +93,16 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
92
93
  type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
93
94
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
94
95
  };
96
+ firstDayOfYear: unknown extends Defaults["firstDayOfYear"] ? {
97
+ type: (StringConstructor | NumberConstructor)[];
98
+ default: undefined;
99
+ } : Omit<{
100
+ type: (StringConstructor | NumberConstructor)[];
101
+ default: undefined;
102
+ }, "type" | "default"> & {
103
+ type: PropType<unknown extends Defaults["firstDayOfYear"] ? string | number : string | number | Defaults["firstDayOfYear"]>;
104
+ default: unknown extends Defaults["firstDayOfYear"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfYear"];
105
+ };
95
106
  allowedDates: unknown extends Defaults["allowedDates"] ? PropType<unknown[] | ((date: unknown) => boolean)> : {
96
107
  type: PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
97
108
  default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
@@ -156,6 +167,7 @@ export declare const VDatePickerMonth: {
156
167
  year?: string | number | undefined;
157
168
  modelValue?: unknown[] | undefined;
158
169
  firstDayOfWeek?: string | number | undefined;
170
+ firstDayOfYear?: string | number | undefined;
159
171
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
160
172
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
161
173
  } & {
@@ -203,6 +215,7 @@ export declare const VDatePickerMonth: {
203
215
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
204
216
  weeksInMonth: "static" | "dynamic";
205
217
  firstDayOfWeek: string | number;
218
+ firstDayOfYear: string | number;
206
219
  hideWeekdays: boolean;
207
220
  showWeek: boolean;
208
221
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -238,6 +251,7 @@ export declare const VDatePickerMonth: {
238
251
  year?: string | number | undefined;
239
252
  modelValue?: unknown[] | undefined;
240
253
  firstDayOfWeek?: string | number | undefined;
254
+ firstDayOfYear?: string | number | undefined;
241
255
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
242
256
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
243
257
  } & {
@@ -281,6 +295,7 @@ export declare const VDatePickerMonth: {
281
295
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
282
296
  weeksInMonth: "static" | "dynamic";
283
297
  firstDayOfWeek: string | number;
298
+ firstDayOfYear: string | number;
284
299
  hideWeekdays: boolean;
285
300
  showWeek: boolean;
286
301
  }>;
@@ -305,6 +320,7 @@ export declare const VDatePickerMonth: {
305
320
  year?: string | number | undefined;
306
321
  modelValue?: unknown[] | undefined;
307
322
  firstDayOfWeek?: string | number | undefined;
323
+ firstDayOfYear?: string | number | undefined;
308
324
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
309
325
  weekdayFormat?: "long" | "short" | "narrow" | undefined;
310
326
  } & {
@@ -352,6 +368,7 @@ export declare const VDatePickerMonth: {
352
368
  weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
353
369
  weeksInMonth: "static" | "dynamic";
354
370
  firstDayOfWeek: string | number;
371
+ firstDayOfYear: string | number;
355
372
  hideWeekdays: boolean;
356
373
  showWeek: boolean;
357
374
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -385,6 +402,10 @@ export declare const VDatePickerMonth: {
385
402
  type: (StringConstructor | NumberConstructor)[];
386
403
  default: undefined;
387
404
  };
405
+ firstDayOfYear: {
406
+ type: (StringConstructor | NumberConstructor)[];
407
+ default: undefined;
408
+ };
388
409
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
389
410
  weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
390
411
  color: StringConstructor;
@@ -422,6 +443,10 @@ export declare const VDatePickerMonth: {
422
443
  type: (StringConstructor | NumberConstructor)[];
423
444
  default: undefined;
424
445
  };
446
+ firstDayOfYear: {
447
+ type: (StringConstructor | NumberConstructor)[];
448
+ default: undefined;
449
+ };
425
450
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
426
451
  weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
427
452
  color: StringConstructor;
@@ -47,6 +47,8 @@
47
47
  }
48
48
  .v-stepper-item--disabled {
49
49
  opacity: var(--v-medium-emphasis-opacity);
50
+ }
51
+ .v-stepper-item[disabled], .v-stepper-item--disabled {
50
52
  pointer-events: none;
51
53
  }
52
54
  .v-stepper--alt-labels .v-stepper-item {
@@ -29,6 +29,9 @@
29
29
 
30
30
  &--disabled
31
31
  opacity: var(--v-medium-emphasis-opacity)
32
+
33
+ &[disabled],
34
+ &--disabled
32
35
  pointer-events: none
33
36
 
34
37
  .v-stepper--alt-labels &
@@ -4,6 +4,12 @@
4
4
  .v-treeview-item.v-treeview-item--filtered {
5
5
  display: none;
6
6
  }
7
+ .v-treeview-item.v-list-item--disabled:not(a) {
8
+ pointer-events: auto;
9
+ }
10
+ .v-treeview-item.v-list-item--disabled:not(a) .v-selection-control {
11
+ pointer-events: none;
12
+ }
7
13
  .v-treeview-item__level {
8
14
  width: 28px;
9
15
  }
@@ -7,6 +7,13 @@
7
7
  &.v-treeview-item--filtered
8
8
  display: none
9
9
 
10
+ &.v-list-item--disabled:not(a)
11
+ pointer-events: auto
12
+
13
+ .v-selection-control
14
+ pointer-events: none
15
+
16
+
10
17
  &__level
11
18
  width: #{$treeview-indent-size}
12
19
 
@@ -12,6 +12,7 @@ export interface CalendarProps {
12
12
  year: number | string | undefined;
13
13
  weeksInMonth: 'dynamic' | 'static';
14
14
  firstDayOfWeek: number | string | undefined;
15
+ firstDayOfYear: number | string | undefined;
15
16
  weekdayFormat: 'long' | 'short' | 'narrow' | undefined;
16
17
  'onUpdate:modelValue': ((value: unknown[]) => void) | undefined;
17
18
  'onUpdate:month': ((value: number) => void) | undefined;
@@ -49,6 +50,7 @@ export declare const makeCalendarProps: <Defaults extends {
49
50
  weekdays?: unknown;
50
51
  weeksInMonth?: unknown;
51
52
  firstDayOfWeek?: unknown;
53
+ firstDayOfYear?: unknown;
52
54
  weekdayFormat?: unknown;
53
55
  } = {}>(defaults?: Defaults | undefined) => {
54
56
  allowedDates: unknown extends Defaults["allowedDates"] ? PropType<unknown[] | ((date: unknown) => boolean)> : {
@@ -123,6 +125,16 @@ export declare const makeCalendarProps: <Defaults extends {
123
125
  type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
124
126
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
125
127
  };
128
+ firstDayOfYear: unknown extends Defaults["firstDayOfYear"] ? {
129
+ type: (StringConstructor | NumberConstructor)[];
130
+ default: undefined;
131
+ } : Omit<{
132
+ type: (StringConstructor | NumberConstructor)[];
133
+ default: undefined;
134
+ }, "type" | "default"> & {
135
+ type: PropType<unknown extends Defaults["firstDayOfYear"] ? string | number : string | number | Defaults["firstDayOfYear"]>;
136
+ default: unknown extends Defaults["firstDayOfYear"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfYear"];
137
+ };
126
138
  weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
127
139
  type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
128
140
  default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : Defaults["weekdayFormat"] | NonNullable<"long" | "short" | "narrow" | undefined>;
@@ -30,6 +30,10 @@ export const makeCalendarProps = propsFactory({
30
30
  type: [Number, String],
31
31
  default: undefined
32
32
  },
33
+ firstDayOfYear: {
34
+ type: [Number, String],
35
+ default: undefined
36
+ },
33
37
  weekdayFormat: String
34
38
  }, 'calendar');
35
39
  export function useCalendar(props) {
@@ -121,7 +125,7 @@ export function useCalendar(props) {
121
125
  });
122
126
  const weekNumbers = computed(() => {
123
127
  return weeksInMonth.value.map(week => {
124
- return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
128
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
125
129
  });
126
130
  });
127
131
  function isDisabled(value) {
@@ -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","weekdayLabels","toJsDate","startOfWeek","getDay","getWeekdays","filter","_","includes","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","genDays","today","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","weekdaysCount","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isBefore","endOfDay","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 weekdayFormat: 'long' | 'short' | 'narrow' | 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 weekdayLabels = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat)\n .filter((_, i) => props.weekdays.includes((i + 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 props.weekdays.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 const weekdaysCount = props.weekdays.length\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 % weekdaysCount === weekdaysCount - 1,\n isWeekStart: index % weekdaysCount === 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.isBefore(adapter.endOfDay(date), adapter.date(props.min))) 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 false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekdayLabels,\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","firstDayOfYear","weekdayFormat","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekdayLabels","toJsDate","startOfWeek","getDay","getWeekdays","filter","_","includes","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","genDays","today","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","weekdaysCount","formatted","format","isDisabled","isHidden","isSelected","some","isToday","isWeekEnd","isWeekStart","localized","daysInWeek","weekNumbers","getWeek","isBefore","endOfDay","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 firstDayOfYear: number | string | undefined\n weekdayFormat: 'long' | 'short' | 'narrow' | 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 firstDayOfYear: {\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 weekdayLabels = computed(() => {\n const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay()\n return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat)\n .filter((_, i) => props.weekdays.includes((i + 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 props.weekdays.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 const weekdaysCount = props.weekdays.length\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 % weekdaysCount === weekdaysCount - 1,\n isWeekStart: index % weekdaysCount === 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, props.firstDayOfYear) : 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.isBefore(adapter.endOfDay(date), adapter.date(props.min))) 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 false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekdayLabels,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,7 +31,7 @@ export interface DateAdapter<T = unknown> {
31
31
  getDiff(date: T, comparing: T | string, unit?: string): number;
32
32
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
33
33
  getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
34
- getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
34
+ getWeek(date: T, firstDayOfWeek?: number | string, firstDayOfYear?: number | string): number;
35
35
  getMonth(date: T): number;
36
36
  setMonth(date: T, month: number): T;
37
37
  getDate(date: T): number;
@@ -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(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, firstDayOfYear?: number | string): 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":[]}
@@ -23,7 +23,7 @@ export declare class StringDateAdapter implements DateAdapter<string> {
23
23
  getHours(date: string): number;
24
24
  getMinutes(date: string): number;
25
25
  getMonth(date: string): number;
26
- getWeek(date: string, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
26
+ getWeek(date: string, firstDayOfWeek?: number | string, firstDayOfYear?: number | string): number;
27
27
  getNextMonth(date: string): string;
28
28
  getPreviousMonth(date: string): string;
29
29
  getWeekArray(date: string, firstDayOfWeek?: number | string): string[][];