vue-data-ui 2.15.6-beta.3 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/{Arrow-BJ_CRJyF.js → Arrow-DxJlDB9C.js} +1 -1
- package/dist/{BaseDraggableDialog-DF92HRp0.js → BaseDraggableDialog-ptA-tymg.js} +2 -2
- package/dist/{BaseIcon-LS5kKPbn.js → BaseIcon-C_4Rt67h.js} +1 -1
- package/dist/{ColorPicker-Cx5g5odW.js → ColorPicker-RSAHpYAS.js} +2 -2
- package/dist/{DataTable-BOqEYsjY.js → DataTable-DH1qIr9V.js} +2 -2
- package/dist/{Legend-pCALuM52.js → Legend-DRRDpFh2.js} +2 -2
- package/dist/{NonSvgPenAndPaper-Bd8ntuqd.js → NonSvgPenAndPaper-BOLmbvp3.js} +3 -3
- package/dist/{PackageVersion-anXxQ1tn.js → PackageVersion-DdKhk9BJ.js} +2 -2
- package/dist/{PenAndPaper-Ch1IGZWU.js → PenAndPaper-CRZSYHVX.js} +3 -3
- package/dist/{Shape-BkbM-pH2.js → Shape-BoeIXAWe.js} +1 -1
- package/dist/{Slicer-Ckh9c-7g.js → Slicer-CSRvxGa5.js} +2 -2
- package/dist/{SparkTooltip-DyyHZEYG.js → SparkTooltip-BSSLhdaq.js} +1 -1
- package/dist/{Title-CJUPPg0h.js → Title-Dxc8Xaru.js} +1 -1
- package/dist/{Tooltip-DfoBVZWM.js → Tooltip-BC4_CO4g.js} +1 -1
- package/dist/{UserOptions-DbG0UdoH.js → UserOptions-D5GkhjeU.js} +2 -2
- package/dist/{dom-to-png-CETshbM4.js → dom-to-png-3RI__D49.js} +1 -1
- package/dist/{img-D-Jl1o-W.js → img-Bk3lHRQt.js} +1 -1
- package/dist/{index-C7JYFWZw.js → index-CVxAE1Qc.js} +16 -15
- package/dist/{pdf-BXsrYscR.js → pdf-CaadJrGW.js} +1 -1
- package/dist/types/vue-data-ui.d.cts +100 -11
- package/dist/types/vue-data-ui.d.ts +100 -11
- package/dist/{useNestedProp-CHkwx6cn.js → useNestedProp-yHcl2Qv-.js} +1 -1
- package/dist/{usePrinter-CNWA1pLY.js → usePrinter-D-4Ffa-i.js} +2 -2
- package/dist/{vue-data-ui-CZP0LvLT.js → vue-data-ui-Bc92n--W.js} +63 -63
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-G6CRkU9P.js → vue-ui-3d-bar-6A2PA5X3.js} +5 -5
- package/dist/{vue-ui-accordion-C9lMmKOX.js → vue-ui-accordion-OTQS2IW6.js} +3 -3
- package/dist/{vue-ui-age-pyramid-CVtAxeR8.js → vue-ui-age-pyramid-k9NdJIQs.js} +5 -5
- package/dist/{vue-ui-annotator-1PhSGA3Q.js → vue-ui-annotator-oBoCJwq7.js} +2 -2
- package/dist/{vue-ui-bullet-BsbopIjO.js → vue-ui-bullet-CKo1pjMc.js} +6 -6
- package/dist/{vue-ui-candlestick-CoWaqX_b.js → vue-ui-candlestick-DMEmIiUl.js} +6 -6
- package/dist/{vue-ui-carousel-table-D2o_1oqi.js → vue-ui-carousel-table-CerLckm9.js} +4 -4
- package/dist/{vue-ui-chestnut-CPk8tj8j.js → vue-ui-chestnut-CbOmjyl9.js} +4 -4
- package/dist/{vue-ui-chord-DTLzS6c7.js → vue-ui-chord-wKA4GJin.js} +7 -7
- package/dist/{vue-ui-circle-pack-CtQLusbb.js → vue-ui-circle-pack-Du_EwmFM.js} +5 -5
- package/dist/{vue-ui-cursor-Wquv_Gnw.js → vue-ui-cursor-LsO6mxm2.js} +2 -2
- package/dist/{vue-ui-dashboard-CLoECP8o.js → vue-ui-dashboard-uYvDgfup.js} +62 -62
- package/dist/{vue-ui-digits-B6FqM3Rl.js → vue-ui-digits-BEDQ4U3-.js} +2 -2
- package/dist/{vue-ui-donut-BHdSwQ4f.js → vue-ui-donut-CNqFLCTB.js} +7 -7
- package/dist/{vue-ui-donut-evolution-Ci4xeo5w.js → vue-ui-donut-evolution-D55rGHJV.js} +7 -7
- package/dist/{vue-ui-dumbbell-DdXhLX-J.js → vue-ui-dumbbell-CrbLRiu-.js} +6 -6
- package/dist/{vue-ui-flow-PSsz82G4.js → vue-ui-flow-C3DXSQoY.js} +6 -6
- package/dist/{vue-ui-funnel-ZhlFW6XJ.js → vue-ui-funnel-DSBxYb6k.js} +5 -5
- package/dist/{vue-ui-galaxy-mgABJyp8.js → vue-ui-galaxy-CqKIg-rc.js} +4 -4
- package/dist/{vue-ui-gauge-DVAHGnzh.js → vue-ui-gauge-Dtomr8t9.js} +5 -5
- package/dist/{vue-ui-gizmo-B-TJAYKj.js → vue-ui-gizmo-CO3p3p_3.js} +3 -3
- package/dist/{vue-ui-heatmap-X4_T_AF1.js → vue-ui-heatmap-BI8PLPtn.js} +6 -6
- package/dist/{vue-ui-history-plot-BAHjKWKx.js → vue-ui-history-plot-DQ8_78yX.js} +6 -6
- package/dist/{vue-ui-kpi-BfV9ABjr.js → vue-ui-kpi-DLh1H9Tx.js} +3 -3
- package/dist/{vue-ui-mini-loader-tS7y7l8P.js → vue-ui-mini-loader-d5fyINYa.js} +2 -2
- package/dist/{vue-ui-molecule-B14o3ZeF.js → vue-ui-molecule-Bb-t7Jvr.js} +4 -4
- package/dist/{vue-ui-mood-radar-Bb7zzbb2.js → vue-ui-mood-radar-CItSFvA-.js} +6 -6
- package/dist/{vue-ui-nested-donuts-DyKUOA0g.js → vue-ui-nested-donuts-hc8hNcKU.js} +6 -6
- package/dist/{vue-ui-onion-CxB9iGa4.js → vue-ui-onion-B3n29xo3.js} +6 -6
- package/dist/{vue-ui-parallel-coordinate-plot-CQGDreK3.js → vue-ui-parallel-coordinate-plot-Bw5e6CMy.js} +7 -7
- package/dist/{vue-ui-quadrant-D28_e8cP.js → vue-ui-quadrant-DYgN6P0V.js} +7 -7
- package/dist/{vue-ui-quick-chart-Cf2wJfng.js → vue-ui-quick-chart-Dw2-YckC.js} +5 -5
- package/dist/{vue-ui-radar-DeVwLeeQ.js → vue-ui-radar-BVaP7LwG.js} +6 -6
- package/dist/{vue-ui-rating-DEzizA06.js → vue-ui-rating-CQQimLsh.js} +2 -2
- package/dist/{vue-ui-relation-circle-Dv7KtC9Z.js → vue-ui-relation-circle-DSOzKaPS.js} +5 -5
- package/dist/{vue-ui-ridgeline-Da38pPFg.js → vue-ui-ridgeline-CQe9ZeC1.js} +7 -7
- package/dist/{vue-ui-rings-Bl35exQr.js → vue-ui-rings-4HpaWVvw.js} +7 -7
- package/dist/{vue-ui-scatter-B1rAsGvg.js → vue-ui-scatter-Ck-XaEUb.js} +7 -7
- package/dist/{vue-ui-skeleton-Ccp2EtnH.js → vue-ui-skeleton-CngL8NX6.js} +3 -3
- package/dist/{vue-ui-smiley-z-UmPJ-t.js → vue-ui-smiley-DXBpPiOD.js} +2 -2
- package/dist/{vue-ui-spark-trend-E9Duzpl9.js → vue-ui-spark-trend-hfl74frB.js} +3 -3
- package/dist/{vue-ui-sparkbar-CRQgMZfz.js → vue-ui-sparkbar-CWl_FGtY.js} +3 -3
- package/dist/{vue-ui-sparkgauge-BJvatO-U.js → vue-ui-sparkgauge-DS-pJjbj.js} +3 -3
- package/dist/{vue-ui-sparkhistogram-DTKgORvU.js → vue-ui-sparkhistogram-B2VBewT2.js} +4 -4
- package/dist/{vue-ui-sparkline-C-BVONoX.js → vue-ui-sparkline-Dnt5PMGA.js} +3 -3
- package/dist/{vue-ui-sparkstackbar-2Jgprmgr.js → vue-ui-sparkstackbar-CYLHafTS.js} +3 -3
- package/dist/{vue-ui-stackbar-DBBqoXns.js → vue-ui-stackbar-1N7NhmtT.js} +8 -8
- package/dist/{vue-ui-strip-plot-CzR7eo6H.js → vue-ui-strip-plot-B_RvzXNO.js} +6 -6
- package/dist/{vue-ui-table-heatmap-B2_05yai.js → vue-ui-table-heatmap-Di5ymmvG.js} +5 -5
- package/dist/{vue-ui-table-BEKE992A.js → vue-ui-table-lX2V9h7J.js} +3 -3
- package/dist/{vue-ui-table-sparkline-CFH24HcQ.js → vue-ui-table-sparkline-eYNRFxNH.js} +4 -4
- package/dist/{vue-ui-thermometer-G__Ke-aj.js → vue-ui-thermometer-BYc5OpKO.js} +5 -5
- package/dist/{vue-ui-timer-C6OBVzP8.js → vue-ui-timer-8y6KLjU2.js} +5 -5
- package/dist/{vue-ui-tiremarks-Dv6qFUo-.js → vue-ui-tiremarks-CgBQYwuT.js} +5 -5
- package/dist/{vue-ui-treemap-CTUi7fzI.js → vue-ui-treemap-BaPv0JXG.js} +7 -7
- package/dist/{vue-ui-vertical-bar-Vrqpks87.js → vue-ui-vertical-bar-D-KieI-N.js} +8 -8
- package/dist/{vue-ui-waffle-D-XGcL2N.js → vue-ui-waffle-DTXUhV-1.js} +7 -7
- package/dist/{vue-ui-wheel-DulpH-Sv.js → vue-ui-wheel-CyLaYzIA.js} +5 -5
- package/dist/{vue-ui-word-cloud-BBB05yzO.js → vue-ui-word-cloud-vwfccReT.js} +5 -5
- package/dist/{vue-ui-world-DDxw-Wlj.js → vue-ui-world-Bm7I4XLt.js} +5 -5
- package/dist/{vue-ui-xy-Bqnp8U3K.js → vue-ui-xy-CO-EfhIw.js} +16 -16
- package/dist/{vue-ui-xy-canvas-ZBtdqhZs.js → vue-ui-xy-canvas-DqZ3KKxB.js} +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1079,3 +1079,46 @@ Below is a table of the places where such line breaks can be used:
|
|
|
1079
1079
|
## PDF generation
|
|
1080
1080
|
|
|
1081
1081
|
This package requires jspdf as a peer dependency. Please install it in your project if you intend on using the PDF printing feature.
|
|
1082
|
+
|
|
1083
|
+
## `useObjectBindings`
|
|
1084
|
+
|
|
1085
|
+
A composable that **flattens** a reactive object into a set of computed refs—one for each “leaf” property—so you can easily bind to deeply nested values by their string paths.
|
|
1086
|
+
|
|
1087
|
+
### Why use it?
|
|
1088
|
+
|
|
1089
|
+
- **Automatic reactivity**: Every nested property becomes a `ComputedRef`, with automatic getters/setters that keep your source object in sync.
|
|
1090
|
+
- **Flat API surface**: Access or update any nested field by its dot‑delimited path, without writing deep destructuring or `ref` plumbing.
|
|
1091
|
+
- **Dynamic path support**: New paths added at runtime are discovered automatically (and proxied), so you never lose reactivity when mutating the structure.
|
|
1092
|
+
|
|
1093
|
+
```js
|
|
1094
|
+
import { useObjectBindings } from "vue-data-ui";
|
|
1095
|
+
import type { Ref, ComputedRef } from "vue";
|
|
1096
|
+
|
|
1097
|
+
const config = ref({
|
|
1098
|
+
customPalette: ["#CCCCCC", "#1A1A1A"],
|
|
1099
|
+
style: {
|
|
1100
|
+
chart: {
|
|
1101
|
+
backgroundColor: "#FFFFFF",
|
|
1102
|
+
color: "#1A1A1A",
|
|
1103
|
+
},
|
|
1104
|
+
},
|
|
1105
|
+
});
|
|
1106
|
+
|
|
1107
|
+
const bindings = useObjectBindings(config);
|
|
1108
|
+
// Now `bindings` has computed refs for each leaf path:
|
|
1109
|
+
// bindings["style.chart.backgroundColor"] → ComputedRef<string>
|
|
1110
|
+
// bindings["style.chart.color"] → ComputedRef<string>
|
|
1111
|
+
// bindings["customPalette"] → ComputedRef<boolean>
|
|
1112
|
+
// // by default, arrays are skipped:
|
|
1113
|
+
// // no "customPalette.0", unless you disable skipArrays
|
|
1114
|
+
```
|
|
1115
|
+
|
|
1116
|
+
You can then use these in your template:
|
|
1117
|
+
|
|
1118
|
+
```html
|
|
1119
|
+
<template>
|
|
1120
|
+
<div>
|
|
1121
|
+
<input type="color" v-model="bindings['style.chart.backgroundColor']" />
|
|
1122
|
+
</div>
|
|
1123
|
+
</template>
|
|
1124
|
+
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as u, createElementBlock as k, openBlock as m, createElementVNode as t, unref as o } from "vue";
|
|
2
|
-
import { c as n } from "./index-
|
|
2
|
+
import { c as n } from "./index-CVxAE1Qc.js";
|
|
3
3
|
const s = { class: "vue-ui-element-arrow" }, f = ["id", "viewBox", "refX", "refY", "markerWidth", "markerHeight"], c = ["d", "fill"], h = ["id", "viewBox", "refX", "refY", "markerWidth", "markerHeight"], y = ["d", "fill"], v = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray", "marker-end", "marker-start"], z = {
|
|
4
4
|
__name: "Arrow",
|
|
5
5
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCssVars as O, ref as z, reactive as T, computed as $, onUnmounted as R, createBlock as N, openBlock as v, Teleport as V, createElementBlock as E, createCommentVNode as I, withModifiers as a, normalizeStyle as y, createElementVNode as o, unref as P, renderSlot as M, createVNode as F, nextTick as j } from "vue";
|
|
2
|
-
import U from "./BaseIcon-
|
|
3
|
-
import { X as q } from "./index-
|
|
2
|
+
import U from "./BaseIcon-C_4Rt67h.js";
|
|
3
|
+
import { X as q } from "./index-CVxAE1Qc.js";
|
|
4
4
|
import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const G = ["xmlns"], J = { class: "modal-title" }, K = { class: "modal-body" }, Q = {
|
|
6
6
|
__name: "BaseDraggableDialog",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as e, createElementBlock as n, openBlock as i, normalizeClass as k, unref as L } from "vue";
|
|
2
|
-
import { X as l } from "./index-
|
|
2
|
+
import { X as l } from "./index-CVxAE1Qc.js";
|
|
3
3
|
import { _ as d } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const M = ["xmlns", "viewBox", "height", "width", "innerHTML"], h = {
|
|
5
5
|
__name: "BaseIcon",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as l, computed as k, watch as I, withDirectives as P, createElementBlock as r, openBlock as n, withKeys as S, createElementVNode as u, createCommentVNode as z, normalizeStyle as a, createVNode as F, Fragment as E, renderList as N, unref as O } from "vue";
|
|
2
|
-
import C from "./BaseIcon-
|
|
3
|
-
import { F as V } from "./index-
|
|
2
|
+
import C from "./BaseIcon-C_4Rt67h.js";
|
|
3
|
+
import { F as V } from "./index-CVxAE1Qc.js";
|
|
4
4
|
import { v as D } from "./vClickOutside-C6WiFswA.js";
|
|
5
5
|
import { _ as K } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const $ = ["onClick"], L = { style: { position: "absolute", top: "50%", left: "50%", transform: "translate(-50%, -46%)" } }, T = ["value"], j = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCssVars as A, unref as e, computed as D, ref as w, onMounted as E, createElementBlock as n, openBlock as a, normalizeClass as k, createElementVNode as t, withKeys as R, normalizeStyle as i, createVNode as C, toDisplayString as I, Fragment as f, renderList as m, renderSlot as N, createCommentVNode as $ } from "vue";
|
|
2
|
-
import { _ as K } from "./Shape-
|
|
3
|
-
import O from "./BaseIcon-
|
|
2
|
+
import { _ as K } from "./Shape-BoeIXAWe.js";
|
|
3
|
+
import O from "./BaseIcon-C_4Rt67h.js";
|
|
4
4
|
import { _ as T } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const j = { class: "vue-ui-data-table" }, F = { style: { display: "flex", "align-items": "center", "justify-content": "flex-end", "padding-right": "3px", gap: "3px" } }, L = { style: { width: "12px", height: "12px" } }, M = {
|
|
6
6
|
key: 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createElementBlock as n, openBlock as o, normalizeStyle as d, renderSlot as l, Fragment as u, renderList as g, normalizeClass as m, createCommentVNode as h, createVNode as k, mergeProps as y, unref as $ } from "vue";
|
|
2
|
-
import { a0 as p } from "./index-
|
|
3
|
-
import { _ as v } from "./Shape-
|
|
2
|
+
import { a0 as p } from "./index-CVxAE1Qc.js";
|
|
3
|
+
import { _ as v } from "./Shape-BoeIXAWe.js";
|
|
4
4
|
import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const S = ["id"], x = ["onClick", "height", "width"], z = {
|
|
6
6
|
__name: "Legend",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref as i, computed as we, onMounted as ke, nextTick as be, onBeforeUnmount as Ce, watch as oe, createElementBlock as x, openBlock as y, Fragment as q, createCommentVNode as Y, normalizeStyle as b, normalizeClass as D, createElementVNode as C, withDirectives as ae, createVNode as M, toDisplayString as re, unref as se, vModelText as ue, withModifiers as ie, renderList as ce } from "vue";
|
|
2
|
-
import { l as $e, f as Se, X as Ae } from "./index-
|
|
3
|
-
import R from "./BaseIcon-
|
|
4
|
-
import { C as Ee } from "./ColorPicker-
|
|
2
|
+
import { l as $e, f as Se, X as Ae } from "./index-CVxAE1Qc.js";
|
|
3
|
+
import R from "./BaseIcon-C_4Rt67h.js";
|
|
4
|
+
import { C as Ee } from "./ColorPicker-RSAHpYAS.js";
|
|
5
5
|
import { _ as Be } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const Te = {
|
|
7
7
|
class: /* @__PURE__ */ D({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createElementBlock as e, openBlock as t, toDisplayString as o, unref as r } from "vue";
|
|
2
|
-
const
|
|
2
|
+
const n = "2.16.0", a = { "aria-hidden": "true" }, p = {
|
|
3
3
|
__name: "PackageVersion",
|
|
4
4
|
setup(s) {
|
|
5
|
-
return (c, i) => (t(), e("desc",
|
|
5
|
+
return (c, i) => (t(), e("desc", a, "Composed with Vue Data UI " + o(r(n)), 1));
|
|
6
6
|
}
|
|
7
7
|
};
|
|
8
8
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref as c, computed as ge, watch as X, nextTick as le, onMounted as pe, onBeforeUnmount as me, createElementBlock as Y, createCommentVNode as q, openBlock as z, normalizeStyle as x, createElementVNode as k, withDirectives as ae, createVNode as R, normalizeClass as G, toDisplayString as Ae, unref as he, vModelText as oe } from "vue";
|
|
2
|
-
import T from "./BaseIcon-
|
|
3
|
-
import { C as we } from "./ColorPicker-
|
|
4
|
-
import { l as be, f as xe } from "./index-
|
|
2
|
+
import T from "./BaseIcon-C_4Rt67h.js";
|
|
3
|
+
import { C as we } from "./ColorPicker-RSAHpYAS.js";
|
|
4
|
+
import { l as be, f as xe } from "./index-CVxAE1Qc.js";
|
|
5
5
|
const ye = {
|
|
6
6
|
class: "vue-ui-pen-and-paper-action",
|
|
7
7
|
style: { padding: "0 !important" }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed as u, createElementBlock as r, openBlock as l, createCommentVNode as a } from "vue";
|
|
2
|
-
import { _ as c, R as f } from "./index-
|
|
2
|
+
import { _ as c, R as f } from "./index-CVxAE1Qc.js";
|
|
3
3
|
const y = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], g = ["d", "fill", "stroke", "stroke-width"], x = ["points", "fill", "stroke", "stroke-width"], h = {
|
|
4
4
|
__name: "Shape",
|
|
5
5
|
props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useCssVars as ze, computed as d, ref as i, watch as D, onMounted as Ae, onBeforeUnmount as Fe, watchEffect as He, nextTick as Y, onUpdated as Ve, createElementBlock as c, openBlock as m, createElementVNode as v, createCommentVNode as p, renderSlot as We, normalizeStyle as $, createVNode as Xe, withDirectives as me, unref as F, Fragment as he, renderList as fe, normalizeClass as L, vModelText as ge, toDisplayString as _ } from "vue";
|
|
2
|
-
import Ue from "./BaseIcon-
|
|
2
|
+
import Ue from "./BaseIcon-C_4Rt67h.js";
|
|
3
3
|
import { t as Oe, u as Ze } from "./useResponsive-DfdjqQps.js";
|
|
4
|
-
import { c as je, V as be, U as xe, X as Ge, F as ee } from "./index-
|
|
4
|
+
import { c as je, V as be, U as xe, X as Ge, F as ee } from "./index-CVxAE1Qc.js";
|
|
5
5
|
import { _ as qe } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const Je = {
|
|
7
7
|
class: "vue-data-ui-slicer-labels",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toRef as c, ref as a, computed as v, onMounted as m, watch as y, createElementBlock as b, openBlock as g, normalizeStyle as x, renderSlot as k, nextTick as S } from "vue";
|
|
2
|
-
import { s as _, ao as i } from "./index-
|
|
2
|
+
import { s as _, ao as i } from "./index-CVxAE1Qc.js";
|
|
3
3
|
import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
const R = {
|
|
5
5
|
__name: "SparkTooltip",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock as l, openBlock as n, Fragment as f, createElementVNode as p, createCommentVNode as o, normalizeStyle as d, unref as e, toDisplayString as g, renderSlot as r } from "vue";
|
|
2
|
-
import { u as c } from "./useNestedProp-
|
|
2
|
+
import { u as c } from "./useNestedProp-yHcl2Qv-.js";
|
|
3
3
|
const x = {
|
|
4
4
|
__name: "Title",
|
|
5
5
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as m, watch as p, nextTick as g, onUnmounted as S, computed as x, createBlock as k, openBlock as h, Teleport as $, createElementBlock as C, createCommentVNode as F, normalizeStyle as B, normalizeClass as N, renderSlot as v, createElementVNode as w } from "vue";
|
|
2
2
|
import { u as z } from "./useMouse-AicQS8Vf.js";
|
|
3
|
-
import { s as T } from "./index-
|
|
3
|
+
import { s as T } from "./index-CVxAE1Qc.js";
|
|
4
4
|
function Y({ tooltip: t, chart: n, clientPosition: l, positionPreference: s = "center", defaultOffsetY: d = 24, blockShiftY: u = !1 }) {
|
|
5
5
|
const e = m(0), i = m(d);
|
|
6
6
|
if (t && n) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref as m, computed as E, onMounted as J, onBeforeUnmount as Q, withDirectives as Y, createElementBlock as s, openBlock as t, normalizeStyle as v, createElementVNode as X, withKeys as Z, withModifiers as p, renderSlot as k, normalizeProps as S, guardReactiveProps as _, createVNode as ee, normalizeClass as d, createCommentVNode as a, Fragment as $, createBlock as f, toDisplayString as c, mergeProps as T, unref as te } from "vue";
|
|
2
2
|
import { v as oe } from "./vClickOutside-C6WiFswA.js";
|
|
3
|
-
import r from "./BaseIcon-
|
|
4
|
-
import ne from "./img-
|
|
3
|
+
import r from "./BaseIcon-C_4Rt67h.js";
|
|
4
|
+
import ne from "./img-Bk3lHRQt.js";
|
|
5
5
|
import { _ as le } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
const ie = ["title"], se = ["data-open"], ae = {
|
|
7
7
|
__name: "UserOptions",
|
|
@@ -6085,23 +6085,24 @@ const R = {
|
|
|
6085
6085
|
]
|
|
6086
6086
|
}, lo = ["00", "03", "05", "08", "0A", "0D", "0F", "12", "14", "17", "1A", "1C", "1F", "21", "24", "26", "29", "2B", "2E", "30", "33", "36", "38", "3B", "3D", "40", "42", "45", "47", "4A", "4D", "4F", "52", "54", "57", "59", "5C", "5E", "61", "63", "66", "69", "6B", "6E", "70", "73", "75", "78", "7A", "7D", "80", "82", "85", "87", "8A", "8C", "8F", "91", "94", "96", "99", "9C", "9E", "A1", "A3", "A6", "A8", "AB", "AD", "B0", "B3", "B5", "B8", "BA", "BD", "BF", "C2", "C4", "C7", "C9", "CC", "CF", "D1", "D4", "D6", "D9", "DB", "DE", "E0", "E3", "E6", "E8", "EB", "ED", "F0", "F2", "F5", "F7", "FA", "FC", "FF"];
|
|
6087
6087
|
function T(o) {
|
|
6088
|
-
const e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, r = /^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)$/i,
|
|
6089
|
-
if (
|
|
6088
|
+
const e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, r = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i, l = /^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)$/i, c = /^hsla?\((\d+),\s*([\d.]+)%,\s*([\d.]+)%(?:,\s*([\d.]+))?\)$/i;
|
|
6089
|
+
if (o == null || typeof o == "number" && isNaN(o))
|
|
6090
6090
|
return null;
|
|
6091
6091
|
if (o = Nt(o), o === "transparent")
|
|
6092
6092
|
return "#FFFFFF00";
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
6104
|
-
|
|
6093
|
+
o = o.replace(r, (n, s, u, d, b) => `#${s}${s}${u}${u}${d}${d}${b ? b + b : ""}`);
|
|
6094
|
+
let t, i = 1;
|
|
6095
|
+
if (t = o.match(e)) {
|
|
6096
|
+
const [, n, s, u, d] = t;
|
|
6097
|
+
return i = d ? parseInt(d, 16) / 255 : 1, `#${n}${s}${u}${z(Math.round(i * 255))}`;
|
|
6098
|
+
} else if (t = o.match(l)) {
|
|
6099
|
+
const [, n, s, u, d] = t;
|
|
6100
|
+
return i = d ? parseFloat(d) : 1, `#${z(n)}${z(s)}${z(u)}${z(Math.round(i * 255))}`;
|
|
6101
|
+
} else if (t = o.match(c)) {
|
|
6102
|
+
const [, n, s, u, d] = t;
|
|
6103
|
+
i = d ? parseFloat(d) : 1;
|
|
6104
|
+
const [b, a, f] = wt(Number(n), Number(s), Number(u));
|
|
6105
|
+
return `#${z(b)}${z(a)}${z(f)}${z(Math.round(i * 255))}`;
|
|
6105
6106
|
}
|
|
6106
6107
|
return null;
|
|
6107
6108
|
}
|
|
@@ -7302,7 +7303,7 @@ function al(o, e) {
|
|
|
7302
7303
|
};
|
|
7303
7304
|
return Fr(new Proxy(c, i));
|
|
7304
7305
|
}
|
|
7305
|
-
const cl = C(() => import("./Arrow-
|
|
7306
|
+
const cl = C(() => import("./Arrow-DxJlDB9C.js")), nl = C(() => import("./vue-data-ui-Bc92n--W.js")), sl = C(() => import("./vue-ui-3d-bar-6A2PA5X3.js")), il = C(() => import("./vue-ui-accordion-OTQS2IW6.js")), ul = C(() => import("./vue-ui-age-pyramid-k9NdJIQs.js")), dl = C(() => import("./vue-ui-annotator-oBoCJwq7.js")), bl = C(() => import("./vue-ui-candlestick-DMEmIiUl.js")), fl = C(() => import("./vue-ui-chestnut-CbOmjyl9.js")), gl = C(() => import("./vue-ui-cursor-LsO6mxm2.js")), Al = C(() => import("./vue-ui-dashboard-uYvDgfup.js")), Cl = C(() => import("./vue-ui-digits-BEDQ4U3-.js")), hl = C(() => import("./vue-ui-donut-CNqFLCTB.js")), kl = C(() => import("./vue-ui-donut-evolution-D55rGHJV.js")), Fl = C(() => import("./vue-ui-dumbbell-CrbLRiu-.js")), El = C(() => import("./vue-ui-flow-C3DXSQoY.js")), pl = C(() => import("./vue-ui-galaxy-CqKIg-rc.js")), Dl = C(() => import("./vue-ui-gauge-Dtomr8t9.js")), Bl = C(() => import("./vue-ui-heatmap-BI8PLPtn.js")), yl = C(() => import("./BaseIcon-C_4Rt67h.js")), ml = C(() => import("./vue-ui-kpi-DLh1H9Tx.js")), xl = C(() => import("./vue-ui-mini-loader-d5fyINYa.js")), wl = C(() => import("./vue-ui-molecule-Bb-t7Jvr.js")), Ll = C(() => import("./vue-ui-mood-radar-CItSFvA-.js")), vl = C(() => import("./vue-ui-nested-donuts-hc8hNcKU.js")), Sl = C(() => import("./vue-ui-onion-B3n29xo3.js")), _l = C(() => import("./vue-ui-parallel-coordinate-plot-Bw5e6CMy.js")), zl = C(() => import("./vue-ui-quadrant-DYgN6P0V.js")), Ol = C(() => import("./vue-ui-quick-chart-Dw2-YckC.js")), Rl = C(() => import("./vue-ui-radar-BVaP7LwG.js")), Pl = C(() => import("./vue-ui-rating-CQQimLsh.js")), Tl = C(() => import("./vue-ui-relation-circle-DSOzKaPS.js")), Nl = C(() => import("./vue-ui-rings-4HpaWVvw.js")), Ml = C(() => import("./vue-ui-scatter-Ck-XaEUb.js")), Vl = C(() => import("./vue-ui-skeleton-CngL8NX6.js")), Il = C(() => import("./vue-ui-smiley-DXBpPiOD.js")), Wl = C(() => import("./vue-ui-sparkhistogram-B2VBewT2.js")), $l = C(() => import("./vue-ui-sparkstackbar-CYLHafTS.js")), Ul = C(() => import("./vue-ui-spark-trend-hfl74frB.js")), Yl = C(() => import("./vue-ui-sparkbar-CWl_FGtY.js")), Gl = C(() => import("./vue-ui-sparkgauge-DS-pJjbj.js")), Hl = C(() => import("./vue-ui-sparkline-Dnt5PMGA.js")), Xl = C(() => import("./vue-ui-strip-plot-B_RvzXNO.js")), jl = C(() => import("./vue-ui-table-lX2V9h7J.js")), Kl = C(() => import("./vue-ui-table-heatmap-Di5ymmvG.js")), ql = C(() => import("./vue-ui-table-sparkline-eYNRFxNH.js")), Ql = C(() => import("./vue-ui-thermometer-BYc5OpKO.js")), Zl = C(() => import("./vue-ui-timer-8y6KLjU2.js")), Jl = C(() => import("./vue-ui-tiremarks-CgBQYwuT.js")), oa = C(() => import("./vue-ui-treemap-BaPv0JXG.js")), ra = C(() => import("./vue-ui-vertical-bar-D-KieI-N.js")), ta = C(() => import("./vue-ui-waffle-DTXUhV-1.js")), ea = C(() => import("./vue-ui-wheel-CyLaYzIA.js")), la = C(() => import("./vue-ui-word-cloud-vwfccReT.js")), aa = C(() => import("./vue-ui-xy-CO-EfhIw.js")), ca = C(() => import("./vue-ui-xy-canvas-DqZ3KKxB.js")), na = C(() => import("./vue-ui-carousel-table-CerLckm9.js")), sa = C(() => import("./vue-ui-gizmo-CO3p3p_3.js")), ia = C(() => import("./vue-ui-stackbar-1N7NhmtT.js")), ua = C(() => import("./vue-ui-bullet-CKo1pjMc.js")), da = C(() => import("./vue-ui-funnel-DSBxYb6k.js")), ba = C(() => import("./vue-ui-history-plot-DQ8_78yX.js")), fa = C(() => import("./vue-ui-pattern-DsYgSZWn.js")), ga = C(() => import("./vue-ui-circle-pack-Du_EwmFM.js")), Aa = C(() => import("./vue-ui-world-Bm7I4XLt.js")), Ca = C(() => import("./vue-ui-ridgeline-CQe9ZeC1.js")), ha = C(() => import("./vue-ui-chord-wKA4GJin.js"));
|
|
7306
7307
|
export {
|
|
7307
7308
|
Me as $,
|
|
7308
7309
|
no as A,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare module "vue-data-ui" {
|
|
2
|
-
import { DefineComponent } from "vue";
|
|
2
|
+
import { Ref, ComputedRef, DefineComponent } from "vue";
|
|
3
3
|
|
|
4
4
|
export type VueUiUnknownObj = {
|
|
5
5
|
[key: string]: unknown;
|
|
@@ -5235,7 +5235,7 @@ declare module "vue-data-ui" {
|
|
|
5235
5235
|
[key: string]: string | number | number[];
|
|
5236
5236
|
};
|
|
5237
5237
|
|
|
5238
|
-
export type VueUiQuickChartDataset =
|
|
5238
|
+
export type VueUiQuickChartDataset =
|
|
5239
5239
|
| number[]
|
|
5240
5240
|
| VueUiQuickChartDatasetObjectItem
|
|
5241
5241
|
| VueUiQuickChartDatasetObjectItem[];
|
|
@@ -7430,9 +7430,9 @@ declare module "vue-data-ui" {
|
|
|
7430
7430
|
* - Handles arrays by making their item type DeepPartial
|
|
7431
7431
|
*/
|
|
7432
7432
|
export type DeepPartial<T> =
|
|
7433
|
-
|
|
7434
|
-
|
|
7435
|
-
|
|
7433
|
+
T extends Function
|
|
7434
|
+
? T
|
|
7435
|
+
: T extends Array<infer U>
|
|
7436
7436
|
? Array<DeepPartial<U>>
|
|
7437
7437
|
: T extends object
|
|
7438
7438
|
? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
@@ -7455,12 +7455,12 @@ declare module "vue-data-ui" {
|
|
|
7455
7455
|
* })
|
|
7456
7456
|
*/
|
|
7457
7457
|
export function mergeConfigs<T extends Record<string, any>>({
|
|
7458
|
-
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7458
|
+
defaultConfig,
|
|
7459
|
+
userConfig,
|
|
7460
|
+
}: {
|
|
7461
|
+
defaultConfig: T;
|
|
7462
|
+
userConfig: DeepPartial<T>;
|
|
7463
|
+
}
|
|
7464
7464
|
): T;
|
|
7465
7465
|
|
|
7466
7466
|
/**
|
|
@@ -7648,4 +7648,93 @@ declare module "vue-data-ui" {
|
|
|
7648
7648
|
x,
|
|
7649
7649
|
y
|
|
7650
7650
|
}: CreateTSpansArgs) => string;
|
|
7651
|
+
|
|
7652
|
+
export type UseObjectBindingsOptions = {
|
|
7653
|
+
/** Delimiter to join object‑path segments */
|
|
7654
|
+
delimiter?: string;
|
|
7655
|
+
/** If true, array indices will not be traversed */
|
|
7656
|
+
skipArrays?: boolean;
|
|
7657
|
+
};
|
|
7658
|
+
|
|
7659
|
+
/**
|
|
7660
|
+
* Recursively build a union of dot‑delimited paths for an object type,
|
|
7661
|
+
* but skip arrays (we don’t traverse them by default at runtime).
|
|
7662
|
+
*/
|
|
7663
|
+
type Paths<T> = T extends object
|
|
7664
|
+
? T extends any[]
|
|
7665
|
+
? never
|
|
7666
|
+
: {
|
|
7667
|
+
[K in Extract<keyof T, string>]:
|
|
7668
|
+
// if the property is itself an object, recurse
|
|
7669
|
+
T[K] extends object
|
|
7670
|
+
? `${K}` | `${K}.${Paths<T[K]>}`
|
|
7671
|
+
: `${K}`;
|
|
7672
|
+
}[Extract<keyof T, string>]
|
|
7673
|
+
: never;
|
|
7674
|
+
|
|
7675
|
+
/**
|
|
7676
|
+
* Given an object type `T` and one of its path strings `P`,
|
|
7677
|
+
* resolve the type at that path.
|
|
7678
|
+
*/
|
|
7679
|
+
type PathValue<T, P extends string> =
|
|
7680
|
+
P extends `${infer K}.${infer Rest}`
|
|
7681
|
+
? K extends keyof T
|
|
7682
|
+
? PathValue<T[K], Rest>
|
|
7683
|
+
: never
|
|
7684
|
+
: P extends keyof T
|
|
7685
|
+
? T[P]
|
|
7686
|
+
: never;
|
|
7687
|
+
|
|
7688
|
+
/**
|
|
7689
|
+
* A fully‑typed bindings record: for each valid path `P` in `T`,
|
|
7690
|
+
* `ComputedRef` of the exact `PathValue<T,P>`.
|
|
7691
|
+
*/
|
|
7692
|
+
export type TypedBindings<T extends object> = {
|
|
7693
|
+
[P in Paths<T>]: ComputedRef<PathValue<T, P>>;
|
|
7694
|
+
};
|
|
7695
|
+
|
|
7696
|
+
/**
|
|
7697
|
+
* Vue Data UI composable
|
|
7698
|
+
* ---
|
|
7699
|
+
* Flattens a reactive config object into computed refs for every leaf property.
|
|
7700
|
+
*
|
|
7701
|
+
* @template T extends object
|
|
7702
|
+
* @param configRef A Vue `Ref<T>` holding your object.
|
|
7703
|
+
* @param options Optional settings: `delimiter` (default `"."`) and `skipArrays` (default `true`).
|
|
7704
|
+
* @returns A `TypedBindings<T>` whose keys are every “leaf” path in `T`
|
|
7705
|
+
* and whose values are `ComputedRef` of the exact property type.
|
|
7706
|
+
*
|
|
7707
|
+
* ___
|
|
7708
|
+
* @example
|
|
7709
|
+
*
|
|
7710
|
+
* ```js
|
|
7711
|
+
* import { useObjectBindings } from "vue-data-ui";
|
|
7712
|
+
* import type { Ref, ComputedRef } from "vue";
|
|
7713
|
+
*
|
|
7714
|
+
* const config = ref({
|
|
7715
|
+
* customPalette: ["#CCCCCC", "#1A1A1A"],
|
|
7716
|
+
* style: {
|
|
7717
|
+
* chart: {
|
|
7718
|
+
* backgroundColor: "#FFFFFF",
|
|
7719
|
+
* color: "#1A1A1A",
|
|
7720
|
+
* },
|
|
7721
|
+
* },
|
|
7722
|
+
* });
|
|
7723
|
+
*
|
|
7724
|
+
* const bindings = useObjectBindings(config);
|
|
7725
|
+
* ```
|
|
7726
|
+
*
|
|
7727
|
+
* Then in your template:
|
|
7728
|
+
* ```html
|
|
7729
|
+
* <template>
|
|
7730
|
+
* <div>
|
|
7731
|
+
* <input type="color" v-model="bindings['style.chart.backgroundColor']" />
|
|
7732
|
+
* </div>
|
|
7733
|
+
* </template>
|
|
7734
|
+
* ```
|
|
7735
|
+
*/
|
|
7736
|
+
export function useObjectBindings<T extends object>(
|
|
7737
|
+
configRef: Ref<T>,
|
|
7738
|
+
options?: UseObjectBindingsOptions
|
|
7739
|
+
): TypedBindings<T>;
|
|
7651
7740
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare module "vue-data-ui" {
|
|
2
|
-
import { DefineComponent } from "vue";
|
|
2
|
+
import { Ref, ComputedRef, DefineComponent } from "vue";
|
|
3
3
|
|
|
4
4
|
export type VueUiUnknownObj = {
|
|
5
5
|
[key: string]: unknown;
|
|
@@ -5235,7 +5235,7 @@ declare module "vue-data-ui" {
|
|
|
5235
5235
|
[key: string]: string | number | number[];
|
|
5236
5236
|
};
|
|
5237
5237
|
|
|
5238
|
-
export type VueUiQuickChartDataset =
|
|
5238
|
+
export type VueUiQuickChartDataset =
|
|
5239
5239
|
| number[]
|
|
5240
5240
|
| VueUiQuickChartDatasetObjectItem
|
|
5241
5241
|
| VueUiQuickChartDatasetObjectItem[];
|
|
@@ -7430,9 +7430,9 @@ declare module "vue-data-ui" {
|
|
|
7430
7430
|
* - Handles arrays by making their item type DeepPartial
|
|
7431
7431
|
*/
|
|
7432
7432
|
export type DeepPartial<T> =
|
|
7433
|
-
|
|
7434
|
-
|
|
7435
|
-
|
|
7433
|
+
T extends Function
|
|
7434
|
+
? T
|
|
7435
|
+
: T extends Array<infer U>
|
|
7436
7436
|
? Array<DeepPartial<U>>
|
|
7437
7437
|
: T extends object
|
|
7438
7438
|
? { [K in keyof T]?: DeepPartial<T[K]> }
|
|
@@ -7455,12 +7455,12 @@ declare module "vue-data-ui" {
|
|
|
7455
7455
|
* })
|
|
7456
7456
|
*/
|
|
7457
7457
|
export function mergeConfigs<T extends Record<string, any>>({
|
|
7458
|
-
|
|
7459
|
-
|
|
7460
|
-
|
|
7461
|
-
|
|
7462
|
-
|
|
7463
|
-
|
|
7458
|
+
defaultConfig,
|
|
7459
|
+
userConfig,
|
|
7460
|
+
}: {
|
|
7461
|
+
defaultConfig: T;
|
|
7462
|
+
userConfig: DeepPartial<T>;
|
|
7463
|
+
}
|
|
7464
7464
|
): T;
|
|
7465
7465
|
|
|
7466
7466
|
/**
|
|
@@ -7648,4 +7648,93 @@ declare module "vue-data-ui" {
|
|
|
7648
7648
|
x,
|
|
7649
7649
|
y
|
|
7650
7650
|
}: CreateTSpansArgs) => string;
|
|
7651
|
+
|
|
7652
|
+
export type UseObjectBindingsOptions = {
|
|
7653
|
+
/** Delimiter to join object‑path segments */
|
|
7654
|
+
delimiter?: string;
|
|
7655
|
+
/** If true, array indices will not be traversed */
|
|
7656
|
+
skipArrays?: boolean;
|
|
7657
|
+
};
|
|
7658
|
+
|
|
7659
|
+
/**
|
|
7660
|
+
* Recursively build a union of dot‑delimited paths for an object type,
|
|
7661
|
+
* but skip arrays (we don’t traverse them by default at runtime).
|
|
7662
|
+
*/
|
|
7663
|
+
type Paths<T> = T extends object
|
|
7664
|
+
? T extends any[]
|
|
7665
|
+
? never
|
|
7666
|
+
: {
|
|
7667
|
+
[K in Extract<keyof T, string>]:
|
|
7668
|
+
// if the property is itself an object, recurse
|
|
7669
|
+
T[K] extends object
|
|
7670
|
+
? `${K}` | `${K}.${Paths<T[K]>}`
|
|
7671
|
+
: `${K}`;
|
|
7672
|
+
}[Extract<keyof T, string>]
|
|
7673
|
+
: never;
|
|
7674
|
+
|
|
7675
|
+
/**
|
|
7676
|
+
* Given an object type `T` and one of its path strings `P`,
|
|
7677
|
+
* resolve the type at that path.
|
|
7678
|
+
*/
|
|
7679
|
+
type PathValue<T, P extends string> =
|
|
7680
|
+
P extends `${infer K}.${infer Rest}`
|
|
7681
|
+
? K extends keyof T
|
|
7682
|
+
? PathValue<T[K], Rest>
|
|
7683
|
+
: never
|
|
7684
|
+
: P extends keyof T
|
|
7685
|
+
? T[P]
|
|
7686
|
+
: never;
|
|
7687
|
+
|
|
7688
|
+
/**
|
|
7689
|
+
* A fully‑typed bindings record: for each valid path `P` in `T`,
|
|
7690
|
+
* `ComputedRef` of the exact `PathValue<T,P>`.
|
|
7691
|
+
*/
|
|
7692
|
+
export type TypedBindings<T extends object> = {
|
|
7693
|
+
[P in Paths<T>]: ComputedRef<PathValue<T, P>>;
|
|
7694
|
+
};
|
|
7695
|
+
|
|
7696
|
+
/**
|
|
7697
|
+
* Vue Data UI composable
|
|
7698
|
+
* ---
|
|
7699
|
+
* Flattens a reactive config object into computed refs for every leaf property.
|
|
7700
|
+
*
|
|
7701
|
+
* @template T extends object
|
|
7702
|
+
* @param configRef A Vue `Ref<T>` holding your object.
|
|
7703
|
+
* @param options Optional settings: `delimiter` (default `"."`) and `skipArrays` (default `true`).
|
|
7704
|
+
* @returns A `TypedBindings<T>` whose keys are every “leaf” path in `T`
|
|
7705
|
+
* and whose values are `ComputedRef` of the exact property type.
|
|
7706
|
+
*
|
|
7707
|
+
* ___
|
|
7708
|
+
* @example
|
|
7709
|
+
*
|
|
7710
|
+
* ```js
|
|
7711
|
+
* import { useObjectBindings } from "vue-data-ui";
|
|
7712
|
+
* import type { Ref, ComputedRef } from "vue";
|
|
7713
|
+
*
|
|
7714
|
+
* const config = ref({
|
|
7715
|
+
* customPalette: ["#CCCCCC", "#1A1A1A"],
|
|
7716
|
+
* style: {
|
|
7717
|
+
* chart: {
|
|
7718
|
+
* backgroundColor: "#FFFFFF",
|
|
7719
|
+
* color: "#1A1A1A",
|
|
7720
|
+
* },
|
|
7721
|
+
* },
|
|
7722
|
+
* });
|
|
7723
|
+
*
|
|
7724
|
+
* const bindings = useObjectBindings(config);
|
|
7725
|
+
* ```
|
|
7726
|
+
*
|
|
7727
|
+
* Then in your template:
|
|
7728
|
+
* ```html
|
|
7729
|
+
* <template>
|
|
7730
|
+
* <div>
|
|
7731
|
+
* <input type="color" v-model="bindings['style.chart.backgroundColor']" />
|
|
7732
|
+
* </div>
|
|
7733
|
+
* </template>
|
|
7734
|
+
* ```
|
|
7735
|
+
*/
|
|
7736
|
+
export function useObjectBindings<T extends object>(
|
|
7737
|
+
configRef: Ref<T>,
|
|
7738
|
+
options?: UseObjectBindingsOptions
|
|
7739
|
+
): TypedBindings<T>;
|
|
7651
7740
|
}
|
|
@@ -10,7 +10,7 @@ function m({
|
|
|
10
10
|
!t || r.value || (r.value = !0, clearTimeout(n.value), n.value = setTimeout(async () => {
|
|
11
11
|
if (t)
|
|
12
12
|
try {
|
|
13
|
-
const { default: e } = await import("./pdf-
|
|
13
|
+
const { default: e } = await import("./pdf-CaadJrGW.js");
|
|
14
14
|
await e({
|
|
15
15
|
domElement: document.getElementById(u),
|
|
16
16
|
fileName: l,
|
|
@@ -27,7 +27,7 @@ function m({
|
|
|
27
27
|
!t || a.value || (a.value = !0, clearTimeout(n.value), n.value = setTimeout(async () => {
|
|
28
28
|
if (t)
|
|
29
29
|
try {
|
|
30
|
-
const { default: e } = await import("./img-
|
|
30
|
+
const { default: e } = await import("./img-Bk3lHRQt.js");
|
|
31
31
|
await e({
|
|
32
32
|
domElement: document.getElementById(u),
|
|
33
33
|
fileName: l,
|