@sentropic/design-system-vue 0.35.0 → 0.36.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/ArcDiagramChart.d.ts +73 -0
  2. package/dist/ArcDiagramChart.d.ts.map +1 -0
  3. package/dist/ArcDiagramChart.js +180 -0
  4. package/dist/ArcDiagramChart.js.map +1 -0
  5. package/dist/AreaRangeChart.d.ts +84 -0
  6. package/dist/AreaRangeChart.d.ts.map +1 -0
  7. package/dist/AreaRangeChart.js +202 -0
  8. package/dist/AreaRangeChart.js.map +1 -0
  9. package/dist/AreaSplineRangeChart.d.ts +74 -0
  10. package/dist/AreaSplineRangeChart.d.ts.map +1 -0
  11. package/dist/AreaSplineRangeChart.js +200 -0
  12. package/dist/AreaSplineRangeChart.js.map +1 -0
  13. package/dist/Autosave.d.ts +1 -1
  14. package/dist/Autosave.d.ts.map +1 -1
  15. package/dist/Avatar.d.ts +1 -1
  16. package/dist/BellCurveChart.d.ts +89 -0
  17. package/dist/BellCurveChart.d.ts.map +1 -0
  18. package/dist/BellCurveChart.js +195 -0
  19. package/dist/BellCurveChart.js.map +1 -0
  20. package/dist/Calendar.d.ts +1 -1
  21. package/dist/ColumnPyramidChart.d.ts +75 -0
  22. package/dist/ColumnPyramidChart.d.ts.map +1 -0
  23. package/dist/ColumnPyramidChart.js +162 -0
  24. package/dist/ColumnPyramidChart.js.map +1 -0
  25. package/dist/ColumnRangeChart.d.ts +91 -0
  26. package/dist/ColumnRangeChart.d.ts.map +1 -0
  27. package/dist/ColumnRangeChart.js +259 -0
  28. package/dist/ColumnRangeChart.js.map +1 -0
  29. package/dist/DataTable.d.ts +1 -1
  30. package/dist/DependencyWheelChart.d.ts +73 -0
  31. package/dist/DependencyWheelChart.d.ts.map +1 -0
  32. package/dist/DependencyWheelChart.js +221 -0
  33. package/dist/DependencyWheelChart.js.map +1 -0
  34. package/dist/DumbbellChart.d.ts +104 -0
  35. package/dist/DumbbellChart.d.ts.map +1 -0
  36. package/dist/DumbbellChart.js +163 -0
  37. package/dist/DumbbellChart.js.map +1 -0
  38. package/dist/ErrorBarChart.d.ts +75 -0
  39. package/dist/ErrorBarChart.d.ts.map +1 -0
  40. package/dist/ErrorBarChart.js +173 -0
  41. package/dist/ErrorBarChart.js.map +1 -0
  42. package/dist/ForceGraph.d.ts +1 -1
  43. package/dist/GanttChart.d.ts +74 -0
  44. package/dist/GanttChart.d.ts.map +1 -0
  45. package/dist/GanttChart.js +245 -0
  46. package/dist/GanttChart.js.map +1 -0
  47. package/dist/HeikinAshiChart.d.ts +65 -0
  48. package/dist/HeikinAshiChart.d.ts.map +1 -0
  49. package/dist/HeikinAshiChart.js +196 -0
  50. package/dist/HeikinAshiChart.js.map +1 -0
  51. package/dist/HollowCandlestickChart.d.ts +65 -0
  52. package/dist/HollowCandlestickChart.d.ts.map +1 -0
  53. package/dist/HollowCandlestickChart.js +189 -0
  54. package/dist/HollowCandlestickChart.js.map +1 -0
  55. package/dist/InlineLoading.d.ts +3 -3
  56. package/dist/InlineLoading.d.ts.map +1 -1
  57. package/dist/InlineLoading.js +36 -18
  58. package/dist/InlineLoading.js.map +1 -1
  59. package/dist/LollipopChart.js +1 -1
  60. package/dist/OHLCChart.d.ts +65 -0
  61. package/dist/OHLCChart.d.ts.map +1 -0
  62. package/dist/OHLCChart.js +193 -0
  63. package/dist/OHLCChart.js.map +1 -0
  64. package/dist/OrderedList.d.ts +2 -1
  65. package/dist/OrderedList.d.ts.map +1 -1
  66. package/dist/OrderedList.js +2 -2
  67. package/dist/OrderedList.js.map +1 -1
  68. package/dist/OrganizationChart.d.ts +64 -0
  69. package/dist/OrganizationChart.d.ts.map +1 -0
  70. package/dist/OrganizationChart.js +200 -0
  71. package/dist/OrganizationChart.js.map +1 -0
  72. package/dist/PolygonChart.d.ts +72 -0
  73. package/dist/PolygonChart.d.ts.map +1 -0
  74. package/dist/PolygonChart.js +109 -0
  75. package/dist/PolygonChart.js.map +1 -0
  76. package/dist/Popper.d.ts +1 -1
  77. package/dist/StreamgraphChart.d.ts +88 -0
  78. package/dist/StreamgraphChart.d.ts.map +1 -0
  79. package/dist/StreamgraphChart.js +194 -0
  80. package/dist/StreamgraphChart.js.map +1 -0
  81. package/dist/Tile.d.ts +16 -2
  82. package/dist/Tile.d.ts.map +1 -1
  83. package/dist/Tile.js +41 -15
  84. package/dist/Tile.js.map +1 -1
  85. package/dist/TileGroup.d.ts +4 -1
  86. package/dist/TileGroup.d.ts.map +1 -1
  87. package/dist/TileGroup.js +1 -1
  88. package/dist/TileGroup.js.map +1 -1
  89. package/dist/TileMapChart.d.ts +63 -0
  90. package/dist/TileMapChart.d.ts.map +1 -0
  91. package/dist/TileMapChart.js +154 -0
  92. package/dist/TileMapChart.js.map +1 -0
  93. package/dist/TimelineChart.d.ts +68 -0
  94. package/dist/TimelineChart.d.ts.map +1 -0
  95. package/dist/TimelineChart.js +173 -0
  96. package/dist/TimelineChart.js.map +1 -0
  97. package/dist/Toast.d.ts.map +1 -1
  98. package/dist/Toast.js +26 -10
  99. package/dist/Toast.js.map +1 -1
  100. package/dist/TreegraphChart.d.ts +64 -0
  101. package/dist/TreegraphChart.d.ts.map +1 -0
  102. package/dist/TreegraphChart.js +198 -0
  103. package/dist/TreegraphChart.js.map +1 -0
  104. package/dist/UnorderedList.d.ts +2 -1
  105. package/dist/UnorderedList.d.ts.map +1 -1
  106. package/dist/UnorderedList.js +2 -2
  107. package/dist/UnorderedList.js.map +1 -1
  108. package/dist/VariablePieChart.d.ts +64 -0
  109. package/dist/VariablePieChart.d.ts.map +1 -0
  110. package/dist/VariablePieChart.js +164 -0
  111. package/dist/VariablePieChart.js.map +1 -0
  112. package/dist/index.d.ts +40 -0
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +20 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/styles.css +2975 -1100
  117. package/package.json +1 -1
@@ -1,10 +1,16 @@
1
1
  import { defineComponent, h } from "vue";
2
2
  import { CircleAlert, CircleCheck, LoaderCircle } from "lucide-vue-next";
3
3
  import { classNames } from "./classNames.js";
4
+ const FALLBACK_LABELS = {
5
+ active: "Loading",
6
+ success: "Completed",
7
+ error: "Error",
8
+ inactive: "Inactive",
9
+ };
4
10
  export const InlineLoading = defineComponent({
5
11
  name: "InlineLoading",
6
12
  props: {
7
- label: { type: [String, Object], default: "Loading" },
13
+ label: { type: [String, Object], default: undefined },
8
14
  status: {
9
15
  type: String,
10
16
  default: "active",
@@ -12,23 +18,35 @@ export const InlineLoading = defineComponent({
12
18
  class: { type: String, default: undefined },
13
19
  },
14
20
  setup(props, { attrs }) {
15
- return () => h("div", {
16
- ...attrs,
17
- class: classNames("st-inlineLoading", `st-inlineLoading--${props.status}`, props.class),
18
- }, [
19
- h("span", { class: "st-inlineLoading__icon", "aria-hidden": "true" }, [
20
- props.status === "active"
21
- ? h("span", { class: "st-inlineLoading__spinner" }, [
22
- h(LoaderCircle, { size: 16, strokeWidth: 2, "aria-hidden": "true" }),
23
- ])
24
- : props.status === "success"
25
- ? h(CircleCheck, { size: 16, strokeWidth: 2, "aria-hidden": "true" })
26
- : props.status === "error"
27
- ? h(CircleAlert, { size: 16, strokeWidth: 2, "aria-hidden": "true" })
28
- : null,
29
- ]),
30
- h("span", { class: "st-inlineLoading__label" }, props.label),
31
- ]);
21
+ return () => {
22
+ // Canon Svelte : le libellé visible n'est rendu que s'il est fourni ;
23
+ // sinon un aria-label de repli porte l'accessibilité (aucun texte anglais
24
+ // visible sur une page localisée).
25
+ const ariaLabel = attrs["aria-label"] ??
26
+ (props.label ? undefined : FALLBACK_LABELS[props.status]);
27
+ return h("div", {
28
+ ...attrs,
29
+ class: classNames("st-inlineLoading", `st-inlineLoading--${props.status}`, props.class),
30
+ role: props.status === "error" ? "alert" : "status",
31
+ "aria-label": ariaLabel,
32
+ "aria-live": "polite",
33
+ }, [
34
+ h("span", { class: "st-inlineLoading__icon", "aria-hidden": "true" }, [
35
+ props.status === "active"
36
+ ? h("span", { class: "st-inlineLoading__spinner" }, [
37
+ h(LoaderCircle, { size: 16, strokeWidth: 2, "aria-hidden": "true" }),
38
+ ])
39
+ : props.status === "success"
40
+ ? h(CircleCheck, { size: 16, strokeWidth: 2, "aria-hidden": "true" })
41
+ : props.status === "error"
42
+ ? h(CircleAlert, { size: 16, strokeWidth: 2, "aria-hidden": "true" })
43
+ : null,
44
+ ]),
45
+ props.label
46
+ ? h("span", { class: "st-inlineLoading__label" }, props.label)
47
+ : null,
48
+ ]);
49
+ };
32
50
  },
33
51
  });
34
52
  //# sourceMappingURL=InlineLoading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineLoading.js","sourceRoot":"","sources":["../src/InlineLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;IAC3C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;QACjF,MAAM,EAAE;YACN,IAAI,EAAE,MAAmC;YACzC,OAAO,EAAE,QAAQ;SAClB;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,KAAK,EACL;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CACf,kBAAkB,EAClB,qBAAqB,KAAK,CAAC,MAAM,EAAE,EACnC,KAAK,CAAC,KAAK,CACZ;SACF,EACD;YACE,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,EAC1D;gBACE,KAAK,CAAC,MAAM,KAAK,QAAQ;oBACvB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE;wBAChD,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;qBACrE,CAAC;oBACJ,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;wBAC1B,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;wBACrE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;4BACxB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;4BACrE,CAAC,CAAC,IAAI;aACb,CACF;YACD,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,yBAAyB,EAAE,EACpC,KAAK,CAAC,KAAe,CACtB;SACF,CACF,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"InlineLoading.js","sourceRoot":"","sources":["../src/InlineLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,MAAM,eAAe,GAAwC;IAC3D,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;IAC3C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;QACjF,MAAM,EAAE;YACN,IAAI,EAAE,MAAmC;YACzC,OAAO,EAAE,QAAQ;SAClB;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE;YACV,sEAAsE;YACtE,0EAA0E;YAC1E,mCAAmC;YACnC,MAAM,SAAS,GACZ,KAAK,CAAC,YAAY,CAAwB;gBAC3C,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,CACN,KAAK,EACL;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CACf,kBAAkB,EAClB,qBAAqB,KAAK,CAAC,MAAM,EAAE,EACnC,KAAK,CAAC,KAAK,CACZ;gBACD,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBACnD,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,QAAQ;aACtB,EACD;gBACE,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,EAC1D;oBACE,KAAK,CAAC,MAAM,KAAK,QAAQ;wBACvB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE;4BAChD,CAAC,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;yBACrE,CAAC;wBACJ,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;4BAC1B,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;4BACrE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;gCACxB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gCACrE,CAAC,CAAC,IAAI;iBACb,CACF;gBACD,KAAK,CAAC,KAAK;oBACT,CAAC,CAAC,CAAC,CACC,MAAM,EACN,EAAE,KAAK,EAAE,yBAAyB,EAAE,EACpC,KAAK,CAAC,KAAe,CACtB;oBACH,CAAC,CAAC,IAAI;aACT,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { defineComponent, h, ref } from "vue";
2
2
  import { classNames } from "./classNames.js";
3
3
  import { chartDataList, formatTick, niceTicks, scaleLinear } from "./chartScale.js";
4
4
  import { contrastTextForTone } from "./chartContrast.js";
5
- const MARGIN = { top: 12, right: 16, bottom: 32, left: 44 };
5
+ const MARGIN = { top: 24, right: 16, bottom: 32, left: 44 };
6
6
  const DOT_RADIUS = 5;
7
7
  export const LollipopChart = defineComponent({
8
8
  name: "LollipopChart",
@@ -0,0 +1,65 @@
1
+ export type OHLCChartDatum = {
2
+ label: string;
3
+ open: number;
4
+ high: number;
5
+ low: number;
6
+ close: number;
7
+ };
8
+ export type OHLCChartProps = {
9
+ data: OHLCChartDatum[];
10
+ label: string;
11
+ width?: number;
12
+ height?: number;
13
+ class?: string;
14
+ };
15
+ export declare const OHLCChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ data: {
17
+ type: () => OHLCChartDatum[];
18
+ default: () => never[];
19
+ };
20
+ label: {
21
+ type: StringConstructor;
22
+ required: true;
23
+ };
24
+ width: {
25
+ type: NumberConstructor;
26
+ default: number;
27
+ };
28
+ height: {
29
+ type: NumberConstructor;
30
+ default: number;
31
+ };
32
+ class: {
33
+ type: StringConstructor;
34
+ default: undefined;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: {
40
+ type: () => OHLCChartDatum[];
41
+ default: () => never[];
42
+ };
43
+ label: {
44
+ type: StringConstructor;
45
+ required: true;
46
+ };
47
+ width: {
48
+ type: NumberConstructor;
49
+ default: number;
50
+ };
51
+ height: {
52
+ type: NumberConstructor;
53
+ default: number;
54
+ };
55
+ class: {
56
+ type: StringConstructor;
57
+ default: undefined;
58
+ };
59
+ }>> & Readonly<{}>, {
60
+ class: string;
61
+ data: OHLCChartDatum[];
62
+ height: number;
63
+ width: number;
64
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
65
+ //# sourceMappingURL=OHLCChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OHLCChart.d.ts","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsCF,eAAO,MAAM,SAAS;;cAGK,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;cAAtB,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;4EA0L/C,CAAC"}
@@ -0,0 +1,193 @@
1
+ import { defineComponent, h, ref } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ import { chartDataList } from "./chartScale.js";
4
+ const MARGIN = { top: 12, right: 16, bottom: 32, left: 52 };
5
+ function scaleLinear(v, d0, d1, r0, r1) {
6
+ if (d1 === d0)
7
+ return r0;
8
+ return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
9
+ }
10
+ function niceTicks(min, max, target = 5) {
11
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min === max) {
12
+ const base = Number.isFinite(max) ? max : 0;
13
+ return [base];
14
+ }
15
+ const range = max - min;
16
+ const rough = range / Math.max(target - 1, 1);
17
+ const pow = Math.pow(10, Math.floor(Math.log10(rough)));
18
+ const norm = rough / pow;
19
+ let step;
20
+ if (norm < 1.5)
21
+ step = 1 * pow;
22
+ else if (norm < 3)
23
+ step = 2 * pow;
24
+ else if (norm < 7)
25
+ step = 5 * pow;
26
+ else
27
+ step = 10 * pow;
28
+ const start = Math.floor(min / step) * step;
29
+ const end = Math.ceil(max / step) * step;
30
+ const ticks = [];
31
+ for (let v = start; v <= end + step / 2; v += step) {
32
+ ticks.push(Number(v.toFixed(10)));
33
+ }
34
+ return ticks;
35
+ }
36
+ function formatTick(v) {
37
+ if (Math.abs(v) >= 1000)
38
+ return `${(v / 1000).toFixed(v % 1000 === 0 ? 0 : 1)}k`;
39
+ if (Number.isInteger(v))
40
+ return String(v);
41
+ return v.toFixed(1);
42
+ }
43
+ export const OHLCChart = defineComponent({
44
+ name: "OHLCChart",
45
+ props: {
46
+ data: { type: Array, default: () => [] },
47
+ label: { type: String, required: true },
48
+ width: { type: Number, default: 480 },
49
+ height: { type: Number, default: 240 },
50
+ class: { type: String, default: undefined },
51
+ },
52
+ setup(props, { attrs }) {
53
+ const hoveredIndex = ref(null);
54
+ function handleLeave() {
55
+ hoveredIndex.value = null;
56
+ }
57
+ function handlePointerMove(event) {
58
+ const target = event.target;
59
+ if (!(target instanceof Element)) {
60
+ hoveredIndex.value = null;
61
+ return;
62
+ }
63
+ const idx = Number(target.getAttribute("data-chart-index"));
64
+ hoveredIndex.value = Number.isInteger(idx) ? idx : null;
65
+ }
66
+ return () => {
67
+ const data = props.data ?? [];
68
+ const label = props.label;
69
+ const width = props.width ?? 480;
70
+ const height = props.height ?? 240;
71
+ const plotWidth = Math.max(width - MARGIN.left - MARGIN.right, 1);
72
+ const plotHeight = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
73
+ // Filter invalid bars BEFORE domain
74
+ const validData = data.filter((d) => Number.isFinite(d.open) &&
75
+ Number.isFinite(d.high) &&
76
+ Number.isFinite(d.low) &&
77
+ Number.isFinite(d.close));
78
+ const allVals = [];
79
+ for (const d of validData) {
80
+ // Domain includes open/high/low/close (not just high/low)
81
+ allVals.push(d.open, d.high, d.low, d.close);
82
+ }
83
+ const rawMin = allVals.length === 0 ? 0 : Math.min(...allVals);
84
+ const rawMax = allVals.length === 0 ? 1 : Math.max(...allVals);
85
+ // Flat domain → fallback range 1 to avoid division by zero
86
+ const safeRawMax = rawMax === rawMin ? rawMin + 1 : rawMax;
87
+ const ticks = niceTicks(rawMin, safeRawMax, 5);
88
+ const domainMin = ticks[0] ?? rawMin;
89
+ const domainMax = ticks[ticks.length - 1] ?? safeRawMax;
90
+ const band = validData.length > 0 ? plotWidth / validData.length : plotWidth;
91
+ // length of the open/close tick (each side of the bar)
92
+ const tickW = Math.min(band * 0.3, 12);
93
+ const bars = validData.map((d, i) => {
94
+ // clamp high/low to guarantee high≥max(O,C) and low≤min(O,C)
95
+ const clampedHigh = Math.max(d.high, d.open, d.close);
96
+ const clampedLow = Math.min(d.low, d.open, d.close);
97
+ const bullish = d.close >= d.open;
98
+ const centerX = MARGIN.left + band * i + band / 2;
99
+ const highY = MARGIN.top + scaleLinear(clampedHigh, domainMin, domainMax, plotHeight, 0);
100
+ const lowY = MARGIN.top + scaleLinear(clampedLow, domainMin, domainMax, plotHeight, 0);
101
+ const openY = MARGIN.top + scaleLinear(d.open, domainMin, domainMax, plotHeight, 0);
102
+ const closeY = MARGIN.top + scaleLinear(d.close, domainMin, domainMax, plotHeight, 0);
103
+ return {
104
+ datum: d, index: i, bullish, centerX,
105
+ barHighY: highY, barLowY: lowY,
106
+ openY, closeY,
107
+ openX: centerX - tickW,
108
+ closeX: centerX + tickW,
109
+ tooltipY: Math.min(highY, openY, closeY),
110
+ };
111
+ });
112
+ const dataValueItems = validData.map((d) => `${d.label}: O ${d.open} H ${d.high} L ${d.low} C ${d.close}`);
113
+ const svgChildren = [];
114
+ // gridlines + tick labels
115
+ for (const tick of ticks) {
116
+ const ty = MARGIN.top + scaleLinear(tick, domainMin, domainMax, plotHeight, 0);
117
+ svgChildren.push(h("line", { key: `g${tick}`, class: "st-ohlcChart__grid", x1: MARGIN.left, x2: width - MARGIN.right, y1: ty, y2: ty }));
118
+ svgChildren.push(h("text", { key: `t${tick}`, class: "st-ohlcChart__tickLabel", x: MARGIN.left - 6, y: ty, "text-anchor": "end", "dominant-baseline": "middle" }, formatTick(tick)));
119
+ }
120
+ // axes
121
+ svgChildren.push(h("line", { class: "st-ohlcChart__axis", x1: MARGIN.left, x2: MARGIN.left, y1: MARGIN.top, y2: height - MARGIN.bottom }));
122
+ svgChildren.push(h("line", { class: "st-ohlcChart__axis", x1: MARGIN.left, x2: width - MARGIN.right, y1: height - MARGIN.bottom, y2: height - MARGIN.bottom }));
123
+ // composite key to avoid duplicates
124
+ for (const b of bars) {
125
+ const i = b.index;
126
+ const isDim = hoveredIndex.value !== null && hoveredIndex.value !== i;
127
+ svgChildren.push(h("g", {
128
+ key: `bar${i}-${b.datum.label}`,
129
+ class: classNames("st-ohlcChart__bar", `st-ohlcChart__bar--${b.bullish ? "up" : "down"}`, isDim ? "st-ohlcChart__bar--dim" : undefined),
130
+ }, [
131
+ // vertical low → high range
132
+ h("line", {
133
+ class: "st-ohlcChart__range",
134
+ x1: b.centerX, x2: b.centerX,
135
+ y1: b.barHighY, y2: b.barLowY,
136
+ "data-chart-index": i,
137
+ }),
138
+ // open tick (left)
139
+ h("line", {
140
+ class: "st-ohlcChart__open",
141
+ x1: b.openX, x2: b.centerX,
142
+ y1: b.openY, y2: b.openY,
143
+ "data-chart-index": i,
144
+ }),
145
+ // close tick (right)
146
+ h("line", {
147
+ class: "st-ohlcChart__close",
148
+ x1: b.centerX, x2: b.closeX,
149
+ y1: b.closeY, y2: b.closeY,
150
+ "data-chart-index": i,
151
+ }),
152
+ ]));
153
+ // category label
154
+ svgChildren.push(h("text", {
155
+ key: `lbl${i}`,
156
+ class: "st-ohlcChart__categoryLabel",
157
+ x: b.centerX, y: height - MARGIN.bottom + 16,
158
+ "text-anchor": "middle",
159
+ }, b.datum.label));
160
+ }
161
+ const hoveredBar = hoveredIndex.value !== null ? bars[hoveredIndex.value] : undefined;
162
+ const children = [
163
+ h("div", {
164
+ class: "st-ohlcChart__visual",
165
+ role: "img",
166
+ "aria-label": label,
167
+ onPointermove: handlePointerMove,
168
+ onPointerleave: handleLeave,
169
+ }, [
170
+ h("svg", {
171
+ viewBox: `0 0 ${width} ${height}`,
172
+ preserveAspectRatio: "xMidYMid meet",
173
+ width: "100%", height: "100%",
174
+ focusable: "false", "aria-hidden": "true",
175
+ }, svgChildren),
176
+ ]),
177
+ chartDataList(label, dataValueItems),
178
+ ];
179
+ if (hoveredBar) {
180
+ children.push(h("div", {
181
+ class: "st-ohlcChart__tooltip",
182
+ role: "presentation",
183
+ style: `left:${(hoveredBar.centerX / width) * 100}%;top:${(hoveredBar.tooltipY / height) * 100}%`,
184
+ }, [
185
+ h("span", { class: "st-ohlcChart__tooltipLabel" }, hoveredBar.datum.label),
186
+ h("span", { class: "st-ohlcChart__tooltipValue" }, `O ${hoveredBar.datum.open} H ${hoveredBar.datum.high} L ${hoveredBar.datum.low} C ${hoveredBar.datum.close}`),
187
+ ]));
188
+ }
189
+ return h("div", { ...attrs, class: classNames("st-ohlcChart", props.class) }, children);
190
+ };
191
+ },
192
+ });
193
+ //# sourceMappingURL=OHLCChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OHLCChart.js","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type OrderedListItem = {
2
- label: unknown;
2
+ content?: unknown;
3
+ label?: unknown;
3
4
  children?: OrderedListInput[];
4
5
  };
5
6
  export type OrderedListInput = unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"OrderedList.d.ts","sourceRoot":"","sources":["../src/OrderedList.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmCF,eAAO,MAAM,WAAW;;cAGI,MAAM,gBAAgB,EAAE;;;;;;;;;;;cAAxB,MAAM,gBAAgB,EAAE;;;;;;;;;4EAclD,CAAC"}
1
+ {"version":3,"file":"OrderedList.d.ts","sourceRoot":"","sources":["../src/OrderedList.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC;AACpG,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmCF,eAAO,MAAM,WAAW;;cAGI,MAAM,gBAAgB,EAAE;;;;;;;;;;;cAAxB,MAAM,gBAAgB,EAAE;;;;;;;;;4EAclD,CAAC"}
@@ -3,13 +3,13 @@ import { classNames } from "./classNames.js";
3
3
  function renderListItem(item, index, ordered) {
4
4
  if (typeof item === "object" &&
5
5
  item !== null &&
6
- "label" in item) {
6
+ ("content" in item || "label" in item)) {
7
7
  const cast = item;
8
8
  return h("li", {
9
9
  key: index,
10
10
  class: ordered ? "st-orderedList__item" : "st-unorderedList__item",
11
11
  }, [
12
- String(cast.label ?? ""),
12
+ String((cast.content ?? cast.label) ?? ""),
13
13
  cast.children
14
14
  ? ordered
15
15
  ? h(OrderedList, { items: cast.children })
@@ -1 +1 @@
1
- {"version":3,"file":"OrderedList.js","sourceRoot":"","sources":["../src/OrderedList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAmB,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAU7C,SAAS,cAAc,CAAC,IAAsB,EAAE,KAAa,EAAE,OAAgB;IAC7E,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAO,IAAK,IAAgC,EAC5C,CAAC;QACD,MAAM,IAAI,GAAG,IAAuB,CAAC;QACrC,OAAO,CAAC,CACN,IAAI,EACJ;YACE,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB;SACnE,EACD;YACE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ;gBACX,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1C,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,CAAC,CAAC,IAAI;SACT,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CACN,IAAI,EACJ;QACE,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB;KACnE,EACD,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,IAAI,EACJ;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC;SACvD,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAiB,CACpF,CAAC;IACN,CAAC;CACF,CAAC,CAAC;AAEH,kDAAkD;AAClD,MAAM,mBAAmB,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,IAAI,EACJ;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;SACnD,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAiB,CACrF,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"OrderedList.js","sourceRoot":"","sources":["../src/OrderedList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAmB,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,SAAS,cAAc,CAAC,IAAsB,EAAE,KAAa,EAAE,OAAgB;IAC7E,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,CAAC,SAAS,IAAK,IAAgC,IAAI,OAAO,IAAK,IAAgC,CAAC,EAChG,CAAC;QACD,MAAM,IAAI,GAAG,IAAuB,CAAC;QACrC,OAAO,CAAC,CACN,IAAI,EACJ;YACE,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB;SACnE,EACD;YACE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBACX,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1C,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,CAAC,CAAC,IAAI;SACT,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CACN,IAAI,EACJ;QACE,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,wBAAwB;KACnE,EACD,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,IAAI,EACJ;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC;SACvD,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAiB,CACpF,CAAC;IACN,CAAC;CACF,CAAC,CAAC;AAEH,kDAAkD;AAClD,MAAM,mBAAmB,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,OAAO,GAAG,EAAE,CACV,CAAC,CACC,IAAI,EACJ;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC;SACnD,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAiB,CACrF,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,64 @@
1
+ export type OrganizationChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
2
+ export type OrganizationChartNode = {
3
+ id: string;
4
+ parentId?: string | null;
5
+ label: string;
6
+ tone?: OrganizationChartTone;
7
+ };
8
+ export type OrganizationChartProps = {
9
+ data: OrganizationChartNode[];
10
+ width?: number;
11
+ height?: number;
12
+ label: string;
13
+ class?: string;
14
+ };
15
+ export declare const OrganizationChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ data: {
17
+ type: () => OrganizationChartNode[];
18
+ required: true;
19
+ };
20
+ width: {
21
+ type: NumberConstructor;
22
+ default: number;
23
+ };
24
+ height: {
25
+ type: NumberConstructor;
26
+ default: number;
27
+ };
28
+ label: {
29
+ type: StringConstructor;
30
+ required: true;
31
+ };
32
+ class: {
33
+ type: StringConstructor;
34
+ default: undefined;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: {
40
+ type: () => OrganizationChartNode[];
41
+ required: true;
42
+ };
43
+ width: {
44
+ type: NumberConstructor;
45
+ default: number;
46
+ };
47
+ height: {
48
+ type: NumberConstructor;
49
+ default: number;
50
+ };
51
+ label: {
52
+ type: StringConstructor;
53
+ required: true;
54
+ };
55
+ class: {
56
+ type: StringConstructor;
57
+ default: undefined;
58
+ };
59
+ }>> & Readonly<{}>, {
60
+ class: string;
61
+ height: number;
62
+ width: number;
63
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
64
+ //# sourceMappingURL=OrganizationChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationChart.d.ts","sourceRoot":"","sources":["../src/OrganizationChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA8IF,eAAO,MAAM,iBAAiB;;cAGH,MAAM,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;cAA7B,MAAM,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;4EA2FtD,CAAC"}