@vuetify/nightly 3.0.0-beta.3 → 3.0.0-beta.4

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 (169) hide show
  1. package/CHANGELOG.md +32 -2
  2. package/dist/_component-variables.sass +61 -0
  3. package/dist/json/attributes.json +176 -20
  4. package/dist/json/importMap.json +208 -204
  5. package/dist/json/tags.json +48 -4
  6. package/dist/json/web-types.json +492 -46
  7. package/dist/vuetify.css +950 -932
  8. package/dist/vuetify.d.ts +2521 -341
  9. package/dist/vuetify.esm.js +2318 -2130
  10. package/dist/vuetify.esm.js.map +1 -1
  11. package/dist/vuetify.js +2317 -2129
  12. package/dist/vuetify.js.map +1 -1
  13. package/dist/vuetify.min.css +2 -2
  14. package/dist/vuetify.min.js +764 -740
  15. package/dist/vuetify.min.js.map +1 -1
  16. package/lib/components/VAlert/VAlert.css +5 -5
  17. package/lib/components/VAlert/VAlert.mjs +1 -1
  18. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  19. package/lib/components/VAlert/VAlert.sass +0 -2
  20. package/lib/components/VAppBar/VAppBar.sass +0 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +46 -17
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.sass +0 -2
  24. package/lib/components/VAvatar/VAvatar.css +1 -1
  25. package/lib/components/VAvatar/VAvatar.sass +1 -2
  26. package/lib/components/VAvatar/_mixins.scss +0 -1
  27. package/lib/components/VBadge/VBadge.sass +0 -1
  28. package/lib/components/VBanner/VBanner.sass +0 -1
  29. package/lib/components/VBottomNavigation/VBottomNavigation.sass +0 -1
  30. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +0 -1
  31. package/lib/components/VBtn/VBtn.css +24 -7
  32. package/lib/components/VBtn/VBtn.mjs +20 -11
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/VBtn.sass +17 -2
  35. package/lib/components/VBtnGroup/VBtnGroup.sass +0 -1
  36. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  37. package/lib/components/VCard/VCard.css +5 -5
  38. package/lib/components/VCard/VCard.mjs +1 -1
  39. package/lib/components/VCard/VCard.mjs.map +1 -1
  40. package/lib/components/VCard/VCard.sass +0 -1
  41. package/lib/components/VCarousel/VCarousel.sass +0 -1
  42. package/lib/components/VCheckbox/VCheckbox.mjs +13 -46
  43. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  44. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  45. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  46. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  47. package/lib/components/VCheckbox/index.mjs +1 -0
  48. package/lib/components/VCheckbox/index.mjs.map +1 -1
  49. package/lib/components/VChip/VChip.css +5 -5
  50. package/lib/components/VChip/VChip.mjs +1 -1
  51. package/lib/components/VChip/VChip.mjs.map +1 -1
  52. package/lib/components/VChip/VChip.sass +0 -1
  53. package/lib/components/VChipGroup/VChipGroup.mjs +1 -1
  54. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  55. package/lib/components/VCode/VCode.sass +1 -2
  56. package/lib/components/VCode/_variables.scss +1 -1
  57. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  58. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  59. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  60. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  61. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  62. package/lib/components/VCombobox/VCombobox.mjs +47 -29
  63. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  64. package/lib/components/VCombobox/VCombobox.sass +0 -2
  65. package/lib/components/VCounter/VCounter.sass +0 -1
  66. package/lib/components/VDialog/VDialog.sass +0 -1
  67. package/lib/components/VDivider/VDivider.sass +0 -1
  68. package/lib/components/VExpansionPanel/VExpansionPanel.sass +0 -1
  69. package/lib/components/VField/VField.css +9 -9
  70. package/lib/components/VField/VField.mjs +2 -2
  71. package/lib/components/VField/VField.mjs.map +1 -1
  72. package/lib/components/VField/VField.sass +6 -8
  73. package/lib/components/VField/_variables.scss +3 -3
  74. package/lib/components/VFileInput/VFileInput.sass +0 -1
  75. package/lib/components/VFooter/VFooter.sass +0 -1
  76. package/lib/components/VIcon/VIcon.sass +0 -1
  77. package/lib/components/VImg/VImg.sass +0 -1
  78. package/lib/components/VInput/VInput.mjs +3 -3
  79. package/lib/components/VInput/VInput.mjs.map +1 -1
  80. package/lib/components/VInput/VInput.sass +0 -1
  81. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  82. package/lib/components/VKbd/VKbd.sass +0 -1
  83. package/lib/components/VKbd/_variables.scss +1 -1
  84. package/lib/components/VLabel/VLabel.sass +0 -1
  85. package/lib/components/VList/VList.mjs +1 -1
  86. package/lib/components/VList/VList.mjs.map +1 -1
  87. package/lib/components/VList/VList.sass +0 -1
  88. package/lib/components/VList/VListChildren.mjs +1 -1
  89. package/lib/components/VList/VListChildren.mjs.map +1 -1
  90. package/lib/components/VList/VListGroup.mjs +11 -2
  91. package/lib/components/VList/VListGroup.mjs.map +1 -1
  92. package/lib/components/VList/VListItem.css +6 -6
  93. package/lib/components/VList/VListItem.mjs +7 -7
  94. package/lib/components/VList/VListItem.mjs.map +1 -1
  95. package/lib/components/VList/VListItem.sass +1 -2
  96. package/lib/components/VMain/VMain.sass +0 -1
  97. package/lib/components/VMenu/VMenu.sass +0 -1
  98. package/lib/components/VMessages/VMessages.sass +0 -1
  99. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -1
  100. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  101. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  102. package/lib/components/VOverlay/VOverlay.sass +0 -1
  103. package/lib/components/VPagination/VPagination.sass +0 -1
  104. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  105. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  106. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -1
  107. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  108. package/lib/components/VRating/VRating.sass +0 -1
  109. package/lib/components/VSelect/VSelect.mjs +54 -19
  110. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  111. package/lib/components/VSelect/VSelect.sass +0 -2
  112. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  113. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -5
  114. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  115. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  116. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +0 -1
  117. package/lib/components/VSheet/VSheet.sass +0 -1
  118. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -1
  119. package/lib/components/VSlider/VSlider.sass +0 -2
  120. package/lib/components/VSlider/VSliderThumb.sass +0 -2
  121. package/lib/components/VSlider/VSliderTrack.sass +0 -2
  122. package/lib/components/VSnackbar/VSnackbar.css +5 -5
  123. package/lib/components/VSnackbar/VSnackbar.sass +0 -1
  124. package/lib/components/VSwitch/VSwitch.mjs +8 -2
  125. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  126. package/lib/components/VSwitch/VSwitch.sass +0 -1
  127. package/lib/components/VSystemBar/VSystemBar.sass +0 -1
  128. package/lib/components/VTable/VTable.sass +0 -1
  129. package/lib/components/VTabs/VTab.sass +0 -1
  130. package/lib/components/VTabs/VTabs.sass +0 -1
  131. package/lib/components/VTabs/_variables.scss +1 -1
  132. package/lib/components/VTextField/VTextField.mjs +2 -0
  133. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  134. package/lib/components/VTextField/VTextField.sass +0 -1
  135. package/lib/components/VTextarea/VTextarea.sass +0 -2
  136. package/lib/components/VTimeline/VTimeline.sass +0 -1
  137. package/lib/components/VToolbar/VToolbar.sass +0 -1
  138. package/lib/components/VToolbar/VToolbarItems.mjs +1 -1
  139. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  140. package/lib/components/VTooltip/VTooltip.sass +0 -1
  141. package/lib/components/VWindow/VWindow.sass +0 -2
  142. package/lib/components/VWindow/VWindowItem.mjs +9 -3
  143. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  144. package/lib/components/index.d.ts +2520 -342
  145. package/lib/composables/display.mjs +13 -11
  146. package/lib/composables/display.mjs.map +1 -1
  147. package/lib/composables/form.mjs +6 -6
  148. package/lib/composables/form.mjs.map +1 -1
  149. package/lib/composables/items.mjs +2 -2
  150. package/lib/composables/items.mjs.map +1 -1
  151. package/lib/composables/ssrBoot.mjs +3 -2
  152. package/lib/composables/ssrBoot.mjs.map +1 -1
  153. package/lib/composables/theme.mjs +6 -2
  154. package/lib/composables/theme.mjs.map +1 -1
  155. package/lib/composables/validation.mjs +14 -7
  156. package/lib/composables/validation.mjs.map +1 -1
  157. package/lib/composables/variant.mjs +3 -3
  158. package/lib/composables/variant.mjs.map +1 -1
  159. package/lib/directives/ripple/VRipple.sass +0 -1
  160. package/lib/entry-bundler.mjs +1 -1
  161. package/lib/framework.mjs +23 -6
  162. package/lib/framework.mjs.map +1 -1
  163. package/lib/index.d.ts +73 -67
  164. package/lib/styles/tools/_variant.sass +6 -6
  165. package/lib/util/getCurrentInstance.mjs +19 -0
  166. package/lib/util/getCurrentInstance.mjs.map +1 -1
  167. package/lib/util/helpers.mjs +0 -4
  168. package/lib/util/helpers.mjs.map +1 -1
  169. package/package.json +11 -3
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use 'sass:map'
4
2
  @use 'sass:selector'
5
3
  @use '../../styles/settings'
@@ -22,7 +22,7 @@
22
22
  position: relative;
23
23
  border-radius: 4px;
24
24
  }
25
- .v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-contained-text {
25
+ .v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-tonal {
26
26
  background: transparent;
27
27
  color: inherit;
28
28
  }
@@ -35,14 +35,14 @@
35
35
  .v-snackbar--variant-plain .v-snackbar__overlay {
36
36
  display: none;
37
37
  }
38
- .v-snackbar--variant-contained, .v-snackbar--variant-contained-flat {
38
+ .v-snackbar--variant-elevated, .v-snackbar--variant-flat {
39
39
  background: #333333;
40
40
  color: rgb(var(--v-theme-on-surface-variant));
41
41
  }
42
- .v-snackbar--variant-contained {
42
+ .v-snackbar--variant-elevated {
43
43
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
44
44
  }
45
- .v-snackbar--variant-contained-flat {
45
+ .v-snackbar--variant-flat {
46
46
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
47
47
  }
48
48
  .v-snackbar--variant-outlined {
@@ -51,7 +51,7 @@
51
51
  .v-snackbar--variant-text .v-snackbar__overlay {
52
52
  background: currentColor;
53
53
  }
54
- .v-snackbar--variant-contained-text .v-snackbar__underlay {
54
+ .v-snackbar--variant-tonal .v-snackbar__underlay {
55
55
  background: currentColor;
56
56
  opacity: var(--v-activated-opacity);
57
57
  border-radius: inherit;
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use '../../styles/settings'
4
3
  @use './variables' as *
@@ -10,7 +10,7 @@ import { LoaderSlot, useLoader } from "../../composables/loader.mjs";
10
10
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utility
11
11
 
12
12
  import { computed, ref } from 'vue';
13
- import { defineComponent, filterInputAttrs, useRender } from "../../util/index.mjs";
13
+ import { defineComponent, filterInputAttrs, getUid, useRender } from "../../util/index.mjs";
14
14
  export const VSwitch = defineComponent({
15
15
  name: 'VSwitch',
16
16
  inheritAttrs: false,
@@ -41,6 +41,8 @@ export const VSwitch = defineComponent({
41
41
  const loaderColor = computed(() => {
42
42
  return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
43
43
  });
44
+ const uid = getUid();
45
+ const id = computed(() => props.id || `switch-${uid}`);
44
46
 
45
47
  function onChange() {
46
48
  if (indeterminate.value) {
@@ -66,9 +68,12 @@ export const VSwitch = defineComponent({
66
68
  }, {
67
69
  'v-switch--indeterminate': indeterminate.value
68
70
  }, loaderClasses.value]
69
- }, inputAttrs, inputProps), { ...slots,
71
+ }, inputAttrs, inputProps, {
72
+ "id": id.value
73
+ }), { ...slots,
70
74
  default: _ref2 => {
71
75
  let {
76
+ id,
72
77
  isDisabled,
73
78
  isReadonly,
74
79
  isValid
@@ -76,6 +81,7 @@ export const VSwitch = defineComponent({
76
81
  return _createVNode(VSelectionControl, _mergeProps({
77
82
  "ref": control
78
83
  }, controlProps, {
84
+ "id": id.value,
79
85
  "type": "checkbox",
80
86
  "onUpdate:modelValue": onChange,
81
87
  "aria-checked": indeterminate.value ? 'mixed' : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"VSwitch.mjs","names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","useLoader","useProxiedModel","computed","ref","defineComponent","filterInputAttrs","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","loading","type","String","default","emits","val","setup","attrs","slots","loaderClasses","loaderColor","color","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSwitch.mjs","names":["filterControlProps","makeSelectionControlProps","VSelectionControl","filterInputProps","makeVInputProps","VInput","VProgressCircular","LoaderSlot","useLoader","useProxiedModel","computed","ref","defineComponent","filterInputAttrs","getUid","useRender","VSwitch","name","inheritAttrs","props","indeterminate","Boolean","inset","flat","loading","type","String","default","emits","val","setup","attrs","slots","loaderClasses","loaderColor","color","uid","id","onChange","value","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","control","onClick","input","click","isDisabled","isReadonly","isValid","undefined","textColorClasses","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n id={ id.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:selector'
3
2
  @use '../../styles/settings'
4
3
  @use '../../styles/tools'
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use '../../styles/settings'
4
3
  @use './variables' as *
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  .v-tab
@@ -1,5 +1,4 @@
1
1
  @use 'sass:math'
2
- @forward './variables'
3
2
  @use 'sass:map'
4
3
  @use '../../styles/settings'
5
4
  @use '../../styles/tools'
@@ -1,7 +1,7 @@
1
1
  @use 'sass:math';
2
2
  @use 'sass:map';
3
3
 
4
- $tabs-density: ( 'default': 0, 'comfortable' : -1, 'compact': -3) !default;
4
+ $tabs-density: ('default': 0, 'comfortable' : -1, 'compact': -3) !default;
5
5
  $tabs-height: 48px !default;
6
6
  $tabs-stacked-height: 72px !default;
7
7
 
@@ -128,6 +128,7 @@ export const VTextField = genericComponent()({
128
128
  }), { ...slots,
129
129
  default: _ref2 => {
130
130
  let {
131
+ id,
131
132
  isDisabled,
132
133
  isDirty,
133
134
  isReadonly,
@@ -145,6 +146,7 @@ export const VTextField = genericComponent()({
145
146
  "onClick:appendInner": attrs['onClick:appendInner'],
146
147
  "role": "textbox"
147
148
  }, fieldProps, {
149
+ "id": id.value,
148
150
  "active": isActive.value || isDirty.value,
149
151
  "dirty": isDirty.value || props.dirty,
150
152
  "focused": isFocused.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VTextField.mjs","names":["filterInputProps","makeVInputProps","VInput","filterFieldProps","makeVFieldProps","VField","VCounter","useForwardRef","useProxiedModel","Intersect","computed","nextTick","ref","filterInputAttrs","genericComponent","useRender","activeTypes","VTextField","name","directives","inheritAttrs","props","autofocus","Boolean","counter","Number","String","counterValue","Function","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","type","default","emits","e","val","setup","attrs","emit","slots","model","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","focus","vInputRef","vFieldRef","isFocused","inputRef","isActive","includes","messages","onFocus","document","activeElement","onControlClick","onClear","stopPropagation","hasCounter","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","variant","isDisabled","isDirty","isReadonly","isValid","preventDefault","dirty","class","fieldClass","slotProps","handler","details"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = genericComponent<new <T>() => {\n $slots: VInputSlots & VFieldSlots\n}>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'click:input': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ attrs['onClick:prepend'] }\n onClick:append={ attrs['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ (e: MouseEvent) => {\n if (e.target === inputRef.value) return\n\n e.preventDefault()\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ attrs['onClick:prependInner'] }\n onClick:appendInner={ attrs['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <div\n class={ fieldClass }\n onClick={ e => emit('click:input', e) }\n data-no-activator=\"\"\n >\n { slots.default?.() }\n\n <input\n ref={ inputRef }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n </div>\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTextField.mjs","names":["filterInputProps","makeVInputProps","VInput","filterFieldProps","makeVFieldProps","VField","VCounter","useForwardRef","useProxiedModel","Intersect","computed","nextTick","ref","filterInputAttrs","genericComponent","useRender","activeTypes","VTextField","name","directives","inheritAttrs","props","autofocus","Boolean","counter","Number","String","counterValue","Function","hint","persistentHint","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","type","default","emits","e","val","setup","attrs","emit","slots","model","value","toString","length","max","maxlength","undefined","onIntersect","isIntersecting","entries","target","focus","vInputRef","vFieldRef","isFocused","inputRef","isActive","includes","messages","onFocus","document","activeElement","onControlClick","onClear","stopPropagation","hasCounter","rootAttrs","inputAttrs","modelValue","_","inputProps","fieldProps","variant","id","isDisabled","isDirty","isReadonly","isValid","preventDefault","dirty","class","fieldClass","slotProps","handler","details"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useForwardRef } from '@/composables/forwardRef'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VFieldSlots } from '@/components/VField/VField'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = genericComponent<new <T>() => {\n $slots: VInputSlots & VFieldSlots\n}>()({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n hint: String,\n persistentHint: Boolean,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: MouseEvent) => true,\n 'click:control': (e: MouseEvent) => true,\n 'click:input': (e: MouseEvent) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value\n ))\n const messages = computed(() => {\n return props.messages.length\n ? props.messages\n : (isFocused.value || props.persistentHint) ? props.hint : ''\n })\n function onFocus () {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n\n if (!isFocused.value) isFocused.value = true\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n emit('click:clear', e)\n })\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [{ modelValue: _, ...inputProps }] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant),\n },\n ]}\n onClick:prepend={ attrs['onClick:prepend'] }\n onClick:append={ attrs['onClick:append'] }\n { ...rootAttrs }\n { ...inputProps }\n messages={ messages.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ (e: MouseEvent) => {\n if (e.target === inputRef.value) return\n\n e.preventDefault()\n }}\n onClick:control={ onControlClick }\n onClick:clear={ onClear }\n onClick:prependInner={ attrs['onClick:prependInner'] }\n onClick:appendInner={ attrs['onClick:appendInner'] }\n role=\"textbox\"\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n ) }\n\n <div\n class={ fieldClass }\n onClick={ e => emit('click:input', e) }\n data-no-activator=\"\"\n >\n { slots.default?.() }\n\n <input\n ref={ inputRef }\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ () => (isFocused.value = false) }\n { ...slotProps }\n { ...inputAttrs }\n />\n </div>\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:selector'
3
2
  @use '../../styles/settings'
4
3
  @use './variables' as *
@@ -1,10 +1,8 @@
1
- @forward './variables'
2
1
  @use 'sass:math'
3
2
  @use 'sass:selector'
4
3
  @use '../../styles/settings'
5
4
  @use '../../styles/tools'
6
5
  @use './variables' as *
7
- @use '../VInput/variables' as *
8
6
 
9
7
  .v-textarea
10
8
  .v-field__input
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use 'sass:map'
3
2
  @use '../../styles/settings'
4
3
  @use '../../styles/tools'
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/tools'
3
2
  @use './variables' as *
4
3
 
@@ -7,7 +7,7 @@ import { toRef } from 'vue';
7
7
  export const VToolbarItems = defineComponent({
8
8
  name: 'VToolbarItems',
9
9
  props: { ...makeVariantProps({
10
- variant: 'contained-text'
10
+ variant: 'tonal'
11
11
  })
12
12
  },
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbarItems.mjs","names":["makeVariantProps","provideDefaults","defineComponent","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","default"],"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"sourcesContent":["// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: {\n ...makeVariantProps({ variant: 'contained-text' }),\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"mappings":"AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE,EACL,GAAGN,gBAAgB,CAAC;MAAEO,OAAO,EAAE;IAAX,CAAD;EADd,CAHoC;;EAO3CC,KAAK,CAAEF,KAAF,QAAoB;IAAA,IAAX;MAAEG;IAAF,CAAW;IACvBR,eAAe,CAAC;MACdS,IAAI,EAAE;QACJC,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;QAEJC,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;MAFV;IADQ,CAAD,CAAf;IAOA,OAAO;MAAA;;MAAA,yBAAMG,KAAK,CAACG,OAAZ,qBAAM,oBAAAH,KAAK,CAAX;IAAA,CAAP;EACD;;AAhB0C,CAAD,CAArC"}
1
+ {"version":3,"file":"VToolbarItems.mjs","names":["makeVariantProps","provideDefaults","defineComponent","toRef","VToolbarItems","name","props","variant","setup","slots","VBtn","color","default"],"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"sourcesContent":["// Composables\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VToolbarItems = defineComponent({\n name: 'VToolbarItems',\n\n props: {\n ...makeVariantProps({ variant: 'tonal' }),\n },\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n variant: toRef(props, 'variant'),\n },\n })\n\n return () => slots.default?.()\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"mappings":"AAAA;SACSA,gB;SACAC,e,0CAET;;SACSC,e;AACT,SAASC,KAAT,QAAsB,KAAtB;AAEA,OAAO,MAAMC,aAAa,GAAGF,eAAe,CAAC;EAC3CG,IAAI,EAAE,eADqC;EAG3CC,KAAK,EAAE,EACL,GAAGN,gBAAgB,CAAC;MAAEO,OAAO,EAAE;IAAX,CAAD;EADd,CAHoC;;EAO3CC,KAAK,CAAEF,KAAF,QAAoB;IAAA,IAAX;MAAEG;IAAF,CAAW;IACvBR,eAAe,CAAC;MACdS,IAAI,EAAE;QACJC,KAAK,EAAER,KAAK,CAACG,KAAD,EAAQ,OAAR,CADR;QAEJC,OAAO,EAAEJ,KAAK,CAACG,KAAD,EAAQ,SAAR;MAFV;IADQ,CAAD,CAAf;IAOA,OAAO;MAAA;;MAAA,yBAAMG,KAAK,CAACG,OAAZ,qBAAM,oBAAAH,KAAK,CAAX;IAAA,CAAP;EACD;;AAhB0C,CAAD,CAArC"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use '../../styles/settings'
3
2
  @use './variables' as *
4
3
 
@@ -1,5 +1,3 @@
1
- // Imports
2
- @forward './variables'
3
1
  @use './variables' as *
4
2
 
5
3
  .v-window
@@ -2,7 +2,8 @@ import { withDirectives as _withDirectives, createVNode as _createVNode, vShow a
2
2
  // Composables
3
3
  import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
4
4
  import { makeLazyProps, useLazy } from "../../composables/lazy.mjs";
5
- import { MaybeTransition } from "../../composables/transition.mjs"; // Directives
5
+ import { MaybeTransition } from "../../composables/transition.mjs";
6
+ import { useSsrBoot } from "../../composables/ssrBoot.mjs"; // Directives
6
7
 
7
8
  import Touch from "../../directives/touch/index.mjs"; // Utilities
8
9
 
@@ -33,6 +34,9 @@ export const VWindowItem = defineComponent({
33
34
  } = _ref;
34
35
  const window = inject(VWindowSymbol);
35
36
  const groupItem = useGroupItem(props, VWindowGroupSymbol);
37
+ const {
38
+ isBooted
39
+ } = useSsrBoot();
36
40
  if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
37
41
  const isTransitioning = ref(false);
38
42
  const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
@@ -109,12 +113,14 @@ export const VWindowItem = defineComponent({
109
113
  hasContent
110
114
  } = useLazy(props, groupItem.isSelected);
111
115
  return () => {
116
+ var _slots$default;
117
+
112
118
  return _createVNode(MaybeTransition, {
113
- "transition": transition.value
119
+ "transition": isBooted.value && transition.value
114
120
  }, {
115
121
  default: () => [_withDirectives(_createVNode("div", {
116
122
  "class": ['v-window-item', groupItem.selectedClass.value]
117
- }, [slots.default && hasContent.value && slots.default()]), [[_vShow, groupItem.isSelected.value]])]
123
+ }, [hasContent.value && ((_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots))]), [[_vShow, groupItem.isSelected.value]])]
118
124
  });
119
125
  };
120
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VWindowItem.mjs","names":["makeGroupItemProps","useGroupItem","makeLazyProps","useLazy","MaybeTransition","Touch","computed","inject","nextTick","ref","convertToUnit","defineComponent","VWindowGroupSymbol","VWindowSymbol","VWindowItem","name","directives","props","reverseTransition","type","Boolean","String","default","undefined","transition","setup","slots","window","groupItem","Error","isTransitioning","hasTransition","isReversed","value","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","rootRef","clientHeight","onTransitionCancelled","onEnterTransition","el","onBeforeEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onAfterLeave","onLeaveCancelled","onEnter","hasContent","isSelected","selectedClass"],"sources":["../../../src/components/VWindow/VWindowItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const VWindowItem = defineComponent({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = ref(false)\n const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false)\n\n function onAfterTransition () {\n if (!isTransitioning.value || !window) {\n return\n }\n\n // Finalize transition state.\n isTransitioning.value = false\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined\n }\n }\n }\n\n function onBeforeTransition () {\n if (isTransitioning.value || !window) {\n return\n }\n\n // Initialize transition state here.\n isTransitioning.value = true\n\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight)\n }\n\n window.transitionCount.value += 1\n }\n\n function onTransitionCancelled () {\n onAfterTransition() // This should have the same path as normal transition end.\n }\n\n function onEnterTransition (el: Element) {\n if (!isTransitioning.value) {\n return\n }\n\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight)\n })\n }\n\n const transition = computed(() => {\n const name = window.isReversed.value\n ? props.reverseTransition\n : props.transition\n\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition,\n }\n })\n\n const { hasContent } = useLazy(props, groupItem.isSelected)\n\n return () => {\n return (\n <MaybeTransition transition={ transition.value } >\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n ]}\n v-show={ groupItem.isSelected.value }\n >\n { slots.default && hasContent.value && slots.default() }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n\nexport type VWindowItem = InstanceType<typeof VWindowItem>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VWindowItem.mjs","names":["makeGroupItemProps","useGroupItem","makeLazyProps","useLazy","MaybeTransition","useSsrBoot","Touch","computed","inject","nextTick","ref","convertToUnit","defineComponent","VWindowGroupSymbol","VWindowSymbol","VWindowItem","name","directives","props","reverseTransition","type","Boolean","String","default","undefined","transition","setup","slots","window","groupItem","isBooted","Error","isTransitioning","hasTransition","isReversed","value","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","rootRef","clientHeight","onTransitionCancelled","onEnterTransition","el","onBeforeEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onAfterLeave","onLeaveCancelled","onEnter","hasContent","isSelected","selectedClass"],"sources":["../../../src/components/VWindow/VWindowItem.tsx"],"sourcesContent":["// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { MaybeTransition } from '@/composables/transition'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Directives\nimport Touch from '@/directives/touch'\n\n// Utilities\nimport { computed, inject, nextTick, ref } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VWindowGroupSymbol, VWindowSymbol } from './VWindow'\n\nexport const VWindowItem = defineComponent({\n name: 'VWindowItem',\n\n directives: {\n Touch,\n },\n\n props: {\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n },\n\n setup (props, { slots }) {\n const window = inject(VWindowSymbol)\n const groupItem = useGroupItem(props, VWindowGroupSymbol)\n const { isBooted } = useSsrBoot()\n\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow')\n\n const isTransitioning = ref(false)\n const hasTransition = computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false)\n\n function onAfterTransition () {\n if (!isTransitioning.value || !window) {\n return\n }\n\n // Finalize transition state.\n isTransitioning.value = false\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined\n }\n }\n }\n\n function onBeforeTransition () {\n if (isTransitioning.value || !window) {\n return\n }\n\n // Initialize transition state here.\n isTransitioning.value = true\n\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight)\n }\n\n window.transitionCount.value += 1\n }\n\n function onTransitionCancelled () {\n onAfterTransition() // This should have the same path as normal transition end.\n }\n\n function onEnterTransition (el: Element) {\n if (!isTransitioning.value) {\n return\n }\n\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight)\n })\n }\n\n const transition = computed(() => {\n const name = window.isReversed.value\n ? props.reverseTransition\n : props.transition\n\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition,\n }\n })\n\n const { hasContent } = useLazy(props, groupItem.isSelected)\n\n return () => {\n return (\n <MaybeTransition transition={ isBooted.value && transition.value } >\n <div\n class={[\n 'v-window-item',\n groupItem.selectedClass.value,\n ]}\n v-show={ groupItem.isSelected.value }\n >\n { hasContent.value && slots.default?.() }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n\nexport type VWindowItem = InstanceType<typeof VWindowItem>\n"],"mappings":";AAAA;SACSA,kB,EAAoBC,Y;SACpBC,a,EAAeC,O;SACfC,e;SACAC,U,yCAET;;OACOC,K,0CAEP;;AACA,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,QAA3B,EAAqCC,GAArC,QAAgD,KAAhD;SACSC,a,EAAeC,e;SACfC,kB,EAAoBC,a;AAE7B,OAAO,MAAMC,WAAW,GAAGH,eAAe,CAAC;EACzCI,IAAI,EAAE,aADmC;EAGzCC,UAAU,EAAE;IACVX;EADU,CAH6B;EAOzCY,KAAK,EAAE;IACLC,iBAAiB,EAAE;MACjBC,IAAI,EAAE,CAACC,OAAD,EAAUC,MAAV,CADW;MAEjBC,OAAO,EAAEC;IAFQ,CADd;IAKLC,UAAU,EAAE;MACVL,IAAI,EAAE,CAACC,OAAD,EAAUC,MAAV,CADI;MAEVC,OAAO,EAAEC;IAFC,CALP;IASL,GAAGtB,aAAa,EATX;IAUL,GAAGF,kBAAkB;EAVhB,CAPkC;;EAoBzC0B,KAAK,CAAER,KAAF,QAAoB;IAAA,IAAX;MAAES;IAAF,CAAW;IACvB,MAAMC,MAAM,GAAGpB,MAAM,CAACM,aAAD,CAArB;IACA,MAAMe,SAAS,GAAG5B,YAAY,CAACiB,KAAD,EAAQL,kBAAR,CAA9B;IACA,MAAM;MAAEiB;IAAF,IAAezB,UAAU,EAA/B;IAEA,IAAI,CAACuB,MAAD,IAAW,CAACC,SAAhB,EAA2B,MAAM,IAAIE,KAAJ,CAAU,mDAAV,CAAN;IAE3B,MAAMC,eAAe,GAAGtB,GAAG,CAAC,KAAD,CAA3B;IACA,MAAMuB,aAAa,GAAG1B,QAAQ,CAAC,MAAMqB,MAAM,CAACM,UAAP,CAAkBC,KAAlB,GAA0BjB,KAAK,CAACC,iBAAN,KAA4B,KAAtD,GAA8DD,KAAK,CAACO,UAAN,KAAqB,KAA1F,CAA9B;;IAEA,SAASW,iBAAT,GAA8B;MAC5B,IAAI,CAACJ,eAAe,CAACG,KAAjB,IAA0B,CAACP,MAA/B,EAAuC;QACrC;MACD,CAH2B,CAK5B;;;MACAI,eAAe,CAACG,KAAhB,GAAwB,KAAxB;;MACA,IAAIP,MAAM,CAACS,eAAP,CAAuBF,KAAvB,GAA+B,CAAnC,EAAsC;QACpCP,MAAM,CAACS,eAAP,CAAuBF,KAAvB,IAAgC,CAAhC,CADoC,CAGpC;;QACA,IAAIP,MAAM,CAACS,eAAP,CAAuBF,KAAvB,KAAiC,CAArC,EAAwC;UACtCP,MAAM,CAACU,gBAAP,CAAwBH,KAAxB,GAAgCX,SAAhC;QACD;MACF;IACF;;IAED,SAASe,kBAAT,GAA+B;MAC7B,IAAIP,eAAe,CAACG,KAAhB,IAAyB,CAACP,MAA9B,EAAsC;QACpC;MACD,CAH4B,CAK7B;;;MACAI,eAAe,CAACG,KAAhB,GAAwB,IAAxB;;MAEA,IAAIP,MAAM,CAACS,eAAP,CAAuBF,KAAvB,KAAiC,CAArC,EAAwC;QAAA;;QACtC;QACAP,MAAM,CAACU,gBAAP,CAAwBH,KAAxB,GAAgCxB,aAAa,0BAACiB,MAAM,CAACY,OAAP,CAAeL,KAAhB,qBAAC,sBAAsBM,YAAvB,CAA7C;MACD;;MAEDb,MAAM,CAACS,eAAP,CAAuBF,KAAvB,IAAgC,CAAhC;IACD;;IAED,SAASO,qBAAT,GAAkC;MAChCN,iBAAiB,GADe,CACZ;IACrB;;IAED,SAASO,iBAAT,CAA4BC,EAA5B,EAAyC;MACvC,IAAI,CAACZ,eAAe,CAACG,KAArB,EAA4B;QAC1B;MACD;;MAED1B,QAAQ,CAAC,MAAM;QACb;QACA,IAAI,CAACwB,aAAa,CAACE,KAAf,IAAwB,CAACH,eAAe,CAACG,KAAzC,IAAkD,CAACP,MAAvD,EAA+D;UAC7D;QACD,CAJY,CAMb;;;QACAA,MAAM,CAACU,gBAAP,CAAwBH,KAAxB,GAAgCxB,aAAa,CAACiC,EAAE,CAACH,YAAJ,CAA7C;MACD,CARO,CAAR;IASD;;IAED,MAAMhB,UAAU,GAAGlB,QAAQ,CAAC,MAAM;MAChC,MAAMS,IAAI,GAAGY,MAAM,CAACM,UAAP,CAAkBC,KAAlB,GACTjB,KAAK,CAACC,iBADG,GAETD,KAAK,CAACO,UAFV;MAIA,OAAO,CAACQ,aAAa,CAACE,KAAf,GAAuB,KAAvB,GAA+B;QACpCnB,IAAI,EAAE,OAAOA,IAAP,KAAgB,QAAhB,GAA2BY,MAAM,CAACH,UAAP,CAAkBU,KAA7C,GAAqDnB,IADvB;QAEpC6B,aAAa,EAAEN,kBAFqB;QAGpCO,YAAY,EAAEV,iBAHsB;QAIpCW,gBAAgB,EAAEL,qBAJkB;QAKpCM,aAAa,EAAET,kBALqB;QAMpCU,YAAY,EAAEb,iBANsB;QAOpCc,gBAAgB,EAAER,qBAPkB;QAQpCS,OAAO,EAAER;MAR2B,CAAtC;IAUD,CAf0B,CAA3B;IAiBA,MAAM;MAAES;IAAF,IAAiBjD,OAAO,CAACe,KAAD,EAAQW,SAAS,CAACwB,UAAlB,CAA9B;IAEA,OAAO,MAAM;MAAA;;MACX;QAAA,cACgCvB,QAAQ,CAACK,KAAT,IAAkBV,UAAU,CAACU;MAD7D;QAAA;UAAA,SAGa,CACL,eADK,EAELN,SAAS,CAACyB,aAAV,CAAwBnB,KAFnB;QAHb,IASQiB,UAAU,CAACjB,KAAX,uBAAoBR,KAAK,CAACJ,OAA1B,qBAAoB,oBAAAI,KAAK,CAAzB,CATR,cAOeE,SAAS,CAACwB,UAAV,CAAqBlB,KAPpC;MAAA;IAaD,CAdD;EAeD;;AArHwC,CAAD,CAAnC"}