@vuetify/nightly 3.7.5-master.2024-12-17 → 3.7.6-dev.2024-12-18
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.
- package/dist/json/attributes.json +3385 -3377
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +154 -154
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6391 -6373
- package/dist/vuetify-labs.css +3014 -3014
- package/dist/vuetify-labs.d.ts +3365 -14377
- package/dist/vuetify-labs.esm.js +45 -47
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +44 -46
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4326 -4326
- package/dist/vuetify.d.ts +3127 -12301
- package/dist/vuetify.esm.js +45 -47
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +44 -46
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +878 -883
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +1 -1
- package/lib/components/VAlert/index.d.mts +8 -86
- package/lib/components/VApp/index.d.mts +4 -20
- package/lib/components/VAppBar/VAppBar.mjs +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -1
- package/lib/components/VAppBar/index.d.mts +18 -154
- package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
- package/lib/components/VAutocomplete/index.d.mts +201 -1360
- package/lib/components/VAvatar/index.d.mts +4 -31
- package/lib/components/VBadge/VBadge.mjs +1 -1
- package/lib/components/VBadge/index.d.mts +4 -41
- package/lib/components/VBanner/VBanner.mjs +1 -1
- package/lib/components/VBanner/index.d.mts +12 -88
- package/lib/components/VBottomNavigation/index.d.mts +4 -32
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
- package/lib/components/VBottomSheet/index.d.mts +4 -88
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +12 -65
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/index.d.mts +11 -79
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -1
- package/lib/components/VBtnGroup/index.d.mts +4 -28
- package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
- package/lib/components/VBtnToggle/index.d.mts +13 -33
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCardItem.mjs +1 -1
- package/lib/components/VCard/VCardSubtitle.mjs +1 -1
- package/lib/components/VCard/VCardText.mjs +1 -1
- package/lib/components/VCard/index.d.mts +24 -190
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/index.d.mts +17 -95
- package/lib/components/VCheckbox/VCheckbox.mjs +4 -4
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
- package/lib/components/VCheckbox/index.d.mts +8 -90
- package/lib/components/VChip/VChip.mjs +16 -9
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +9 -105
- package/lib/components/VChipGroup/VChipGroup.mjs +3 -1
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.mts +24 -43
- package/lib/components/VCode/index.d.mts +4 -18
- package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
- package/lib/components/VColorPicker/index.d.mts +4 -68
- package/lib/components/VCombobox/VCombobox.mjs +1 -1
- package/lib/components/VCombobox/index.d.mts +201 -1360
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
- package/lib/components/VConfirmEdit/index.d.mts +6 -13
- package/lib/components/VCounter/VCounter.mjs +1 -1
- package/lib/components/VCounter/index.d.mts +9 -31
- package/lib/components/VDataIterator/index.d.mts +12 -56
- package/lib/components/VDataTable/VDataTable.mjs +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRow.mjs +1 -1
- package/lib/components/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
- package/lib/components/VDataTable/index.d.mts +36 -388
- package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
- package/lib/components/VDatePicker/index.d.mts +24 -276
- package/lib/components/VDefaultsProvider/index.d.mts +4 -20
- package/lib/components/VDialog/VDialog.mjs +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +1 -1
- package/lib/components/VDialog/index.d.mts +143 -389
- package/lib/components/VDivider/index.d.mts +4 -24
- package/lib/components/VEmptyState/VEmptyState.mjs +1 -1
- package/lib/components/VEmptyState/index.d.mts +4 -66
- package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +23 -159
- package/lib/components/VFab/VFab.mjs +1 -1
- package/lib/components/VFab/index.d.mts +15 -84
- package/lib/components/VField/VField.mjs +4 -4
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VFieldLabel.mjs +1 -1
- package/lib/components/VField/index.d.mts +11 -59
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/index.d.mts +71 -256
- package/lib/components/VFooter/VFooter.mjs +1 -1
- package/lib/components/VFooter/index.d.mts +4 -29
- package/lib/components/VForm/index.d.mts +267 -175
- package/lib/components/VGrid/VContainer.mjs +1 -1
- package/lib/components/VGrid/index.d.mts +16 -118
- package/lib/components/VHover/index.d.mts +4 -33
- package/lib/components/VIcon/index.d.mts +17 -75
- package/lib/components/VImg/VImg.mjs +1 -1
- package/lib/components/VImg/index.d.mts +19 -74
- package/lib/components/VInfiniteScroll/VInfiniteScroll.mjs +1 -1
- package/lib/components/VInfiniteScroll/index.d.mts +4 -46
- package/lib/components/VInput/VInput.mjs +4 -4
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +4 -37
- package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
- package/lib/components/VItemGroup/index.d.mts +17 -74
- package/lib/components/VKbd/index.d.mts +4 -18
- package/lib/components/VLabel/index.d.mts +4 -20
- package/lib/components/VLayout/index.d.mts +8 -48
- package/lib/components/VLazy/VLazy.mjs +1 -1
- package/lib/components/VLazy/index.d.mts +4 -31
- package/lib/components/VList/VList.mjs +1 -1
- package/lib/components/VList/VListChildren.mjs +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -1
- package/lib/components/VList/VListItem.mjs +1 -1
- package/lib/components/VList/VListItemAction.mjs +1 -1
- package/lib/components/VList/VListItemMedia.mjs +1 -1
- package/lib/components/VList/VListItemSubtitle.mjs +1 -1
- package/lib/components/VList/index.d.mts +48 -291
- package/lib/components/VLocaleProvider/index.d.mts +4 -21
- package/lib/components/VMain/index.d.mts +4 -25
- package/lib/components/VMenu/VMenu.mjs +4 -4
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +155 -397
- package/lib/components/VMessages/index.d.mts +4 -27
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +7 -62
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/index.d.mts +7 -52
- package/lib/components/VOverlay/VOverlay.mjs +1 -1
- package/lib/components/VOverlay/index.d.mts +19 -101
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/index.d.mts +4 -64
- package/lib/components/VParallax/VParallax.mjs +1 -1
- package/lib/components/VParallax/index.d.mts +4 -27
- package/lib/components/VProgressCircular/index.d.mts +4 -34
- package/lib/components/VProgressLinear/index.d.mts +4 -54
- package/lib/components/VRadio/VRadio.mjs +1 -1
- package/lib/components/VRadio/index.d.mts +4 -68
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -4
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +4 -48
- package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
- package/lib/components/VRangeSlider/index.d.mts +4 -107
- package/lib/components/VRating/VRating.mjs +5 -4
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.mts +4 -42
- package/lib/components/VResponsive/index.d.mts +4 -29
- package/lib/components/VSelect/VSelect.mjs +1 -1
- package/lib/components/VSelect/index.d.mts +200 -1352
- package/lib/components/VSelectionControl/VSelectionControl.mjs +4 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +10 -37
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -3
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
- package/lib/components/VSelectionControlGroup/index.d.mts +4 -26
- package/lib/components/VSheet/VSheet.mjs +1 -1
- package/lib/components/VSheet/index.d.mts +4 -32
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +1 -1
- package/lib/components/VSkeletonLoader/index.d.mts +4 -28
- package/lib/components/VSlideGroup/index.d.mts +21 -77
- package/lib/components/VSlider/VSlider.mjs +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +1 -1
- package/lib/components/VSlider/index.d.mts +4 -106
- package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
- package/lib/components/VSnackbar/index.d.mts +152 -398
- package/lib/components/VSparkline/VBarline.mjs +3 -4
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VSparkline.mjs +1 -1
- package/lib/components/VSparkline/VTrendline.mjs +3 -4
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSparkline/index.d.mts +4 -49
- package/lib/components/VSpeedDial/VSpeedDial.mjs +1 -1
- package/lib/components/VSpeedDial/index.d.mts +4 -85
- package/lib/components/VStepper/VStepper.mjs +1 -1
- package/lib/components/VStepper/VStepperItem.mjs +1 -1
- package/lib/components/VStepper/VStepperWindow.mjs +1 -1
- package/lib/components/VStepper/VStepperWindowItem.mjs +1 -1
- package/lib/components/VStepper/index.d.mts +24 -250
- package/lib/components/VSwitch/VSwitch.mjs +4 -4
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.mts +4 -59
- package/lib/components/VSystemBar/VSystemBar.mjs +1 -1
- package/lib/components/VSystemBar/index.d.mts +4 -28
- package/lib/components/VTable/index.d.mts +4 -33
- package/lib/components/VTabs/VTab.mjs +1 -1
- package/lib/components/VTabs/VTabs.mjs +1 -1
- package/lib/components/VTabs/VTabsWindow.mjs +1 -1
- package/lib/components/VTabs/VTabsWindowItem.mjs +1 -1
- package/lib/components/VTabs/index.d.mts +105 -401
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/index.d.mts +152 -374
- package/lib/components/VTextarea/VTextarea.mjs +1 -1
- package/lib/components/VTextarea/index.d.mts +71 -244
- package/lib/components/VThemeProvider/index.d.mts +4 -20
- package/lib/components/VTimeline/VTimeline.mjs +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +1 -1
- package/lib/components/VTimeline/VTimelineItem.mjs +1 -1
- package/lib/components/VTimeline/index.d.mts +8 -75
- package/lib/components/VToolbar/VToolbar.mjs +1 -1
- package/lib/components/VToolbar/index.d.mts +12 -90
- package/lib/components/VTooltip/VTooltip.mjs +4 -4
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.mts +147 -386
- package/lib/components/VValidation/index.d.mts +10 -24
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
- package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +4 -15
- package/lib/components/VWindow/VWindow.mjs +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +1 -1
- package/lib/components/VWindow/index.d.mts +15 -54
- package/lib/components/index.d.mts +2947 -12121
- package/lib/components/transitions/dialog-transition.mjs +1 -2
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.mts +64 -309
- package/lib/composables/group.mjs +3 -3
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/icons.mjs +1 -1
- package/lib/composables/layout.mjs +3 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +2 -2
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/validation.mjs +3 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/variant.mjs +1 -1
- package/lib/composables/virtual.mjs +1 -1
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +2 -3
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +61 -61
- package/lib/labs/VCalendar/VCalendar.mjs +1 -1
- package/lib/labs/VCalendar/VCalendarDay.mjs +1 -1
- package/lib/labs/VCalendar/index.d.mts +24 -211
- package/lib/labs/VDateInput/VDateInput.mjs +1 -1
- package/lib/labs/VDateInput/index.d.mts +4 -115
- package/lib/labs/VFileUpload/VFileUpload.mjs +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.mjs +1 -1
- package/lib/labs/VFileUpload/index.d.mts +8 -195
- package/lib/labs/VNumberInput/VNumberInput.mjs +1 -1
- package/lib/labs/VNumberInput/index.d.mts +577 -1280
- package/lib/labs/VPicker/VPicker.mjs +1 -1
- package/lib/labs/VPicker/index.d.mts +8 -63
- package/lib/labs/VPullToRefresh/index.d.mts +4 -35
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +1 -1
- package/lib/labs/VSnackbarQueue/index.d.mts +156 -453
- package/lib/labs/VStepperVertical/VStepperVertical.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalActions.mjs +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +12 -227
- package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +1 -1
- package/lib/labs/VTimePicker/index.d.mts +12 -122
- package/lib/labs/VTreeview/VTreeview.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.mjs +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +1 -1
- package/lib/labs/VTreeview/index.d.mts +18 -205
- package/lib/labs/components.d.mts +1116 -3200
- package/lib/util/getCurrentInstance.mjs +1 -15
- package/lib/util/getCurrentInstance.mjs.map +1 -1
- 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,
|
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 =
|
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":";AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,aAAa;AAAA,SACbC,gBAAgB,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,YAAY,EAAEC,SAAS,gCAE/E;AA2BA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,aAAa,EAAEC,OAAO;EAEtB,GAAGR,aAAa,CAAC;AACnB,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,MAAMS,QAAQ,GAAGR,gBAAgB,CAAgB,CAAC,CAAC;EACxDS,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAEL,iBAAiB,CAAC,CAAC;EAE1BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,GAAG,GAAGZ,MAAM,CAAC,CAAC;IACpB,MAAMa,EAAE,GAAGjB,QAAQ,CAAC,MAAMY,KAAK,CAACK,EAAE,IAAI,WAAWD,GAAG,EAAE,CAAC;IACvD,MAAME,gBAAgB,GAAGlB,QAAQ,CAAC,MAAMmB,MAAM,CAACP,KAAK,CAACM,gBAAgB,CAAC,IAAI,GAAG,CAAC;IAE9E,MAAME,SAAS,GAAGpB,QAAQ,CAAC,MAAM;MAC/B,OAAOS,OAAO,CACZG,KAAK,CAACS,UAAU,IAChBT,KAAK,CAACU,MAAM,CAACC,MAAM,GAAG,CAAC,IACvB,CAAC,CAACR,KAAK,EAAES,KACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAGzB,QAAQ,CAAC,MAAM0B,UAAU,CAACd,KAAK,CAACa,SAAS,CAAC,IAAI,CAAC,CAAC;IAElE,MAAME,UAAU,GAAG3B,QAAQ,CAAC,MAAM4B,IAAI,CAACC,GAAG,CAACjB,KAAK,CAACkB,UAAU,CAACP,MAAM,GAAGE,SAAS,CAACM,KAAK,EAAEZ,MAAM,CAACP,KAAK,CAACoB,KAAK,CAAC,CAAC,CAAC;IAE3G,MAAMC,QAAQ,GAAGjC,QAAQ,CAAW,MAAM;MACxC,OAAO;QACLkC,IAAI,EAAE,CAAC;QACPC,IAAI,EAAER,UAAU,CAACI,KAAK;QACtBK,IAAI,EAAE,CAAC;QACPC,IAAI,EAAEC,QAAQ,CAAC1B,KAAK,CAAC2B,MAAM,EAAE,EAAE;MACjC,CAAC;IACH,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGxC,QAAQ,CAAC,MAAMY,KAAK,CAACkB,UAAU,CAACW,GAAG,CAACC,IAAI,IAAIvC,mBAAmB,CAACuC,IAAI,EAAE9B,KAAK,CAAC+B,SAAS,EAAED,IAAI,CAAC,CAAC,CAAC;IAE5G,SAASE,OAAOA,CACdC,MAAgB,EAChBZ,QAAkB,EACX;MACP,MAAM;QAAEC,IAAI;QAAEC,IAAI;QAAEC,IAAI;QAAEC;MAAK,CAAC,GAAGJ,QAAQ;MAC3C,MAAMa,WAAW,GAAGD,MAAM,CAACtB,MAAM;MACjC,IAAIwB,QAAQ,GAAGnC,KAAK,CAACiB,GAAG,IAAI,IAAI,GAAGV,MAAM,CAACP,KAAK,CAACiB,GAAG,CAAC,GAAGD,IAAI,CAACC,GAAG,CAAC,GAAGgB,MAAM,CAAC;MAC1E,IAAIG,QAAQ,GAAGpC,KAAK,CAACqC,GAAG,IAAI,IAAI,GAAG9B,MAAM,CAACP,KAAK,CAACqC,GAAG,CAAC,GAAGrB,IAAI,CAACqB,GAAG,CAAC,GAAGJ,MAAM,CAAC;MAE1E,IAAIG,QAAQ,GAAG,CAAC,IAAIpC,KAAK,CAACqC,GAAG,IAAI,IAAI,EAAED,QAAQ,GAAG,CAAC;MACnD,IAAID,QAAQ,GAAG,CAAC,IAAInC,KAAK,CAACiB,GAAG,IAAI,IAAI,EAAEkB,QAAQ,GAAG,CAAC;MAEnD,MAAMG,KAAK,GAAGf,IAAI,GAAGW,WAAW;MAChC,MAAMK,KAAK,GAAG,CAACd,IAAI,GAAGD,IAAI,KAAMW,QAAQ,GAAGC,QAAQ,IAAK,CAAC,CAAC;MAC1D,MAAMI,QAAQ,GAAGf,IAAI,GAAGT,IAAI,CAACyB,GAAG,CAACL,QAAQ,GAAGG,KAAK,CAAC;MAElD,OAAON,MAAM,CAACJ,GAAG,CAAC,CAACV,KAAK,EAAEuB,KAAK,KAAK;QAClC,MAAMf,MAAM,GAAGX,IAAI,CAACyB,GAAG,CAACF,KAAK,GAAGpB,KAAK,CAAC;QAEtC,OAAO;UACLwB,CAAC,EAAErB,IAAI,GAAGoB,KAAK,GAAGJ,KAAK;UACvBM,CAAC,EAAEJ,QAAQ,GAAGb,MAAM,GAClB,EAAER,KAAK,GAAG,CAAC,CAAC,GAAGQ,MAAM;UACvBA,MAAM;UACNR;QACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,MAAM0B,YAAY,GAAGzD,QAAQ,CAAC,MAAM;MAClC,MAAMsB,MAAM,GAAG,EAAE;MACjB,MAAMoC,MAAM,GAAGd,OAAO,CAACJ,KAAK,CAACT,KAAK,EAAEE,QAAQ,CAACF,KAAK,CAAC;MACnD,MAAM4B,GAAG,GAAGD,MAAM,CAACnC,MAAM;MAEzB,KAAK,IAAIqC,CAAC,GAAG,CAAC,EAAEtC,MAAM,CAACC,MAAM,GAAGoC,GAAG,EAAEC,CAAC,EAAE,EAAE;QACxC,MAAMlB,IAAI,GAAGgB,MAAM,CAACE,CAAC,CAAC;QACtB,IAAI7B,KAAK,GAAGnB,KAAK,CAACU,MAAM,CAACsC,CAAC,CAAC;QAE3B,IAAI,CAAC7B,KAAK,EAAE;UACVA,KAAK,GAAG,OAAOW,IAAI,KAAK,QAAQ,GAC5BA,IAAI,CAACX,KAAK,GACVW,IAAI;QACV;QAEApB,MAAM,CAACuC,IAAI,CAAC;UACVN,CAAC,EAAEb,IAAI,CAACa,CAAC;UACTxB,KAAK,EAAE+B,MAAM,CAAC/B,KAAK;QACrB,CAAC,CAAC;MACJ;MAEA,OAAOT,MAAM;IACf,CAAC,CAAC;IAEF,MAAMyC,IAAI,GAAG/D,QAAQ,CAAC,MAAM4C,OAAO,CAACJ,KAAK,CAACT,KAAK,EAAEE,QAAQ,CAACF,KAAK,CAAC,CAAC;IACjE,MAAMiC,OAAO,GAAGhE,QAAQ,CAAC,MAAM,CAAC4B,IAAI,CAACyB,GAAG,CAACU,IAAI,CAAChC,KAAK,CAAC,CAAC,CAAC,CAACwB,CAAC,GAAGQ,IAAI,CAAChC,KAAK,CAAC,CAAC,CAAC,CAACwB,CAAC,CAAC,GAAG9B,SAAS,CAACM,KAAK,IAAI,CAAC,CAAC;IAEnGzB,SAAS,CAAC,MAAM;MACd,MAAM2D,YAAY,GAAG,CAACrD,KAAK,CAACsD,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC5C,MAAM,GAAG,CAAC,EAAE,CAAC,GAAGX,KAAK,CAACsD,QAAQ,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAC7F,OAAAC,YAAA;QAAA;MAAA,IAAAA,YAAA,gBAAAA,YAAA;QAAA,MAMapD,EAAE,CAACc,KAAK;QAAA;QAAA,MAERnB,KAAK,CAAC0D,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,GAAG;QAAA,MACjD1D,KAAK,CAAC0D,iBAAiB,KAAK,KAAK,GAAG,MAAM,GAAG,GAAG;QAAA,MAChD1D,KAAK,CAAC0D,iBAAiB,KAAK,OAAO,GAAG,MAAM,GAAG,GAAG;QAAA,MAClD1D,KAAK,CAAC0D,iBAAiB,KAAK,QAAQ,GAAG,MAAM,GAAG;MAAG,IAGtDL,YAAY,CAACxB,GAAG,CAAC,CAAC8B,KAAK,EAAEjB,KAAK,KAAAe,YAAA;QAAA,UACbf,KAAK,GAAI1B,IAAI,CAACC,GAAG,CAACoC,YAAY,CAAC1C,MAAM,GAAG,CAAC,EAAE,CAAC,CAAE;QAAA,cAAgBgD,KAAK,IAAI;MAAc,QACrG,CAAC,MAAAF,YAAA;QAAA,MAKO,GAAGpD,EAAE,CAACc,KAAK;MAAO,IAE7BgC,IAAI,CAAChC,KAAK,CAACU,GAAG,CAACC,IAAI,IAAA2B,YAAA;QAAA,KAET3B,IAAI,CAACa,CAAC,GAAGS,OAAO,CAACjC,KAAK;QAAA,KACtBW,IAAI,CAACc,CAAC;QAAA,SACF/B,SAAS,CAACM,KAAK;QAAA,UACdW,IAAI,CAACH,MAAM;QAAA,MACf,OAAO3B,KAAK,CAAC4D,MAAM,KAAK,QAAQ,GAAG5D,KAAK,CAAC4D,MAAM,GAAG5D,KAAK,CAAC4D,MAAM,GAAG,CAAC,GAAG,CAAC;QAAA,MACtE,OAAO5D,KAAK,CAAC4D,MAAM,KAAK,QAAQ,GAAG5D,KAAK,CAAC4D,MAAM,GAAG5D,KAAK,CAAC4D,MAAM,GAAG,CAAC,GAAG;MAAC,IAE3E5D,KAAK,CAAC6D,QAAQ,IAAAJ,YAAA,CAAAK,SAAA,SAAAL,YAAA;QAAA;QAAA,QAIH3B,IAAI,CAACc,CAAC,GAAGd,IAAI,CAACH,MAAM;QAAA,MACtBG,IAAI,CAACc,CAAC;QAAA,OACL,GAAGtC,gBAAgB,CAACa,KAAK,IAAI;QAAA;MAAA,UAAAsC,YAAA;QAAA;QAAA;QAAA,MAM9B3B,IAAI,CAACH,MAAM;QAAA,OACV,GAAGrB,gBAAgB,CAACa,KAAK,IAAI;QAAA;MAAA,UAIxC,EAEJ,CAAC,IAIJX,SAAS,CAACW,KAAK,IAAAsC,YAAA;QAAA;QAAA,SAGN;UACLM,UAAU,EAAE,QAAQ;UACpBC,gBAAgB,EAAE,cAAc;UAChCC,IAAI,EAAE;QACR;MAAC,IAGCpB,YAAY,CAAC1B,KAAK,CAACU,GAAG,CAAC,CAACC,IAAI,EAAEkB,CAAC,KAAAS,YAAA;QAAA,KAEvB3B,IAAI,CAACa,CAAC,GAAGS,OAAO,CAACjC,KAAK,GAAGN,SAAS,CAACM,KAAK,GAAG,CAAC;QAAA,KAC3CO,QAAQ,CAAC1B,KAAK,CAAC2B,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAKD,QAAQ,CAAC1B,KAAK,CAACkE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAAA,aACtE3D,MAAM,CAACP,KAAK,CAACkE,SAAS,CAAC,IAAI;MAAC,IAEtC/D,KAAK,CAACS,KAAK,GAAG;QAAE8B,KAAK,EAAEM,CAAC;QAAE7B,KAAK,EAAEW,IAAI,CAACX;MAAM,CAAC,CAAC,IAAIW,IAAI,CAACX,KAAK,EAEjE,CAAC,EAGP,EAAAsC,YAAA;QAAA,aAGa,QAAQpD,EAAE,CAACc,KAAK,QAAQ;QAAA,QAC7B,QAAQd,EAAE,CAACc,KAAK;MAAG,IAAAsC,YAAA;QAAA,KAGpB,CAAC;QAAA,KACD,CAAC;QAAA,SACGzC,IAAI,CAACC,GAAG,CAACjB,KAAK,CAACkB,UAAU,CAACP,MAAM,GAAGE,SAAS,CAACM,KAAK,EAAEZ,MAAM,CAACP,KAAK,CAACoB,KAAK,CAAC,CAAC;QAAA,UACvEpB,KAAK,CAAC2B;MAAM;IAK/B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","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 {
|
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,
|
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 =
|
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.
|
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
|
-
}
|
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: {
|
@@ -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.
|
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
|
-
}
|
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 {
|
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 {
|
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 {
|
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 {
|
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";
|