@vuetify/nightly 3.2.0-next-20230118.0 → 4.0.0-master-20230206.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 (177) hide show
  1. package/CHANGELOG.md +204 -16
  2. package/dist/json/attributes.json +7202 -0
  3. package/dist/json/importMap-labs.json +4 -0
  4. package/dist/json/importMap.json +50 -50
  5. package/dist/json/tags.json +2492 -0
  6. package/dist/json/web-types.json +24081 -0
  7. package/dist/vuetify-labs.css +183 -176
  8. package/dist/vuetify-labs.d.ts +387 -176
  9. package/dist/vuetify-labs.esm.js +284 -216
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +283 -215
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +51 -44
  14. package/dist/vuetify.d.ts +329 -190
  15. package/dist/vuetify.esm.js +251 -186
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +250 -185
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +696 -685
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.ts +2 -2
  23. package/lib/blueprints/md1.d.ts +2 -2
  24. package/lib/blueprints/md2.d.ts +2 -2
  25. package/lib/blueprints/md3.d.ts +2 -2
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/index.d.ts +43 -20
  29. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -4
  30. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  31. package/lib/components/VBtn/VBtn.css +7 -7
  32. package/lib/components/VBtn/VBtn.mjs +8 -3
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtnGroup/VBtnGroup.mjs +15 -11
  35. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  36. package/lib/components/VBtnGroup/index.d.ts +2 -1
  37. package/lib/components/VBtnToggle/VBtnToggle.mjs +9 -5
  38. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  39. package/lib/components/VBtnToggle/index.d.ts +122 -1
  40. package/lib/components/VCalendar/VCalendar.mjs +3 -0
  41. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  42. package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
  43. package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
  44. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  45. package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
  46. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  47. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
  48. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  49. package/lib/components/VCalendar/mixins/mouse.mjs +16 -30
  50. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  51. package/lib/components/VCard/VCard.css +7 -7
  52. package/lib/components/VChip/VChip.css +7 -7
  53. package/lib/components/VCombobox/VCombobox.mjs +3 -3
  54. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  55. package/lib/components/VCombobox/index.d.ts +43 -20
  56. package/lib/components/VData/VData.mjs +2 -4
  57. package/lib/components/VData/VData.mjs.map +1 -1
  58. package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
  59. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  60. package/lib/components/VDefaultsProvider/index.d.ts +5 -4
  61. package/lib/components/VDialog/VDialog.mjs +6 -5
  62. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  63. package/lib/components/VDialog/index.d.ts +57 -34
  64. package/lib/components/VDivider/VDivider.mjs +6 -6
  65. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  66. package/lib/components/VExpansionPanel/VExpansionPanel.css +7 -7
  67. package/lib/components/VField/VField.css +2 -2
  68. package/lib/components/VField/VField.mjs +28 -26
  69. package/lib/components/VField/VField.mjs.map +1 -1
  70. package/lib/components/VField/VField.sass +2 -2
  71. package/lib/components/VFileInput/VFileInput.mjs +7 -4
  72. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  73. package/lib/components/VForm/index.d.ts +0 -3
  74. package/lib/components/VList/VList.mjs +4 -1
  75. package/lib/components/VList/VList.mjs.map +1 -1
  76. package/lib/components/VList/VListItem.css +7 -7
  77. package/lib/components/VList/VListItem.mjs +29 -19
  78. package/lib/components/VList/VListItem.mjs.map +1 -1
  79. package/lib/components/VMenu/VMenu.mjs +6 -5
  80. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  81. package/lib/components/VMenu/index.d.ts +57 -34
  82. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
  83. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
  84. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  85. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +4 -0
  86. package/lib/components/VNavigationDrawer/index.d.ts +3 -3
  87. package/lib/components/VNavigationDrawer/touch.mjs +7 -6
  88. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  89. package/lib/components/VOtpInput/VOtpInput.mjs +22 -46
  90. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  91. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
  92. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  93. package/lib/components/VOverlay/index.d.ts +34 -11
  94. package/lib/components/VOverlay/locationStrategies.mjs +40 -29
  95. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  96. package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
  97. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  98. package/lib/components/VPagination/VPagination.mjs +1 -1
  99. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  100. package/lib/components/VSelect/VSelect.mjs +3 -4
  101. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  102. package/lib/components/VSelect/index.d.ts +43 -20
  103. package/lib/components/VSelectionControl/VSelectionControl.css +2 -2
  104. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
  105. package/lib/components/VSnackbar/index.d.ts +42 -19
  106. package/lib/components/VStepper/VStepper.sass +6 -6
  107. package/lib/components/VStepper/VStepperStep.mjs +12 -2
  108. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  109. package/lib/components/VTable/VTable.css +4 -4
  110. package/lib/components/VTable/VTable.sass +2 -2
  111. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  112. package/lib/components/VTimeline/_mixins.sass +1 -1
  113. package/lib/components/VTooltip/VTooltip.mjs +4 -3
  114. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  115. package/lib/components/VTooltip/index.d.ts +57 -34
  116. package/lib/components/VTreeview/VTreeview.mjs +1 -1
  117. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  118. package/lib/components/index.d.ts +316 -176
  119. package/lib/composables/defaults.mjs +1 -1
  120. package/lib/composables/defaults.mjs.map +1 -1
  121. package/lib/composables/filter.mjs +3 -3
  122. package/lib/composables/filter.mjs.map +1 -1
  123. package/lib/composables/form.mjs +0 -1
  124. package/lib/composables/form.mjs.map +1 -1
  125. package/lib/composables/nested/nested.mjs +2 -1
  126. package/lib/composables/nested/nested.mjs.map +1 -1
  127. package/lib/composables/toggleScope.mjs +14 -7
  128. package/lib/composables/toggleScope.mjs.map +1 -1
  129. package/lib/directives/ripple/VRipple.css +3 -0
  130. package/lib/directives/ripple/VRipple.sass +3 -0
  131. package/lib/directives/ripple/_variables.scss +1 -1
  132. package/lib/directives/ripple/index.mjs +2 -7
  133. package/lib/directives/ripple/index.mjs.map +1 -1
  134. package/lib/entry-bundler.mjs +1 -1
  135. package/lib/entry-bundler.mjs.map +1 -1
  136. package/lib/framework.mjs +1 -1
  137. package/lib/framework.mjs.map +1 -1
  138. package/lib/index.d.ts +16 -16
  139. package/lib/labs/VDataTable/VDataTable.mjs +6 -6
  140. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  141. package/lib/labs/VDataTable/VDataTableFooter.mjs +1 -1
  142. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  143. package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
  144. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  145. package/lib/labs/VDataTable/VDataTableServer.mjs +19 -12
  146. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  147. package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -5
  148. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  149. package/lib/labs/VDataTable/composables/options.mjs +3 -7
  150. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  151. package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
  152. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  153. package/lib/labs/VDataTable/index.d.ts +71 -1
  154. package/lib/labs/VDataTable/index.mjs +1 -0
  155. package/lib/labs/VDataTable/index.mjs.map +1 -1
  156. package/lib/labs/components.d.ts +71 -1
  157. package/lib/locale/adapters/vue-i18n.mjs +12 -2
  158. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  159. package/lib/locale/ar.mjs +20 -20
  160. package/lib/locale/ar.mjs.map +1 -1
  161. package/lib/locale/en.mjs +2 -2
  162. package/lib/locale/en.mjs.map +1 -1
  163. package/lib/locale/es.mjs +3 -3
  164. package/lib/locale/es.mjs.map +1 -1
  165. package/lib/locale/fi.mjs +5 -5
  166. package/lib/locale/fi.mjs.map +1 -1
  167. package/lib/locale/it.mjs +6 -6
  168. package/lib/locale/it.mjs.map +1 -1
  169. package/lib/locale/sv.mjs +13 -13
  170. package/lib/locale/sv.mjs.map +1 -1
  171. package/lib/styles/settings/_variables.scss +6 -6
  172. package/lib/styles/tools/_states.sass +3 -3
  173. package/lib/util/defineComponent.mjs +21 -18
  174. package/lib/util/defineComponent.mjs.map +1 -1
  175. package/lib/util/helpers.mjs +5 -19
  176. package/lib/util/helpers.mjs.map +1 -1
  177. package/package.json +1 -1
package/lib/locale/sv.mjs CHANGED
@@ -2,18 +2,18 @@ export default {
2
2
  badge: 'Bricka',
3
3
  close: 'Stäng',
4
4
  dataIterator: {
5
- noResultsText: 'Inga poster funna',
5
+ noResultsText: 'Hittade inga poster',
6
6
  loadingText: 'Laddar data...'
7
7
  },
8
8
  dataTable: {
9
9
  itemsPerPageText: 'Rader per sida:',
10
10
  ariaLabel: {
11
- sortDescending: 'Sorterat fallande.',
12
- sortAscending: 'Sorterat stigande.',
11
+ sortDescending: 'Fallande sortering.',
12
+ sortAscending: 'Stigande sortering.',
13
13
  sortNone: 'Osorterat.',
14
14
  activateNone: 'Aktivera för att ta bort sortering.',
15
- activateDescending: 'Aktivera för sortering fallande.',
16
- activateAscending: 'Aktivera för sortering stigande.'
15
+ activateDescending: 'Aktivera för att sortera fallande.',
16
+ activateAscending: 'Aktivera för att sortera stigande.'
17
17
  },
18
18
  sortBy: 'Sortera efter'
19
19
  },
@@ -38,20 +38,20 @@ export default {
38
38
  prev: 'Föregående vy',
39
39
  next: 'Nästa vy',
40
40
  ariaLabel: {
41
- delimiter: 'Carousel slide {0} of {1}'
41
+ delimiter: 'Karusellvy {0} av {1}'
42
42
  }
43
43
  },
44
44
  calendar: {
45
45
  moreEvents: '{0} fler'
46
46
  },
47
47
  input: {
48
- clear: 'Clear {0}',
48
+ clear: 'Rensa {0}',
49
49
  prependAction: '{0} prepended action',
50
50
  appendAction: '{0} appended action'
51
51
  },
52
52
  fileInput: {
53
53
  counter: '{0} filer',
54
- counterSize: '{0} filer (av {1} totalt)'
54
+ counterSize: '{0} filer ({1})'
55
55
  },
56
56
  timePicker: {
57
57
  am: 'AM',
@@ -59,18 +59,18 @@ export default {
59
59
  },
60
60
  pagination: {
61
61
  ariaLabel: {
62
- root: 'Pagination Navigation',
62
+ root: 'Paginering',
63
63
  next: 'Nästa sida',
64
64
  previous: 'Föregående sida',
65
- page: 'Gå till sidan {0}',
65
+ page: 'Gå till sida {0}',
66
66
  currentPage: 'Aktuell sida, sida {0}',
67
- first: 'First page',
68
- last: 'Last page'
67
+ first: 'Första sidan',
68
+ last: 'Sista sidan'
69
69
  }
70
70
  },
71
71
  rating: {
72
72
  ariaLabel: {
73
- item: 'Rating {0} of {1}'
73
+ item: 'Betyg {0} av {1}'
74
74
  }
75
75
  }
76
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sv.mjs","names":["badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","input","clear","prependAction","appendAction","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","rating","item"],"sources":["../../src/locale/sv.ts"],"sourcesContent":["export default {\n badge: 'Bricka',\n close: 'Stäng',\n dataIterator: {\n noResultsText: 'Inga poster funna',\n loadingText: 'Laddar data...',\n },\n dataTable: {\n itemsPerPageText: 'Rader per sida:',\n ariaLabel: {\n sortDescending: 'Sorterat fallande.',\n sortAscending: 'Sorterat stigande.',\n sortNone: 'Osorterat.',\n activateNone: 'Aktivera för att ta bort sortering.',\n activateDescending: 'Aktivera för sortering fallande.',\n activateAscending: 'Aktivera för sortering stigande.',\n },\n sortBy: 'Sortera efter',\n },\n dataFooter: {\n itemsPerPageText: 'Objekt per sida:',\n itemsPerPageAll: 'Alla',\n nextPage: 'Nästa sida',\n prevPage: 'Föregående sida',\n firstPage: 'Första sidan',\n lastPage: 'Sista sidan',\n pageText: '{0}-{1} av {2}',\n },\n datePicker: {\n itemsSelected: '{0} markerade',\n nextMonthAriaLabel: 'Nästa månad',\n nextYearAriaLabel: 'Nästa år',\n prevMonthAriaLabel: 'Förra månaden',\n prevYearAriaLabel: 'Förra året',\n },\n noDataText: 'Ingen data tillgänglig',\n carousel: {\n prev: 'Föregående vy',\n next: 'Nästa vy',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} fler',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n },\n fileInput: {\n counter: '{0} filer',\n counterSize: '{0} filer (av {1} totalt)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Nästa sida',\n previous: 'Föregående sida',\n page: 'Gå till sidan {0}',\n currentPage: 'Aktuell sida, sida {0}',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE;IACZC,aAAa,EAAE,mBAAmB;IAClCC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,iBAAiB;IACnCC,SAAS,EAAE;MACTC,cAAc,EAAE,oBAAoB;MACpCC,aAAa,EAAE,oBAAoB;MACnCC,QAAQ,EAAE,YAAY;MACtBC,YAAY,EAAE,qCAAqC;MACnDC,kBAAkB,EAAE,kCAAkC;MACtDC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,kBAAkB;IACpCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,YAAY;IACtBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE,aAAa;IACvBC,QAAQ,EAAE;EACZ,CAAC;EACDC,UAAU,EAAE;IACVC,aAAa,EAAE,eAAe;IAC9BC,kBAAkB,EAAE,aAAa;IACjCC,iBAAiB,EAAE,UAAU;IAC7BC,kBAAkB,EAAE,eAAe;IACnCC,iBAAiB,EAAE;EACrB,CAAC;EACDC,UAAU,EAAE,wBAAwB;EACpCC,QAAQ,EAAE;IACRC,IAAI,EAAE,eAAe;IACrBC,IAAI,EAAE,UAAU;IAChBxB,SAAS,EAAE;MACTyB,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLC,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE;EAChB,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,WAAW;IACpBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACVtC,SAAS,EAAE;MACTuC,IAAI,EAAE,uBAAuB;MAC7Bf,IAAI,EAAE,YAAY;MAClBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,mBAAmB;MACzBC,WAAW,EAAE,wBAAwB;MACrCC,KAAK,EAAE,YAAY;MACnBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,MAAM,EAAE;IACN7C,SAAS,EAAE;MACT8C,IAAI,EAAE;IACR;EACF;AACF,CAAC"}
1
+ {"version":3,"file":"sv.mjs","names":["badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","input","clear","prependAction","appendAction","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","rating","item"],"sources":["../../src/locale/sv.ts"],"sourcesContent":["export default {\n badge: 'Bricka',\n close: 'Stäng',\n dataIterator: {\n noResultsText: 'Hittade inga poster',\n loadingText: 'Laddar data...',\n },\n dataTable: {\n itemsPerPageText: 'Rader per sida:',\n ariaLabel: {\n sortDescending: 'Fallande sortering.',\n sortAscending: 'Stigande sortering.',\n sortNone: 'Osorterat.',\n activateNone: 'Aktivera för att ta bort sortering.',\n activateDescending: 'Aktivera för att sortera fallande.',\n activateAscending: 'Aktivera för att sortera stigande.',\n },\n sortBy: 'Sortera efter',\n },\n dataFooter: {\n itemsPerPageText: 'Objekt per sida:',\n itemsPerPageAll: 'Alla',\n nextPage: 'Nästa sida',\n prevPage: 'Föregående sida',\n firstPage: 'Första sidan',\n lastPage: 'Sista sidan',\n pageText: '{0}-{1} av {2}',\n },\n datePicker: {\n itemsSelected: '{0} markerade',\n nextMonthAriaLabel: 'Nästa månad',\n nextYearAriaLabel: 'Nästa år',\n prevMonthAriaLabel: 'Förra månaden',\n prevYearAriaLabel: 'Förra året',\n },\n noDataText: 'Ingen data tillgänglig',\n carousel: {\n prev: 'Föregående vy',\n next: 'Nästa vy',\n ariaLabel: {\n delimiter: 'Karusellvy {0} av {1}',\n },\n },\n calendar: {\n moreEvents: '{0} fler',\n },\n input: {\n clear: 'Rensa {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n },\n fileInput: {\n counter: '{0} filer',\n counterSize: '{0} filer ({1})',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Paginering',\n next: 'Nästa sida',\n previous: 'Föregående sida',\n page: 'Gå till sida {0}',\n currentPage: 'Aktuell sida, sida {0}',\n first: 'Första sidan',\n last: 'Sista sidan',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Betyg {0} av {1}',\n },\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAE,OAAO;EACdC,YAAY,EAAE;IACZC,aAAa,EAAE,qBAAqB;IACpCC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,iBAAiB;IACnCC,SAAS,EAAE;MACTC,cAAc,EAAE,qBAAqB;MACrCC,aAAa,EAAE,qBAAqB;MACpCC,QAAQ,EAAE,YAAY;MACtBC,YAAY,EAAE,qCAAqC;MACnDC,kBAAkB,EAAE,oCAAoC;MACxDC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,kBAAkB;IACpCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,YAAY;IACtBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE,aAAa;IACvBC,QAAQ,EAAE;EACZ,CAAC;EACDC,UAAU,EAAE;IACVC,aAAa,EAAE,eAAe;IAC9BC,kBAAkB,EAAE,aAAa;IACjCC,iBAAiB,EAAE,UAAU;IAC7BC,kBAAkB,EAAE,eAAe;IACnCC,iBAAiB,EAAE;EACrB,CAAC;EACDC,UAAU,EAAE,wBAAwB;EACpCC,QAAQ,EAAE;IACRC,IAAI,EAAE,eAAe;IACrBC,IAAI,EAAE,UAAU;IAChBxB,SAAS,EAAE;MACTyB,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLC,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE;EAChB,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,WAAW;IACpBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACVtC,SAAS,EAAE;MACTuC,IAAI,EAAE,YAAY;MAClBf,IAAI,EAAE,YAAY;MAClBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,kBAAkB;MACxBC,WAAW,EAAE,wBAAwB;MACrCC,KAAK,EAAE,cAAc;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,MAAM,EAAE;IACN7C,SAAS,EAAE;MACT8C,IAAI,EAAE;IACR;EACF;AACF,CAAC"}
@@ -49,12 +49,12 @@ $border-opacities: map-deep-merge(
49
49
  $states: () !default;
50
50
  $states: map-deep-merge(
51
51
  (
52
- 'hover': 0.04,
53
- 'focus': 0.12,
54
- 'selected': 0.08,
55
- 'activated': 0.12,
56
- 'pressed': 0.16,
57
- 'dragged': 0.08
52
+ 'hover': var(--v-hover-opacity),
53
+ 'focus': var(--v-focus-opacity),
54
+ 'selected': var(--v-selected-opacity),
55
+ 'activated': var(--v-activated-opacity),
56
+ 'pressed': var(--v-pressed-opacity),
57
+ 'dragged': var(--v-dragged-opacity)
58
58
  ),
59
59
  $states
60
60
  );
@@ -30,13 +30,13 @@
30
30
 
31
31
  &:hover
32
32
  #{$selector}
33
- opacity: calc(#{map.get(settings.$states, 'activated') + map.get(settings.$states, 'hover')} * var(--v-theme-overlay-multiplier))
33
+ opacity: calc((#{map.get(settings.$states, 'activated')} + #{map.get(settings.$states, 'hover')}) * var(--v-theme-overlay-multiplier))
34
34
 
35
35
  &:focus-visible
36
36
  #{$selector}
37
- opacity: calc(#{map.get(settings.$states, 'activated') + map.get(settings.$states, 'focus')} * var(--v-theme-overlay-multiplier))
37
+ opacity: calc((#{map.get(settings.$states, 'activated')} + #{map.get(settings.$states, 'focus')}) * var(--v-theme-overlay-multiplier))
38
38
 
39
39
  @supports not selector(:focus-visible)
40
40
  &:focus
41
41
  #{$selector}
42
- opacity: calc(#{map.get(settings.$states, 'activated') + map.get(settings.$states, 'focus')} * var(--v-theme-overlay-multiplier))
42
+ opacity: calc((#{map.get(settings.$states, 'activated')} + #{map.get(settings.$states, 'focus')}) * var(--v-theme-overlay-multiplier))
@@ -1,7 +1,7 @@
1
1
  // Utils
2
2
  import { defineComponent as _defineComponent,
3
3
  // eslint-disable-line no-restricted-imports
4
- getCurrentInstance, shallowReactive, shallowRef, toRaw, watchEffect } from 'vue';
4
+ computed, getCurrentInstance, shallowRef, watchEffect } from 'vue';
5
5
  import { consoleWarn } from "./console.mjs";
6
6
  import { mergeDeep, toKebabCase } from "./helpers.mjs";
7
7
  import { injectSelf } from "./injectSelf.mjs";
@@ -23,33 +23,36 @@ export const defineComponent = function defineComponent(options) {
23
23
  options.props = propsFactory(options.props, toKebabCase(options.name))();
24
24
  options.props._as = String;
25
25
  options.setup = function setup(props, ctx) {
26
- const vm = getCurrentInstance();
27
26
  const defaults = useDefaults();
28
- const _subcomponentDefaults = shallowRef();
29
- const _props = shallowReactive({
30
- ...toRaw(props)
27
+
28
+ // Skip props proxy if defaults are not provided
29
+ if (!defaults.value) return options._setup(props, ctx);
30
+ const vm = getCurrentInstance();
31
+ const componentDefaults = computed(() => defaults.value[props._as ?? options.name]);
32
+ const _props = new Proxy(props, {
33
+ get(target, prop) {
34
+ if (!propIsDefined(vm.vnode, prop)) {
35
+ var _componentDefaults$va, _global;
36
+ return ((_componentDefaults$va = componentDefaults.value) == null ? void 0 : _componentDefaults$va[prop]) ?? ((_global = defaults.value.global) == null ? void 0 : _global[prop]) ?? target[prop];
37
+ }
38
+ return Reflect.get(target, prop);
39
+ }
31
40
  });
41
+ const _subcomponentDefaults = shallowRef();
32
42
  watchEffect(() => {
33
- const globalDefaults = defaults.value.global;
34
- const componentDefaults = defaults.value[props._as ?? options.name];
35
- if (componentDefaults) {
36
- const subComponents = Object.entries(componentDefaults).filter(_ref => {
43
+ if (componentDefaults.value) {
44
+ const subComponents = Object.entries(componentDefaults.value).filter(_ref => {
37
45
  let [key] = _ref;
38
46
  return key.startsWith(key[0].toUpperCase());
39
47
  });
40
48
  if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents);
41
49
  }
42
- for (const prop of Object.keys(props)) {
43
- let newVal = props[prop];
44
- if (!propIsDefined(vm.vnode, prop)) {
45
- newVal = (componentDefaults == null ? void 0 : componentDefaults[prop]) ?? (globalDefaults == null ? void 0 : globalDefaults[prop]) ?? props[prop];
46
- }
47
- if (_props[prop] !== newVal) {
48
- _props[prop] = newVal;
49
- }
50
- }
51
50
  });
52
51
  const setupBindings = options._setup(_props, ctx);
52
+
53
+ // If subcomponent defaults are provided, override any
54
+ // subcomponents provided by the component's setup function.
55
+ // This uses injectSelf so must be done after the original setup to work.
53
56
  useToggleScope(_subcomponentDefaults, () => {
54
57
  var _injectSelf;
55
58
  provideDefaults(mergeDeep(((_injectSelf = injectSelf(DefaultsSymbol)) == null ? void 0 : _injectSelf.value) ?? {}, _subcomponentDefaults.value));
@@ -1 +1 @@
1
- {"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","getCurrentInstance","shallowReactive","shallowRef","toRaw","watchEffect","consoleWarn","mergeDeep","toKebabCase","injectSelf","DefaultsSymbol","provideDefaults","useDefaults","useToggleScope","propsFactory","propIsDefined","vnode","prop","props","options","_setup","setup","name","_as","String","ctx","vm","defaults","_subcomponentDefaults","_props","globalDefaults","value","global","componentDefaults","subComponents","Object","entries","filter","key","startsWith","toUpperCase","length","fromEntries","keys","newVal","setupBindings","genericComponent","exposeDefaults","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n getCurrentInstance,\n shallowReactive,\n shallowRef,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { mergeDeep, toKebabCase } from '@/util/helpers'\nimport { injectSelf } from '@/util/injectSelf'\nimport { DefaultsSymbol, provideDefaults, useDefaults } from '@/composables/defaults'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type {\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\nimport { propsFactory } from '@/util/propsFactory'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n\n options.props = propsFactory(options.props, toKebabCase(options.name))()\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _subcomponentDefaults = shallowRef()\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[props._as ?? options.name!]\n\n if (componentDefaults) {\n const subComponents = Object.entries(componentDefaults).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n\n for (const prop of Object.keys(props)) {\n let newVal = props[prop]\n if (!propIsDefined(vm.vnode, prop)) {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(injectSelf(DefaultsSymbol)?.value ?? {}, _subcomponentDefaults.value))\n })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({\n $children?: (\n | VNodeChild\n | (keyof T extends 'default' ? T['default'] : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}) : T extends Record<string, any[]> ? SlotsToProps<MakeSlots<T>> : never\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $props?: Record<string, any>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n I extends Record<'$props', any>\n ? Omit<PropsOptions, keyof I['$props']>\n : PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"defineComponent.mjs","names":["defineComponent","_defineComponent","computed","getCurrentInstance","shallowRef","watchEffect","consoleWarn","mergeDeep","toKebabCase","injectSelf","DefaultsSymbol","provideDefaults","useDefaults","useToggleScope","propsFactory","propIsDefined","vnode","prop","props","options","_setup","setup","name","_as","String","ctx","defaults","value","vm","componentDefaults","_props","Proxy","get","target","global","Reflect","_subcomponentDefaults","subComponents","Object","entries","filter","key","startsWith","toUpperCase","length","fromEntries","setupBindings","genericComponent","exposeDefaults","defineFunctionalComponent","render"],"sources":["../../src/util/defineComponent.tsx"],"sourcesContent":["// Utils\nimport {\n defineComponent as _defineComponent, // eslint-disable-line no-restricted-imports\n computed,\n getCurrentInstance,\n shallowRef,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { mergeDeep, toKebabCase } from '@/util/helpers'\nimport { injectSelf } from '@/util/injectSelf'\nimport { DefaultsSymbol, provideDefaults, useDefaults } from '@/composables/defaults'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Types\nimport type {\n ComponentObjectPropsOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n ExtractDefaultPropTypes,\n ExtractPropTypes,\n FunctionalComponent,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\nimport { propsFactory } from '@/util/propsFactory'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.props = options.props ?? {}\n\n options.props = propsFactory(options.props, toKebabCase(options.name))()\n\n options.props._as = String\n options.setup = function setup (props: Record<string, any>, ctx) {\n const defaults = useDefaults()\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx)\n\n const vm = getCurrentInstance()!\n const componentDefaults = computed(() => defaults.value![props._as ?? options.name!])\n const _props = new Proxy(props, {\n get (target, prop: string) {\n if (!propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value!.global?.[prop] ?? target[prop]\n }\n return Reflect.get(target, prop)\n },\n })\n\n const _subcomponentDefaults = shallowRef()\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(([key]) => key.startsWith(key[0].toUpperCase()))\n if (subComponents.length) _subcomponentDefaults.value = Object.fromEntries(subComponents)\n }\n })\n\n const setupBindings = options._setup(_props, ctx)\n\n // If subcomponent defaults are provided, override any\n // subcomponents provided by the component's setup function.\n // This uses injectSelf so must be done after the original setup to work.\n useToggleScope(_subcomponentDefaults, () => {\n provideDefaults(mergeDeep(\n injectSelf(DefaultsSymbol)?.value ?? {},\n _subcomponentDefaults.value\n ))\n })\n\n return setupBindings\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\n\nexport type SlotsToProps<T extends Record<string, any>> = T extends Record<string, Slot> ? ({\n $children?: (\n | VNodeChild\n | (keyof T extends 'default' ? T['default'] : {})\n | { [K in keyof T]?: T[K] }\n )\n 'v-slots'?: { [K in keyof T]?: T[K] | false }\n} & {\n [K in keyof T as `v-slot:${K & string}`]?: T[K] | false\n}) : T extends Record<string, any[]> ? SlotsToProps<MakeSlots<T>> : never\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $props?: Record<string, any>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n I extends Record<'$props', any>\n ? Omit<PropsOptions, keyof I['$props']>\n : PropsOptions,\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n\nexport function defineFunctionalComponent<\n T extends FunctionalComponent<Props>,\n PropsOptions = ComponentObjectPropsOptions,\n Defaults = ExtractDefaultPropTypes<PropsOptions>,\n Props = Readonly<ExtractPropTypes<PropsOptions>>,\n> (props: PropsOptions, render: T): FunctionalComponent<Partial<Defaults> & Omit<Props, keyof Defaults>> {\n render.props = props as any\n return render as any\n}\n"],"mappings":"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"}
@@ -72,24 +72,6 @@ export function getZIndex(el) {
72
72
  if (!index) return getZIndex(el.parentNode);
73
73
  return index;
74
74
  }
75
- const tagsToReplace = {
76
- '&': '&amp;',
77
- '<': '&lt;',
78
- '>': '&gt;'
79
- };
80
- export function escapeHTML(str) {
81
- return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag);
82
- }
83
- export function filterObjectOnKeys(obj, keys) {
84
- const filtered = {};
85
- for (let i = 0; i < keys.length; i++) {
86
- const key = keys[i];
87
- if (typeof obj[key] !== 'undefined') {
88
- filtered[key] = obj[key];
89
- }
90
- }
91
- return filtered;
92
- }
93
75
  export function convertToUnit(str) {
94
76
  let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
95
77
  if (str == null || str === '') {
@@ -332,8 +314,12 @@ export const randomHexColor = () => {
332
314
  };
333
315
  export function toKebabCase() {
334
316
  let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
335
- return str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
317
+ if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
318
+ const kebab = str.replace(/[^a-z]/gi, '-').replace(/\B([A-Z])/g, '-$1').toLowerCase();
319
+ toKebabCase.cache.set(str, kebab);
320
+ return kebab;
336
321
  }
322
+ toKebabCase.cache = new Map();
337
323
  export function findChildren(vnode) {
338
324
  if (!vnode || typeof vnode !== 'object') {
339
325
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","tagsToReplace","escapeHTML","str","tag","filterObjectOnKeys","filtered","key","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","some","RegExp","test","omit","exclude","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","groupItems","items","groupBy","groupDesc","groups","current","val","name","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","padEnd","char","repeat","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","CircularBuffer","constructor","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","callEvent","handler","h"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T = (...args: any[]) => any> = T | T[]\nexport const EventProp = [Function, Array] as PropType<EventProp>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent (handler: EventProp | undefined, ...args: any[]) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.mjs","names":["camelize","capitalize","computed","Fragment","reactive","toRefs","watchEffect","getNestedValue","obj","path","fallback","last","length","undefined","i","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","replace","split","getPropertyFromItem","item","property","value","Array","isArray","createRange","start","from","v","k","getZIndex","el","nodeType","Node","ELEMENT_NODE","index","window","getComputedStyle","getPropertyValue","parentNode","convertToUnit","str","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","left","right","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","omit","exclude","clone","forEach","prop","filterInputAttrs","attrs","arrayDiff","diff","includes","push","groupItems","items","groupBy","groupDesc","groups","current","val","name","wrapInArray","defaultFilter","search","toString","toLocaleLowerCase","indexOf","searchItems","toLowerCase","trim","filter","debounce","fn","delay","timeoutId","args","clearTimeout","setTimeout","throttle","limit","throttling","getPrefixedSlots","prefix","slots","startsWith","reduce","clamp","min","max","Math","padEnd","char","repeat","chunk","size","chunked","substr","humanReadableFileSize","bytes","base","abs","toFixed","camelizeObjectKeys","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","fillArray","fill","flattenFragments","nodes","map","node","type","children","flat","randomHexColor","n","random","slice","toKebabCase","cache","has","get","kebab","set","Map","findChildren","vnode","child","component","subTree","findChildrenWithProvide","getOwnPropertySymbols","provides","CircularBuffer","constructor","values","concat","getEventCoordinates","e","clientX","touches","clientY","destructComputed","getter","refs","flush","arr","onRE","isOn","EventProp","Function","hasEvent","callEvent","handler","h"],"sources":["../../src/util/helpers.ts"],"sourcesContent":["// Utilities\nimport { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n ComputedGetter,\n InjectionKey,\n PropType,\n Ref,\n Slots,\n ToRefs,\n VNode,\n VNodeChild,\n} from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\nexport function omit<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, exclude: U[]): Omit<T, U> {\n const clone = { ...obj }\n\n exclude.forEach(prop => delete clone[prop])\n\n return clone\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n arrayFn?: (a: unknown[], b: unknown[]) => unknown[],\n) {\n const out: Record<string, any> = {}\n\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn)\n\n continue\n }\n\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str)!\n const kebab = str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n toKebabCase.cache.set(str, kebab)\n return kebab\n}\ntoKebabCase.cache = new Map<string, string>()\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport function findChildrenWithProvide (\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') return []\n\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1)\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key as symbol)) {\n return [vnode.component]\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1)\n }\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n\nexport function getEventCoordinates (e: MouseEvent | TouchEvent) {\n if ('touches' in e) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n\n return { clientX: e.clientX, clientY: e.clientY }\n}\n\n// Only allow a single return type\ntype NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never\ntype _NotAUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\nexport function destructComputed<T extends object> (getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>\nexport function destructComputed<T extends object> (getter: ComputedGetter<T>) {\n const refs = reactive({}) as T\n const base = computed(getter)\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key]\n }\n }, { flush: 'sync' })\n return toRefs(refs)\n}\n\n/** Array.includes but value can be any type */\nexport function includes (arr: readonly any[], val: any) {\n return arr.includes(val)\n}\n\nconst onRE = /^on[^a-z]/\nexport const isOn = (key: string) => onRE.test(key)\n\nexport type EventProp<T = (...args: any[]) => any> = T | T[]\nexport const EventProp = [Function, Array] as PropType<EventProp>\n\nexport function hasEvent (props: Record<string, any>, name: string) {\n name = 'on' + capitalize(name)\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`])\n}\n\nexport function callEvent (handler: EventProp | undefined, ...args: any[]) {\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args)\n }\n } else if (typeof handler === 'function') {\n handler(...args)\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.2.0-next-20230118.0",
4
+ "version": "4.0.0-master-20230206.0",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"