vuetify 3.1.6 → 3.1.8

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 (195) hide show
  1. package/dist/json/attributes.json +33 -33
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/web-types.json +967 -79
  4. package/dist/vuetify-labs.css +544 -401
  5. package/dist/vuetify-labs.d.ts +3453 -144
  6. package/dist/vuetify-labs.esm.js +66 -44
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +66 -44
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +1398 -1255
  11. package/dist/vuetify.d.ts +1918 -67
  12. package/dist/vuetify.esm.js +33 -32
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +33 -32
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +209 -210
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAlert/VAlert.css +1 -1
  20. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  21. package/lib/components/VAlert/_variables.scss +1 -1
  22. package/lib/components/VAlert/index.d.ts +22 -0
  23. package/lib/components/VApp/index.d.ts +6 -0
  24. package/lib/components/VAppBar/index.d.ts +36 -0
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +117 -6
  27. package/lib/components/VAvatar/index.d.ts +6 -0
  28. package/lib/components/VBadge/index.d.ts +8 -0
  29. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  30. package/lib/components/VBanner/index.d.ts +24 -0
  31. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  32. package/lib/components/VBottomNavigation/index.d.ts +6 -0
  33. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  34. package/lib/components/VBreadcrumbs/index.d.ts +28 -4
  35. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  36. package/lib/components/VBtn/index.d.ts +12 -0
  37. package/lib/components/VBtnGroup/index.d.ts +6 -0
  38. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  39. package/lib/components/VBtnToggle/index.d.ts +6 -0
  40. package/lib/components/VCard/VCard.mjs.map +1 -1
  41. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  42. package/lib/components/VCard/index.d.ts +60 -0
  43. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  44. package/lib/components/VCarousel/index.d.ts +60 -0
  45. package/lib/components/VCheckbox/index.d.ts +38 -0
  46. package/lib/components/VChip/VChip.mjs.map +1 -1
  47. package/lib/components/VChip/index.d.ts +12 -0
  48. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  49. package/lib/components/VChipGroup/index.d.ts +6 -0
  50. package/lib/components/VCode/index.d.ts +6 -0
  51. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  52. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  53. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  54. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  55. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  56. package/lib/components/VCombobox/index.d.ts +117 -6
  57. package/lib/components/VCounter/index.d.ts +24 -0
  58. package/lib/components/VDefaultsProvider/index.d.ts +6 -0
  59. package/lib/components/VDialog/index.d.ts +64 -1
  60. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  61. package/lib/components/VDivider/index.d.ts +6 -0
  62. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  65. package/lib/components/VExpansionPanel/index.d.ts +49 -12
  66. package/lib/components/VField/VField.mjs.map +1 -1
  67. package/lib/components/VField/index.d.ts +20 -6
  68. package/lib/components/VFileInput/VFileInput.mjs +1 -0
  69. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  70. package/lib/components/VFileInput/index.d.ts +43 -1
  71. package/lib/components/VFooter/index.d.ts +6 -0
  72. package/lib/components/VForm/index.d.ts +6 -0
  73. package/lib/components/VGrid/index.d.ts +24 -0
  74. package/lib/components/VHover/index.d.ts +12 -0
  75. package/lib/components/VIcon/index.d.ts +12 -0
  76. package/lib/components/VImg/index.d.ts +12 -0
  77. package/lib/components/VInput/VInput.mjs.map +1 -1
  78. package/lib/components/VInput/index.d.ts +12 -0
  79. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  80. package/lib/components/VItemGroup/index.d.ts +12 -0
  81. package/lib/components/VKbd/index.d.ts +6 -0
  82. package/lib/components/VLabel/index.d.ts +6 -0
  83. package/lib/components/VLayout/index.d.ts +12 -0
  84. package/lib/components/VLazy/index.d.ts +6 -0
  85. package/lib/components/VList/VListGroup.mjs.map +1 -1
  86. package/lib/components/VList/VListItem.mjs.map +1 -1
  87. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  88. package/lib/components/VList/index.d.ts +77 -6
  89. package/lib/components/VLocaleProvider/index.d.ts +6 -0
  90. package/lib/components/VMain/index.d.ts +6 -0
  91. package/lib/components/VMenu/index.d.ts +64 -1
  92. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  93. package/lib/components/VMessages/index.d.ts +24 -0
  94. package/lib/components/VNavigationDrawer/index.d.ts +12 -0
  95. package/lib/components/VNoSsr/index.d.ts +6 -0
  96. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  97. package/lib/components/VOverlay/index.d.ts +18 -0
  98. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  99. package/lib/components/VPagination/index.d.ts +14 -0
  100. package/lib/components/VParallax/index.d.ts +12 -0
  101. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  102. package/lib/components/VProgressCircular/index.d.ts +6 -0
  103. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  104. package/lib/components/VProgressLinear/index.d.ts +12 -0
  105. package/lib/components/VRadio/index.d.ts +16 -0
  106. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  107. package/lib/components/VRadioGroup/index.d.ts +22 -0
  108. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  109. package/lib/components/VRangeSlider/index.d.ts +16 -0
  110. package/lib/components/VRating/VRating.mjs.map +1 -1
  111. package/lib/components/VRating/index.d.ts +8 -0
  112. package/lib/components/VResponsive/index.d.ts +8 -0
  113. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  114. package/lib/components/VSelect/index.d.ts +183 -6
  115. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  116. package/lib/components/VSelectionControl/index.d.ts +14 -6
  117. package/lib/components/VSelectionControlGroup/index.d.ts +6 -0
  118. package/lib/components/VSheet/index.d.ts +6 -0
  119. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  120. package/lib/components/VSlideGroup/index.d.ts +26 -0
  121. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  122. package/lib/components/VSlider/index.d.ts +16 -0
  123. package/lib/components/VSnackbar/VSnackbar.css +0 -2
  124. package/lib/components/VSnackbar/VSnackbar.mjs +6 -8
  125. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  126. package/lib/components/VSnackbar/VSnackbar.sass +0 -2
  127. package/lib/components/VSnackbar/index.d.ts +44 -1
  128. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  129. package/lib/components/VSwitch/index.d.ts +22 -0
  130. package/lib/components/VSystemBar/index.d.ts +6 -0
  131. package/lib/components/VTable/VTable.mjs.map +1 -1
  132. package/lib/components/VTable/index.d.ts +12 -0
  133. package/lib/components/VTabs/VTab.mjs.map +1 -1
  134. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  135. package/lib/components/VTabs/index.d.ts +12 -0
  136. package/lib/components/VTextField/VTextField.mjs +1 -0
  137. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  138. package/lib/components/VTextField/index.d.ts +54 -6
  139. package/lib/components/VTextarea/VTextarea.mjs +1 -0
  140. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  141. package/lib/components/VTextarea/index.d.ts +39 -1
  142. package/lib/components/VThemeProvider/index.d.ts +6 -0
  143. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  144. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  145. package/lib/components/VTimeline/index.d.ts +16 -0
  146. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  147. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  148. package/lib/components/VToolbar/index.d.ts +30 -0
  149. package/lib/components/VTooltip/index.d.ts +46 -1
  150. package/lib/components/VValidation/index.d.ts +6 -0
  151. package/lib/components/VWindow/index.d.ts +34 -0
  152. package/lib/components/index.d.ts +1916 -65
  153. package/lib/components/transitions/createTransition.mjs +1 -1
  154. package/lib/components/transitions/createTransition.mjs.map +1 -1
  155. package/lib/components/transitions/index.d.ts +96 -0
  156. package/lib/composables/display.mjs +13 -10
  157. package/lib/composables/display.mjs.map +1 -1
  158. package/lib/composables/loader.mjs.map +1 -1
  159. package/lib/composables/theme.mjs +7 -10
  160. package/lib/composables/theme.mjs.map +1 -1
  161. package/lib/composables/variant.mjs.map +1 -1
  162. package/lib/entry-bundler.mjs +1 -1
  163. package/lib/framework.mjs +1 -1
  164. package/lib/index.d.ts +1 -1
  165. package/lib/labs/VDataTable/VDataTable.mjs +4 -2
  166. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  167. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  168. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  169. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  170. package/lib/labs/VDataTable/VDataTableRows.mjs +4 -6
  171. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  172. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  173. package/lib/labs/VDataTable/VDataTableVirtual.mjs +4 -2
  174. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  175. package/lib/labs/VDataTable/composables/options.mjs +7 -1
  176. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  177. package/lib/labs/VDataTable/index.d.ts +1503 -48
  178. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +15 -2
  179. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  180. package/lib/labs/VVirtualScroll/index.d.ts +9 -6
  181. package/lib/labs/components.d.ts +1512 -54
  182. package/lib/locale/index.mjs +1 -1
  183. package/lib/locale/index.mjs.map +1 -1
  184. package/lib/styles/elements/_global.sass +0 -4
  185. package/lib/styles/generic/_index.scss +0 -1
  186. package/lib/styles/generic/_transitions.scss +111 -9
  187. package/lib/styles/main.css +312 -167
  188. package/lib/styles/tools/_sheet.sass +3 -6
  189. package/lib/styles/utilities/_display.sass +6 -5
  190. package/lib/styles/utilities/_elevation.scss +13 -0
  191. package/lib/styles/utilities/_index.sass +3 -2
  192. package/lib/styles/utilities/_screenreaders.sass +13 -11
  193. package/lib/util/defineComponent.mjs.map +1 -1
  194. package/package.json +18 -4
  195. package/lib/styles/generic/_elevation.scss +0 -10
@@ -2,7 +2,7 @@
2
2
  import { h, Transition, TransitionGroup } from 'vue';
3
3
  import { genericComponent } from "../../util/index.mjs"; // Types
4
4
  export function createCssTransition(name) {
5
- let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top center 0';
5
+ let origin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'center center';
6
6
  let mode = arguments.length > 2 ? arguments[2] : undefined;
7
7
  return genericComponent()({
8
8
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"createTransition.mjs","names":["h","Transition","TransitionGroup","genericComponent","createCssTransition","name","origin","mode","props","group","Boolean","hideOnLeave","leaveAbsolute","type","String","default","setup","slots","tag","onBeforeEnter","el","style","transformOrigin","onLeave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","width","height","setProperty","onAfterLeave","createJavascriptTransition","functions"],"sources":["../../../src/components/transitions/createTransition.ts"],"sourcesContent":["// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, PropType } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return genericComponent()({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return genericComponent()({\n name,\n\n props: {\n mode: {\n type: String as PropType<'in-out' | 'out-in' | 'default'>,\n default: mode,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"createTransition.mjs","names":["h","Transition","TransitionGroup","genericComponent","createCssTransition","name","origin","mode","props","group","Boolean","hideOnLeave","leaveAbsolute","type","String","default","setup","slots","tag","onBeforeEnter","el","style","transformOrigin","onLeave","offsetTop","offsetLeft","offsetWidth","offsetHeight","_transitionInitialStyles","position","top","left","width","height","setProperty","onAfterLeave","createJavascriptTransition","functions"],"sources":["../../../src/components/transitions/createTransition.ts"],"sourcesContent":["// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, PropType } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'center center',\n mode?: string\n) {\n return genericComponent()({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return genericComponent()({\n name,\n\n props: {\n mode: {\n type: String as PropType<'in-out' | 'out-in' | 'default'>,\n default: mode,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n"],"mappings":"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"}
@@ -6,6 +6,9 @@ declare const VDialogTransition: vue.DefineComponent<{} & {
6
6
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
7
7
  default?: (() => vue.VNodeChild) | undefined;
8
8
  };
9
+ $slots?: {
10
+ default?: (() => vue.VNodeChild) | undefined;
11
+ } | undefined;
9
12
  'v-slots'?: {
10
13
  default?: false | (() => vue.VNodeChild) | undefined;
11
14
  } | undefined;
@@ -17,6 +20,9 @@ declare const VDialogTransition: vue.DefineComponent<{} & {
17
20
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
18
21
  default?: (() => vue.VNodeChild) | undefined;
19
22
  };
23
+ $slots?: {
24
+ default?: (() => vue.VNodeChild) | undefined;
25
+ } | undefined;
20
26
  'v-slots'?: {
21
27
  default?: false | (() => vue.VNodeChild) | undefined;
22
28
  } | undefined;
@@ -35,6 +41,9 @@ declare const VFabTransition: vue.DefineComponent<{
35
41
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
36
42
  default?: (() => vue.VNodeChild) | undefined;
37
43
  };
44
+ $slots?: {
45
+ default?: (() => vue.VNodeChild) | undefined;
46
+ } | undefined;
38
47
  'v-slots'?: {
39
48
  default?: false | (() => vue.VNodeChild) | undefined;
40
49
  } | undefined;
@@ -52,6 +61,9 @@ declare const VFabTransition: vue.DefineComponent<{
52
61
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
53
62
  default?: (() => vue.VNodeChild) | undefined;
54
63
  };
64
+ $slots?: {
65
+ default?: (() => vue.VNodeChild) | undefined;
66
+ } | undefined;
55
67
  'v-slots'?: {
56
68
  default?: false | (() => vue.VNodeChild) | undefined;
57
69
  } | undefined;
@@ -75,6 +87,9 @@ declare const VDialogBottomTransition: vue.DefineComponent<{
75
87
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
76
88
  default?: (() => vue.VNodeChild) | undefined;
77
89
  };
90
+ $slots?: {
91
+ default?: (() => vue.VNodeChild) | undefined;
92
+ } | undefined;
78
93
  'v-slots'?: {
79
94
  default?: false | (() => vue.VNodeChild) | undefined;
80
95
  } | undefined;
@@ -92,6 +107,9 @@ declare const VDialogBottomTransition: vue.DefineComponent<{
92
107
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
93
108
  default?: (() => vue.VNodeChild) | undefined;
94
109
  };
110
+ $slots?: {
111
+ default?: (() => vue.VNodeChild) | undefined;
112
+ } | undefined;
95
113
  'v-slots'?: {
96
114
  default?: false | (() => vue.VNodeChild) | undefined;
97
115
  } | undefined;
@@ -115,6 +133,9 @@ declare const VDialogTopTransition: vue.DefineComponent<{
115
133
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
116
134
  default?: (() => vue.VNodeChild) | undefined;
117
135
  };
136
+ $slots?: {
137
+ default?: (() => vue.VNodeChild) | undefined;
138
+ } | undefined;
118
139
  'v-slots'?: {
119
140
  default?: false | (() => vue.VNodeChild) | undefined;
120
141
  } | undefined;
@@ -132,6 +153,9 @@ declare const VDialogTopTransition: vue.DefineComponent<{
132
153
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
133
154
  default?: (() => vue.VNodeChild) | undefined;
134
155
  };
156
+ $slots?: {
157
+ default?: (() => vue.VNodeChild) | undefined;
158
+ } | undefined;
135
159
  'v-slots'?: {
136
160
  default?: false | (() => vue.VNodeChild) | undefined;
137
161
  } | undefined;
@@ -155,6 +179,9 @@ declare const VFadeTransition: vue.DefineComponent<{
155
179
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
156
180
  default?: (() => vue.VNodeChild) | undefined;
157
181
  };
182
+ $slots?: {
183
+ default?: (() => vue.VNodeChild) | undefined;
184
+ } | undefined;
158
185
  'v-slots'?: {
159
186
  default?: false | (() => vue.VNodeChild) | undefined;
160
187
  } | undefined;
@@ -172,6 +199,9 @@ declare const VFadeTransition: vue.DefineComponent<{
172
199
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
173
200
  default?: (() => vue.VNodeChild) | undefined;
174
201
  };
202
+ $slots?: {
203
+ default?: (() => vue.VNodeChild) | undefined;
204
+ } | undefined;
175
205
  'v-slots'?: {
176
206
  default?: false | (() => vue.VNodeChild) | undefined;
177
207
  } | undefined;
@@ -195,6 +225,9 @@ declare const VScaleTransition: vue.DefineComponent<{
195
225
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
196
226
  default?: (() => vue.VNodeChild) | undefined;
197
227
  };
228
+ $slots?: {
229
+ default?: (() => vue.VNodeChild) | undefined;
230
+ } | undefined;
198
231
  'v-slots'?: {
199
232
  default?: false | (() => vue.VNodeChild) | undefined;
200
233
  } | undefined;
@@ -212,6 +245,9 @@ declare const VScaleTransition: vue.DefineComponent<{
212
245
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
213
246
  default?: (() => vue.VNodeChild) | undefined;
214
247
  };
248
+ $slots?: {
249
+ default?: (() => vue.VNodeChild) | undefined;
250
+ } | undefined;
215
251
  'v-slots'?: {
216
252
  default?: false | (() => vue.VNodeChild) | undefined;
217
253
  } | undefined;
@@ -235,6 +271,9 @@ declare const VScrollXTransition: vue.DefineComponent<{
235
271
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
236
272
  default?: (() => vue.VNodeChild) | undefined;
237
273
  };
274
+ $slots?: {
275
+ default?: (() => vue.VNodeChild) | undefined;
276
+ } | undefined;
238
277
  'v-slots'?: {
239
278
  default?: false | (() => vue.VNodeChild) | undefined;
240
279
  } | undefined;
@@ -252,6 +291,9 @@ declare const VScrollXTransition: vue.DefineComponent<{
252
291
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
253
292
  default?: (() => vue.VNodeChild) | undefined;
254
293
  };
294
+ $slots?: {
295
+ default?: (() => vue.VNodeChild) | undefined;
296
+ } | undefined;
255
297
  'v-slots'?: {
256
298
  default?: false | (() => vue.VNodeChild) | undefined;
257
299
  } | undefined;
@@ -275,6 +317,9 @@ declare const VScrollXReverseTransition: vue.DefineComponent<{
275
317
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
276
318
  default?: (() => vue.VNodeChild) | undefined;
277
319
  };
320
+ $slots?: {
321
+ default?: (() => vue.VNodeChild) | undefined;
322
+ } | undefined;
278
323
  'v-slots'?: {
279
324
  default?: false | (() => vue.VNodeChild) | undefined;
280
325
  } | undefined;
@@ -292,6 +337,9 @@ declare const VScrollXReverseTransition: vue.DefineComponent<{
292
337
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
293
338
  default?: (() => vue.VNodeChild) | undefined;
294
339
  };
340
+ $slots?: {
341
+ default?: (() => vue.VNodeChild) | undefined;
342
+ } | undefined;
295
343
  'v-slots'?: {
296
344
  default?: false | (() => vue.VNodeChild) | undefined;
297
345
  } | undefined;
@@ -315,6 +363,9 @@ declare const VScrollYTransition: vue.DefineComponent<{
315
363
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
316
364
  default?: (() => vue.VNodeChild) | undefined;
317
365
  };
366
+ $slots?: {
367
+ default?: (() => vue.VNodeChild) | undefined;
368
+ } | undefined;
318
369
  'v-slots'?: {
319
370
  default?: false | (() => vue.VNodeChild) | undefined;
320
371
  } | undefined;
@@ -332,6 +383,9 @@ declare const VScrollYTransition: vue.DefineComponent<{
332
383
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
333
384
  default?: (() => vue.VNodeChild) | undefined;
334
385
  };
386
+ $slots?: {
387
+ default?: (() => vue.VNodeChild) | undefined;
388
+ } | undefined;
335
389
  'v-slots'?: {
336
390
  default?: false | (() => vue.VNodeChild) | undefined;
337
391
  } | undefined;
@@ -355,6 +409,9 @@ declare const VScrollYReverseTransition: vue.DefineComponent<{
355
409
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
356
410
  default?: (() => vue.VNodeChild) | undefined;
357
411
  };
412
+ $slots?: {
413
+ default?: (() => vue.VNodeChild) | undefined;
414
+ } | undefined;
358
415
  'v-slots'?: {
359
416
  default?: false | (() => vue.VNodeChild) | undefined;
360
417
  } | undefined;
@@ -372,6 +429,9 @@ declare const VScrollYReverseTransition: vue.DefineComponent<{
372
429
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
373
430
  default?: (() => vue.VNodeChild) | undefined;
374
431
  };
432
+ $slots?: {
433
+ default?: (() => vue.VNodeChild) | undefined;
434
+ } | undefined;
375
435
  'v-slots'?: {
376
436
  default?: false | (() => vue.VNodeChild) | undefined;
377
437
  } | undefined;
@@ -395,6 +455,9 @@ declare const VSlideXTransition: vue.DefineComponent<{
395
455
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
396
456
  default?: (() => vue.VNodeChild) | undefined;
397
457
  };
458
+ $slots?: {
459
+ default?: (() => vue.VNodeChild) | undefined;
460
+ } | undefined;
398
461
  'v-slots'?: {
399
462
  default?: false | (() => vue.VNodeChild) | undefined;
400
463
  } | undefined;
@@ -412,6 +475,9 @@ declare const VSlideXTransition: vue.DefineComponent<{
412
475
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
413
476
  default?: (() => vue.VNodeChild) | undefined;
414
477
  };
478
+ $slots?: {
479
+ default?: (() => vue.VNodeChild) | undefined;
480
+ } | undefined;
415
481
  'v-slots'?: {
416
482
  default?: false | (() => vue.VNodeChild) | undefined;
417
483
  } | undefined;
@@ -435,6 +501,9 @@ declare const VSlideXReverseTransition: vue.DefineComponent<{
435
501
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
436
502
  default?: (() => vue.VNodeChild) | undefined;
437
503
  };
504
+ $slots?: {
505
+ default?: (() => vue.VNodeChild) | undefined;
506
+ } | undefined;
438
507
  'v-slots'?: {
439
508
  default?: false | (() => vue.VNodeChild) | undefined;
440
509
  } | undefined;
@@ -452,6 +521,9 @@ declare const VSlideXReverseTransition: vue.DefineComponent<{
452
521
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
453
522
  default?: (() => vue.VNodeChild) | undefined;
454
523
  };
524
+ $slots?: {
525
+ default?: (() => vue.VNodeChild) | undefined;
526
+ } | undefined;
455
527
  'v-slots'?: {
456
528
  default?: false | (() => vue.VNodeChild) | undefined;
457
529
  } | undefined;
@@ -475,6 +547,9 @@ declare const VSlideYTransition: vue.DefineComponent<{
475
547
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
476
548
  default?: (() => vue.VNodeChild) | undefined;
477
549
  };
550
+ $slots?: {
551
+ default?: (() => vue.VNodeChild) | undefined;
552
+ } | undefined;
478
553
  'v-slots'?: {
479
554
  default?: false | (() => vue.VNodeChild) | undefined;
480
555
  } | undefined;
@@ -492,6 +567,9 @@ declare const VSlideYTransition: vue.DefineComponent<{
492
567
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
493
568
  default?: (() => vue.VNodeChild) | undefined;
494
569
  };
570
+ $slots?: {
571
+ default?: (() => vue.VNodeChild) | undefined;
572
+ } | undefined;
495
573
  'v-slots'?: {
496
574
  default?: false | (() => vue.VNodeChild) | undefined;
497
575
  } | undefined;
@@ -515,6 +593,9 @@ declare const VSlideYReverseTransition: vue.DefineComponent<{
515
593
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
516
594
  default?: (() => vue.VNodeChild) | undefined;
517
595
  };
596
+ $slots?: {
597
+ default?: (() => vue.VNodeChild) | undefined;
598
+ } | undefined;
518
599
  'v-slots'?: {
519
600
  default?: false | (() => vue.VNodeChild) | undefined;
520
601
  } | undefined;
@@ -532,6 +613,9 @@ declare const VSlideYReverseTransition: vue.DefineComponent<{
532
613
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
533
614
  default?: (() => vue.VNodeChild) | undefined;
534
615
  };
616
+ $slots?: {
617
+ default?: (() => vue.VNodeChild) | undefined;
618
+ } | undefined;
535
619
  'v-slots'?: {
536
620
  default?: false | (() => vue.VNodeChild) | undefined;
537
621
  } | undefined;
@@ -551,6 +635,9 @@ declare const VExpandTransition: vue.DefineComponent<{
551
635
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
552
636
  default?: (() => vue.VNodeChild) | undefined;
553
637
  };
638
+ $slots?: {
639
+ default?: (() => vue.VNodeChild) | undefined;
640
+ } | undefined;
554
641
  'v-slots'?: {
555
642
  default?: false | (() => vue.VNodeChild) | undefined;
556
643
  } | undefined;
@@ -564,6 +651,9 @@ declare const VExpandTransition: vue.DefineComponent<{
564
651
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
565
652
  default?: (() => vue.VNodeChild) | undefined;
566
653
  };
654
+ $slots?: {
655
+ default?: (() => vue.VNodeChild) | undefined;
656
+ } | undefined;
567
657
  'v-slots'?: {
568
658
  default?: false | (() => vue.VNodeChild) | undefined;
569
659
  } | undefined;
@@ -579,6 +669,9 @@ declare const VExpandXTransition: vue.DefineComponent<{
579
669
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
580
670
  default?: (() => vue.VNodeChild) | undefined;
581
671
  };
672
+ $slots?: {
673
+ default?: (() => vue.VNodeChild) | undefined;
674
+ } | undefined;
582
675
  'v-slots'?: {
583
676
  default?: false | (() => vue.VNodeChild) | undefined;
584
677
  } | undefined;
@@ -592,6 +685,9 @@ declare const VExpandXTransition: vue.DefineComponent<{
592
685
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
593
686
  default?: (() => vue.VNodeChild) | undefined;
594
687
  };
688
+ $slots?: {
689
+ default?: (() => vue.VNodeChild) | undefined;
690
+ } | undefined;
595
691
  'v-slots'?: {
596
692
  default?: false | (() => vue.VNodeChild) | undefined;
597
693
  } | undefined;
@@ -1,5 +1,5 @@
1
1
  // Utilities
2
- import { inject, reactive, ref, toRefs, watchEffect } from 'vue';
2
+ import { inject, reactive, ref, shallowRef, toRefs, watchEffect } from 'vue';
3
3
  import { mergeDeep } from "../util/index.mjs"; // Globals
4
4
  import { IN_BROWSER, SUPPORTS_TOUCH } from "../util/globals.mjs"; // Types
5
5
  export const DisplaySymbol = Symbol.for('vuetify:display');
@@ -24,8 +24,8 @@ function getClientWidth(isHydrate) {
24
24
  function getClientHeight(isHydrate) {
25
25
  return IN_BROWSER && !isHydrate ? window.innerHeight : 0;
26
26
  }
27
- function getPlatform() {
28
- const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr';
27
+ function getPlatform(isHydrate) {
28
+ const userAgent = IN_BROWSER && !isHydrate ? window.navigator.userAgent : 'ssr';
29
29
  function match(regexp) {
30
30
  return Boolean(userAgent.match(regexp));
31
31
  }
@@ -40,7 +40,6 @@ function getPlatform() {
40
40
  const win = match(/win/i);
41
41
  const mac = match(/mac/i);
42
42
  const linux = match(/linux/i);
43
- const ssr = match(/ssr/i);
44
43
  return {
45
44
  android,
46
45
  ios,
@@ -54,7 +53,7 @@ function getPlatform() {
54
53
  mac,
55
54
  linux,
56
55
  touch: SUPPORTS_TOUCH,
57
- ssr
56
+ ssr: userAgent === 'ssr'
58
57
  };
59
58
  }
60
59
  export function createDisplay(options, ssr) {
@@ -63,13 +62,17 @@ export function createDisplay(options, ssr) {
63
62
  mobileBreakpoint
64
63
  } = parseDisplayOptions(options);
65
64
  const height = ref(getClientHeight(ssr));
66
- const platform = getPlatform();
65
+ const platform = shallowRef(getPlatform(ssr));
67
66
  const state = reactive({});
68
67
  const width = ref(getClientWidth(ssr));
69
- function update() {
68
+ function updateSize() {
70
69
  height.value = getClientHeight();
71
70
  width.value = getClientWidth();
72
71
  }
72
+ function update() {
73
+ updateSize();
74
+ platform.value = getPlatform();
75
+ }
73
76
 
74
77
  // eslint-disable-next-line max-statements
75
78
  watchEffect(() => {
@@ -81,7 +84,7 @@ export function createDisplay(options, ssr) {
81
84
  const xxl = width.value >= thresholds.xxl;
82
85
  const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';
83
86
  const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];
84
- const mobile = !platform.ssr ? width.value < breakpointValue : platform.android || platform.ios || platform.opera;
87
+ const mobile = width.value < breakpointValue;
85
88
  state.xs = xs;
86
89
  state.sm = sm;
87
90
  state.md = md;
@@ -101,11 +104,11 @@ export function createDisplay(options, ssr) {
101
104
  state.width = width.value;
102
105
  state.mobile = mobile;
103
106
  state.mobileBreakpoint = mobileBreakpoint;
104
- state.platform = platform;
107
+ state.platform = platform.value;
105
108
  state.thresholds = thresholds;
106
109
  });
107
110
  if (IN_BROWSER) {
108
- window.addEventListener('resize', update, {
111
+ window.addEventListener('resize', updateSize, {
109
112
  passive: true
110
113
  });
111
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"display.mjs","names":["inject","reactive","ref","toRefs","watchEffect","mergeDeep","IN_BROWSER","SUPPORTS_TOUCH","DisplaySymbol","Symbol","for","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","options","getClientWidth","isHydrate","window","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","navigator","match","regexp","Boolean","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","height","platform","state","width","update","value","name","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","addEventListener","passive","useDisplay","display","Error"],"sources":["../../src/composables/display.ts"],"sourcesContent":["// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: Ref<boolean>\n sm: Ref<boolean>\n md: Ref<boolean>\n lg: Ref<boolean>\n xl: Ref<boolean>\n xxl: Ref<boolean>\n smAndUp: Ref<boolean>\n mdAndUp: Ref<boolean>\n lgAndUp: Ref<boolean>\n xlAndUp: Ref<boolean>\n smAndDown: Ref<boolean>\n mdAndDown: Ref<boolean>\n lgAndDown: Ref<boolean>\n xlAndDown: Ref<boolean>\n name: Ref<DisplayBreakpoint>\n height: Ref<number>\n width: Ref<number>\n mobile: Ref<boolean>\n mobileBreakpoint: Ref<number | DisplayBreakpoint>\n platform: Ref<DisplayPlatform>\n thresholds: Ref<DisplayThresholds>\n\n /** @internal */\n ssr: boolean\n\n update (): void\n}\n\nexport const DisplaySymbol: InjectionKey<DisplayInstance> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\nfunction getClientWidth (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerWidth\n : 0\n}\n\nfunction getClientHeight (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerHeight\n : 0\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions, ssr?: boolean): DisplayInstance {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight(ssr))\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth(ssr))\n\n function update () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', update, { passive: true })\n }\n\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"display.mjs","names":["inject","reactive","ref","shallowRef","toRefs","watchEffect","mergeDeep","IN_BROWSER","SUPPORTS_TOUCH","DisplaySymbol","Symbol","for","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","options","getClientWidth","isHydrate","window","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","navigator","match","regexp","Boolean","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","touch","ssr","createDisplay","height","platform","state","width","updateSize","value","update","name","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","addEventListener","passive","useDisplay","display","Error"],"sources":["../../src/composables/display.ts"],"sourcesContent":["// Utilities\nimport { inject, reactive, ref, shallowRef, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: Ref<boolean>\n sm: Ref<boolean>\n md: Ref<boolean>\n lg: Ref<boolean>\n xl: Ref<boolean>\n xxl: Ref<boolean>\n smAndUp: Ref<boolean>\n mdAndUp: Ref<boolean>\n lgAndUp: Ref<boolean>\n xlAndUp: Ref<boolean>\n smAndDown: Ref<boolean>\n mdAndDown: Ref<boolean>\n lgAndDown: Ref<boolean>\n xlAndDown: Ref<boolean>\n name: Ref<DisplayBreakpoint>\n height: Ref<number>\n width: Ref<number>\n mobile: Ref<boolean>\n mobileBreakpoint: Ref<number | DisplayBreakpoint>\n platform: Ref<DisplayPlatform>\n thresholds: Ref<DisplayThresholds>\n\n /** @internal */\n ssr: boolean\n\n update (): void\n}\n\nexport const DisplaySymbol: InjectionKey<DisplayInstance> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\nfunction getClientWidth (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerWidth\n : 0\n}\n\nfunction getClientHeight (isHydrate?: boolean) {\n return IN_BROWSER && !isHydrate\n ? window.innerHeight\n : 0\n}\n\nfunction getPlatform (isHydrate?: boolean): DisplayPlatform {\n const userAgent = IN_BROWSER && !isHydrate\n ? window.navigator.userAgent\n : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr',\n }\n}\n\nexport function createDisplay (options?: DisplayOptions, ssr?: boolean): DisplayInstance {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight(ssr))\n const platform = shallowRef(getPlatform(ssr))\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth(ssr))\n\n function updateSize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n function update () {\n updateSize()\n platform.value = getPlatform()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = width.value < breakpointValue\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform.value\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, { passive: true })\n }\n\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n"],"mappings":"AAAA;AACA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,UAAU,EAAEC,MAAM,EAAEC,WAAW,QAAQ,KAAK;AAAA,SACnEC,SAAS,6BAElB;AAAA,SACSC,UAAU,EAAEC,cAAc,+BAEnC;AAqEA,OAAO,MAAMC,aAA4C,GAAGC,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AAEzF,MAAMC,qBAAqC,GAAG;EAC5CC,gBAAgB,EAAE,IAAI;EACtBC,UAAU,EAAE;IACVC,EAAE,EAAE,CAAC;IACLC,EAAE,EAAE,GAAG;IACPC,EAAE,EAAE,GAAG;IACPC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE,IAAI;IACRC,GAAG,EAAE;EACP;AACF,CAAC;AAED,MAAMC,mBAAmB,GAAG,YAAqD;EAAA,IAApDC,OAAuB,uEAAGV,qBAAqB;EAC1E,OAAON,SAAS,CAACM,qBAAqB,EAAEU,OAAO,CAAC;AAClD,CAAC;AAED,SAASC,cAAc,CAAEC,SAAmB,EAAE;EAC5C,OAAOjB,UAAU,IAAI,CAACiB,SAAS,GAC3BC,MAAM,CAACC,UAAU,GACjB,CAAC;AACP;AAEA,SAASC,eAAe,CAAEH,SAAmB,EAAE;EAC7C,OAAOjB,UAAU,IAAI,CAACiB,SAAS,GAC3BC,MAAM,CAACG,WAAW,GAClB,CAAC;AACP;AAEA,SAASC,WAAW,CAAEL,SAAmB,EAAmB;EAC1D,MAAMM,SAAS,GAAGvB,UAAU,IAAI,CAACiB,SAAS,GACtCC,MAAM,CAACM,SAAS,CAACD,SAAS,GAC1B,KAAK;EAET,SAASE,KAAK,CAAEC,MAAc,EAAE;IAC9B,OAAOC,OAAO,CAACJ,SAAS,CAACE,KAAK,CAACC,MAAM,CAAC,CAAC;EACzC;EAEA,MAAME,OAAO,GAAGH,KAAK,CAAC,UAAU,CAAC;EACjC,MAAMI,GAAG,GAAGJ,KAAK,CAAC,mBAAmB,CAAC;EACtC,MAAMK,OAAO,GAAGL,KAAK,CAAC,UAAU,CAAC;EACjC,MAAMM,QAAQ,GAAGN,KAAK,CAAC,WAAW,CAAC;EACnC,MAAMO,MAAM,GAAGP,KAAK,CAAC,SAAS,CAAC;EAC/B,MAAMQ,IAAI,GAAGR,KAAK,CAAC,OAAO,CAAC;EAC3B,MAAMS,OAAO,GAAGT,KAAK,CAAC,UAAU,CAAC;EACjC,MAAMU,KAAK,GAAGV,KAAK,CAAC,QAAQ,CAAC;EAC7B,MAAMW,GAAG,GAAGX,KAAK,CAAC,MAAM,CAAC;EACzB,MAAMY,GAAG,GAAGZ,KAAK,CAAC,MAAM,CAAC;EACzB,MAAMa,KAAK,GAAGb,KAAK,CAAC,QAAQ,CAAC;EAE7B,OAAO;IACLG,OAAO;IACPC,GAAG;IACHC,OAAO;IACPC,QAAQ;IACRC,MAAM;IACNC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,GAAG;IACHC,GAAG;IACHC,KAAK;IACLC,KAAK,EAAEtC,cAAc;IACrBuC,GAAG,EAAEjB,SAAS,KAAK;EACrB,CAAC;AACH;AAEA,OAAO,SAASkB,aAAa,CAAE1B,OAAwB,EAAEyB,GAAa,EAAmB;EACvF,MAAM;IAAEjC,UAAU;IAAED;EAAiB,CAAC,GAAGQ,mBAAmB,CAACC,OAAO,CAAC;EAErE,MAAM2B,MAAM,GAAG/C,GAAG,CAACyB,eAAe,CAACoB,GAAG,CAAC,CAAC;EACxC,MAAMG,QAAQ,GAAG/C,UAAU,CAAC0B,WAAW,CAACkB,GAAG,CAAC,CAAC;EAC7C,MAAMI,KAAK,GAAGlD,QAAQ,CAAC,CAAC,CAAC,CAAoB;EAC7C,MAAMmD,KAAK,GAAGlD,GAAG,CAACqB,cAAc,CAACwB,GAAG,CAAC,CAAC;EAEtC,SAASM,UAAU,GAAI;IACrBJ,MAAM,CAACK,KAAK,GAAG3B,eAAe,EAAE;IAChCyB,KAAK,CAACE,KAAK,GAAG/B,cAAc,EAAE;EAChC;EACA,SAASgC,MAAM,GAAI;IACjBF,UAAU,EAAE;IACZH,QAAQ,CAACI,KAAK,GAAGzB,WAAW,EAAE;EAChC;;EAEA;EACAxB,WAAW,CAAC,MAAM;IAChB,MAAMU,EAAE,GAAGqC,KAAK,CAACE,KAAK,GAAGxC,UAAU,CAACE,EAAE;IACtC,MAAMA,EAAE,GAAGoC,KAAK,CAACE,KAAK,GAAGxC,UAAU,CAACG,EAAE,IAAI,CAACF,EAAE;IAC7C,MAAME,EAAE,GAAGmC,KAAK,CAACE,KAAK,GAAGxC,UAAU,CAACI,EAAE,IAAI,EAAEF,EAAE,IAAID,EAAE,CAAC;IACrD,MAAMG,EAAE,GAAGkC,KAAK,CAACE,KAAK,GAAGxC,UAAU,CAACK,EAAE,IAAI,EAAEF,EAAE,IAAID,EAAE,IAAID,EAAE,CAAC;IAC3D,MAAMI,EAAE,GAAGiC,KAAK,CAACE,KAAK,GAAGxC,UAAU,CAACM,GAAG,IAAI,EAAEF,EAAE,IAAID,EAAE,IAAID,EAAE,IAAID,EAAE,CAAC;IAClE,MAAMK,GAAG,GAAGgC,KAAK,CAACE,KAAK,IAAIxC,UAAU,CAACM,GAAG;IACzC,MAAMoC,IAAI,GACRzC,EAAE,GAAG,IAAI,GACPC,EAAE,GAAG,IAAI,GACTC,EAAE,GAAG,IAAI,GACTC,EAAE,GAAG,IAAI,GACTC,EAAE,GAAG,IAAI,GACT,KAAK;IACT,MAAMsC,eAAe,GAAG,OAAO5C,gBAAgB,KAAK,QAAQ,GAAGA,gBAAgB,GAAGC,UAAU,CAACD,gBAAgB,CAAC;IAC9G,MAAM6C,MAAM,GAAGN,KAAK,CAACE,KAAK,GAAGG,eAAe;IAE5CN,KAAK,CAACpC,EAAE,GAAGA,EAAE;IACboC,KAAK,CAACnC,EAAE,GAAGA,EAAE;IACbmC,KAAK,CAAClC,EAAE,GAAGA,EAAE;IACbkC,KAAK,CAACjC,EAAE,GAAGA,EAAE;IACbiC,KAAK,CAAChC,EAAE,GAAGA,EAAE;IACbgC,KAAK,CAAC/B,GAAG,GAAGA,GAAG;IACf+B,KAAK,CAACQ,OAAO,GAAG,CAAC5C,EAAE;IACnBoC,KAAK,CAACS,OAAO,GAAG,EAAE7C,EAAE,IAAIC,EAAE,CAAC;IAC3BmC,KAAK,CAACU,OAAO,GAAG,EAAE9C,EAAE,IAAIC,EAAE,IAAIC,EAAE,CAAC;IACjCkC,KAAK,CAACW,OAAO,GAAG,EAAE/C,EAAE,IAAIC,EAAE,IAAIC,EAAE,IAAIC,EAAE,CAAC;IACvCiC,KAAK,CAACY,SAAS,GAAG,EAAE9C,EAAE,IAAIC,EAAE,IAAIC,EAAE,IAAIC,GAAG,CAAC;IAC1C+B,KAAK,CAACa,SAAS,GAAG,EAAE9C,EAAE,IAAIC,EAAE,IAAIC,GAAG,CAAC;IACpC+B,KAAK,CAACc,SAAS,GAAG,EAAE9C,EAAE,IAAIC,GAAG,CAAC;IAC9B+B,KAAK,CAACe,SAAS,GAAG,CAAC9C,GAAG;IACtB+B,KAAK,CAACK,IAAI,GAAGA,IAAI;IACjBL,KAAK,CAACF,MAAM,GAAGA,MAAM,CAACK,KAAK;IAC3BH,KAAK,CAACC,KAAK,GAAGA,KAAK,CAACE,KAAK;IACzBH,KAAK,CAACO,MAAM,GAAGA,MAAM;IACrBP,KAAK,CAACtC,gBAAgB,GAAGA,gBAAgB;IACzCsC,KAAK,CAACD,QAAQ,GAAGA,QAAQ,CAACI,KAAK;IAC/BH,KAAK,CAACrC,UAAU,GAAGA,UAAU;EAC/B,CAAC,CAAC;EAEF,IAAIP,UAAU,EAAE;IACdkB,MAAM,CAAC0C,gBAAgB,CAAC,QAAQ,EAAEd,UAAU,EAAE;MAAEe,OAAO,EAAE;IAAK,CAAC,CAAC;EAClE;EAEA,OAAO;IAAE,GAAGhE,MAAM,CAAC+C,KAAK,CAAC;IAAEI,MAAM;IAAER,GAAG,EAAE,CAAC,CAACA;EAAI,CAAC;AACjD;AAEA,OAAO,SAASsB,UAAU,GAAI;EAC5B,MAAMC,OAAO,GAAGtE,MAAM,CAACS,aAAa,CAAC;EAErC,IAAI,CAAC6D,OAAO,EAAE,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;EAEzE,OAAOD,OAAO;AAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","loaderClasses","LoaderSlot","slots","default","color","isActive","active"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAAS,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,uEAAGR,sBAAsB,EAAE;EAE/B,MAAMS,aAAa,GAAGV,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAEM;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAU,CACxBH,KAMI,QAEJ;EAAA,IADA;IAAEI;EAAoB,CAAC;EAEvB;IAAA,SACe,GAAEJ,KAAK,CAACC,IAAK;EAAS,IAC/BG,KAAK,CAACC,OAAO,GAAG;IAChBC,KAAK,EAAEN,KAAK,CAACM,KAAK;IAClBC,QAAQ,EAAEP,KAAK,CAACQ;EAClB,CAAC,CAAoB;IAAA,UAERR,KAAK,CAACQ,MAAM;IAAA,SACbR,KAAK,CAACM,KAAK;IAAA,UACZ,GAAG;IAAA;EAAA,QAGb;AAGP"}
1
+ {"version":3,"file":"loader.mjs","names":["VProgressLinear","computed","getCurrentInstanceName","propsFactory","makeLoaderProps","loading","Boolean","String","useLoader","props","name","loaderClasses","LoaderSlot","slots","default","color","isActive","active"],"sources":["../../src/composables/loader.tsx"],"sourcesContent":["// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, SetupContext } from 'vue'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading?: boolean | string\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String],\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={ `${props.name}__loader` }>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,mDAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,sBAAsB,EAAEC,YAAY,6BAE7C;AAaA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,OAAO,EAAE,CAACC,OAAO,EAAEC,MAAM;AAC3B,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAAS,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,uEAAGR,sBAAsB,EAAE;EAE/B,MAAMS,aAAa,GAAGV,QAAQ,CAAC,OAAO;IACpC,CAAE,GAAES,IAAK,WAAU,GAAGD,KAAK,CAACJ;EAC9B,CAAC,CAAC,CAAC;EAEH,OAAO;IAAEM;EAAc,CAAC;AAC1B;AAEA,OAAO,SAASC,UAAU,CACxBH,KAMI,QAEJ;EAAA,IADA;IAAEI;EAAoB,CAAC;EAEvB;IAAA,SACgB,GAAEJ,KAAK,CAACC,IAAK;EAAS,IAChCG,KAAK,CAACC,OAAO,GAAG;IAChBC,KAAK,EAAEN,KAAK,CAACM,KAAK;IAClBC,QAAQ,EAAEP,KAAK,CAACQ;EAClB,CAAC,CAAoB;IAAA,UAERR,KAAK,CAACQ,MAAM;IAAA,SACbR,KAAK,CAACM,KAAK;IAAA,UACZ,GAAG;IAAA;EAAA,QAGb;AAGP"}
@@ -157,17 +157,9 @@ export function createTheme(options) {
157
157
  if (current.value.dark) {
158
158
  createCssClass(lines, ':root', ['color-scheme: dark']);
159
159
  }
160
+ createCssClass(lines, ':root', genCssVariables(current.value));
160
161
  for (const [themeName, theme] of Object.entries(computedThemes.value)) {
161
- const {
162
- variables,
163
- dark
164
- } = theme;
165
- createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${dark ? 'dark' : 'normal'}`, ...genCssVariables(theme), ...Object.keys(variables).map(key => {
166
- const value = variables[key];
167
- const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
168
- const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
169
- return `--v-${key}: ${rgb ?? value}`;
170
- })]);
162
+ createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);
171
163
  }
172
164
  const bgLines = [];
173
165
  const fgLines = [];
@@ -280,6 +272,11 @@ function genCssVariables(theme) {
280
272
  variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);
281
273
  }
282
274
  }
275
+ for (const [key, value] of Object.entries(theme.variables)) {
276
+ const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;
277
+ const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;
278
+ variables.push(`--v-${key}: ${rgb ?? value}`);
279
+ }
283
280
  return variables;
284
281
  }
285
282
  //# sourceMappingURL=theme.mjs.map