@sentropic/design-system-vue 0.3.0 → 0.4.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.
Files changed (100) hide show
  1. package/dist/Accordion.d.ts +26 -4
  2. package/dist/Accordion.d.ts.map +1 -1
  3. package/dist/Accordion.js +7 -4
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AreaChart.d.ts +38 -21
  6. package/dist/AreaChart.d.ts.map +1 -1
  7. package/dist/AreaChart.js +154 -40
  8. package/dist/AreaChart.js.map +1 -1
  9. package/dist/BackToTop.d.ts +1 -1
  10. package/dist/BarChart.d.ts +23 -16
  11. package/dist/BarChart.d.ts.map +1 -1
  12. package/dist/BarChart.js +137 -30
  13. package/dist/BarChart.js.map +1 -1
  14. package/dist/Combobox.d.ts +1 -1
  15. package/dist/ContentSwitcher.d.ts +10 -0
  16. package/dist/ContentSwitcher.d.ts.map +1 -1
  17. package/dist/ContentSwitcher.js +5 -1
  18. package/dist/ContentSwitcher.js.map +1 -1
  19. package/dist/CopyButton.d.ts +1 -1
  20. package/dist/DataTable.d.ts +208 -18
  21. package/dist/DataTable.d.ts.map +1 -1
  22. package/dist/DataTable.js +267 -26
  23. package/dist/DataTable.js.map +1 -1
  24. package/dist/DonutChart.d.ts +33 -26
  25. package/dist/DonutChart.d.ts.map +1 -1
  26. package/dist/DonutChart.js +104 -26
  27. package/dist/DonutChart.js.map +1 -1
  28. package/dist/Drawer.d.ts +1 -1
  29. package/dist/Dropdown.d.ts +11 -1
  30. package/dist/Dropdown.d.ts.map +1 -1
  31. package/dist/Dropdown.js +1 -0
  32. package/dist/Dropdown.js.map +1 -1
  33. package/dist/FileUploader.d.ts +10 -1
  34. package/dist/FileUploader.d.ts.map +1 -1
  35. package/dist/FileUploader.js +33 -9
  36. package/dist/FileUploader.js.map +1 -1
  37. package/dist/ForceGraph.d.ts +1 -1
  38. package/dist/LanguageSelector.d.ts +1 -1
  39. package/dist/LineChart.d.ts +42 -16
  40. package/dist/LineChart.d.ts.map +1 -1
  41. package/dist/LineChart.js +146 -35
  42. package/dist/LineChart.js.map +1 -1
  43. package/dist/Menu.d.ts +7 -3
  44. package/dist/Menu.d.ts.map +1 -1
  45. package/dist/Menu.js +17 -7
  46. package/dist/Menu.js.map +1 -1
  47. package/dist/MenuPopover.d.ts +1 -1
  48. package/dist/MenuTriggerButton.d.ts +13 -3
  49. package/dist/MenuTriggerButton.d.ts.map +1 -1
  50. package/dist/MenuTriggerButton.js +4 -2
  51. package/dist/MenuTriggerButton.js.map +1 -1
  52. package/dist/MessageActions.d.ts +7 -1
  53. package/dist/MessageActions.d.ts.map +1 -1
  54. package/dist/MessageActions.js +4 -1
  55. package/dist/MessageActions.js.map +1 -1
  56. package/dist/Modal.d.ts +1 -1
  57. package/dist/MultiSelect.d.ts +1 -1
  58. package/dist/NumberInput.d.ts +13 -2
  59. package/dist/NumberInput.d.ts.map +1 -1
  60. package/dist/NumberInput.js +2 -1
  61. package/dist/NumberInput.js.map +1 -1
  62. package/dist/OverflowMenu.d.ts +1 -1
  63. package/dist/PaginationNav.d.ts +12 -2
  64. package/dist/PaginationNav.d.ts.map +1 -1
  65. package/dist/PaginationNav.js +3 -2
  66. package/dist/PaginationNav.js.map +1 -1
  67. package/dist/Popover.d.ts +1 -1
  68. package/dist/ProgressBar.d.ts +1 -1
  69. package/dist/ScatterPlot.d.ts +43 -14
  70. package/dist/ScatterPlot.d.ts.map +1 -1
  71. package/dist/ScatterPlot.js +113 -25
  72. package/dist/ScatterPlot.js.map +1 -1
  73. package/dist/Search.d.ts +11 -0
  74. package/dist/Search.d.ts.map +1 -1
  75. package/dist/Search.js +2 -1
  76. package/dist/Search.js.map +1 -1
  77. package/dist/Slider.d.ts +2 -2
  78. package/dist/Sparkline.d.ts +47 -7
  79. package/dist/Sparkline.d.ts.map +1 -1
  80. package/dist/Sparkline.js +57 -21
  81. package/dist/Sparkline.js.map +1 -1
  82. package/dist/StackedBarChart.d.ts +25 -16
  83. package/dist/StackedBarChart.d.ts.map +1 -1
  84. package/dist/StackedBarChart.js +131 -39
  85. package/dist/StackedBarChart.js.map +1 -1
  86. package/dist/Tabs.d.ts +10 -0
  87. package/dist/Tabs.d.ts.map +1 -1
  88. package/dist/Tabs.js +2 -0
  89. package/dist/Tabs.js.map +1 -1
  90. package/dist/Toggletip.d.ts +1 -1
  91. package/dist/Transcription.d.ts +1 -1
  92. package/dist/chartScale.d.ts +22 -0
  93. package/dist/chartScale.d.ts.map +1 -0
  94. package/dist/chartScale.js +70 -0
  95. package/dist/chartScale.js.map +1 -0
  96. package/dist/index.d.ts +1 -1
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/styles.css +24 -0
  100. package/package.json +1 -1
package/dist/BarChart.js CHANGED
@@ -1,45 +1,152 @@
1
- import { defineComponent, h } from "vue";
1
+ import { defineComponent, h, ref } from "vue";
2
2
  import { classNames } from "./classNames.js";
3
- const DATA_TONES = [
4
- "category1", "category2", "category3", "category4",
5
- "category5", "category6", "category7", "category8",
6
- ];
3
+ import { CHART_MARGIN, chartDataList, formatTick, niceTicks, scaleLinear } from "./chartScale.js";
4
+ const MARGIN = CHART_MARGIN;
7
5
  export const BarChart = defineComponent({
8
6
  name: "BarChart",
9
7
  props: {
10
8
  data: { type: Array, required: true },
11
- label: { type: String, default: "Bar chart" },
12
- width: { type: Number, default: 320 },
13
- height: { type: Number, default: 160 },
9
+ width: { type: Number, default: 480 },
10
+ height: { type: Number, default: 240 },
11
+ orientation: { type: String, default: "vertical" },
12
+ label: { type: String, required: true },
14
13
  class: { type: String, default: undefined },
15
14
  },
16
15
  setup(props, { attrs }) {
16
+ const hoveredIndex = ref(null);
17
+ function handleLeave() {
18
+ hoveredIndex.value = null;
19
+ }
20
+ function handleVisualPointerMove(event) {
21
+ const target = event.target;
22
+ if (!(target instanceof Element)) {
23
+ hoveredIndex.value = null;
24
+ return;
25
+ }
26
+ const index = Number(target.getAttribute("data-chart-index"));
27
+ hoveredIndex.value = Number.isInteger(index) ? index : null;
28
+ }
17
29
  return () => {
18
- const width = props.width ?? 320;
19
- const height = props.height ?? 160;
20
- const label = props.label ?? "Bar chart";
21
- const max = Math.max(...props.data.map((datum) => datum.value ?? datum.y ?? 0), 1);
22
- return h("figure", {
23
- ...attrs,
24
- class: classNames("st-barChart", props.class),
25
- "aria-label": label,
26
- }, [
27
- h("span", { class: "st-visually-hidden" }, label),
28
- h("svg", { viewBox: `0 0 ${width} ${height}`, "aria-hidden": "true" }, [
29
- ...props.data.map((datum, index) => {
30
- const value = datum.value ?? datum.y ?? 0;
31
- const barWidth = width / Math.max(props.data.length, 1) - 8;
32
- const barHeight = (value / max) * height;
33
- return h("rect", {
34
- key: index,
35
- class: classNames("st-barChart__bar", `st-barChart__bar--${datum.tone ?? DATA_TONES[index % DATA_TONES.length]}`),
36
- x: index * (barWidth + 8) + 4,
37
- y: height - barHeight,
30
+ const width = props.width ?? 480;
31
+ const height = props.height ?? 240;
32
+ const orientation = props.orientation ?? "vertical";
33
+ const label = props.label;
34
+ const data = props.data;
35
+ const values = data.map((d) => d.value);
36
+ const minRaw = Math.min(0, ...values);
37
+ const maxRaw = Math.max(0, ...values);
38
+ const ticks = niceTicks(minRaw, maxRaw, 5);
39
+ const domainMin = ticks[0];
40
+ const domainMax = ticks[ticks.length - 1];
41
+ const plotWidth = Math.max(width - MARGIN.left - MARGIN.right, 1);
42
+ const plotHeight = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
43
+ let bars = [];
44
+ if (data.length !== 0) {
45
+ if (orientation === "vertical") {
46
+ const band = plotWidth / data.length;
47
+ const barWidth = band * 0.62;
48
+ const zeroY = scaleLinear(0, domainMin, domainMax, plotHeight, 0);
49
+ bars = data.map((d, i) => {
50
+ const valueY = scaleLinear(d.value, domainMin, domainMax, plotHeight, 0);
51
+ const y = Math.min(valueY, zeroY);
52
+ const hh = Math.abs(zeroY - valueY);
53
+ const x = MARGIN.left + band * i + (band - barWidth) / 2;
54
+ return {
55
+ x,
56
+ y: MARGIN.top + y,
38
57
  width: barWidth,
58
+ height: Math.max(hh, 0.5),
59
+ cx: MARGIN.left + band * (i + 0.5),
60
+ cy: MARGIN.top + valueY,
61
+ datum: d,
62
+ tone: (d.tone ?? "category1"),
63
+ };
64
+ });
65
+ }
66
+ else {
67
+ const band = plotHeight / data.length;
68
+ const barHeight = band * 0.62;
69
+ const zeroX = scaleLinear(0, domainMin, domainMax, 0, plotWidth);
70
+ bars = data.map((d, i) => {
71
+ const valueX = scaleLinear(d.value, domainMin, domainMax, 0, plotWidth);
72
+ const x = Math.min(valueX, zeroX);
73
+ const w = Math.abs(valueX - zeroX);
74
+ const y = MARGIN.top + band * i + (band - barHeight) / 2;
75
+ return {
76
+ x: MARGIN.left + x,
77
+ y,
78
+ width: Math.max(w, 0.5),
39
79
  height: barHeight,
40
- });
41
- }),
80
+ cx: MARGIN.left + valueX,
81
+ cy: MARGIN.top + band * (i + 0.5),
82
+ datum: d,
83
+ tone: (d.tone ?? "category1"),
84
+ };
85
+ });
86
+ }
87
+ }
88
+ const dataValueItems = data.map((d) => `${d.label}: ${d.value}`);
89
+ const gridChildren = [];
90
+ if (orientation === "vertical") {
91
+ for (const tick of ticks) {
92
+ const y = MARGIN.top + scaleLinear(tick, domainMin, domainMax, plotHeight, 0);
93
+ gridChildren.push(h("line", { key: `g${tick}`, class: "st-barChart__grid", x1: MARGIN.left, x2: MARGIN.left + plotWidth, y1: y, y2: y }), h("text", { key: `t${tick}`, class: "st-barChart__tickLabel", x: MARGIN.left - 6, y, "text-anchor": "end", "dominant-baseline": "middle" }, formatTick(tick)));
94
+ }
95
+ }
96
+ else {
97
+ for (const tick of ticks) {
98
+ const x = MARGIN.left + scaleLinear(tick, domainMin, domainMax, 0, plotWidth);
99
+ gridChildren.push(h("line", { key: `g${tick}`, class: "st-barChart__grid", x1: x, x2: x, y1: MARGIN.top, y2: MARGIN.top + plotHeight }), h("text", { key: `t${tick}`, class: "st-barChart__tickLabel", x, y: height - MARGIN.bottom + 16, "text-anchor": "middle" }, formatTick(tick)));
100
+ }
101
+ }
102
+ const categoryLabels = bars.map((bar) => orientation === "vertical"
103
+ ? h("text", { key: `c${bar.datum.label}`, class: "st-barChart__categoryLabel", x: bar.x + bar.width / 2, y: height - MARGIN.bottom + 16, "text-anchor": "middle" }, bar.datum.label)
104
+ : h("text", { key: `c${bar.datum.label}`, class: "st-barChart__categoryLabel", x: MARGIN.left - 6, y: bar.y + bar.height / 2, "text-anchor": "end", "dominant-baseline": "middle" }, bar.datum.label));
105
+ const barRects = bars.map((bar, i) => h("rect", {
106
+ key: `b${bar.datum.label}`,
107
+ class: classNames("st-barChart__bar", `st-barChart__bar--${bar.tone}`),
108
+ x: bar.x,
109
+ y: bar.y,
110
+ width: bar.width,
111
+ height: bar.height,
112
+ rx: "2",
113
+ "data-chart-index": i,
114
+ }));
115
+ const hoveredBar = hoveredIndex.value !== null ? bars[hoveredIndex.value] : undefined;
116
+ return h("div", { ...attrs, class: classNames("st-barChart", props.class) }, [
117
+ h("div", {
118
+ class: "st-barChart__visual",
119
+ role: "img",
120
+ "aria-label": label,
121
+ onPointermove: handleVisualPointerMove,
122
+ onPointerleave: handleLeave,
123
+ }, [
124
+ h("svg", {
125
+ viewBox: `0 0 ${width} ${height}`,
126
+ preserveAspectRatio: "xMidYMid meet",
127
+ width: "100%",
128
+ height: "100%",
129
+ focusable: "false",
130
+ "aria-hidden": "true",
131
+ }, [
132
+ ...gridChildren,
133
+ h("line", { class: "st-barChart__axis", x1: MARGIN.left, x2: MARGIN.left, y1: MARGIN.top, y2: height - MARGIN.bottom }),
134
+ h("line", { class: "st-barChart__axis", x1: MARGIN.left, x2: width - MARGIN.right, y1: height - MARGIN.bottom, y2: height - MARGIN.bottom }),
135
+ ...categoryLabels,
136
+ ...barRects,
137
+ ]),
42
138
  ]),
139
+ chartDataList(label, dataValueItems),
140
+ hoveredBar
141
+ ? h("div", {
142
+ class: "st-barChart__tooltip",
143
+ role: "presentation",
144
+ style: `left: ${(hoveredBar.cx / width) * 100}%; top: ${(hoveredBar.cy / height) * 100}%`,
145
+ }, [
146
+ h("span", { class: "st-barChart__tooltipLabel" }, hoveredBar.datum.label),
147
+ h("span", { class: "st-barChart__tooltipValue" }, String(hoveredBar.datum.value)),
148
+ ])
149
+ : null,
43
150
  ]);
44
151
  };
45
152
  },
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../src/BarChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C,MAAM,UAAU,GAAG;IACjB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;IAClD,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,KAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;QAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACtC,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,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,CACN,QAAQ,EACR;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;gBAC7C,YAAY,EAAE,KAAK;aACpB,EACD;gBACE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,KAAK,CAAC;gBACjD,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE;oBACrE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC1C,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;wBACzC,OAAO,CAAC,CAAC,MAAM,EAAE;4BACf,GAAG,EAAE,KAAK;4BACV,KAAK,EAAE,UAAU,CACf,kBAAkB,EAClB,qBAAqB,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAC3E;4BACD,CAAC,EAAE,KAAK,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC;4BAC7B,CAAC,EAAE,MAAM,GAAG,SAAS;4BACrB,KAAK,EAAE,QAAQ;4BACf,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC,CAAC;iBACH,CAAC;aACH,CACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../src/BarChart.ts"],"names":[],"mappings":"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"}
@@ -97,12 +97,12 @@ export declare const Combobox: import("vue").DefineComponent<import("vue").Extra
97
97
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
98
98
  "onUpdate:open"?: ((...args: any[]) => any) | undefined;
99
99
  }>, {
100
+ open: boolean;
100
101
  class: string;
101
102
  label: undefined;
102
103
  size: ComboboxSize;
103
104
  value: string;
104
105
  placeholder: string;
105
- open: boolean;
106
106
  allowCustomValue: boolean;
107
107
  noResultsLabel: string;
108
108
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -10,6 +10,7 @@ export type ContentSwitcherProps = {
10
10
  value?: string;
11
11
  activeId?: string;
12
12
  size?: ContentSwitcherSize;
13
+ onchange?: (value: string) => void;
13
14
  class?: string;
14
15
  };
15
16
  export declare const ContentSwitcher: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -29,6 +30,10 @@ export declare const ContentSwitcher: import("vue").DefineComponent<import("vue"
29
30
  type: () => ContentSwitcherSize;
30
31
  default: string;
31
32
  };
33
+ onchange: {
34
+ type: () => (value: string) => void;
35
+ default: undefined;
36
+ };
32
37
  class: {
33
38
  type: StringConstructor;
34
39
  default: undefined;
@@ -52,6 +57,10 @@ export declare const ContentSwitcher: import("vue").DefineComponent<import("vue"
52
57
  type: () => ContentSwitcherSize;
53
58
  default: string;
54
59
  };
60
+ onchange: {
61
+ type: () => (value: string) => void;
62
+ default: undefined;
63
+ };
55
64
  class: {
56
65
  type: StringConstructor;
57
66
  default: undefined;
@@ -63,5 +72,6 @@ export declare const ContentSwitcher: import("vue").DefineComponent<import("vue"
63
72
  size: ContentSwitcherSize;
64
73
  value: string;
65
74
  activeId: string;
75
+ onchange: (value: string) => void;
66
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
67
77
  //# sourceMappingURL=ContentSwitcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentSwitcher.d.ts","sourceRoot":"","sources":["../src/ContentSwitcher.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,eAAO,MAAM,eAAe;;cAGA,MAAM,mBAAmB,EAAE;;;;;;;;;;;;cAIjC,MAAM,mBAAmB;;;;;;;;;;;cAJnB,MAAM,mBAAmB,EAAE;;;;;;;;;;;;cAIjC,MAAM,mBAAmB;;;;;;;;;;;;;;4EA6C7C,CAAC"}
1
+ {"version":3,"file":"ContentSwitcher.d.ts","sourceRoot":"","sources":["../src/ContentSwitcher.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAKF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,eAAO,MAAM,eAAe;;cAGA,MAAM,mBAAmB,EAAE;;;;;;;;;;;;cAIjC,MAAM,mBAAmB;;;;cAGF,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;cAP9C,MAAM,mBAAmB,EAAE;;;;;;;;;;;;cAIjC,MAAM,mBAAmB;;;;cAGF,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;sBAAf,MAAM,KAAK,IAAI;4EA8CxE,CAAC"}
@@ -13,6 +13,7 @@ export const ContentSwitcher = defineComponent({
13
13
  type: String,
14
14
  default: "md",
15
15
  },
16
+ onchange: { type: Function, default: undefined },
16
17
  class: { type: String, default: undefined },
17
18
  },
18
19
  emits: ["change"],
@@ -33,7 +34,10 @@ export const ContentSwitcher = defineComponent({
33
34
  class: classNames("st-contentSwitcher__option st-contentSwitcher__button", itemId === current && "st-contentSwitcher__option--selected"),
34
35
  disabled: item.disabled,
35
36
  "aria-pressed": itemId === current,
36
- onClick: () => emit("change", itemId),
37
+ onClick: () => {
38
+ emit("change", itemId);
39
+ props.onchange?.(itemId);
40
+ },
37
41
  }, item.label);
38
42
  }));
39
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ContentSwitcher.js","sourceRoot":"","sources":["../src/ContentSwitcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAmB7C,SAAS,MAAM,CACb,IAAqC,EACrC,KAAa,EACb,MAAc;IAEd,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE;YACJ,IAAI,EAAE,MAAmC;YACzC,OAAO,EAAE,IAAI;SACd;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAC1B,OAAO,GAAG,EAAE;YACV,MAAM,OAAO,GACX,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,QAAQ;gBACd,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAE7C,OAAO,CAAC,CACN,KAAK,EACL;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CACf,oBAAoB,EACpB,uBAAuB,KAAK,CAAC,IAAI,EAAE,EACnC,KAAK,CAAC,KAAK,CACZ;gBACD,IAAI,EAAE,OAAO;aACd,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC9C,OAAO,CAAC,CACN,QAAQ,EACR;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU,CACf,uDAAuD,EACvD,MAAM,KAAK,OAAO,IAAI,sCAAsC,CAC7D;oBACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,MAAM,KAAK,OAAO;oBAClC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;iBACtC,EACD,IAAI,CAAC,KAAe,CACrB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ContentSwitcher.js","sourceRoot":"","sources":["../src/ContentSwitcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAuB7C,SAAS,MAAM,CACb,IAAqC,EACrC,KAAa,EACb,MAAc;IAEd,OAAO,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,KAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE;YACJ,IAAI,EAAE,MAAmC;YACzC,OAAO,EAAE,IAAI;SACd;QACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAoD,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QAC1B,OAAO,GAAG,EAAE;YACV,MAAM,OAAO,GACX,KAAK,CAAC,KAAK;gBACX,KAAK,CAAC,QAAQ;gBACd,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAE7C,OAAO,CAAC,CACN,KAAK,EACL;gBACE,GAAG,KAAK;gBACR,KAAK,EAAE,UAAU,CACf,oBAAoB,EACpB,uBAAuB,KAAK,CAAC,IAAI,EAAE,EACnC,KAAK,CAAC,KAAK,CACZ;gBACD,IAAI,EAAE,OAAO;aACd,EACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC9C,OAAO,CAAC,CACN,QAAQ,EACR;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU,CACf,uDAAuD,EACvD,MAAM,KAAK,OAAO,IAAI,sCAAsC,CAC7D;oBACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,cAAc,EAAE,MAAM,KAAK,OAAO;oBAClC,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACvB,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;oBAC3B,CAAC;iBACF,EACD,IAAI,CAAC,KAAe,CACrB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -64,9 +64,9 @@ export declare const CopyButton: import("vue").DefineComponent<import("vue").Ext
64
64
  }>, {
65
65
  class: string;
66
66
  label: string;
67
+ text: string;
67
68
  size: CopyButtonSize;
68
69
  value: string;
69
- text: string;
70
70
  copiedLabel: string;
71
71
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
72
72
  //# sourceMappingURL=CopyButton.d.ts.map
@@ -1,24 +1,50 @@
1
- export type DataTableColumn = {
1
+ import { type VNodeChild } from "vue";
2
+ export interface DataTableColumn<R extends DataTableRow = DataTableRow> {
2
3
  key: string;
3
- label: unknown;
4
+ label: VNodeChild;
4
5
  sortable?: boolean;
5
6
  align?: "start" | "center" | "end";
6
7
  width?: string;
7
- render?: (row: DataTableRow, column: DataTableColumn) => unknown;
8
- };
9
- export type DataTableRow = {
8
+ cell?: (row: R, column: DataTableColumn<R>) => VNodeChild;
9
+ }
10
+ export interface DataTableRow {
10
11
  id: string;
11
12
  [key: string]: unknown;
12
- };
13
+ }
14
+ export type DataTableSelectMode = "none" | "single" | "multiple";
13
15
  export type DataTableSize = "sm" | "md" | "lg";
16
+ export interface DataTableSort {
17
+ key: string;
18
+ direction: "asc" | "desc";
19
+ }
14
20
  export type DataTableProps = {
15
21
  columns: DataTableColumn[];
16
22
  rows: DataTableRow[];
17
- caption?: unknown;
23
+ caption?: VNodeChild;
18
24
  size?: DataTableSize;
25
+ selectable?: DataTableSelectMode;
26
+ selectedIds?: string[];
27
+ onSelectionChange?: (selectedIds: string[]) => void;
28
+ sortable?: boolean;
29
+ sortBy?: DataTableSort | null;
30
+ onSortChange?: (sortBy: DataTableSort | null) => void;
19
31
  pageSize?: number;
20
32
  page?: number;
21
- totalItems?: number;
33
+ onPageChange?: (page: number) => void;
34
+ selectAllLabel?: string;
35
+ selectRowLabel?: string;
36
+ sortAscendingLabel?: string;
37
+ sortDescendingLabel?: string;
38
+ sortNoneLabel?: string;
39
+ previousLabel?: string;
40
+ nextLabel?: string;
41
+ rangeLabel?: (range: {
42
+ start: number;
43
+ end: number;
44
+ total: number;
45
+ }) => string;
46
+ emptyLabel?: string;
47
+ onRowClick?: (row: DataTableRow) => void;
22
48
  class?: string;
23
49
  };
24
50
  export declare const DataTable: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -31,23 +57,95 @@ export declare const DataTable: import("vue").DefineComponent<import("vue").Extr
31
57
  required: true;
32
58
  };
33
59
  caption: {
34
- type: () => unknown;
60
+ type: () => VNodeChild;
35
61
  default: undefined;
36
62
  };
37
63
  size: {
38
64
  type: () => DataTableSize;
39
65
  default: string;
40
66
  };
67
+ selectable: {
68
+ type: () => DataTableSelectMode;
69
+ default: string;
70
+ };
71
+ selectedIds: {
72
+ type: () => string[];
73
+ default: undefined;
74
+ };
75
+ onSelectionChange: {
76
+ type: () => (ids: string[]) => void;
77
+ default: undefined;
78
+ };
79
+ sortable: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ sortBy: {
84
+ type: () => DataTableSort | null;
85
+ default: undefined;
86
+ };
87
+ onSortChange: {
88
+ type: () => (sortBy: DataTableSort | null) => void;
89
+ default: undefined;
90
+ };
41
91
  pageSize: {
42
92
  type: NumberConstructor;
43
93
  default: undefined;
44
94
  };
45
95
  page: {
46
96
  type: NumberConstructor;
47
- default: number;
97
+ default: undefined;
48
98
  };
49
- totalItems: {
50
- type: NumberConstructor;
99
+ onPageChange: {
100
+ type: () => (page: number) => void;
101
+ default: undefined;
102
+ };
103
+ selectAllLabel: {
104
+ type: StringConstructor;
105
+ default: string;
106
+ };
107
+ selectRowLabel: {
108
+ type: StringConstructor;
109
+ default: string;
110
+ };
111
+ sortAscendingLabel: {
112
+ type: StringConstructor;
113
+ default: string;
114
+ };
115
+ sortDescendingLabel: {
116
+ type: StringConstructor;
117
+ default: string;
118
+ };
119
+ sortNoneLabel: {
120
+ type: StringConstructor;
121
+ default: string;
122
+ };
123
+ previousLabel: {
124
+ type: StringConstructor;
125
+ default: string;
126
+ };
127
+ nextLabel: {
128
+ type: StringConstructor;
129
+ default: string;
130
+ };
131
+ rangeLabel: {
132
+ type: () => (range: {
133
+ start: number;
134
+ end: number;
135
+ total: number;
136
+ }) => string;
137
+ default: ({ start, end, total }: {
138
+ start: number;
139
+ end: number;
140
+ total: number;
141
+ }) => string;
142
+ };
143
+ emptyLabel: {
144
+ type: StringConstructor;
145
+ default: string;
146
+ };
147
+ onRowClick: {
148
+ type: () => (row: DataTableRow) => void;
51
149
  default: undefined;
52
150
  };
53
151
  class: {
@@ -66,23 +164,95 @@ export declare const DataTable: import("vue").DefineComponent<import("vue").Extr
66
164
  required: true;
67
165
  };
68
166
  caption: {
69
- type: () => unknown;
167
+ type: () => VNodeChild;
70
168
  default: undefined;
71
169
  };
72
170
  size: {
73
171
  type: () => DataTableSize;
74
172
  default: string;
75
173
  };
174
+ selectable: {
175
+ type: () => DataTableSelectMode;
176
+ default: string;
177
+ };
178
+ selectedIds: {
179
+ type: () => string[];
180
+ default: undefined;
181
+ };
182
+ onSelectionChange: {
183
+ type: () => (ids: string[]) => void;
184
+ default: undefined;
185
+ };
186
+ sortable: {
187
+ type: BooleanConstructor;
188
+ default: boolean;
189
+ };
190
+ sortBy: {
191
+ type: () => DataTableSort | null;
192
+ default: undefined;
193
+ };
194
+ onSortChange: {
195
+ type: () => (sortBy: DataTableSort | null) => void;
196
+ default: undefined;
197
+ };
76
198
  pageSize: {
77
199
  type: NumberConstructor;
78
200
  default: undefined;
79
201
  };
80
202
  page: {
81
203
  type: NumberConstructor;
82
- default: number;
204
+ default: undefined;
83
205
  };
84
- totalItems: {
85
- type: NumberConstructor;
206
+ onPageChange: {
207
+ type: () => (page: number) => void;
208
+ default: undefined;
209
+ };
210
+ selectAllLabel: {
211
+ type: StringConstructor;
212
+ default: string;
213
+ };
214
+ selectRowLabel: {
215
+ type: StringConstructor;
216
+ default: string;
217
+ };
218
+ sortAscendingLabel: {
219
+ type: StringConstructor;
220
+ default: string;
221
+ };
222
+ sortDescendingLabel: {
223
+ type: StringConstructor;
224
+ default: string;
225
+ };
226
+ sortNoneLabel: {
227
+ type: StringConstructor;
228
+ default: string;
229
+ };
230
+ previousLabel: {
231
+ type: StringConstructor;
232
+ default: string;
233
+ };
234
+ nextLabel: {
235
+ type: StringConstructor;
236
+ default: string;
237
+ };
238
+ rangeLabel: {
239
+ type: () => (range: {
240
+ start: number;
241
+ end: number;
242
+ total: number;
243
+ }) => string;
244
+ default: ({ start, end, total }: {
245
+ start: number;
246
+ end: number;
247
+ total: number;
248
+ }) => string;
249
+ };
250
+ emptyLabel: {
251
+ type: StringConstructor;
252
+ default: string;
253
+ };
254
+ onRowClick: {
255
+ type: () => (row: DataTableRow) => void;
86
256
  default: undefined;
87
257
  };
88
258
  class: {
@@ -91,10 +261,30 @@ export declare const DataTable: import("vue").DefineComponent<import("vue").Extr
91
261
  };
92
262
  }>> & Readonly<{}>, {
93
263
  class: string;
94
- caption: undefined;
264
+ caption: VNodeChild;
95
265
  page: number;
96
266
  size: DataTableSize;
267
+ emptyLabel: string;
268
+ selectable: DataTableSelectMode;
269
+ selectedIds: string[];
270
+ onSelectionChange: (ids: string[]) => void;
271
+ sortable: boolean;
272
+ sortBy: DataTableSort | null;
273
+ onSortChange: (sortBy: DataTableSort | null) => void;
97
274
  pageSize: number;
98
- totalItems: number;
275
+ onPageChange: (page: number) => void;
276
+ selectAllLabel: string;
277
+ selectRowLabel: string;
278
+ sortAscendingLabel: string;
279
+ sortDescendingLabel: string;
280
+ sortNoneLabel: string;
281
+ previousLabel: string;
282
+ nextLabel: string;
283
+ rangeLabel: (range: {
284
+ start: number;
285
+ end: number;
286
+ total: number;
287
+ }) => string;
288
+ onRowClick: (row: DataTableRow) => void;
99
289
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
100
290
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../src/DataTable.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,SAAS;;cAGQ,MAAM,eAAe,EAAE;;;;cAC1B,MAAM,YAAY,EAAE;;;;cACK,MAAM,OAAO;;;;cACrC,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;cAHjB,MAAM,eAAe,EAAE;;;;cAC1B,MAAM,YAAY,EAAE;;;;cACK,MAAM,OAAO;;;;cACrC,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoE7C,CAAC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../src/DataTable.ts"],"names":[],"mappings":"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"}