@vuetify/nightly 3.7.5-master.2024-12-17 → 3.7.6-dev.2025-01-06

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 (290) hide show
  1. package/dist/json/attributes.json +2037 -2021
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +164 -164
  4. package/dist/json/tags.json +4 -0
  5. package/dist/json/web-types.json +4057 -4019
  6. package/dist/vuetify-labs.css +4809 -4809
  7. package/dist/vuetify-labs.d.ts +3395 -14377
  8. package/dist/vuetify-labs.esm.js +81 -62
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +80 -61
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2423 -2423
  13. package/dist/vuetify.d.ts +3157 -12301
  14. package/dist/vuetify.esm.js +81 -62
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +80 -61
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +894 -894
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/blueprints/index.d.mts +2 -0
  22. package/lib/blueprints/md1.d.mts +2 -0
  23. package/lib/blueprints/md2.d.mts +2 -0
  24. package/lib/blueprints/md3.d.mts +2 -0
  25. package/lib/components/VAlert/VAlert.mjs +1 -1
  26. package/lib/components/VAlert/index.d.mts +8 -86
  27. package/lib/components/VApp/index.d.mts +4 -20
  28. package/lib/components/VAppBar/VAppBar.mjs +1 -1
  29. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
  30. package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
  31. package/lib/components/VAppBar/index.d.mts +18 -154
  32. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
  33. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  34. package/lib/components/VAutocomplete/index.d.mts +201 -1360
  35. package/lib/components/VAvatar/index.d.mts +4 -31
  36. package/lib/components/VBadge/VBadge.mjs +1 -1
  37. package/lib/components/VBadge/index.d.mts +4 -41
  38. package/lib/components/VBanner/VBanner.mjs +1 -1
  39. package/lib/components/VBanner/index.d.mts +12 -88
  40. package/lib/components/VBottomNavigation/index.d.mts +4 -32
  41. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  42. package/lib/components/VBottomSheet/index.d.mts +4 -88
  43. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
  44. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
  45. package/lib/components/VBreadcrumbs/index.d.mts +12 -65
  46. package/lib/components/VBtn/VBtn.mjs +1 -1
  47. package/lib/components/VBtn/index.d.mts +11 -79
  48. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
  49. package/lib/components/VBtnGroup/index.d.mts +4 -28
  50. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  51. package/lib/components/VBtnToggle/index.d.mts +13 -33
  52. package/lib/components/VCard/VCard.mjs +1 -1
  53. package/lib/components/VCard/VCardItem.mjs +1 -1
  54. package/lib/components/VCard/VCardSubtitle.mjs +1 -1
  55. package/lib/components/VCard/VCardText.mjs +1 -1
  56. package/lib/components/VCard/index.d.mts +24 -190
  57. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  58. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  59. package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
  60. package/lib/components/VCarousel/index.d.mts +17 -95
  61. package/lib/components/VCheckbox/VCheckbox.mjs +4 -4
  62. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  63. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  64. package/lib/components/VCheckbox/index.d.mts +8 -90
  65. package/lib/components/VChip/VChip.mjs +16 -9
  66. package/lib/components/VChip/VChip.mjs.map +1 -1
  67. package/lib/components/VChip/index.d.mts +9 -105
  68. package/lib/components/VChipGroup/VChipGroup.mjs +3 -1
  69. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  70. package/lib/components/VChipGroup/index.d.mts +24 -43
  71. package/lib/components/VCode/index.d.mts +4 -18
  72. package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
  73. package/lib/components/VColorPicker/index.d.mts +4 -68
  74. package/lib/components/VCombobox/VCombobox.mjs +3 -2
  75. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  76. package/lib/components/VCombobox/index.d.mts +201 -1360
  77. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
  78. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  79. package/lib/components/VConfirmEdit/index.d.mts +6 -13
  80. package/lib/components/VCounter/VCounter.mjs +1 -1
  81. package/lib/components/VCounter/index.d.mts +9 -31
  82. package/lib/components/VDataIterator/index.d.mts +12 -56
  83. package/lib/components/VDataTable/VDataTable.mjs +1 -1
  84. package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
  85. package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
  86. package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
  87. package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
  88. package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
  89. package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
  90. package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
  91. package/lib/components/VDataTable/index.d.mts +50 -388
  92. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  93. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  94. package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
  95. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  96. package/lib/components/VDatePicker/index.d.mts +24 -276
  97. package/lib/components/VDefaultsProvider/index.d.mts +4 -20
  98. package/lib/components/VDialog/VDialog.mjs +1 -1
  99. package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
  100. package/lib/components/VDialog/index.d.mts +143 -389
  101. package/lib/components/VDivider/index.d.mts +4 -24
  102. package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
  103. package/lib/components/VEmptyState/index.d.mts +4 -66
  104. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
  105. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  106. package/lib/components/VExpansionPanel/index.d.mts +23 -159
  107. package/lib/components/VFab/VFab.mjs +1 -1
  108. package/lib/components/VFab/index.d.mts +15 -84
  109. package/lib/components/VField/VField.mjs +4 -4
  110. package/lib/components/VField/VField.mjs.map +1 -1
  111. package/lib/components/VField/VFieldLabel.mjs +1 -1
  112. package/lib/components/VField/index.d.mts +11 -59
  113. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  114. package/lib/components/VFileInput/index.d.mts +71 -256
  115. package/lib/components/VFooter/VFooter.mjs +1 -1
  116. package/lib/components/VFooter/index.d.mts +4 -29
  117. package/lib/components/VForm/index.d.mts +267 -175
  118. package/lib/components/VGrid/VContainer.mjs +1 -1
  119. package/lib/components/VGrid/index.d.mts +16 -118
  120. package/lib/components/VHover/index.d.mts +4 -33
  121. package/lib/components/VIcon/index.d.mts +17 -75
  122. package/lib/components/VImg/VImg.mjs +1 -1
  123. package/lib/components/VImg/index.d.mts +19 -74
  124. package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
  125. package/lib/components/VInfiniteScroll/index.d.mts +4 -46
  126. package/lib/components/VInput/VInput.mjs +4 -4
  127. package/lib/components/VInput/VInput.mjs.map +1 -1
  128. package/lib/components/VInput/index.d.mts +4 -37
  129. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  130. package/lib/components/VItemGroup/index.d.mts +17 -74
  131. package/lib/components/VKbd/index.d.mts +4 -18
  132. package/lib/components/VLabel/index.d.mts +4 -20
  133. package/lib/components/VLayout/index.d.mts +8 -48
  134. package/lib/components/VLazy/VLazy.mjs +1 -1
  135. package/lib/components/VLazy/index.d.mts +4 -31
  136. package/lib/components/VList/VList.mjs +1 -1
  137. package/lib/components/VList/VListChildren.mjs +1 -1
  138. package/lib/components/VList/VListGroup.mjs +1 -1
  139. package/lib/components/VList/VListItem.mjs +1 -1
  140. package/lib/components/VList/VListItemAction.mjs +1 -1
  141. package/lib/components/VList/VListItemMedia.mjs +1 -1
  142. package/lib/components/VList/VListItemSubtitle.mjs +1 -1
  143. package/lib/components/VList/index.d.mts +48 -291
  144. package/lib/components/VLocaleProvider/index.d.mts +4 -21
  145. package/lib/components/VMain/index.d.mts +4 -25
  146. package/lib/components/VMenu/VMenu.mjs +4 -4
  147. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  148. package/lib/components/VMenu/index.d.mts +155 -397
  149. package/lib/components/VMessages/index.d.mts +4 -27
  150. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
  151. package/lib/components/VNavigationDrawer/index.d.mts +7 -62
  152. package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
  153. package/lib/components/VOtpInput/index.d.mts +7 -52
  154. package/lib/components/VOverlay/VOverlay.mjs +1 -1
  155. package/lib/components/VOverlay/index.d.mts +19 -101
  156. package/lib/components/VPagination/VPagination.mjs +1 -1
  157. package/lib/components/VPagination/index.d.mts +4 -64
  158. package/lib/components/VParallax/VParallax.mjs +1 -1
  159. package/lib/components/VParallax/index.d.mts +4 -27
  160. package/lib/components/VProgressCircular/index.d.mts +4 -34
  161. package/lib/components/VProgressLinear/index.d.mts +4 -54
  162. package/lib/components/VRadio/VRadio.mjs +1 -1
  163. package/lib/components/VRadio/index.d.mts +4 -68
  164. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
  165. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  166. package/lib/components/VRadioGroup/index.d.mts +4 -48
  167. package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
  168. package/lib/components/VRangeSlider/index.d.mts +4 -107
  169. package/lib/components/VRating/VRating.mjs +5 -4
  170. package/lib/components/VRating/VRating.mjs.map +1 -1
  171. package/lib/components/VRating/index.d.mts +4 -42
  172. package/lib/components/VResponsive/index.d.mts +4 -29
  173. package/lib/components/VSelect/VSelect.mjs +3 -2
  174. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  175. package/lib/components/VSelect/index.d.mts +200 -1352
  176. package/lib/components/VSelectionControl/VSelectionControl.mjs +4 -4
  177. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  178. package/lib/components/VSelectionControl/index.d.mts +10 -37
  179. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
  180. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  181. package/lib/components/VSelectionControlGroup/index.d.mts +4 -26
  182. package/lib/components/VSheet/VSheet.mjs +1 -1
  183. package/lib/components/VSheet/index.d.mts +4 -32
  184. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
  185. package/lib/components/VSkeletonLoader/index.d.mts +4 -28
  186. package/lib/components/VSlideGroup/index.d.mts +21 -77
  187. package/lib/components/VSlider/VSlider.mjs +1 -1
  188. package/lib/components/VSlider/VSliderThumb.mjs +1 -1
  189. package/lib/components/VSlider/index.d.mts +4 -106
  190. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  191. package/lib/components/VSnackbar/index.d.mts +152 -398
  192. package/lib/components/VSparkline/VBarline.mjs +3 -4
  193. package/lib/components/VSparkline/VBarline.mjs.map +1 -1
  194. package/lib/components/VSparkline/VSparkline.mjs +1 -1
  195. package/lib/components/VSparkline/VTrendline.mjs +3 -4
  196. package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
  197. package/lib/components/VSparkline/index.d.mts +4 -49
  198. package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
  199. package/lib/components/VSpeedDial/index.d.mts +4 -85
  200. package/lib/components/VStepper/VStepper.mjs +1 -1
  201. package/lib/components/VStepper/VStepperItem.mjs +1 -1
  202. package/lib/components/VStepper/VStepperWindow.mjs +1 -1
  203. package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
  204. package/lib/components/VStepper/index.d.mts +24 -250
  205. package/lib/components/VSwitch/VSwitch.mjs +4 -4
  206. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  207. package/lib/components/VSwitch/index.d.mts +4 -59
  208. package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
  209. package/lib/components/VSystemBar/index.d.mts +4 -28
  210. package/lib/components/VTable/index.d.mts +4 -33
  211. package/lib/components/VTabs/VTab.mjs +1 -1
  212. package/lib/components/VTabs/VTabs.mjs +1 -1
  213. package/lib/components/VTabs/VTabsWindow.mjs +1 -1
  214. package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
  215. package/lib/components/VTabs/index.d.mts +105 -401
  216. package/lib/components/VTextField/VTextField.mjs +1 -1
  217. package/lib/components/VTextField/index.d.mts +152 -374
  218. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  219. package/lib/components/VTextarea/index.d.mts +71 -244
  220. package/lib/components/VThemeProvider/index.d.mts +4 -20
  221. package/lib/components/VTimeline/VTimeline.mjs +1 -1
  222. package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
  223. package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
  224. package/lib/components/VTimeline/index.d.mts +8 -75
  225. package/lib/components/VToolbar/VToolbar.mjs +1 -1
  226. package/lib/components/VToolbar/index.d.mts +12 -90
  227. package/lib/components/VTooltip/VTooltip.mjs +4 -4
  228. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  229. package/lib/components/VTooltip/index.d.mts +147 -386
  230. package/lib/components/VValidation/index.d.mts +10 -24
  231. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  232. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
  233. package/lib/components/VVirtualScroll/index.d.mts +21 -16
  234. package/lib/components/VWindow/VWindow.mjs +1 -1
  235. package/lib/components/VWindow/VWindowItem.mjs +1 -1
  236. package/lib/components/VWindow/index.d.mts +15 -54
  237. package/lib/components/index.d.mts +2975 -12121
  238. package/lib/components/transitions/dialog-transition.mjs +1 -2
  239. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  240. package/lib/components/transitions/index.d.mts +64 -309
  241. package/lib/composables/group.mjs +3 -3
  242. package/lib/composables/group.mjs.map +1 -1
  243. package/lib/composables/icons.mjs +1 -1
  244. package/lib/composables/layout.mjs +3 -3
  245. package/lib/composables/layout.mjs.map +1 -1
  246. package/lib/composables/nested/nested.mjs +2 -2
  247. package/lib/composables/nested/nested.mjs.map +1 -1
  248. package/lib/composables/theme.mjs +18 -7
  249. package/lib/composables/theme.mjs.map +1 -1
  250. package/lib/composables/validation.mjs +3 -3
  251. package/lib/composables/validation.mjs.map +1 -1
  252. package/lib/composables/variant.mjs +1 -1
  253. package/lib/composables/virtual.mjs +14 -7
  254. package/lib/composables/virtual.mjs.map +1 -1
  255. package/lib/entry-bundler.mjs +1 -1
  256. package/lib/entry-bundler.mjs.map +1 -1
  257. package/lib/framework.mjs +2 -3
  258. package/lib/framework.mjs.map +1 -1
  259. package/lib/index.d.mts +63 -61
  260. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  261. package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
  262. package/lib/labs/VCalendar/index.d.mts +24 -211
  263. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  264. package/lib/labs/VDateInput/index.d.mts +4 -115
  265. package/lib/labs/VFileUpload/VFileUpload.mjs +1 -1
  266. package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
  267. package/lib/labs/VFileUpload/index.d.mts +8 -195
  268. package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
  269. package/lib/labs/VNumberInput/index.d.mts +577 -1280
  270. package/lib/labs/VPicker/VPicker.mjs +1 -1
  271. package/lib/labs/VPicker/index.d.mts +8 -63
  272. package/lib/labs/VPullToRefresh/index.d.mts +4 -35
  273. package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
  274. package/lib/labs/VSnackbarQueue/index.d.mts +156 -453
  275. package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
  276. package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
  277. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
  278. package/lib/labs/VStepperVertical/index.d.mts +12 -227
  279. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  280. package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
  281. package/lib/labs/VTimePicker/index.d.mts +12 -122
  282. package/lib/labs/VTreeview/VTreeview.mjs +1 -1
  283. package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
  284. package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
  285. package/lib/labs/VTreeview/VTreeviewItem.mjs +1 -1
  286. package/lib/labs/VTreeview/index.d.mts +18 -205
  287. package/lib/labs/components.d.mts +1116 -3200
  288. package/lib/util/getCurrentInstance.mjs +1 -15
  289. package/lib/util/getCurrentInstance.mjs.map +1 -1
  290. package/package.json +5 -4
@@ -1,8 +1,7 @@
1
- import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
1
  // Utilities
3
- import { computed } from 'vue';
2
+ import { computed, useId, createVNode as _createVNode, Fragment as _Fragment } from 'vue';
4
3
  import { makeLineProps } from "./util/line.mjs";
5
- import { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
4
+ import { genericComponent, getPropertyFromItem, propsFactory, useRender } from "../../util/index.mjs"; // Types
6
5
  export const makeVBarlineProps = propsFactory({
7
6
  autoLineWidth: Boolean,
8
7
  ...makeLineProps()
@@ -14,7 +13,7 @@ export const VBarline = genericComponent()({
14
13
  let {
15
14
  slots
16
15
  } = _ref;
17
- const uid = getUid();
16
+ const uid = useId();
18
17
  const id = computed(() => props.id || `barline-${uid}`);
19
18
  const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500);
20
19
  const hasLabels = computed(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"VBarline.mjs","names":["computed","makeLineProps","genericComponent","getPropertyFromItem","getUid","propsFactory","useRender","makeVBarlineProps","autoLineWidth","Boolean","VBarline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","hasLabels","showLabels","labels","length","label","lineWidth","parseFloat","totalWidth","Math","max","modelValue","value","width","boundary","minX","maxX","minY","maxY","parseInt","height","items","map","item","itemValue","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","index","x","y","parsedLabels","points","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","smooth","autoDraw","_Fragment","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/components/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VBarlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport const makeVBarlineProps = propsFactory({\n autoLineWidth: Boolean,\n\n ...makeLineProps(),\n}, 'VBarline')\n\nexport const VBarline = genericComponent<VBarlineSlots>()({\n name: 'VBarline',\n\n props: makeVBarlineProps(),\n\n setup (props, { slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `barline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500)\n\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n\n const lineWidth = computed(() => parseFloat(props.lineWidth) || 4)\n\n const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)))\n\n const boundary = computed<Boundary>(() => {\n return {\n minX: 0,\n maxX: totalWidth.value,\n minY: 0,\n maxY: parseInt(props.height, 10),\n }\n })\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)))\n\n function genBars (\n values: number[],\n boundary: Boundary\n ): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = props.max != null ? Number(props.max) : Math.max(...values)\n let minValue = props.min != null ? Number(props.min) : Math.min(...values)\n\n if (minValue > 0 && props.min == null) minValue = 0\n if (maxValue < 0 && props.max == null) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n }\n\n const parsedLabels = computed(() => {\n const labels = []\n const points = genBars(items.value, boundary.value)\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n const bars = computed(() => genBars(items.value, boundary.value))\n const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2)\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n return (\n <svg\n display=\"block\"\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n <clipPath id={ `${id.value}-clip` }>\n {\n bars.value.map(item => (\n <rect\n x={ item.x + offsetX.value }\n y={ item.y }\n width={ lineWidth.value }\n height={ item.height }\n rx={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n ry={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n >\n { props.autoDraw && (\n <>\n <animate\n attributeName=\"y\"\n from={ item.y + item.height }\n to={ item.y }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n <animate\n attributeName=\"height\"\n from=\"0\"\n to={ item.height }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n </>\n )}\n </rect>\n ))\n }\n </clipPath>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + offsetX.value + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 2) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <g\n clip-path={ `url(#${id.value}-clip)` }\n fill={ `url(#${id.value})` }\n >\n <rect\n x={ 0 }\n y={ 0 }\n width={ Math.max(props.modelValue.length * lineWidth.value, Number(props.width)) }\n height={ props.height }\n ></rect>\n </g>\n </svg>\n )\n })\n },\n})\n\nexport type VBarline = InstanceType<typeof VBarline>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VBarline.mjs","names":["computed","useId","createVNode","_createVNode","Fragment","_Fragment","makeLineProps","genericComponent","getPropertyFromItem","propsFactory","useRender","makeVBarlineProps","autoLineWidth","Boolean","VBarline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","hasLabels","showLabels","labels","length","label","lineWidth","parseFloat","totalWidth","Math","max","modelValue","value","width","boundary","minX","maxX","minY","maxY","parseInt","height","items","map","item","itemValue","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","index","x","y","parsedLabels","points","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","gradientDirection","color","smooth","autoDraw","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/components/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed, useId } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, getPropertyFromItem, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VBarlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport const makeVBarlineProps = propsFactory({\n autoLineWidth: Boolean,\n\n ...makeLineProps(),\n}, 'VBarline')\n\nexport const VBarline = genericComponent<VBarlineSlots>()({\n name: 'VBarline',\n\n props: makeVBarlineProps(),\n\n setup (props, { slots }) {\n const uid = useId()\n const id = computed(() => props.id || `barline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500)\n\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n\n const lineWidth = computed(() => parseFloat(props.lineWidth) || 4)\n\n const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)))\n\n const boundary = computed<Boundary>(() => {\n return {\n minX: 0,\n maxX: totalWidth.value,\n minY: 0,\n maxY: parseInt(props.height, 10),\n }\n })\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)))\n\n function genBars (\n values: number[],\n boundary: Boundary\n ): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = props.max != null ? Number(props.max) : Math.max(...values)\n let minValue = props.min != null ? Number(props.min) : Math.min(...values)\n\n if (minValue > 0 && props.min == null) minValue = 0\n if (maxValue < 0 && props.max == null) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n }\n\n const parsedLabels = computed(() => {\n const labels = []\n const points = genBars(items.value, boundary.value)\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n const bars = computed(() => genBars(items.value, boundary.value))\n const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2)\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n return (\n <svg\n display=\"block\"\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n <clipPath id={ `${id.value}-clip` }>\n {\n bars.value.map(item => (\n <rect\n x={ item.x + offsetX.value }\n y={ item.y }\n width={ lineWidth.value }\n height={ item.height }\n rx={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n ry={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n >\n { props.autoDraw && (\n <>\n <animate\n attributeName=\"y\"\n from={ item.y + item.height }\n to={ item.y }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n <animate\n attributeName=\"height\"\n from=\"0\"\n to={ item.height }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n </>\n )}\n </rect>\n ))\n }\n </clipPath>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + offsetX.value + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 2) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <g\n clip-path={ `url(#${id.value}-clip)` }\n fill={ `url(#${id.value})` }\n >\n <rect\n x={ 0 }\n y={ 0 }\n width={ Math.max(props.modelValue.length * lineWidth.value, Number(props.width)) }\n height={ props.height }\n ></rect>\n </g>\n </svg>\n )\n })\n },\n})\n\nexport type VBarline = InstanceType<typeof VBarline>\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { makeVBarlineProps, VBarline } from "./VBarline.mjs";
4
4
  import { makeVTrendlineProps, VTrendline } from "./VTrendline.mjs"; // Composables
@@ -1,9 +1,8 @@
1
- import { createVNode as _createVNode } from "vue";
2
1
  // Utilities
3
- import { computed, nextTick, ref, watch } from 'vue';
2
+ import { computed, nextTick, ref, useId, watch, createVNode as _createVNode } from 'vue';
4
3
  import { makeLineProps } from "./util/line.mjs";
5
4
  import { genPath as _genPath } from "./util/path.mjs";
6
- import { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
5
+ import { genericComponent, getPropertyFromItem, propsFactory, useRender } from "../../util/index.mjs"; // Types
7
6
  export const makeVTrendlineProps = propsFactory({
8
7
  fill: Boolean,
9
8
  ...makeLineProps()
@@ -15,7 +14,7 @@ export const VTrendline = genericComponent()({
15
14
  let {
16
15
  slots
17
16
  } = _ref;
18
- const uid = getUid();
17
+ const uid = useId();
19
18
  const id = computed(() => props.id || `trendline-${uid}`);
20
19
  const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000));
21
20
  const lastLength = ref(0);
@@ -1 +1 @@
1
- {"version":3,"file":"VTrendline.mjs","names":["computed","nextTick","ref","watch","makeLineProps","genPath","_genPath","genericComponent","getPropertyFromItem","getUid","propsFactory","useRender","makeVTrendlineProps","fill","Boolean","VTrendline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","lastLength","path","genPoints","values","boundary","minX","maxX","minY","maxY","totalValues","length","maxValue","max","Math","minValue","min","gridX","gridY","map","value","index","x","y","hasLabels","showLabels","labels","label","lineWidth","parseFloat","totalWidth","width","padding","parseInt","height","items","modelValue","item","itemValue","parsedLabels","points","len","i","push","String","autoDraw","pathRef","getTotalLength","style","strokeDasharray","strokeDashoffset","getBoundingClientRect","transition","autoDrawEasing","transformOrigin","transform","immediate","smooth","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","textAnchor","dominantBaseline","labelSize"],"sources":["../../../src/components/VSparkline/VTrendline.tsx"],"sourcesContent":["// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genPath as _genPath } from './util/path'\nimport { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VTrendlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport const makeVTrendlineProps = propsFactory({\n fill: Boolean,\n\n ...makeLineProps(),\n}, 'VTrendline')\n\nexport const VTrendline = genericComponent<VTrendlineSlots>()({\n name: 'VTrendline',\n\n props: makeVTrendlineProps(),\n\n setup (props, { slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `trendline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000))\n\n const lastLength = ref(0)\n const path = ref<SVGPathElement | null>(null)\n\n function genPoints (\n values: number[],\n boundary: Boundary\n ): Point[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n const maxValue = props.max != null ? Number(props.max) : Math.max(...values)\n const minValue = props.min != null ? Number(props.min) : Math.min(...values)\n\n const gridX = (maxX - minX) / (totalValues - 1)\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y: maxY - (value - minValue) * gridY,\n value,\n }\n })\n }\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n const lineWidth = computed(() => {\n return parseFloat(props.lineWidth) || 4\n })\n const totalWidth = computed(() => Number(props.width))\n\n const boundary = computed<Boundary>(() => {\n const padding = Number(props.padding)\n\n return {\n minX: padding,\n maxX: totalWidth.value - padding,\n minY: padding,\n maxY: parseInt(props.height, 10) - padding,\n }\n })\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)))\n const parsedLabels = computed(() => {\n const labels = []\n const points = genPoints(items.value, boundary.value)\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n watch(() => props.modelValue, async () => {\n await nextTick()\n\n if (!props.autoDraw || !path.value) return\n\n const pathRef = path.value\n const length = pathRef.getTotalLength()\n\n if (!props.fill) {\n // Initial setup to \"hide\" the line by using the stroke dash array\n pathRef.style.strokeDasharray = `${length}`\n pathRef.style.strokeDashoffset = `${length}`\n\n // Force reflow to ensure the transition starts from this state\n pathRef.getBoundingClientRect()\n\n // Animate the stroke dash offset to \"draw\" the line\n pathRef.style.transition = `stroke-dashoffset ${autoDrawDuration.value}ms ${props.autoDrawEasing}`\n pathRef.style.strokeDashoffset = '0'\n } else {\n // Your existing logic for filled paths remains the same\n pathRef.style.transformOrigin = 'bottom center'\n pathRef.style.transition = 'none'\n pathRef.style.transform = `scaleY(0)`\n pathRef.getBoundingClientRect()\n pathRef.style.transition = `transform ${autoDrawDuration.value}ms ${props.autoDrawEasing}`\n pathRef.style.transform = `scaleY(1)`\n }\n\n lastLength.value = length\n }, { immediate: true })\n\n function genPath (fill: boolean) {\n return _genPath(\n genPoints(items.value, boundary.value),\n props.smooth ? 8 : Number(props.smooth),\n fill,\n parseInt(props.height, 10)\n )\n }\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n\n return (\n <svg\n display=\"block\"\n stroke-width={ parseFloat(props.lineWidth) ?? 4 }\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + (lineWidth.value / 2) + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 4) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <path\n ref={ path }\n d={ genPath(props.fill) }\n fill={ props.fill ? `url(#${id.value})` : 'none' }\n stroke={ props.fill ? 'none' : `url(#${id.value})` }\n />\n\n { props.fill && (\n <path\n d={ genPath(false) }\n fill=\"none\"\n stroke={ props.color ?? props.gradient?.[0] }\n />\n )}\n </svg>\n )\n })\n },\n})\n\nexport type VTrendline = InstanceType<typeof VTrendline>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTrendline.mjs","names":["computed","nextTick","ref","useId","watch","createVNode","_createVNode","makeLineProps","genPath","_genPath","genericComponent","getPropertyFromItem","propsFactory","useRender","makeVTrendlineProps","fill","Boolean","VTrendline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","lastLength","path","genPoints","values","boundary","minX","maxX","minY","maxY","totalValues","length","maxValue","max","Math","minValue","min","gridX","gridY","map","value","index","x","y","hasLabels","showLabels","labels","label","lineWidth","parseFloat","totalWidth","width","padding","parseInt","height","items","modelValue","item","itemValue","parsedLabels","points","len","i","push","String","autoDraw","pathRef","getTotalLength","style","strokeDasharray","strokeDashoffset","getBoundingClientRect","transition","autoDrawEasing","transformOrigin","transform","immediate","smooth","gradientData","gradient","slice","reverse","gradientDirection","color","textAnchor","dominantBaseline","labelSize"],"sources":["../../../src/components/VSparkline/VTrendline.tsx"],"sourcesContent":["// Utilities\nimport { computed, nextTick, ref, useId, watch } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genPath as _genPath } from './util/path'\nimport { genericComponent, getPropertyFromItem, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VTrendlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Point {\n x: number\n y: number\n value: number\n}\n\nexport const makeVTrendlineProps = propsFactory({\n fill: Boolean,\n\n ...makeLineProps(),\n}, 'VTrendline')\n\nexport const VTrendline = genericComponent<VTrendlineSlots>()({\n name: 'VTrendline',\n\n props: makeVTrendlineProps(),\n\n setup (props, { slots }) {\n const uid = useId()\n const id = computed(() => props.id || `trendline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000))\n\n const lastLength = ref(0)\n const path = ref<SVGPathElement | null>(null)\n\n function genPoints (\n values: number[],\n boundary: Boundary\n ): Point[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n const maxValue = props.max != null ? Number(props.max) : Math.max(...values)\n const minValue = props.min != null ? Number(props.min) : Math.min(...values)\n\n const gridX = (maxX - minX) / (totalValues - 1)\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y: maxY - (value - minValue) * gridY,\n value,\n }\n })\n }\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n const lineWidth = computed(() => {\n return parseFloat(props.lineWidth) || 4\n })\n const totalWidth = computed(() => Number(props.width))\n\n const boundary = computed<Boundary>(() => {\n const padding = Number(props.padding)\n\n return {\n minX: padding,\n maxX: totalWidth.value - padding,\n minY: padding,\n maxY: parseInt(props.height, 10) - padding,\n }\n })\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)))\n const parsedLabels = computed(() => {\n const labels = []\n const points = genPoints(items.value, boundary.value)\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n watch(() => props.modelValue, async () => {\n await nextTick()\n\n if (!props.autoDraw || !path.value) return\n\n const pathRef = path.value\n const length = pathRef.getTotalLength()\n\n if (!props.fill) {\n // Initial setup to \"hide\" the line by using the stroke dash array\n pathRef.style.strokeDasharray = `${length}`\n pathRef.style.strokeDashoffset = `${length}`\n\n // Force reflow to ensure the transition starts from this state\n pathRef.getBoundingClientRect()\n\n // Animate the stroke dash offset to \"draw\" the line\n pathRef.style.transition = `stroke-dashoffset ${autoDrawDuration.value}ms ${props.autoDrawEasing}`\n pathRef.style.strokeDashoffset = '0'\n } else {\n // Your existing logic for filled paths remains the same\n pathRef.style.transformOrigin = 'bottom center'\n pathRef.style.transition = 'none'\n pathRef.style.transform = `scaleY(0)`\n pathRef.getBoundingClientRect()\n pathRef.style.transition = `transform ${autoDrawDuration.value}ms ${props.autoDrawEasing}`\n pathRef.style.transform = `scaleY(1)`\n }\n\n lastLength.value = length\n }, { immediate: true })\n\n function genPath (fill: boolean) {\n return _genPath(\n genPoints(items.value, boundary.value),\n props.smooth ? 8 : Number(props.smooth),\n fill,\n parseInt(props.height, 10)\n )\n }\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n\n return (\n <svg\n display=\"block\"\n stroke-width={ parseFloat(props.lineWidth) ?? 4 }\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + (lineWidth.value / 2) + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 4) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <path\n ref={ path }\n d={ genPath(props.fill) }\n fill={ props.fill ? `url(#${id.value})` : 'none' }\n stroke={ props.fill ? 'none' : `url(#${id.value})` }\n />\n\n { props.fill && (\n <path\n d={ genPath(false) }\n fill=\"none\"\n stroke={ props.color ?? props.gradient?.[0] }\n />\n )}\n </svg>\n )\n })\n },\n})\n\nexport type VTrendline = InstanceType<typeof VTrendline>\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ type SparklineItem = number | {
10
10
  };
11
11
 
12
12
  declare const VSparkline: {
13
- new (...args: any[]): vue.CreateComponentPublicInstance<{
13
+ new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<{
14
14
  fill: boolean;
15
15
  type: "bar" | "trend";
16
16
  height: string | number;
@@ -55,52 +55,7 @@ declare const VSparkline: {
55
55
  index: number;
56
56
  value: string;
57
57
  }) => vue.VNodeChild) | undefined;
58
- }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
59
- fill: boolean;
60
- type: "bar" | "trend";
61
- height: string | number;
62
- width: string | number;
63
- smooth: boolean;
64
- padding: string | number;
65
- labels: SparklineItem[];
66
- modelValue: SparklineItem[];
67
- gradient: string[];
68
- itemValue: string;
69
- autoDraw: boolean;
70
- autoDrawEasing: string;
71
- gradientDirection: "left" | "top" | "bottom" | "right";
72
- labelSize: string | number;
73
- lineWidth: string | number;
74
- showLabels: boolean;
75
- autoLineWidth: boolean;
76
- } & {
77
- max?: string | number | undefined;
78
- id?: string | undefined;
79
- min?: string | number | undefined;
80
- color?: string | undefined;
81
- autoDrawDuration?: string | number | undefined;
82
- } & {
83
- $children?: vue.VNodeChild | ((arg: void) => vue.VNodeChild) | {
84
- default?: ((arg: void) => vue.VNodeChild) | undefined;
85
- label?: ((arg: {
86
- index: number;
87
- value: string;
88
- }) => vue.VNodeChild) | undefined;
89
- };
90
- 'v-slots'?: {
91
- default?: false | ((arg: void) => vue.VNodeChild) | undefined;
92
- label?: false | ((arg: {
93
- index: number;
94
- value: string;
95
- }) => vue.VNodeChild) | undefined;
96
- } | undefined;
97
- } & {
98
- "v-slot:default"?: false | ((arg: void) => vue.VNodeChild) | undefined;
99
- "v-slot:label"?: false | ((arg: {
100
- index: number;
101
- value: string;
102
- }) => vue.VNodeChild) | undefined;
103
- }, {
58
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
104
59
  fill: boolean;
105
60
  type: "bar" | "trend";
106
61
  height: string | number;
@@ -124,7 +79,7 @@ declare const VSparkline: {
124
79
  index: number;
125
80
  value: string;
126
81
  }) => vue.VNode[];
127
- }>>, {
82
+ }>>, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
128
83
  P: {};
129
84
  B: {};
130
85
  D: {};
@@ -267,7 +222,7 @@ declare const VSparkline: {
267
222
  index: number;
268
223
  value: string;
269
224
  }) => vue.VNode[];
270
- }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
225
+ }>>, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
271
226
  autoDraw: BooleanConstructor;
272
227
  autoDrawDuration: (StringConstructor | NumberConstructor)[];
273
228
  autoDrawEasing: {
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Styles
3
3
  import "./VSpeedDial.css";
4
4
 
@@ -93,7 +93,7 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
93
93
  };
94
94
 
95
95
  declare const VSpeedDial: {
96
- new (...args: any[]): vue.CreateComponentPublicInstance<{
96
+ new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<{
97
97
  offset: string | number | number[] | undefined;
98
98
  location: Anchor | undefined;
99
99
  origin: "auto" | Anchor | "overlap";
@@ -176,88 +176,7 @@ declare const VSpeedDial: {
176
176
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
177
177
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
178
178
  'update:modelValue': (value: boolean) => true;
179
- }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
180
- offset: string | number | number[] | undefined;
181
- location: Anchor | undefined;
182
- origin: "auto" | Anchor | "overlap";
183
- minWidth: string | number;
184
- transition: string | boolean | (vue.TransitionProps & {
185
- component?: vue.Component;
186
- }) | {
187
- component: vue.Component;
188
- };
189
- zIndex: string | number;
190
- style: vue.StyleValue;
191
- eager: boolean;
192
- disabled: boolean;
193
- persistent: boolean;
194
- modelValue: boolean;
195
- locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
196
- updateLocation: (e?: Event) => void;
197
- });
198
- scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition";
199
- closeDelay: string | number;
200
- openDelay: string | number;
201
- activatorProps: Record<string, any>;
202
- openOnHover: boolean;
203
- closeOnContentClick: boolean;
204
- closeOnBack: boolean;
205
- contained: boolean;
206
- noClickAnimation: boolean;
207
- scrim: string | boolean;
208
- submenu: boolean;
209
- } & {
210
- id?: string | undefined;
211
- height?: string | number | undefined;
212
- width?: string | number | undefined;
213
- maxHeight?: string | number | undefined;
214
- maxWidth?: string | number | undefined;
215
- minHeight?: string | number | undefined;
216
- opacity?: string | number | undefined;
217
- target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
218
- class?: any;
219
- theme?: string | undefined;
220
- contentClass?: any;
221
- activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
222
- openOnClick?: boolean | undefined;
223
- openOnFocus?: boolean | undefined;
224
- contentProps?: any;
225
- attach?: string | boolean | Element | undefined;
226
- } & {
227
- $children?: vue.VNodeChild | {
228
- default?: ((arg: {
229
- isActive: vue.Ref<boolean>;
230
- }) => vue.VNodeChild) | undefined;
231
- activator?: ((arg: {
232
- isActive: boolean;
233
- props: Record<string, any>;
234
- targetRef: TemplateRef;
235
- }) => vue.VNodeChild) | undefined;
236
- } | ((arg: {
237
- isActive: vue.Ref<boolean>;
238
- }) => vue.VNodeChild);
239
- 'v-slots'?: {
240
- default?: false | ((arg: {
241
- isActive: vue.Ref<boolean>;
242
- }) => vue.VNodeChild) | undefined;
243
- activator?: false | ((arg: {
244
- isActive: boolean;
245
- props: Record<string, any>;
246
- targetRef: TemplateRef;
247
- }) => vue.VNodeChild) | undefined;
248
- } | undefined;
249
- } & {
250
- "v-slot:default"?: false | ((arg: {
251
- isActive: vue.Ref<boolean>;
252
- }) => vue.VNodeChild) | undefined;
253
- "v-slot:activator"?: false | ((arg: {
254
- isActive: boolean;
255
- props: Record<string, any>;
256
- targetRef: TemplateRef;
257
- }) => vue.VNodeChild) | undefined;
258
- } & {
259
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
260
- }, {
179
+ }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
261
180
  offset: string | number | number[] | undefined;
262
181
  location: Anchor | undefined;
263
182
  origin: "auto" | Anchor | "overlap";
@@ -298,7 +217,7 @@ declare const VSpeedDial: {
298
217
  props: Record<string, any>;
299
218
  targetRef: TemplateRef;
300
219
  }) => vue.VNode[];
301
- }>>, {
220
+ }>>, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
302
221
  P: {};
303
222
  B: {};
304
223
  D: {};
@@ -546,7 +465,7 @@ declare const VSpeedDial: {
546
465
  props: Record<string, any>;
547
466
  targetRef: TemplateRef;
548
467
  }) => vue.VNode[];
549
- }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
468
+ }>>, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
550
469
  offset: {
551
470
  type: vue.PropType<string | number | number[] | undefined>;
552
471
  default: NonNullable<string | number | number[] | undefined>;
@@ -1,4 +1,4 @@
1
- import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  // Styles
3
3
  import "./VStepper.css";
4
4
 
@@ -1,4 +1,4 @@
1
- import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from "vue";
2
2
  // Styles
3
3
  import "./VStepperItem.css";
4
4
 
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VStepperSymbol } from "./shared.mjs";
4
4
  import { makeVWindowProps, VWindow } from "../VWindow/VWindow.mjs"; // Composables
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { makeVWindowItemProps, VWindowItem } from "../VWindow/VWindowItem.mjs"; // Utilities
4
4
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";