vuetify 3.6.0 → 3.6.1

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 (106) hide show
  1. package/dist/_component-variables-labs.sass +0 -2
  2. package/dist/_component-variables.sass +2 -0
  3. package/dist/json/importMap-labs.json +10 -30
  4. package/dist/json/importMap.json +114 -94
  5. package/dist/json/web-types.json +1 -1
  6. package/dist/vuetify-labs.css +2555 -2555
  7. package/dist/vuetify-labs.d.ts +4811 -4811
  8. package/dist/vuetify-labs.esm.js +10050 -10052
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +10050 -10052
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +679 -502
  13. package/dist/vuetify.d.ts +2872 -574
  14. package/dist/vuetify.esm.js +1711 -887
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +1711 -887
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +611 -557
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/{labs → components}/VConfirmEdit/VConfirmEdit.mjs +1 -1
  22. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -0
  23. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +1 -0
  24. package/lib/components/VConfirmEdit/index.mjs.map +1 -0
  25. package/lib/{labs → components}/VEmptyState/VEmptyState.mjs +4 -4
  26. package/lib/components/VEmptyState/VEmptyState.mjs.map +1 -0
  27. package/lib/components/VEmptyState/index.mjs.map +1 -0
  28. package/lib/{labs → components}/VFab/VFab.mjs +1 -1
  29. package/lib/components/VFab/VFab.mjs.map +1 -0
  30. package/lib/components/VFab/index.mjs.map +1 -0
  31. package/lib/components/VSparkline/VBarline.mjs.map +1 -0
  32. package/lib/components/VSparkline/VSparkline.mjs +44 -320
  33. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  34. package/lib/components/VSparkline/VTrendline.mjs.map +1 -0
  35. package/lib/components/VSparkline/index.mjs +1 -3
  36. package/lib/components/VSparkline/index.mjs.map +1 -1
  37. package/lib/components/VSparkline/util/line.mjs.map +1 -0
  38. package/lib/components/VSparkline/util/path.mjs.map +1 -0
  39. package/lib/components/VSpeedDial/VSpeedDial.mjs +68 -85
  40. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  41. package/lib/components/VSpeedDial/VSpeedDial.sass +20 -72
  42. package/lib/components/VSpeedDial/index.mjs +1 -3
  43. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  44. package/lib/components/index.d.mts +2840 -547
  45. package/lib/components/index.mjs +6 -2
  46. package/lib/components/index.mjs.map +1 -1
  47. package/lib/composables/directiveComponent.mjs +1 -3
  48. package/lib/composables/directiveComponent.mjs.map +1 -1
  49. package/lib/entry-bundler.mjs +1 -1
  50. package/lib/framework.mjs +1 -1
  51. package/lib/index.d.mts +40 -40
  52. package/lib/labs/VDateInput/VDateInput.mjs +2 -2
  53. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  54. package/lib/labs/VDateInput/index.d.mts +14 -14
  55. package/lib/labs/components.d.mts +1628 -3945
  56. package/lib/labs/components.mjs +0 -5
  57. package/lib/labs/components.mjs.map +1 -1
  58. package/package.json +2 -2
  59. package/lib/components/VSparkline/helpers/core.mjs +0 -49
  60. package/lib/components/VSparkline/helpers/core.mjs.map +0 -1
  61. package/lib/components/VSparkline/helpers/math.mjs +0 -34
  62. package/lib/components/VSparkline/helpers/math.mjs.map +0 -1
  63. package/lib/components/VSparkline/helpers/path.mjs +0 -27
  64. package/lib/components/VSparkline/helpers/path.mjs.map +0 -1
  65. package/lib/components/VSpeedDial/_variables.scss +0 -5
  66. package/lib/labs/VConfirmEdit/VConfirmEdit.mjs.map +0 -1
  67. package/lib/labs/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +0 -1
  68. package/lib/labs/VConfirmEdit/index.mjs.map +0 -1
  69. package/lib/labs/VEmptyState/VEmptyState.mjs.map +0 -1
  70. package/lib/labs/VEmptyState/index.mjs.map +0 -1
  71. package/lib/labs/VFab/VFab.mjs.map +0 -1
  72. package/lib/labs/VFab/index.mjs.map +0 -1
  73. package/lib/labs/VSparkline/VBarline.mjs.map +0 -1
  74. package/lib/labs/VSparkline/VSparkline.mjs +0 -49
  75. package/lib/labs/VSparkline/VSparkline.mjs.map +0 -1
  76. package/lib/labs/VSparkline/VTrendline.mjs.map +0 -1
  77. package/lib/labs/VSparkline/index.mjs +0 -2
  78. package/lib/labs/VSparkline/index.mjs.map +0 -1
  79. package/lib/labs/VSparkline/util/line.mjs.map +0 -1
  80. package/lib/labs/VSparkline/util/path.mjs.map +0 -1
  81. package/lib/labs/VSpeedDial/VSpeedDial.mjs +0 -76
  82. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +0 -1
  83. package/lib/labs/VSpeedDial/VSpeedDial.sass +0 -27
  84. package/lib/labs/VSpeedDial/index.mjs +0 -2
  85. package/lib/labs/VSpeedDial/index.mjs.map +0 -1
  86. /package/lib/{labs → components}/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +0 -0
  87. /package/lib/{labs → components}/VConfirmEdit/index.d.mts +0 -0
  88. /package/lib/{labs → components}/VConfirmEdit/index.mjs +0 -0
  89. /package/lib/{labs → components}/VEmptyState/VEmptyState.css +0 -0
  90. /package/lib/{labs → components}/VEmptyState/VEmptyState.sass +0 -0
  91. /package/lib/{labs → components}/VEmptyState/_variables.scss +0 -0
  92. /package/lib/{labs → components}/VEmptyState/index.d.mts +0 -0
  93. /package/lib/{labs → components}/VEmptyState/index.mjs +0 -0
  94. /package/lib/{labs → components}/VFab/VFab.css +0 -0
  95. /package/lib/{labs → components}/VFab/VFab.sass +0 -0
  96. /package/lib/{labs → components}/VFab/_mixins.scss +0 -0
  97. /package/lib/{labs → components}/VFab/_variables.scss +0 -0
  98. /package/lib/{labs → components}/VFab/index.d.mts +0 -0
  99. /package/lib/{labs → components}/VFab/index.mjs +0 -0
  100. /package/lib/{labs → components}/VSparkline/VBarline.mjs +0 -0
  101. /package/lib/{labs → components}/VSparkline/VTrendline.mjs +0 -0
  102. /package/lib/{labs → components}/VSparkline/index.d.mts +0 -0
  103. /package/lib/{labs → components}/VSparkline/util/line.mjs +0 -0
  104. /package/lib/{labs → components}/VSparkline/util/path.mjs +0 -0
  105. /package/lib/{labs → components}/VSpeedDial/VSpeedDial.css +0 -0
  106. /package/lib/{labs → components}/VSpeedDial/index.d.mts +0 -0
@@ -0,0 +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,4 +1,2 @@
1
- import VSparkline from "./VSparkline.mjs";
2
- export { VSparkline };
3
- export default VSparkline;
1
+ export { VSparkline } from "./VSparkline.mjs";
4
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["VSparkline"],"sources":["../../../src/components/VSparkline/index.ts"],"sourcesContent":["import VSparkline from './VSparkline'\n\nexport { VSparkline }\n\nexport default VSparkline\n"],"mappings":"OAAOA,UAAU;AAEjB,SAASA,UAAU;AAEnB,eAAeA,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.mjs","names":["VSparkline"],"sources":["../../../src/components/VSparkline/index.ts"],"sourcesContent":["export { VSparkline } from './VSparkline'\n"],"mappings":"SAASA,UAAU","ignoreList":[]}
@@ -0,0 +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","itemValue","modelValue","min","max","padding","showLabels","smooth","width"],"sources":["../../../../src/components/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 itemValue: {\n type: String,\n default: 'value',\n },\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,SAAS,EAAE;IACTd,IAAI,EAAEF,MAAM;IACZG,OAAO,EAAE;EACX,CAAC;EACDc,UAAU,EAAE;IACVf,IAAI,EAAEI,KAAkC;IACxCH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EACDe,GAAG,EAAE,CAAClB,MAAM,EAAED,MAAM,CAAC;EACrBoB,GAAG,EAAE,CAACnB,MAAM,EAAED,MAAM,CAAC;EACrBqB,OAAO,EAAE;IACPlB,IAAI,EAAE,CAACF,MAAM,EAAED,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDkB,UAAU,EAAExB,OAAO;EACnByB,MAAM,EAAEzB,OAAO;EACf0B,KAAK,EAAE;IACLrB,IAAI,EAAE,CAACH,MAAM,EAAEC,MAAM,CAAC;IACtBG,OAAO,EAAE;EACX;AACF,CAAC,EAAE,MAAM,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","names":["genPath","points","radius","fill","arguments","length","undefined","height","start","shift","end","x","y","map","point","index","next","prev","isCollinear","checkCollinear","threshold","Math","min","getDistance","isTooCloseForRadius","radiusForPoint","before","moveTo","after","join","int","value","parseInt","p0","p1","p2","sqrt","pow","to","from","vector","unitVector"],"sources":["../../../../src/components/VSparkline/util/path.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { Point } from '../VSparkline'\n// import { checkCollinear, getDistance, moveTo } from './math'\n\n/**\n * From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18\n */\nexport function genPath (points: Point[], radius: number, fill = false, height = 75) {\n if (points.length === 0) return ''\n const start = points.shift()!\n const end = points[points.length - 1]\n\n return (\n (fill ? `M${start.x} ${height - start.x + 2} L${start.x} ${start.y}` : `M${start.x} ${start.y}`) +\n points\n .map((point, index) => {\n const next = points[index + 1]\n const prev = points[index - 1] || start\n const isCollinear = next && checkCollinear(next, point, prev)\n\n if (!next || isCollinear) {\n return `L${point.x} ${point.y}`\n }\n\n const threshold = Math.min(\n getDistance(prev, point),\n getDistance(next, point)\n )\n const isTooCloseForRadius = threshold / 2 < radius\n const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius\n\n const before = moveTo(prev, point, radiusForPoint)\n const after = moveTo(next, point, radiusForPoint)\n\n return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`\n })\n .join('') +\n (fill ? `L${end.x} ${height - start.x + 2} Z` : '')\n )\n}\n\nfunction int (value: string | number): number {\n return parseInt(value, 10)\n}\n\n/**\n * https://en.wikipedia.org/wiki/Collinearity\n * x=(x1+x2)/2\n * y=(y1+y2)/2\n */\nexport function checkCollinear (p0: Point, p1: Point, p2: Point): boolean {\n return int(p0.x + p2.x) === int(2 * p1.x) && int(p0.y + p2.y) === int(2 * p1.y)\n}\n\nexport function getDistance (p1: Point, p2: Point): number {\n return Math.sqrt(\n Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2)\n )\n}\n\nexport function moveTo (to: Point, from: Point, radius: number) {\n const vector = { x: to.x - from.x, y: to.y - from.y }\n const length = Math.sqrt((vector.x * vector.x) + (vector.y * vector.y))\n const unitVector = { x: vector.x / length, y: vector.y / length }\n\n return {\n x: from.x + unitVector.x * radius,\n y: from.y + unitVector.y * radius,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,93 +1,76 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
1
+ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
4
2
  // Styles
5
3
  import "./VSpeedDial.css";
6
4
 
7
- // Mixins
8
- import Toggleable from "../../mixins/toggleable.mjs";
9
- import Positionable from "../../mixins/positionable.mjs";
10
- import Transitionable from "../../mixins/transitionable.mjs"; // Directives
11
- import ClickOutside from "../../directives/click-outside/index.mjs"; // Types
12
- import mixins from "../../util/mixins.mjs";
13
- /* @vue/component */
14
- export default mixins(Positionable, Toggleable, Transitionable).extend({
15
- name: 'v-speed-dial',
16
- directives: {
17
- ClickOutside
18
- },
19
- props: {
20
- direction: {
21
- type: String,
22
- default: 'top',
23
- validator: val => {
24
- return ['top', 'right', 'bottom', 'left'].includes(val);
25
- }
26
- },
27
- openOnHover: Boolean,
28
- transition: {
29
- type: String,
30
- default: 'scale-transition'
31
- }
32
- },
33
- computed: {
34
- classes() {
35
- return {
36
- 'v-speed-dial': true,
37
- 'v-speed-dial--top': this.top,
38
- 'v-speed-dial--right': this.right,
39
- 'v-speed-dial--bottom': this.bottom,
40
- 'v-speed-dial--left': this.left,
41
- 'v-speed-dial--absolute': this.absolute,
42
- 'v-speed-dial--fixed': this.fixed,
43
- [`v-speed-dial--direction-${this.direction}`]: true,
44
- 'v-speed-dial--is-active': this.isActive
45
- };
46
- }
5
+ // Components
6
+ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
7
+ import { makeVMenuProps, VMenu } from "../VMenu/VMenu.mjs"; // Composables
8
+ import { makeComponentProps } from "../../composables/component.mjs";
9
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
10
+ import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
11
+ import { computed, ref } from 'vue';
12
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
13
+ export const makeVSpeedDialProps = propsFactory({
14
+ ...makeComponentProps(),
15
+ ...makeVMenuProps({
16
+ offset: 8,
17
+ minWidth: 0,
18
+ openDelay: 0,
19
+ closeDelay: 100,
20
+ location: 'top center',
21
+ transition: 'scale-transition'
22
+ })
23
+ }, 'VSpeedDial');
24
+ export const VSpeedDial = genericComponent()({
25
+ name: 'VSpeedDial',
26
+ props: makeVSpeedDialProps(),
27
+ emits: {
28
+ 'update:modelValue': value => true
47
29
  },
48
- render(h) {
49
- let children = [];
50
- const data = {
51
- class: this.classes,
52
- directives: [{
53
- name: 'click-outside',
54
- value: () => this.isActive = false
55
- }],
56
- on: {
57
- click: () => this.isActive = !this.isActive
58
- }
59
- };
60
- if (this.openOnHover) {
61
- data.on.mouseenter = () => this.isActive = true;
62
- data.on.mouseleave = () => this.isActive = false;
63
- }
64
- if (this.isActive) {
65
- let btnCount = 0;
66
- children = (this.$slots.default || []).map((b, i) => {
67
- if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {
68
- btnCount++;
69
- return h('div', {
70
- style: {
71
- transitionDelay: btnCount * 0.05 + 's'
72
- },
73
- key: i
74
- }, [b]);
75
- } else {
76
- b.key = i;
77
- return b;
78
- }
30
+ setup(props, _ref) {
31
+ let {
32
+ slots
33
+ } = _ref;
34
+ const model = useProxiedModel(props, 'modelValue');
35
+ const menuRef = ref();
36
+ const location = computed(() => {
37
+ const [y, x = 'center'] = props.location.split(' ');
38
+ return `${y} ${x}`;
39
+ });
40
+ const locationClasses = computed(() => ({
41
+ [`v-speed-dial__content--${location.value.replace(' ', '-')}`]: true
42
+ }));
43
+ useRender(() => {
44
+ const menuProps = VMenu.filterProps(props);
45
+ return _createVNode(VMenu, _mergeProps(menuProps, {
46
+ "modelValue": model.value,
47
+ "onUpdate:modelValue": $event => model.value = $event,
48
+ "class": props.class,
49
+ "style": props.style,
50
+ "contentClass": ['v-speed-dial__content', locationClasses.value],
51
+ "location": location.value,
52
+ "ref": menuRef,
53
+ "transition": "fade-transition"
54
+ }), {
55
+ ...slots,
56
+ default: slotProps => _createVNode(VDefaultsProvider, {
57
+ "defaults": {
58
+ VBtn: {
59
+ size: 'small'
60
+ }
61
+ }
62
+ }, {
63
+ default: () => [_createVNode(MaybeTransition, {
64
+ "appear": true,
65
+ "group": true,
66
+ "transition": props.transition
67
+ }, {
68
+ default: () => [slots.default?.(slotProps)]
69
+ })]
70
+ })
79
71
  });
80
- }
81
- const list = h('transition-group', {
82
- class: 'v-speed-dial__list',
83
- props: {
84
- name: this.transition,
85
- mode: this.mode,
86
- origin: this.origin,
87
- tag: 'div'
88
- }
89
- }, children);
90
- return h('div', data, [this.$slots.activator, list]);
72
+ });
73
+ return {};
91
74
  }
92
75
  });
93
76
  //# sourceMappingURL=VSpeedDial.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VSpeedDial.mjs","names":["Toggleable","Positionable","Transitionable","ClickOutside","mixins","extend","name","directives","props","direction","type","String","default","validator","val","includes","openOnHover","Boolean","transition","computed","classes","top","right","bottom","left","absolute","fixed","isActive","render","h","children","data","class","value","on","click","mouseenter","mouseleave","btnCount","$slots","map","b","i","tag","componentOptions","Ctor","options","style","transitionDelay","key","list","mode","origin","activator"],"sources":["../../../src/components/VSpeedDial/VSpeedDial.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Styles\nimport './VSpeedDial.sass'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Positionable from '../../mixins/positionable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeData } from 'vue'\nimport { Prop } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(Positionable, Toggleable, Transitionable).extend({\n name: 'v-speed-dial',\n\n directives: { ClickOutside },\n\n props: {\n direction: {\n type: String as Prop<'top' | 'right' | 'bottom' | 'left'>,\n default: 'top',\n validator: (val: string) => {\n return ['top', 'right', 'bottom', 'left'].includes(val)\n },\n },\n openOnHover: Boolean,\n transition: {\n type: String,\n default: 'scale-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-speed-dial': true,\n 'v-speed-dial--top': this.top,\n 'v-speed-dial--right': this.right,\n 'v-speed-dial--bottom': this.bottom,\n 'v-speed-dial--left': this.left,\n 'v-speed-dial--absolute': this.absolute,\n 'v-speed-dial--fixed': this.fixed,\n [`v-speed-dial--direction-${this.direction}`]: true,\n 'v-speed-dial--is-active': this.isActive,\n }\n },\n },\n\n render (h): VNode {\n let children: VNode[] = []\n const data: VNodeData = {\n class: this.classes,\n directives: [{\n name: 'click-outside',\n value: () => (this.isActive = false),\n }],\n on: {\n click: () => (this.isActive = !this.isActive),\n },\n }\n\n if (this.openOnHover) {\n data.on!.mouseenter = () => (this.isActive = true)\n data.on!.mouseleave = () => (this.isActive = false)\n }\n\n if (this.isActive) {\n let btnCount = 0\n children = (this.$slots.default || []).map((b, i) => {\n if (b.tag && typeof b.componentOptions !== 'undefined' && (b.componentOptions.Ctor.options.name === 'v-btn' || b.componentOptions.Ctor.options.name === 'v-tooltip')) {\n btnCount++\n return h('div', {\n style: {\n transitionDelay: btnCount * 0.05 + 's',\n },\n key: i,\n }, [b])\n } else {\n b.key = i\n return b\n }\n })\n }\n\n const list = h('transition-group', {\n class: 'v-speed-dial__list',\n props: {\n name: this.transition,\n mode: this.mode,\n origin: this.origin,\n tag: 'div',\n },\n }, children)\n\n return h('div', data, [this.$slots.activator, list])\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VSpeedDial.mjs","names":["VDefaultsProvider","makeVMenuProps","VMenu","makeComponentProps","useProxiedModel","MaybeTransition","computed","ref","genericComponent","propsFactory","useRender","makeVSpeedDialProps","offset","minWidth","openDelay","closeDelay","location","transition","VSpeedDial","name","props","emits","value","setup","_ref","slots","model","menuRef","y","x","split","locationClasses","replace","menuProps","filterProps","_createVNode","_mergeProps","$event","class","style","default","slotProps","VBtn","size"],"sources":["../../../src/components/VSpeedDial/VSpeedDial.tsx"],"sourcesContent":["// Styles\nimport './VSpeedDial.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVMenuProps, VMenu } from '@/components/VMenu/VMenu'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { Anchor } from '@/util'\n\nexport const makeVSpeedDialProps = propsFactory({\n ...makeComponentProps(),\n ...makeVMenuProps({\n offset: 8,\n minWidth: 0,\n openDelay: 0,\n closeDelay: 100,\n location: 'top center' as const,\n transition: 'scale-transition',\n }),\n}, 'VSpeedDial')\n\nexport const VSpeedDial = genericComponent<OverlaySlots>()({\n name: 'VSpeedDial',\n\n props: makeVSpeedDialProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const menuRef = ref<VMenu>()\n\n const location = computed(() => {\n const [y, x = 'center'] = props.location.split(' ')\n\n return `${y} ${x}`\n }) as ComputedRef<Anchor>\n\n const locationClasses = computed(() => ({\n [`v-speed-dial__content--${location.value.replace(' ', '-')}`]: true,\n }))\n\n useRender(() => {\n const menuProps = VMenu.filterProps(props)\n\n return (\n <VMenu\n { ...menuProps }\n v-model={ model.value }\n class={ props.class }\n style={ props.style }\n contentClass={[\n 'v-speed-dial__content',\n locationClasses.value,\n ]}\n location={ location.value }\n ref={ menuRef }\n transition=\"fade-transition\"\n >\n {{\n ...slots,\n default: slotProps => (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n size: 'small',\n },\n }}\n >\n <MaybeTransition\n appear\n group\n transition={ props.transition }\n >\n { slots.default?.(slotProps) }\n </MaybeTransition>\n </VDefaultsProvider>\n ),\n }}\n </VMenu>\n )\n })\n\n return {}\n },\n})\n\nexport type VSpeedDial = InstanceType<typeof VSpeedDial>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,cAAc,EAAEC,KAAK,8BAE9B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,eAAe,4CAExB;AACA,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC1BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAKA,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9C,GAAGN,kBAAkB,CAAC,CAAC;EACvB,GAAGF,cAAc,CAAC;IAChBW,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAE,CAAC;IACZC,UAAU,EAAE,GAAG;IACfC,QAAQ,EAAE,YAAqB;IAC/BC,UAAU,EAAE;EACd,CAAC;AACH,CAAC,EAAE,YAAY,CAAC;AAEhB,OAAO,MAAMC,UAAU,GAAGV,gBAAgB,CAAe,CAAC,CAAC;EACzDW,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAET,mBAAmB,CAAC,CAAC;EAE5BU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGtB,eAAe,CAACgB,KAAK,EAAE,YAAY,CAAC;IAElD,MAAMO,OAAO,GAAGpB,GAAG,CAAQ,CAAC;IAE5B,MAAMS,QAAQ,GAAGV,QAAQ,CAAC,MAAM;MAC9B,MAAM,CAACsB,CAAC,EAAEC,CAAC,GAAG,QAAQ,CAAC,GAAGT,KAAK,CAACJ,QAAQ,CAACc,KAAK,CAAC,GAAG,CAAC;MAEnD,OAAQ,GAAEF,CAAE,IAAGC,CAAE,EAAC;IACpB,CAAC,CAAwB;IAEzB,MAAME,eAAe,GAAGzB,QAAQ,CAAC,OAAO;MACtC,CAAE,0BAAyBU,QAAQ,CAACM,KAAK,CAACU,OAAO,CAAC,GAAG,EAAE,GAAG,CAAE,EAAC,GAAG;IAClE,CAAC,CAAC,CAAC;IAEHtB,SAAS,CAAC,MAAM;MACd,MAAMuB,SAAS,GAAG/B,KAAK,CAACgC,WAAW,CAACd,KAAK,CAAC;MAE1C,OAAAe,YAAA,CAAAjC,KAAA,EAAAkC,WAAA,CAESH,SAAS;QAAA,cACJP,KAAK,CAACJ,KAAK;QAAA,uBAAAe,MAAA,IAAXX,KAAK,CAACJ,KAAK,GAAAe,MAAA;QAAA,SACbjB,KAAK,CAACkB,KAAK;QAAA,SACXlB,KAAK,CAACmB,KAAK;QAAA,gBACL,CACZ,uBAAuB,EACvBR,eAAe,CAACT,KAAK,CACtB;QAAA,YACUN,QAAQ,CAACM,KAAK;QAAA,OACnBK,OAAO;QAAA;MAAA;QAIX,GAAGF,KAAK;QACRe,OAAO,EAAEC,SAAS,IAAAN,YAAA,CAAAnC,iBAAA;UAAA,YAEJ;YACR0C,IAAI,EAAE;cACJC,IAAI,EAAE;YACR;UACF;QAAC;UAAAH,OAAA,EAAAA,CAAA,MAAAL,YAAA,CAAA9B,eAAA;YAAA;YAAA;YAAA,cAKce,KAAK,CAACH;UAAU;YAAAuB,OAAA,EAAAA,CAAA,MAE3Bf,KAAK,CAACe,OAAO,GAAGC,SAAS,CAAC;UAAA;QAAA;MAGjC;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,79 +1,27 @@
1
- @import './_variables.scss'
1
+ @use '../../styles/tools'
2
2
 
3
- .v-speed-dial
4
- position: relative
5
- z-index: $speed-dial-z-index
3
+ @include tools.layer('components')
4
+ .v-speed-dial__content
5
+ gap: 8px
6
6
 
7
- &--absolute
8
- position: absolute
9
-
10
- &--fixed
11
- position: fixed
12
-
13
- &--fixed,
14
- &--absolute
15
- z-index: 4
16
-
17
- & > .v-btn--floating
18
- margin: 0
19
-
20
- &--top
21
- top: map-get($grid-gutters, 'lg')
22
-
23
- &--bottom
24
- bottom: map-get($grid-gutters, 'lg')
25
-
26
- &--left
27
- left: map-get($grid-gutters, 'lg')
28
-
29
- &--right
30
- right: map-get($grid-gutters, 'lg')
31
-
32
- &--direction
33
- &-left,
34
- &-right
35
- .v-speed-dial__list
36
- height: 100%
37
- top: 0
38
- padding: 0 $speed-dial-padding
39
-
40
- &-top,
41
- &-bottom
42
- .v-speed-dial__list
43
- left: 0
44
- width: 100%
45
-
46
- &-top
47
- .v-speed-dial__list
48
- flex-direction: column-reverse
49
- bottom: 100%
50
-
51
- &-right
52
- .v-speed-dial__list
7
+ &.v-overlay__content
8
+ &.v-speed-dial__content--end,
9
+ &.v-speed-dial__content--end-center,
10
+ &.v-speed-dial__content--right,
11
+ &.v-speed-dial__content--right-center
53
12
  flex-direction: row
54
- left: 100%
55
13
 
56
- &-bottom
57
- .v-speed-dial__list
58
- flex-direction: column
59
- top: 100%
60
-
61
- &-left
62
- .v-speed-dial__list
14
+ &.v-speed-dial__content--left,
15
+ &.v-speed-dial__content--left-center,
16
+ &.v-speed-dial__content--start,
17
+ &.v-speed-dial__content--start-center
63
18
  flex-direction: row-reverse
64
- right: 100%
65
-
66
- /** Elements */
67
- .v-speed-dial__list
68
- align-items: center
69
- display: flex
70
- justify-content: center
71
- padding: $speed-dial-padding 0
72
- position: absolute
73
19
 
74
- .v-btn
75
- margin: $speed-dial-button-margin
20
+ &.v-speed-dial__content--top,
21
+ &.v-speed-dial__content--top-center
22
+ flex-direction: column-reverse
76
23
 
77
- /** Modifiers */
78
- .v-speed-dial:not(.v-speed-dial--is-active) .v-speed-dial__list
79
- pointer-events: none
24
+ > *
25
+ @for $i from 1 through 10
26
+ &:nth-child(#{$i})
27
+ transition-delay: 0.05s * ($i - 1)
@@ -1,4 +1,2 @@
1
- import VSpeedDial from "./VSpeedDial.mjs";
2
- export { VSpeedDial };
3
- export default VSpeedDial;
1
+ export { VSpeedDial } from "./VSpeedDial.mjs";
4
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["VSpeedDial"],"sources":["../../../src/components/VSpeedDial/index.ts"],"sourcesContent":["import VSpeedDial from './VSpeedDial'\n\nexport { VSpeedDial }\nexport default VSpeedDial\n"],"mappings":"OAAOA,UAAU;AAEjB,SAASA,UAAU;AACnB,eAAeA,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.mjs","names":["VSpeedDial"],"sources":["../../../src/components/VSpeedDial/index.ts"],"sourcesContent":["export { VSpeedDial } from './VSpeedDial'\n"],"mappings":"SAASA,UAAU","ignoreList":[]}