vuetify 3.5.6 → 3.5.7

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 (72) hide show
  1. package/dist/_component-variables-labs.sass +2 -0
  2. package/dist/json/attributes.json +312 -40
  3. package/dist/json/importMap-labs.json +8 -0
  4. package/dist/json/importMap.json +122 -122
  5. package/dist/json/tags.json +78 -0
  6. package/dist/json/web-types.json +793 -52
  7. package/dist/vuetify-labs.css +1931 -1803
  8. package/dist/vuetify-labs.d.ts +1073 -106
  9. package/dist/vuetify-labs.esm.js +315 -75
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +315 -75
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +846 -844
  14. package/dist/vuetify.d.ts +74 -141
  15. package/dist/vuetify.esm.js +70 -69
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +70 -69
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +50 -49
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VApp/index.d.mts +8 -6
  23. package/lib/components/VAutocomplete/VAutocomplete.css +4 -4
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +28 -27
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  27. package/lib/components/VCheckbox/VCheckbox.mjs +3 -1
  28. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  29. package/lib/components/VCombobox/VCombobox.css +4 -4
  30. package/lib/components/VCombobox/VCombobox.mjs +19 -22
  31. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  32. package/lib/components/VCombobox/VCombobox.sass +1 -1
  33. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  34. package/lib/components/VDataIterator/index.d.mts +50 -94
  35. package/lib/components/VLayout/index.d.mts +8 -6
  36. package/lib/components/VSelect/VSelect.mjs +18 -17
  37. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  38. package/lib/components/VToolbar/VToolbar.css +3 -1
  39. package/lib/components/VToolbar/VToolbar.sass +2 -1
  40. package/lib/components/index.d.mts +38 -105
  41. package/lib/composables/layout.mjs.map +1 -1
  42. package/lib/entry-bundler.mjs +1 -1
  43. package/lib/framework.mjs +1 -1
  44. package/lib/index.d.mts +38 -36
  45. package/lib/labs/VEmptyState/VEmptyState.css +59 -0
  46. package/lib/labs/VEmptyState/VEmptyState.mjs +145 -0
  47. package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -0
  48. package/lib/labs/VEmptyState/VEmptyState.sass +53 -0
  49. package/lib/labs/VEmptyState/_variables.scss +22 -0
  50. package/lib/labs/VEmptyState/index.d.mts +415 -0
  51. package/lib/labs/VEmptyState/index.mjs +2 -0
  52. package/lib/labs/VEmptyState/index.mjs.map +1 -0
  53. package/lib/labs/VFab/VFab.css +69 -0
  54. package/lib/labs/VFab/VFab.mjs +114 -0
  55. package/lib/labs/VFab/VFab.mjs.map +1 -0
  56. package/lib/labs/VFab/VFab.sass +82 -0
  57. package/lib/labs/VFab/_mixins.scss +22 -0
  58. package/lib/labs/VFab/_variables.scss +33 -0
  59. package/lib/labs/VFab/index.d.mts +656 -0
  60. package/lib/labs/VFab/index.mjs +2 -0
  61. package/lib/labs/VFab/index.mjs.map +1 -0
  62. package/lib/labs/VSparkline/VBarline.mjs +4 -4
  63. package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
  64. package/lib/labs/VSparkline/VTrendline.mjs +6 -2
  65. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
  66. package/lib/labs/VSparkline/index.d.mts +12 -0
  67. package/lib/labs/VSparkline/util/line.mjs +2 -0
  68. package/lib/labs/VSparkline/util/line.mjs.map +1 -1
  69. package/lib/labs/components.d.mts +1066 -2
  70. package/lib/labs/components.mjs +2 -0
  71. package/lib/labs/components.mjs.map +1 -1
  72. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VBarline.mjs","names":["computed","makeLineProps","genericComponent","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","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","map","index","x","y","parsedLabels","points","item","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","smooth","autoDraw","_Fragment","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/labs/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, 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\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 = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) 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(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\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(props.modelValue.map(item => (typeof item === 'number' ? item : item.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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"}
1
+ {"version":3,"file":"VBarline.mjs","names":["computed","makeLineProps","genericComponent","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","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","map","index","x","y","parsedLabels","points","item","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","smooth","autoDraw","_Fragment","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/labs/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, 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\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(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\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(props.modelValue.map(item => (typeof item === 'number' ? item : item.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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"}
@@ -28,8 +28,8 @@ export const VTrendline = genericComponent()({
28
28
  maxY
29
29
  } = boundary;
30
30
  const totalValues = values.length;
31
- const maxValue = Math.max(...values);
32
- const minValue = Math.min(...values);
31
+ const maxValue = props.max != null ? Number(props.max) : Math.max(...values);
32
+ const minValue = props.min != null ? Number(props.min) : Math.min(...values);
33
33
  const gridX = (maxX - minX) / (totalValues - 1);
34
34
  const gridY = (maxY - minY) / (maxValue - minValue || 1);
35
35
  return values.map((value, index) => {
@@ -136,6 +136,10 @@ export const VTrendline = genericComponent()({
136
136
  "d": genPath(genPoints(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value), props.smooth ? 8 : Number(props.smooth), props.fill, parseInt(props.height, 10)),
137
137
  "fill": props.fill ? `url(#${id.value})` : 'none',
138
138
  "stroke": props.fill ? 'none' : `url(#${id.value})`
139
+ }, null), props.fill && _createVNode("path", {
140
+ "d": genPath(genPoints(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value), props.smooth ? 8 : Number(props.smooth), false, parseInt(props.height, 10)),
141
+ "fill": "none",
142
+ "stroke": props.color ?? props.gradient?.[0]
139
143
  }, null)]);
140
144
  });
141
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VTrendline.mjs","names":["computed","nextTick","ref","watch","makeLineProps","genPath","genericComponent","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","Math","max","minValue","min","gridX","gridY","map","value","index","x","y","hasLabels","showLabels","labels","label","lineWidth","parseFloat","totalWidth","width","padding","parseInt","height","parsedLabels","points","modelValue","item","len","i","push","String","autoDraw","pathRef","getTotalLength","style","strokeDasharray","strokeDashoffset","getBoundingClientRect","transition","autoDrawEasing","transformOrigin","transform","immediate","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","textAnchor","dominantBaseline","labelSize","smooth"],"sources":["../../../src/labs/VSparkline/VTrendline.tsx"],"sourcesContent":["// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genPath } from './util/path'\nimport { genericComponent, 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 = Math.max(...values)\n const minValue = 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 parsedLabels = computed(() => {\n const labels = []\n const points = genPoints(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\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 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(\n genPoints(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n ),\n props.smooth ? 8 : Number(props.smooth),\n props.fill,\n parseInt(props.height, 10)\n )}\n fill={ props.fill ? `url(#${id.value})` : 'none' }\n stroke={ props.fill ? 'none' : `url(#${id.value})` }\n />\n </svg>\n )\n })\n },\n})\n\nexport type VTrendline = InstanceType<typeof VTrendline>\n"],"mappings":";AAAA;AACA,SAASA,QAAQ,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC3CC,aAAa;AAAA,SACbC,OAAO;AAAA,SACPC,gBAAgB,EAAEC,MAAM,EAAEC,YAAY,EAAEC,SAAS,gCAE1D;AA0BA,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,IAAI,EAAEC,OAAO;EAEb,GAAGR,aAAa,CAAC;AACnB,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMS,UAAU,GAAGP,gBAAgB,CAAkB,CAAC,CAAC;EAC5DQ,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEL,mBAAmB,CAAC,CAAC;EAE5BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,GAAG,GAAGZ,MAAM,CAAC,CAAC;IACpB,MAAMa,EAAE,GAAGpB,QAAQ,CAAC,MAAMe,KAAK,CAACK,EAAE,IAAK,aAAYD,GAAI,EAAC,CAAC;IACzD,MAAME,gBAAgB,GAAGrB,QAAQ,CAAC,MAAMsB,MAAM,CAACP,KAAK,CAACM,gBAAgB,CAAC,KAAKN,KAAK,CAACJ,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IAEpG,MAAMY,UAAU,GAAGrB,GAAG,CAAC,CAAC,CAAC;IACzB,MAAMsB,IAAI,GAAGtB,GAAG,CAAwB,IAAI,CAAC;IAE7C,SAASuB,SAASA,CAChBC,MAAgB,EAChBC,QAAkB,EACT;MACT,MAAM;QAAEC,IAAI;QAAEC,IAAI;QAAEC,IAAI;QAAEC;MAAK,CAAC,GAAGJ,QAAQ;MAC3C,MAAMK,WAAW,GAAGN,MAAM,CAACO,MAAM;MACjC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGV,MAAM,CAAC;MACpC,MAAMW,QAAQ,GAAGF,IAAI,CAACG,GAAG,CAAC,GAAGZ,MAAM,CAAC;MAEpC,MAAMa,KAAK,GAAG,CAACV,IAAI,GAAGD,IAAI,KAAKI,WAAW,GAAG,CAAC,CAAC;MAC/C,MAAMQ,KAAK,GAAG,CAACT,IAAI,GAAGD,IAAI,KAAMI,QAAQ,GAAGG,QAAQ,IAAK,CAAC,CAAC;MAE1D,OAAOX,MAAM,CAACe,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;QAClC,OAAO;UACLC,CAAC,EAAEhB,IAAI,GAAGe,KAAK,GAAGJ,KAAK;UACvBM,CAAC,EAAEd,IAAI,GAAG,CAACW,KAAK,GAAGL,QAAQ,IAAIG,KAAK;UACpCE;QACF,CAAC;MACH,CAAC,CAAC;IACJ;IACA,MAAMI,SAAS,GAAG9C,QAAQ,CAAC,MAAM;MAC/B,OAAOY,OAAO,CACZG,KAAK,CAACgC,UAAU,IAChBhC,KAAK,CAACiC,MAAM,CAACf,MAAM,GAAG,CAAC,IACvB,CAAC,CAACf,KAAK,EAAE+B,KACX,CAAC;IACH,CAAC,CAAC;IACF,MAAMC,SAAS,GAAGlD,QAAQ,CAAC,MAAM;MAC/B,OAAOmD,UAAU,CAACpC,KAAK,CAACmC,SAAS,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC;IACF,MAAME,UAAU,GAAGpD,QAAQ,CAAC,MAAMsB,MAAM,CAACP,KAAK,CAACsC,KAAK,CAAC,CAAC;IAEtD,MAAM1B,QAAQ,GAAG3B,QAAQ,CAAW,MAAM;MACxC,MAAMsD,OAAO,GAAGhC,MAAM,CAACP,KAAK,CAACuC,OAAO,CAAC;MAErC,OAAO;QACL1B,IAAI,EAAE0B,OAAO;QACbzB,IAAI,EAAEuB,UAAU,CAACV,KAAK,GAAGY,OAAO;QAChCxB,IAAI,EAAEwB,OAAO;QACbvB,IAAI,EAAEwB,QAAQ,CAACxC,KAAK,CAACyC,MAAM,EAAE,EAAE,CAAC,GAAGF;MACrC,CAAC;IACH,CAAC,CAAC;IACF,MAAMG,YAAY,GAAGzD,QAAQ,CAAC,MAAM;MAClC,MAAMgD,MAAM,GAAG,EAAE;MACjB,MAAMU,MAAM,GAAGjC,SAAS,CACtBV,KAAK,CAAC4C,UAAU,CAAClB,GAAG,CAACmB,IAAI,IAAK,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAAClB,KAAM,CAAC,EAC5Ef,QAAQ,CAACe,KACX,CAAC;MACD,MAAMmB,GAAG,GAAGH,MAAM,CAACzB,MAAM;MAEzB,KAAK,IAAI6B,CAAC,GAAG,CAAC,EAAEd,MAAM,CAACf,MAAM,GAAG4B,GAAG,EAAEC,CAAC,EAAE,EAAE;QACxC,MAAMF,IAAI,GAAGF,MAAM,CAACI,CAAC,CAAC;QACtB,IAAIpB,KAAK,GAAG3B,KAAK,CAACiC,MAAM,CAACc,CAAC,CAAC;QAE3B,IAAI,CAACpB,KAAK,EAAE;UACVA,KAAK,GAAG,OAAOkB,IAAI,KAAK,QAAQ,GAC5BA,IAAI,CAAClB,KAAK,GACVkB,IAAI;QACV;QAEAZ,MAAM,CAACe,IAAI,CAAC;UACVnB,CAAC,EAAEgB,IAAI,CAAChB,CAAC;UACTF,KAAK,EAAEsB,MAAM,CAACtB,KAAK;QACrB,CAAC,CAAC;MACJ;MAEA,OAAOM,MAAM;IACf,CAAC,CAAC;IAEF7C,KAAK,CAAC,MAAMY,KAAK,CAAC4C,UAAU,EAAE,YAAY;MACxC,MAAM1D,QAAQ,CAAC,CAAC;MAEhB,IAAI,CAACc,KAAK,CAACkD,QAAQ,IAAI,CAACzC,IAAI,CAACkB,KAAK,EAAE;MAEpC,MAAMwB,OAAO,GAAG1C,IAAI,CAACkB,KAAK;MAC1B,MAAMT,MAAM,GAAGiC,OAAO,CAACC,cAAc,CAAC,CAAC;MAEvC,IAAI,CAACpD,KAAK,CAACJ,IAAI,EAAE;QACf;QACAuD,OAAO,CAACE,KAAK,CAACC,eAAe,GAAI,GAAEpC,MAAO,EAAC;QAC3CiC,OAAO,CAACE,KAAK,CAACE,gBAAgB,GAAI,GAAErC,MAAO,EAAC;;QAE5C;QACAiC,OAAO,CAACK,qBAAqB,CAAC,CAAC;;QAE/B;QACAL,OAAO,CAACE,KAAK,CAACI,UAAU,GAAI,qBAAoBnD,gBAAgB,CAACqB,KAAM,MAAK3B,KAAK,CAAC0D,cAAe,EAAC;QAClGP,OAAO,CAACE,KAAK,CAACE,gBAAgB,GAAG,GAAG;MACtC,CAAC,MAAM;QACL;QACAJ,OAAO,CAACE,KAAK,CAACM,eAAe,GAAG,eAAe;QAC/CR,OAAO,CAACE,KAAK,CAACI,UAAU,GAAG,MAAM;QACjCN,OAAO,CAACE,KAAK,CAACO,SAAS,GAAI,WAAU;QACrCT,OAAO,CAACK,qBAAqB,CAAC,CAAC;QAC/BL,OAAO,CAACE,KAAK,CAACI,UAAU,GAAI,aAAYnD,gBAAgB,CAACqB,KAAM,MAAK3B,KAAK,CAAC0D,cAAe,EAAC;QAC1FP,OAAO,CAACE,KAAK,CAACO,SAAS,GAAI,WAAU;MACvC;MAEApD,UAAU,CAACmB,KAAK,GAAGT,MAAM;IAC3B,CAAC,EAAE;MAAE2C,SAAS,EAAE;IAAK,CAAC,CAAC;IAEvBnE,SAAS,CAAC,MAAM;MACd,MAAMoE,YAAY,GAAG,CAAC9D,KAAK,CAAC+D,QAAQ,CAACC,KAAK,CAAC,CAAC,CAAC9C,MAAM,GAAG,CAAC,EAAE,CAAC,GAAGlB,KAAK,CAAC+D,QAAQ,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAE7F,OAAAC,YAAA;QAAA;QAAA,gBAGmB9B,UAAU,CAACpC,KAAK,CAACmC,SAAS,CAAC,IAAI;MAAC,IAAA+B,YAAA,gBAAAA,YAAA;QAAA,MAItC7D,EAAE,CAACsB,KAAK;QAAA;QAAA,MAER3B,KAAK,CAACmE,iBAAiB,KAAK,MAAM,GAAG,MAAM,GAAG,GAAG;QAAA,MACjDnE,KAAK,CAACmE,iBAAiB,KAAK,KAAK,GAAG,MAAM,GAAG,GAAG;QAAA,MAChDnE,KAAK,CAACmE,iBAAiB,KAAK,OAAO,GAAG,MAAM,GAAG,GAAG;QAAA,MAClDnE,KAAK,CAACmE,iBAAiB,KAAK,QAAQ,GAAG,MAAM,GAAG;MAAG,IAGtDL,YAAY,CAACpC,GAAG,CAAC,CAAC0C,KAAK,EAAExC,KAAK,KAAAsC,YAAA;QAAA,UACbtC,KAAK,GAAIR,IAAI,CAACC,GAAG,CAACyC,YAAY,CAAC5C,MAAM,GAAG,CAAC,EAAE,CAAC,CAAE;QAAA,cAAgBkD,KAAK,IAAI;MAAc,QACrG,CAAC,MAKNrC,SAAS,CAACJ,KAAK,IAAAuC,YAAA;QAAA;QAAA,SAGN;UACLG,UAAU,EAAE,QAAQ;UACpBC,gBAAgB,EAAE,cAAc;UAChC1E,IAAI,EAAE;QACR;MAAC,IAGC8C,YAAY,CAACf,KAAK,CAACD,GAAG,CAAC,CAACmB,IAAI,EAAEE,CAAC,KAAAmB,YAAA;QAAA,KAEvBrB,IAAI,CAAChB,CAAC,GAAIM,SAAS,CAACR,KAAK,GAAG,CAAE,GAAGQ,SAAS,CAACR,KAAK,GAAG,CAAC;QAAA,KACnDa,QAAQ,CAACxC,KAAK,CAACyC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAKD,QAAQ,CAACxC,KAAK,CAACuE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAAA,aACtEhE,MAAM,CAACP,KAAK,CAACuE,SAAS,CAAC,IAAI;MAAC,IAEtCpE,KAAK,CAAC+B,KAAK,GAAG;QAAEN,KAAK,EAAEmB,CAAC;QAAEpB,KAAK,EAAEkB,IAAI,CAAClB;MAAM,CAAC,CAAC,IAAIkB,IAAI,CAAClB,KAAK,EAEjE,CAAC,EAGP,EAAAuC,YAAA;QAAA,OAGOzD,IAAI;QAAA,KACNnB,OAAO,CACToB,SAAS,CACPV,KAAK,CAAC4C,UAAU,CAAClB,GAAG,CAACmB,IAAI,IAAK,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAAClB,KAAM,CAAC,EAC5Ef,QAAQ,CAACe,KACX,CAAC,EACD3B,KAAK,CAACwE,MAAM,GAAG,CAAC,GAAGjE,MAAM,CAACP,KAAK,CAACwE,MAAM,CAAC,EACvCxE,KAAK,CAACJ,IAAI,EACV4C,QAAQ,CAACxC,KAAK,CAACyC,MAAM,EAAE,EAAE,CAC3B,CAAC;QAAA,QACMzC,KAAK,CAACJ,IAAI,GAAI,QAAOS,EAAE,CAACsB,KAAM,GAAE,GAAG,MAAM;QAAA,UACvC3B,KAAK,CAACJ,IAAI,GAAG,MAAM,GAAI,QAAOS,EAAE,CAACsB,KAAM;MAAE;IAI1D,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VTrendline.mjs","names":["computed","nextTick","ref","watch","makeLineProps","genPath","genericComponent","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","parsedLabels","points","modelValue","item","len","i","push","String","autoDraw","pathRef","getTotalLength","style","strokeDasharray","strokeDashoffset","getBoundingClientRect","transition","autoDrawEasing","transformOrigin","transform","immediate","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","textAnchor","dominantBaseline","labelSize","smooth"],"sources":["../../../src/labs/VSparkline/VTrendline.tsx"],"sourcesContent":["// Utilities\nimport { computed, nextTick, ref, watch } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genPath } from './util/path'\nimport { genericComponent, 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 parsedLabels = computed(() => {\n const labels = []\n const points = genPoints(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\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 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(\n genPoints(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n ),\n props.smooth ? 8 : Number(props.smooth),\n props.fill,\n parseInt(props.height, 10)\n )}\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(\n genPoints(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n ),\n props.smooth ? 8 : Number(props.smooth),\n false,\n parseInt(props.height, 10)\n )}\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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"}
@@ -28,7 +28,9 @@ declare const VSparkline: {
28
28
  showLabels: boolean;
29
29
  autoLineWidth: boolean;
30
30
  } & {
31
+ max?: string | number | undefined;
31
32
  id?: string | undefined;
33
+ min?: string | number | undefined;
32
34
  color?: string | undefined;
33
35
  autoDrawDuration?: string | number | undefined;
34
36
  } & {
@@ -70,7 +72,9 @@ declare const VSparkline: {
70
72
  showLabels: boolean;
71
73
  autoLineWidth: boolean;
72
74
  } & {
75
+ max?: string | number | undefined;
73
76
  id?: string | undefined;
77
+ min?: string | number | undefined;
74
78
  color?: string | undefined;
75
79
  autoDrawDuration?: string | number | undefined;
76
80
  } & {
@@ -146,7 +150,9 @@ declare const VSparkline: {
146
150
  showLabels: boolean;
147
151
  autoLineWidth: boolean;
148
152
  } & {
153
+ max?: string | number | undefined;
149
154
  id?: string | undefined;
155
+ min?: string | number | undefined;
150
156
  color?: string | undefined;
151
157
  autoDrawDuration?: string | number | undefined;
152
158
  } & {
@@ -209,7 +215,9 @@ declare const VSparkline: {
209
215
  showLabels: boolean;
210
216
  autoLineWidth: boolean;
211
217
  } & {
218
+ max?: string | number | undefined;
212
219
  id?: string | undefined;
220
+ min?: string | number | undefined;
213
221
  color?: string | undefined;
214
222
  autoDrawDuration?: string | number | undefined;
215
223
  } & {
@@ -298,6 +306,8 @@ declare const VSparkline: {
298
306
  type: PropType<SparklineItem[]>;
299
307
  default: () => never[];
300
308
  };
309
+ min: (StringConstructor | NumberConstructor)[];
310
+ max: (StringConstructor | NumberConstructor)[];
301
311
  padding: {
302
312
  type: (StringConstructor | NumberConstructor)[];
303
313
  default: number;
@@ -352,6 +362,8 @@ declare const VSparkline: {
352
362
  type: PropType<SparklineItem[]>;
353
363
  default: () => never[];
354
364
  };
365
+ min: (StringConstructor | NumberConstructor)[];
366
+ max: (StringConstructor | NumberConstructor)[];
355
367
  padding: {
356
368
  type: (StringConstructor | NumberConstructor)[];
357
369
  default: number;
@@ -38,6 +38,8 @@ export const makeLineProps = propsFactory({
38
38
  type: Array,
39
39
  default: () => []
40
40
  },
41
+ min: [String, Number],
42
+ max: [String, Number],
41
43
  padding: {
42
44
  type: [String, Number],
43
45
  default: 8
@@ -1 +1 @@
1
- {"version":3,"file":"line.mjs","names":["propsFactory","makeLineProps","autoDraw","Boolean","autoDrawDuration","Number","String","autoDrawEasing","type","default","color","gradient","Array","gradientDirection","validator","val","includes","height","labels","labelSize","lineWidth","id","modelValue","padding","showLabels","smooth","width"],"sources":["../../../../src/labs/VSparkline/util/line.ts"],"sourcesContent":["// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type SparklineItem = number | { value: number }\n\nexport const makeLineProps = propsFactory({\n autoDraw: Boolean,\n autoDrawDuration: [Number, String],\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n color: String,\n gradient: {\n type: Array as PropType<string[]>,\n default: () => ([]),\n },\n gradientDirection: {\n type: String as PropType<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n id: String,\n modelValue: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: Boolean,\n width: {\n type: [Number, String],\n default: 300,\n },\n}, 'Line')\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,mCAErB;AAKA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,QAAQ,EAAEC,OAAO;EACjBC,gBAAgB,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAClCC,cAAc,EAAE;IACdC,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEJ,MAAM;EACbK,QAAQ,EAAE;IACRH,IAAI,EAAEI,KAA2B;IACjCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDI,iBAAiB,EAAE;IACjBL,IAAI,EAAEF,MAAuD;IAC7DQ,SAAS,EAAGC,GAAW,IAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,GAAG,CAAC;IAC5EN,OAAO,EAAE;EACX,CAAC;EACDQ,MAAM,EAAE;IACNT,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDS,MAAM,EAAE;IACNV,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDU,SAAS,EAAE;IACTX,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX,CAAC;EACDW,SAAS,EAAE;IACTZ,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDY,EAAE,EAAEf,MAAM;EACVgB,UAAU,EAAE;IACVd,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDc,OAAO,EAAE;IACPf,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDe,UAAU,EAAErB,OAAO;EACnBsB,MAAM,EAAEtB,OAAO;EACfuB,KAAK,EAAE;IACLlB,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX;AACF,CAAC,EAAE,MAAM,CAAC"}
1
+ {"version":3,"file":"line.mjs","names":["propsFactory","makeLineProps","autoDraw","Boolean","autoDrawDuration","Number","String","autoDrawEasing","type","default","color","gradient","Array","gradientDirection","validator","val","includes","height","labels","labelSize","lineWidth","id","modelValue","min","max","padding","showLabels","smooth","width"],"sources":["../../../../src/labs/VSparkline/util/line.ts"],"sourcesContent":["// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type SparklineItem = number | { value: number }\n\nexport const makeLineProps = propsFactory({\n autoDraw: Boolean,\n autoDrawDuration: [Number, String],\n autoDrawEasing: {\n type: String,\n default: 'ease',\n },\n color: String,\n gradient: {\n type: Array as PropType<string[]>,\n default: () => ([]),\n },\n gradientDirection: {\n type: String as PropType<'top' | 'bottom' | 'left' | 'right'>,\n validator: (val: string) => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top',\n },\n height: {\n type: [String, Number],\n default: 75,\n },\n labels: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n labelSize: {\n type: [Number, String],\n default: 7,\n },\n lineWidth: {\n type: [String, Number],\n default: 4,\n },\n id: String,\n modelValue: {\n type: Array as PropType<SparklineItem[]>,\n default: () => ([]),\n },\n min: [String, Number],\n max: [String, Number],\n padding: {\n type: [String, Number],\n default: 8,\n },\n showLabels: Boolean,\n smooth: Boolean,\n width: {\n type: [Number, String],\n default: 300,\n },\n}, 'Line')\n"],"mappings":"AAAA;AAAA,SACSA,YAAY,mCAErB;AAKA,OAAO,MAAMC,aAAa,GAAGD,YAAY,CAAC;EACxCE,QAAQ,EAAEC,OAAO;EACjBC,gBAAgB,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EAClCC,cAAc,EAAE;IACdC,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEJ,MAAM;EACbK,QAAQ,EAAE;IACRH,IAAI,EAAEI,KAA2B;IACjCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDI,iBAAiB,EAAE;IACjBL,IAAI,EAAEF,MAAuD;IAC7DQ,SAAS,EAAGC,GAAW,IAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACD,GAAG,CAAC;IAC5EN,OAAO,EAAE;EACX,CAAC;EACDQ,MAAM,EAAE;IACNT,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDS,MAAM,EAAE;IACNV,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDU,SAAS,EAAE;IACTX,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX,CAAC;EACDW,SAAS,EAAE;IACTZ,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDY,EAAE,EAAEf,MAAM;EACVgB,UAAU,EAAE;IACVd,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDc,GAAG,EAAE,CAACjB,MAAM,EAAED,MAAM,CAAC;EACrBmB,GAAG,EAAE,CAAClB,MAAM,EAAED,MAAM,CAAC;EACrBoB,OAAO,EAAE;IACPjB,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDiB,UAAU,EAAEvB,OAAO;EACnBwB,MAAM,EAAExB,OAAO;EACfyB,KAAK,EAAE;IACLpB,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX;AACF,CAAC,EAAE,MAAM,CAAC"}