@vuetify/nightly 4.0.0-dev-20230427.0 → 4.0.0-dev-20230511.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/CHANGELOG.md +22 -23
  2. package/dist/json/attributes.json +854 -658
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/tags.json +50 -1
  5. package/dist/json/web-types.json +1797 -1324
  6. package/dist/vuetify-labs.css +81 -69
  7. package/dist/vuetify-labs.d.ts +771 -257
  8. package/dist/vuetify-labs.esm.js +260 -224
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +259 -223
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +23 -11
  13. package/dist/vuetify.d.ts +884 -412
  14. package/dist/vuetify.esm.js +237 -215
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +236 -214
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +640 -645
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/{index.d.ts → index.d.mts} +5 -1
  22. package/lib/blueprints/{md1.d.ts → md1.d.mts} +5 -1
  23. package/lib/blueprints/{md2.d.ts → md2.d.mts} +5 -1
  24. package/lib/blueprints/{md3.d.ts → md3.d.mts} +5 -1
  25. package/lib/components/VAppBar/VAppBar.mjs +7 -11
  26. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  27. package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
  28. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  29. package/lib/components/VAppBar/{index.d.ts → index.d.mts} +394 -28
  30. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  31. package/lib/components/VAutocomplete/VAutocomplete.mjs +9 -2
  32. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  33. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  34. package/lib/components/VAutocomplete/{index.d.ts → index.d.mts} +6 -6
  35. package/lib/components/VBtn/VBtn.mjs +7 -6
  36. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  37. package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
  38. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  39. package/lib/components/VCheckbox/{index.d.ts → index.d.mts} +6 -6
  40. package/lib/components/VColorPicker/VColorPicker.mjs +9 -4
  41. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  42. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  43. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +5 -4
  44. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  45. package/lib/components/VColorPicker/{index.d.ts → index.d.mts} +97 -31
  46. package/lib/components/VColorPicker/util/index.mjs +2 -22
  47. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  48. package/lib/components/VCombobox/VCombobox.mjs +9 -2
  49. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  50. package/lib/components/VCombobox/{index.d.ts → index.d.mts} +6 -6
  51. package/lib/components/VField/{index.d.ts → index.d.mts} +6 -6
  52. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  53. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  54. package/lib/components/VFileInput/{index.d.ts → index.d.mts} +15 -15
  55. package/lib/components/VImg/VImg.css +2 -4
  56. package/lib/components/VImg/VImg.mjs +25 -24
  57. package/lib/components/VImg/VImg.mjs.map +1 -1
  58. package/lib/components/VImg/VImg.sass +4 -3
  59. package/lib/components/VImg/{index.d.ts → index.d.mts} +48 -3
  60. package/lib/components/VInput/{index.d.ts → index.d.mts} +6 -6
  61. package/lib/components/VList/VList.mjs +5 -0
  62. package/lib/components/VList/VList.mjs.map +1 -1
  63. package/lib/components/VList/VListGroup.mjs +3 -0
  64. package/lib/components/VList/VListGroup.mjs.map +1 -1
  65. package/lib/components/VList/VListItem.mjs +10 -5
  66. package/lib/components/VList/VListItem.mjs.map +1 -1
  67. package/lib/components/VList/{index.d.ts → index.d.mts} +18 -0
  68. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
  69. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  70. package/lib/components/VRadioGroup/{index.d.ts → index.d.mts} +6 -6
  71. package/lib/components/VRangeSlider/{index.d.ts → index.d.mts} +6 -6
  72. package/lib/components/VResponsive/VResponsive.css +13 -5
  73. package/lib/components/VResponsive/VResponsive.mjs +12 -8
  74. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  75. package/lib/components/VResponsive/VResponsive.sass +12 -4
  76. package/lib/components/VResponsive/{index.d.ts → index.d.mts} +10 -1
  77. package/lib/components/VSelect/VSelect.mjs +9 -2
  78. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  79. package/lib/components/VSelect/{index.d.ts → index.d.mts} +6 -6
  80. package/lib/components/VSheet/VSheet.css +6 -0
  81. package/lib/components/VSheet/_variables.scss +1 -1
  82. package/lib/components/VSlider/{index.d.ts → index.d.mts} +6 -6
  83. package/lib/components/VSwitch/{index.d.ts → index.d.mts} +6 -6
  84. package/lib/components/VTextField/VTextField.mjs +1 -1
  85. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  86. package/lib/components/VTextField/{index.d.ts → index.d.mts} +24 -24
  87. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  88. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  89. package/lib/components/VTextarea/{index.d.ts → index.d.mts} +15 -15
  90. package/lib/components/VValidation/{index.d.ts → index.d.mts} +6 -6
  91. package/lib/components/{index.d.ts → index.d.mts} +679 -208
  92. package/lib/composables/defaults.mjs +15 -3
  93. package/lib/composables/defaults.mjs.map +1 -1
  94. package/lib/composables/display.mjs +6 -6
  95. package/lib/composables/display.mjs.map +1 -1
  96. package/lib/composables/focus.mjs.map +1 -1
  97. package/lib/composables/scroll.mjs +18 -19
  98. package/lib/composables/scroll.mjs.map +1 -1
  99. package/lib/entry-bundler.mjs +1 -1
  100. package/lib/framework.mjs +1 -1
  101. package/lib/framework.mjs.map +1 -1
  102. package/lib/{index.d.ts → index.d.mts} +7 -6
  103. package/lib/labs/VDataTable/VDataTable.mjs +11 -2
  104. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  105. package/lib/labs/VDataTable/VDataTableServer.mjs +0 -5
  106. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  107. package/lib/labs/VDataTable/VDataTableVirtual.mjs +7 -2
  108. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  109. package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
  110. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  111. package/lib/labs/VDataTable/{index.d.ts → index.d.mts} +54 -12
  112. package/lib/labs/{components.d.ts → components.d.mts} +54 -12
  113. package/lib/util/colorUtils.mjs +68 -3
  114. package/lib/util/colorUtils.mjs.map +1 -1
  115. package/lib/util/console.mjs +12 -81
  116. package/lib/util/console.mjs.map +1 -1
  117. package/lib/util/defineComponent.mjs +2 -2
  118. package/lib/util/defineComponent.mjs.map +1 -1
  119. package/lib/util/helpers.mjs +3 -0
  120. package/lib/util/helpers.mjs.map +1 -1
  121. package/package.json +10 -6
  122. /package/lib/components/VAlert/{index.d.ts → index.d.mts} +0 -0
  123. /package/lib/components/VApp/{index.d.ts → index.d.mts} +0 -0
  124. /package/lib/components/VAvatar/{index.d.ts → index.d.mts} +0 -0
  125. /package/lib/components/VBadge/{index.d.ts → index.d.mts} +0 -0
  126. /package/lib/components/VBanner/{index.d.ts → index.d.mts} +0 -0
  127. /package/lib/components/VBottomNavigation/{index.d.ts → index.d.mts} +0 -0
  128. /package/lib/components/VBreadcrumbs/{index.d.ts → index.d.mts} +0 -0
  129. /package/lib/components/VBtn/{index.d.ts → index.d.mts} +0 -0
  130. /package/lib/components/VBtnGroup/{index.d.ts → index.d.mts} +0 -0
  131. /package/lib/components/VBtnToggle/{index.d.ts → index.d.mts} +0 -0
  132. /package/lib/components/VCard/{index.d.ts → index.d.mts} +0 -0
  133. /package/lib/components/VCarousel/{index.d.ts → index.d.mts} +0 -0
  134. /package/lib/components/VChip/{index.d.ts → index.d.mts} +0 -0
  135. /package/lib/components/VChipGroup/{index.d.ts → index.d.mts} +0 -0
  136. /package/lib/components/VCode/{index.d.ts → index.d.mts} +0 -0
  137. /package/lib/components/VCounter/{index.d.ts → index.d.mts} +0 -0
  138. /package/lib/components/VDefaultsProvider/{index.d.ts → index.d.mts} +0 -0
  139. /package/lib/components/VDialog/{index.d.ts → index.d.mts} +0 -0
  140. /package/lib/components/VDivider/{index.d.ts → index.d.mts} +0 -0
  141. /package/lib/components/VExpansionPanel/{index.d.ts → index.d.mts} +0 -0
  142. /package/lib/components/VFooter/{index.d.ts → index.d.mts} +0 -0
  143. /package/lib/components/VForm/{index.d.ts → index.d.mts} +0 -0
  144. /package/lib/components/VGrid/{index.d.ts → index.d.mts} +0 -0
  145. /package/lib/components/VHover/{index.d.ts → index.d.mts} +0 -0
  146. /package/lib/components/VIcon/{index.d.ts → index.d.mts} +0 -0
  147. /package/lib/components/VItemGroup/{index.d.ts → index.d.mts} +0 -0
  148. /package/lib/components/VKbd/{index.d.ts → index.d.mts} +0 -0
  149. /package/lib/components/VLabel/{index.d.ts → index.d.mts} +0 -0
  150. /package/lib/components/VLayout/{index.d.ts → index.d.mts} +0 -0
  151. /package/lib/components/VLazy/{index.d.ts → index.d.mts} +0 -0
  152. /package/lib/components/VLocaleProvider/{index.d.ts → index.d.mts} +0 -0
  153. /package/lib/components/VMain/{index.d.ts → index.d.mts} +0 -0
  154. /package/lib/components/VMenu/{index.d.ts → index.d.mts} +0 -0
  155. /package/lib/components/VMessages/{index.d.ts → index.d.mts} +0 -0
  156. /package/lib/components/VNavigationDrawer/{index.d.ts → index.d.mts} +0 -0
  157. /package/lib/components/VNoSsr/{index.d.ts → index.d.mts} +0 -0
  158. /package/lib/components/VOverlay/{index.d.ts → index.d.mts} +0 -0
  159. /package/lib/components/VPagination/{index.d.ts → index.d.mts} +0 -0
  160. /package/lib/components/VParallax/{index.d.ts → index.d.mts} +0 -0
  161. /package/lib/components/VProgressCircular/{index.d.ts → index.d.mts} +0 -0
  162. /package/lib/components/VProgressLinear/{index.d.ts → index.d.mts} +0 -0
  163. /package/lib/components/VRadio/{index.d.ts → index.d.mts} +0 -0
  164. /package/lib/components/VRating/{index.d.ts → index.d.mts} +0 -0
  165. /package/lib/components/VSelectionControl/{index.d.ts → index.d.mts} +0 -0
  166. /package/lib/components/VSelectionControlGroup/{index.d.ts → index.d.mts} +0 -0
  167. /package/lib/components/VSheet/{index.d.ts → index.d.mts} +0 -0
  168. /package/lib/components/VSlideGroup/{index.d.ts → index.d.mts} +0 -0
  169. /package/lib/components/VSnackbar/{index.d.ts → index.d.mts} +0 -0
  170. /package/lib/components/VSystemBar/{index.d.ts → index.d.mts} +0 -0
  171. /package/lib/components/VTable/{index.d.ts → index.d.mts} +0 -0
  172. /package/lib/components/VTabs/{index.d.ts → index.d.mts} +0 -0
  173. /package/lib/components/VThemeProvider/{index.d.ts → index.d.mts} +0 -0
  174. /package/lib/components/VTimeline/{index.d.ts → index.d.mts} +0 -0
  175. /package/lib/components/VToolbar/{index.d.ts → index.d.mts} +0 -0
  176. /package/lib/components/VTooltip/{index.d.ts → index.d.mts} +0 -0
  177. /package/lib/components/VVirtualScroll/{index.d.ts → index.d.mts} +0 -0
  178. /package/lib/components/VWindow/{index.d.ts → index.d.mts} +0 -0
  179. /package/lib/components/transitions/{index.d.ts → index.d.mts} +0 -0
  180. /package/lib/directives/{index.d.ts → index.d.mts} +0 -0
  181. /package/lib/iconsets/{fa-svg.d.ts → fa-svg.d.mts} +0 -0
  182. /package/lib/iconsets/{fa.d.ts → fa.d.mts} +0 -0
  183. /package/lib/iconsets/{fa4.d.ts → fa4.d.mts} +0 -0
  184. /package/lib/iconsets/{md.d.ts → md.d.mts} +0 -0
  185. /package/lib/iconsets/{mdi-svg.d.ts → mdi-svg.d.mts} +0 -0
  186. /package/lib/iconsets/{mdi.d.ts → mdi.d.mts} +0 -0
  187. /package/lib/labs/VInfiniteScroll/{index.d.ts → index.d.mts} +0 -0
  188. /package/lib/labs/VSkeletonLoader/{index.d.ts → index.d.mts} +0 -0
  189. /package/lib/labs/date/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
  190. /package/lib/labs/date/{index.d.ts → index.d.mts} +0 -0
  191. /package/lib/locale/adapters/{vue-i18n.d.ts → vue-i18n.d.mts} +0 -0
  192. /package/lib/locale/adapters/{vuetify.d.ts → vuetify.d.mts} +0 -0
  193. /package/lib/locale/{index.d.ts → index.d.mts} +0 -0
@@ -139,6 +139,7 @@ declare const VListItem: {
139
139
  rounded?: string | number | boolean | undefined;
140
140
  prependIcon?: IconValue | undefined;
141
141
  appendIcon?: IconValue | undefined;
142
+ baseColor?: string | undefined;
142
143
  activeClass?: string | undefined;
143
144
  appendAvatar?: string | undefined;
144
145
  prependAvatar?: string | undefined;
@@ -215,6 +216,7 @@ declare const VListItem: {
215
216
  rounded?: string | number | boolean | undefined;
216
217
  prependIcon?: IconValue | undefined;
217
218
  appendIcon?: IconValue | undefined;
219
+ baseColor?: string | undefined;
218
220
  activeClass?: string | undefined;
219
221
  appendAvatar?: string | undefined;
220
222
  prependAvatar?: string | undefined;
@@ -312,6 +314,7 @@ declare const VListItem: {
312
314
  rounded?: string | number | boolean | undefined;
313
315
  prependIcon?: IconValue | undefined;
314
316
  appendIcon?: IconValue | undefined;
317
+ baseColor?: string | undefined;
315
318
  activeClass?: string | undefined;
316
319
  appendAvatar?: string | undefined;
317
320
  prependAvatar?: string | undefined;
@@ -378,6 +381,7 @@ declare const VListItem: {
378
381
  rounded?: string | number | boolean | undefined;
379
382
  prependIcon?: IconValue | undefined;
380
383
  appendIcon?: IconValue | undefined;
384
+ baseColor?: string | undefined;
381
385
  activeClass?: string | undefined;
382
386
  appendAvatar?: string | undefined;
383
387
  prependAvatar?: string | undefined;
@@ -474,6 +478,7 @@ declare const VListItem: {
474
478
  activeColor: StringConstructor;
475
479
  appendAvatar: StringConstructor;
476
480
  appendIcon: PropType<IconValue>;
481
+ baseColor: StringConstructor;
477
482
  disabled: BooleanConstructor;
478
483
  lines: PropType<"one" | "two" | "three">;
479
484
  link: {
@@ -544,6 +549,7 @@ declare const VListItem: {
544
549
  activeColor: StringConstructor;
545
550
  appendAvatar: StringConstructor;
546
551
  appendIcon: PropType<IconValue>;
552
+ baseColor: StringConstructor;
547
553
  disabled: BooleanConstructor;
548
554
  lines: PropType<"one" | "two" | "three">;
549
555
  link: {
@@ -677,6 +683,7 @@ declare const VList: {
677
683
  opened: PropType<unknown[]>;
678
684
  selected: PropType<unknown[]>;
679
685
  mandatory: BooleanConstructor;
686
+ baseColor: StringConstructor;
680
687
  activeColor: StringConstructor;
681
688
  activeClass: StringConstructor;
682
689
  bgColor: StringConstructor;
@@ -797,6 +804,7 @@ declare const VList: {
797
804
  opened: PropType<unknown[]>;
798
805
  selected: PropType<unknown[]>;
799
806
  mandatory: BooleanConstructor;
807
+ baseColor: StringConstructor;
800
808
  activeColor: StringConstructor;
801
809
  activeClass: StringConstructor;
802
810
  bgColor: StringConstructor;
@@ -950,6 +958,7 @@ declare const VList: {
950
958
  opened: PropType<unknown[]>;
951
959
  selected: PropType<unknown[]>;
952
960
  mandatory: BooleanConstructor;
961
+ baseColor: StringConstructor;
953
962
  activeColor: StringConstructor;
954
963
  activeClass: StringConstructor;
955
964
  bgColor: StringConstructor;
@@ -1056,6 +1065,7 @@ declare const VList: {
1056
1065
  opened: PropType<unknown[]>;
1057
1066
  selected: PropType<unknown[]>;
1058
1067
  mandatory: BooleanConstructor;
1068
+ baseColor: StringConstructor;
1059
1069
  activeColor: StringConstructor;
1060
1070
  activeClass: StringConstructor;
1061
1071
  bgColor: StringConstructor;
@@ -1193,6 +1203,7 @@ declare const VList: {
1193
1203
  opened: PropType<unknown[]>;
1194
1204
  selected: PropType<unknown[]>;
1195
1205
  mandatory: BooleanConstructor;
1206
+ baseColor: StringConstructor;
1196
1207
  activeColor: StringConstructor;
1197
1208
  activeClass: StringConstructor;
1198
1209
  bgColor: StringConstructor;
@@ -1278,6 +1289,7 @@ declare const VList: {
1278
1289
  opened: PropType<unknown[]>;
1279
1290
  selected: PropType<unknown[]>;
1280
1291
  mandatory: BooleanConstructor;
1292
+ baseColor: StringConstructor;
1281
1293
  activeColor: StringConstructor;
1282
1294
  activeClass: StringConstructor;
1283
1295
  bgColor: StringConstructor;
@@ -1315,6 +1327,7 @@ declare const VListGroup: {
1315
1327
  class?: any;
1316
1328
  prependIcon?: IconValue | undefined;
1317
1329
  appendIcon?: IconValue | undefined;
1330
+ baseColor?: string | undefined;
1318
1331
  activeColor?: string | undefined;
1319
1332
  } & {
1320
1333
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -1365,6 +1378,7 @@ declare const VListGroup: {
1365
1378
  class?: any;
1366
1379
  prependIcon?: IconValue | undefined;
1367
1380
  appendIcon?: IconValue | undefined;
1381
+ baseColor?: string | undefined;
1368
1382
  activeColor?: string | undefined;
1369
1383
  } & {
1370
1384
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -1428,6 +1442,7 @@ declare const VListGroup: {
1428
1442
  class?: any;
1429
1443
  prependIcon?: IconValue | undefined;
1430
1444
  appendIcon?: IconValue | undefined;
1445
+ baseColor?: string | undefined;
1431
1446
  activeColor?: string | undefined;
1432
1447
  } & {
1433
1448
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -1468,6 +1483,7 @@ declare const VListGroup: {
1468
1483
  class?: any;
1469
1484
  prependIcon?: IconValue | undefined;
1470
1485
  appendIcon?: IconValue | undefined;
1486
+ baseColor?: string | undefined;
1471
1487
  activeColor?: string | undefined;
1472
1488
  } & {
1473
1489
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -1508,6 +1524,7 @@ declare const VListGroup: {
1508
1524
  default: null;
1509
1525
  };
1510
1526
  activeColor: StringConstructor;
1527
+ baseColor: StringConstructor;
1511
1528
  color: StringConstructor;
1512
1529
  collapseIcon: {
1513
1530
  type: vue.PropType<IconValue>;
@@ -1534,6 +1551,7 @@ declare const VListGroup: {
1534
1551
  default: null;
1535
1552
  };
1536
1553
  activeColor: StringConstructor;
1554
+ baseColor: StringConstructor;
1537
1555
  color: StringConstructor;
1538
1556
  collapseIcon: {
1539
1557
  type: vue.PropType<IconValue>;
@@ -20,7 +20,7 @@ import { useSsrBoot } from "../../composables/ssrBoot.mjs";
20
20
  import { useSticky } from "./sticky.mjs";
21
21
  import { useTouch } from "./touch.mjs"; // Utilities
22
22
  import { computed, nextTick, onBeforeMount, ref, toRef, Transition, watch } from 'vue';
23
- import { convertToUnit, genericComponent, toPhysical, useRender } from "../../util/index.mjs"; // Types
23
+ import { genericComponent, toPhysical, useRender } from "../../util/index.mjs"; // Types
24
24
  const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
25
25
  export const VNavigationDrawer = genericComponent()({
26
26
  name: 'VNavigationDrawer',
@@ -150,7 +150,6 @@ export const VNavigationDrawer = genericComponent()({
150
150
  });
151
151
  const {
152
152
  layoutItemStyles,
153
- layoutRect,
154
153
  layoutItemScrimStyles
155
154
  } = useLayoutItem({
156
155
  id: props.name,
@@ -180,12 +179,6 @@ export const VNavigationDrawer = genericComponent()({
180
179
  opacity: dragProgress.value * 0.2,
181
180
  transition: 'none'
182
181
  } : undefined),
183
- ...(layoutRect.value ? {
184
- left: convertToUnit(layoutRect.value.left),
185
- right: convertToUnit(layoutRect.value.right),
186
- top: convertToUnit(layoutRect.value.top),
187
- bottom: convertToUnit(layoutRect.value.bottom)
188
- } : undefined),
189
182
  ...layoutItemScrimStyles.value
190
183
  }));
191
184
  provideDefaults({
@@ -1 +1 @@
1
- {"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useRtl","useSsrBoot","useSticky","useTouch","computed","nextTick","onBeforeMount","ref","toRef","Transition","watch","convertToUnit","genericComponent","toPhysical","useRender","locations","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","emits","val","setup","_ref","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutRect","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","left","right","top","bottom","VList","bgColor","onMouseenter","onMouseleave","hasImage","_createVNode","_Fragment","_mergeProps","class","style","prepend","append","onClick"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useRtl } from '@/composables'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { convertToUnit, genericComponent, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string\n}\n\nexport type VNavigationDrawerSlots = {\n default: []\n prepend: []\n append: []\n image: [VNavigationDrawerImageSlot]\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = ref(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutRect, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutRect.value ? {\n left: convertToUnit(layoutRect.value.left),\n right: convertToUnit(layoutRect.value.right),\n top: convertToUnit(layoutRect.value.top),\n bottom: convertToUnit(layoutRect.value.bottom),\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n props.style,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VNavigationDrawer.mjs","names":["makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","useDisplay","useProxiedModel","useRouter","useRtl","useSsrBoot","useSticky","useTouch","computed","nextTick","onBeforeMount","ref","toRef","Transition","watch","genericComponent","toPhysical","useRender","locations","VNavigationDrawer","name","props","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","emits","val","setup","_ref","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","VList","bgColor","onMouseenter","onMouseleave","hasImage","_createVNode","_Fragment","_mergeProps","class","style","prepend","append","onClick"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRouter } from '@/composables/router'\nimport { useRtl } from '@/composables'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { genericComponent, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string\n}\n\nexport type VNavigationDrawerSlots = {\n default: []\n prepend: []\n append: []\n image: [VNavigationDrawerImageSlot]\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = ref(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n props.style,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
@@ -98,7 +98,7 @@ declare const VRadioGroup: {
98
98
  appendIcon?: IconValue | undefined;
99
99
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
100
100
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
101
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
101
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
102
102
  validateOn?: "input" | "blur" | "submit" | undefined;
103
103
  validationValue?: any;
104
104
  hint?: string | undefined;
@@ -184,7 +184,7 @@ declare const VRadioGroup: {
184
184
  appendIcon?: IconValue | undefined;
185
185
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
186
186
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
187
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
187
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
188
188
  validateOn?: "input" | "blur" | "submit" | undefined;
189
189
  validationValue?: any;
190
190
  hint?: string | undefined;
@@ -298,7 +298,7 @@ declare const VRadioGroup: {
298
298
  appendIcon?: IconValue | undefined;
299
299
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
300
300
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
301
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
301
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
302
302
  validateOn?: "input" | "blur" | "submit" | undefined;
303
303
  validationValue?: any;
304
304
  hint?: string | undefined;
@@ -374,7 +374,7 @@ declare const VRadioGroup: {
374
374
  appendIcon?: IconValue | undefined;
375
375
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
376
376
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
377
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
377
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
378
378
  validateOn?: "input" | "blur" | "submit" | undefined;
379
379
  validationValue?: any;
380
380
  hint?: string | undefined;
@@ -472,7 +472,7 @@ declare const VRadioGroup: {
472
472
  default: typeof deepEqual;
473
473
  };
474
474
  focused: BooleanConstructor;
475
- 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
475
+ 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
476
476
  errorMessages: {
477
477
  type: vue.PropType<string | string[]>;
478
478
  default: () => never[];
@@ -549,7 +549,7 @@ declare const VRadioGroup: {
549
549
  default: typeof deepEqual;
550
550
  };
551
551
  focused: BooleanConstructor;
552
- 'onUpdate:focused': vue.PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
552
+ 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
553
553
  errorMessages: {
554
554
  type: vue.PropType<string | string[]>;
555
555
  default: () => never[];
@@ -95,7 +95,7 @@ declare const VRangeSlider: {
95
95
  appendIcon?: IconValue | undefined;
96
96
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
97
97
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
98
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
98
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
99
99
  validateOn?: "input" | "blur" | "submit" | undefined;
100
100
  validationValue?: any;
101
101
  hint?: string | undefined;
@@ -183,7 +183,7 @@ declare const VRangeSlider: {
183
183
  appendIcon?: IconValue | undefined;
184
184
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
185
185
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
186
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
186
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
187
187
  validateOn?: "input" | "blur" | "submit" | undefined;
188
188
  validationValue?: any;
189
189
  hint?: string | undefined;
@@ -308,7 +308,7 @@ declare const VRangeSlider: {
308
308
  appendIcon?: IconValue | undefined;
309
309
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
310
310
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
311
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
311
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
312
312
  validateOn?: "input" | "blur" | "submit" | undefined;
313
313
  validationValue?: any;
314
314
  hint?: string | undefined;
@@ -386,7 +386,7 @@ declare const VRangeSlider: {
386
386
  appendIcon?: IconValue | undefined;
387
387
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
388
388
  'onClick:prepend'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
389
- 'onUpdate:focused'?: EventProp<[FocusEvent], (args_0: FocusEvent) => any> | undefined;
389
+ 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
390
390
  validateOn?: "input" | "blur" | "submit" | undefined;
391
391
  validationValue?: any;
392
392
  hint?: string | undefined;
@@ -524,7 +524,7 @@ declare const VRangeSlider: {
524
524
  };
525
525
  reverse: BooleanConstructor;
526
526
  focused: BooleanConstructor;
527
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
527
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
528
528
  errorMessages: {
529
529
  type: PropType<string | string[]>;
530
530
  default: () => never[];
@@ -631,7 +631,7 @@ declare const VRangeSlider: {
631
631
  };
632
632
  reverse: BooleanConstructor;
633
633
  focused: BooleanConstructor;
634
- 'onUpdate:focused': PropType<EventProp<[FocusEvent], (args_0: FocusEvent) => any>>;
634
+ 'onUpdate:focused': PropType<EventProp<[boolean], (args_0: boolean) => any>>;
635
635
  errorMessages: {
636
636
  type: PropType<string | string[]>;
637
637
  default: () => never[];
@@ -1,23 +1,31 @@
1
1
  .v-responsive {
2
- display: flex;
2
+ display: grid;
3
+ grid-template-rows: minmax(100%, 1fr);
4
+ grid-template-columns: 1fr;
3
5
  flex: 1 0 auto;
4
6
  max-height: 100%;
5
7
  max-width: 100%;
6
8
  overflow: hidden;
7
9
  position: relative;
8
10
  }
11
+ .v-responsive--inline {
12
+ display: inline-grid;
13
+ flex: 0 0 auto;
14
+ }
9
15
 
10
16
  .v-responsive__content {
11
17
  flex: 1 0 0px;
12
18
  max-width: 100%;
13
19
  }
14
20
 
15
- .v-responsive__sizer ~ .v-responsive__content {
16
- margin-inline-start: -100%;
17
- }
18
-
19
21
  .v-responsive__sizer {
20
22
  flex: 1 0 0px;
21
23
  transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
22
24
  pointer-events: none;
25
+ }
26
+
27
+ .v-responsive__sizer,
28
+ .v-responsive__content {
29
+ grid-row-start: 1;
30
+ grid-column-start: 1;
23
31
  }
@@ -6,7 +6,7 @@ import "./VResponsive.css";
6
6
  import { makeComponentProps } from "../../composables/component.mjs";
7
7
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs"; // Utilities
8
8
  import { computed } from 'vue';
9
- import { genericComponent, useRender } from "../../util/index.mjs";
9
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
10
10
  export function useAspectStyles(props) {
11
11
  return {
12
12
  aspectStyles: computed(() => {
@@ -17,14 +17,16 @@ export function useAspectStyles(props) {
17
17
  })
18
18
  };
19
19
  }
20
+ export const makeVResponsiveProps = propsFactory({
21
+ aspectRatio: [String, Number],
22
+ contentClass: String,
23
+ inline: Boolean,
24
+ ...makeComponentProps(),
25
+ ...makeDimensionProps()
26
+ }, 'v-responsive');
20
27
  export const VResponsive = genericComponent()({
21
28
  name: 'VResponsive',
22
- props: {
23
- aspectRatio: [String, Number],
24
- contentClass: String,
25
- ...makeComponentProps(),
26
- ...makeDimensionProps()
27
- },
29
+ props: makeVResponsiveProps(),
28
30
  setup(props, _ref) {
29
31
  let {
30
32
  slots
@@ -36,7 +38,9 @@ export const VResponsive = genericComponent()({
36
38
  dimensionStyles
37
39
  } = useDimension(props);
38
40
  useRender(() => _createVNode("div", {
39
- "class": ['v-responsive', props.class],
41
+ "class": ['v-responsive', {
42
+ 'v-responsive--inline': props.inline
43
+ }, props.class],
40
44
  "style": [dimensionStyles.value, props.style]
41
45
  }, [_createVNode("div", {
42
46
  "class": "v-responsive__sizer",
@@ -1 +1 @@
1
- {"version":3,"file":"VResponsive.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","computed","genericComponent","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","VResponsive","name","contentClass","setup","_ref","slots","dimensionStyles","_createVNode","class","value","style","additional","default"],"sources":["../../../src/components/VResponsive/VResponsive.tsx"],"sourcesContent":["// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: []\n additional: []\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div\n class={[\n 'v-responsive',\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY,4CAEzC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,SAAS;AAOpC,OAAO,SAASC,eAAeA,CAAEC,KAAwC,EAAE;EACzE,OAAO;IACLC,YAAY,EAAEL,QAAQ,CAAC,MAAM;MAC3B,MAAMM,KAAK,GAAGC,MAAM,CAACH,KAAK,CAACI,WAAW,CAAC;MAEvC,OAAOF,KAAK,GACR;QAAEG,aAAa,EAAEC,MAAM,CAAC,CAAC,GAAGJ,KAAK,GAAG,GAAG,CAAC,GAAG;MAAI,CAAC,GAChDK,SAAS;IACf,CAAC;EACH,CAAC;AACH;AAEA,OAAO,MAAMC,WAAW,GAAGX,gBAAgB,EAAoB,CAAC;EAC9DY,IAAI,EAAE,aAAa;EAEnBT,KAAK,EAAE;IACLI,WAAW,EAAE,CAACE,MAAM,EAAEH,MAAM,CAAC;IAC7BO,YAAY,EAAEJ,MAAM;IAEpB,GAAGb,kBAAkB,EAAE;IACvB,GAAGC,kBAAkB;EACvB,CAAC;EAEDiB,KAAKA,CAAEX,KAAK,EAAAY,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEX;IAAa,CAAC,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC/C,MAAM;MAAEc;IAAgB,CAAC,GAAGnB,YAAY,CAACK,KAAK,CAAC;IAE/CF,SAAS,CAAC,MAAAiB,YAAA;MAAA,SAEC,CACL,cAAc,EACdf,KAAK,CAACgB,KAAK,CACZ;MAAA,SACM,CACLF,eAAe,CAACG,KAAK,EACrBjB,KAAK,CAACkB,KAAK;IACZ,IAAAH,YAAA;MAAA,SAEU,qBAAqB;MAAA,SAASd,YAAY,CAACgB;IAAK,UAEzDJ,KAAK,CAACM,UAAU,IAAI,EAEpBN,KAAK,CAACO,OAAO,IAAAL,YAAA;MAAA,SACD,CAAC,uBAAuB,EAAEf,KAAK,CAACU,YAAY;IAAC,IAAIG,KAAK,CAACO,OAAO,EAAE,EAC7E,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VResponsive.mjs","names":["makeComponentProps","makeDimensionProps","useDimension","computed","genericComponent","propsFactory","useRender","useAspectStyles","props","aspectStyles","ratio","Number","aspectRatio","paddingBottom","String","undefined","makeVResponsiveProps","contentClass","inline","Boolean","VResponsive","name","setup","_ref","slots","dimensionStyles","_createVNode","class","value","style","additional","default"],"sources":["../../../src/components/VResponsive/VResponsive.tsx"],"sourcesContent":["// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport type VResponsiveSlots = {\n default: []\n additional: []\n}\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: String,\n inline: Boolean,\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-responsive')\n\nexport const VResponsive = genericComponent<VResponsiveSlots>()({\n name: 'VResponsive',\n\n props: makeVResponsiveProps(),\n\n setup (props, { slots }) {\n const { aspectStyles } = useAspectStyles(props)\n const { dimensionStyles } = useDimension(props)\n\n useRender(() => (\n <div\n class={[\n 'v-responsive',\n { 'v-responsive--inline': props.inline },\n props.class,\n ]}\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n\n { slots.additional?.() }\n\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VResponsive = InstanceType<typeof VResponsive>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY,4CAEzC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAOlD,OAAO,SAASC,eAAeA,CAAEC,KAAwC,EAAE;EACzE,OAAO;IACLC,YAAY,EAAEN,QAAQ,CAAC,MAAM;MAC3B,MAAMO,KAAK,GAAGC,MAAM,CAACH,KAAK,CAACI,WAAW,CAAC;MAEvC,OAAOF,KAAK,GACR;QAAEG,aAAa,EAAEC,MAAM,CAAC,CAAC,GAAGJ,KAAK,GAAG,GAAG,CAAC,GAAG;MAAI,CAAC,GAChDK,SAAS;IACf,CAAC;EACH,CAAC;AACH;AAEA,OAAO,MAAMC,oBAAoB,GAAGX,YAAY,CAAC;EAC/CO,WAAW,EAAE,CAACE,MAAM,EAAEH,MAAM,CAAC;EAC7BM,YAAY,EAAEH,MAAM;EACpBI,MAAM,EAAEC,OAAO;EAEf,GAAGnB,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB;AACvB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMmB,WAAW,GAAGhB,gBAAgB,EAAoB,CAAC;EAC9DiB,IAAI,EAAE,aAAa;EAEnBb,KAAK,EAAEQ,oBAAoB,EAAE;EAE7BM,KAAKA,CAAEd,KAAK,EAAAe,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEd;IAAa,CAAC,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC/C,MAAM;MAAEiB;IAAgB,CAAC,GAAGvB,YAAY,CAACM,KAAK,CAAC;IAE/CF,SAAS,CAAC,MAAAoB,YAAA;MAAA,SAEC,CACL,cAAc,EACd;QAAE,sBAAsB,EAAElB,KAAK,CAACU;MAAO,CAAC,EACxCV,KAAK,CAACmB,KAAK,CACZ;MAAA,SACM,CACLF,eAAe,CAACG,KAAK,EACrBpB,KAAK,CAACqB,KAAK;IACZ,IAAAH,YAAA;MAAA,SAEU,qBAAqB;MAAA,SAASjB,YAAY,CAACmB;IAAK,UAEzDJ,KAAK,CAACM,UAAU,IAAI,EAEpBN,KAAK,CAACO,OAAO,IAAAL,YAAA;MAAA,SACD,CAAC,uBAAuB,EAAElB,KAAK,CAACS,YAAY;IAAC,IAAIO,KAAK,CAACO,OAAO,EAAE,EAC7E,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,21 +1,29 @@
1
1
  @use '../../styles/settings'
2
2
 
3
3
  .v-responsive
4
- display: flex
4
+ display: grid
5
+ grid-template-rows: minmax(100%, 1fr)
6
+ grid-template-columns: 1fr
5
7
  flex: 1 0 auto
6
8
  max-height: 100%
7
9
  max-width: 100%
8
10
  overflow: hidden
9
11
  position: relative
10
12
 
13
+ &--inline
14
+ display: inline-grid
15
+ flex: 0 0 auto
16
+
11
17
  .v-responsive__content
12
18
  flex: 1 0 0px
13
19
  max-width: 100%
14
20
 
15
- .v-responsive__sizer ~ .v-responsive__content
16
- margin-inline-start: -100%
17
-
18
21
  .v-responsive__sizer
19
22
  flex: 1 0 0px
20
23
  transition: padding-bottom 0.2s settings.$standard-easing
21
24
  pointer-events: none
25
+
26
+ .v-responsive__sizer,
27
+ .v-responsive__content
28
+ grid-row-start: 1
29
+ grid-column-start: 1
@@ -10,8 +10,10 @@ declare const VResponsive: {
10
10
  $: vue.ComponentInternalInstance;
11
11
  $data: {};
12
12
  $props: Partial<{
13
+ inline: boolean;
13
14
  style: vue.StyleValue;
14
15
  }> & Omit<{
16
+ inline: boolean;
15
17
  style: vue.StyleValue;
16
18
  } & {
17
19
  height?: string | number | undefined;
@@ -35,7 +37,7 @@ declare const VResponsive: {
35
37
  } & {
36
38
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
37
39
  "v-slot:additional"?: false | (() => vue.VNodeChild) | undefined;
38
- } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style">;
40
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "inline" | "style">;
39
41
  $attrs: {
40
42
  [x: string]: unknown;
41
43
  };
@@ -50,6 +52,7 @@ declare const VResponsive: {
50
52
  $emit: (event: string, ...args: any[]) => void;
51
53
  $el: any;
52
54
  $options: vue.ComponentOptionsBase<{
55
+ inline: boolean;
53
56
  style: vue.StyleValue;
54
57
  } & {
55
58
  height?: string | number | undefined;
@@ -74,6 +77,7 @@ declare const VResponsive: {
74
77
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
75
78
  "v-slot:additional"?: false | (() => vue.VNodeChild) | undefined;
76
79
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
80
+ inline: boolean;
77
81
  style: vue.StyleValue;
78
82
  }, {}, string> & {
79
83
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
@@ -96,6 +100,7 @@ declare const VResponsive: {
96
100
  $nextTick: typeof vue.nextTick;
97
101
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
98
102
  } & {
103
+ inline: boolean;
99
104
  style: vue.StyleValue;
100
105
  } & {
101
106
  height?: string | number | undefined;
@@ -124,6 +129,7 @@ declare const VResponsive: {
124
129
  __isTeleport?: undefined;
125
130
  __isSuspense?: undefined;
126
131
  } & vue.ComponentOptionsBase<{
132
+ inline: boolean;
127
133
  style: vue.StyleValue;
128
134
  } & {
129
135
  height?: string | number | undefined;
@@ -148,6 +154,7 @@ declare const VResponsive: {
148
154
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
149
155
  "v-slot:additional"?: false | (() => vue.VNodeChild) | undefined;
150
156
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
157
+ inline: boolean;
151
158
  style: vue.StyleValue;
152
159
  }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
153
160
  height: (StringConstructor | NumberConstructor)[];
@@ -163,6 +170,7 @@ declare const VResponsive: {
163
170
  };
164
171
  aspectRatio: (StringConstructor | NumberConstructor)[];
165
172
  contentClass: StringConstructor;
173
+ inline: BooleanConstructor;
166
174
  }, vue.ExtractPropTypes<{
167
175
  height: (StringConstructor | NumberConstructor)[];
168
176
  maxHeight: (StringConstructor | NumberConstructor)[];
@@ -177,6 +185,7 @@ declare const VResponsive: {
177
185
  };
178
186
  aspectRatio: (StringConstructor | NumberConstructor)[];
179
187
  contentClass: StringConstructor;
188
+ inline: BooleanConstructor;
180
189
  }>>;
181
190
  type VResponsive = InstanceType<typeof VResponsive>;
182
191
 
@@ -10,6 +10,7 @@ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
10
10
  import { VDialogTransition } from "../transitions/index.mjs";
11
11
  import { VList, VListItem } from "../VList/index.mjs";
12
12
  import { VMenu } from "../VMenu/index.mjs";
13
+ import { VIcon } from "../VIcon/index.mjs";
13
14
  import { VTextField } from "../VTextField/index.mjs"; // Composables
14
15
  import { forwardRefs } from "../../composables/forwardRefs.mjs";
15
16
  import { IconValue } from "../../composables/icons.mjs";
@@ -261,11 +262,13 @@ export const VSelect = genericComponent()({
261
262
  let {
262
263
  isSelected
263
264
  } = _ref2;
264
- return props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {
265
+ return _createVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {
265
266
  "modelValue": isSelected,
266
267
  "ripple": false,
267
268
  "tabindex": "-1"
268
- }, null) : undefined;
269
+ }, null) : undefined, item.props.prependIcon && _createVNode(VIcon, {
270
+ "icon": item.props.prependIcon
271
+ }, null)]);
269
272
  }
270
273
  });
271
274
  }), slots['append-item']?.()]
@@ -278,6 +281,10 @@ export const VSelect = genericComponent()({
278
281
  }
279
282
  const slotProps = {
280
283
  'onClick:close': onChipClose,
284
+ onMousedown(e) {
285
+ e.preventDefault();
286
+ e.stopPropagation();
287
+ },
281
288
  modelValue: true,
282
289
  'onUpdate:modelValue': undefined
283
290
  };