@ktnpm_devops/react-component 0.14.0 → 0.15.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/dist/charts/GroupedBarChartCard/GroupedBarChartCard.d.ts +7 -0
- package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.types.d.ts +38 -0
- package/dist/charts/GroupedBarChartCard/GroupedBarChartCard.types.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.d.ts +69 -0
- package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.test.d.ts +2 -0
- package/dist/charts/GroupedBarChartCard/buildGroupedBarOption.test.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/defaultLabels.d.ts +5 -0
- package/dist/charts/GroupedBarChartCard/defaultLabels.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/index.d.ts +3 -0
- package/dist/charts/GroupedBarChartCard/index.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/pivotGroupedBars.d.ts +22 -0
- package/dist/charts/GroupedBarChartCard/pivotGroupedBars.d.ts.map +1 -0
- package/dist/charts/GroupedBarChartCard/pivotGroupedBars.test.d.ts +2 -0
- package/dist/charts/GroupedBarChartCard/pivotGroupedBars.test.d.ts.map +1 -0
- package/dist/constants.d.ts +28 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.cjs +29 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -27
- package/dist/index.js.map +1 -1
- package/dist/index10.cjs +2 -2
- package/dist/index10.js +2 -2
- package/dist/index100.cjs +8 -50
- package/dist/index100.cjs.map +1 -1
- package/dist/index100.js +9 -51
- package/dist/index100.js.map +1 -1
- package/dist/index101.cjs +2 -17
- package/dist/index101.cjs.map +1 -1
- package/dist/index101.js +3 -18
- package/dist/index101.js.map +1 -1
- package/dist/index102.cjs +2 -50
- package/dist/index102.cjs.map +1 -1
- package/dist/index102.js +3 -51
- package/dist/index102.js.map +1 -1
- package/dist/index103.cjs +64 -13
- package/dist/index103.cjs.map +1 -1
- package/dist/index103.js +65 -14
- package/dist/index103.js.map +1 -1
- package/dist/index104.cjs +19 -4
- package/dist/index104.cjs.map +1 -1
- package/dist/index104.js +19 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.cjs +16 -10
- package/dist/index105.cjs.map +1 -1
- package/dist/index105.js +17 -11
- package/dist/index105.js.map +1 -1
- package/dist/index106.cjs +134 -34
- package/dist/index106.cjs.map +1 -1
- package/dist/index106.js +133 -33
- package/dist/index106.js.map +1 -1
- package/dist/index107.cjs +38 -50
- package/dist/index107.cjs.map +1 -1
- package/dist/index107.js +38 -50
- package/dist/index107.js.map +1 -1
- package/dist/index108.cjs +25 -28
- package/dist/index108.cjs.map +1 -1
- package/dist/index108.js +25 -28
- package/dist/index108.js.map +1 -1
- package/dist/index109.cjs +34 -19
- package/dist/index109.cjs.map +1 -1
- package/dist/index109.js +35 -20
- package/dist/index109.js.map +1 -1
- package/dist/index11.cjs +2 -2
- package/dist/index11.js +2 -2
- package/dist/index110.cjs +52 -16
- package/dist/index110.cjs.map +1 -1
- package/dist/index110.js +52 -16
- package/dist/index110.js.map +1 -1
- package/dist/index111.cjs +15 -6
- package/dist/index111.cjs.map +1 -1
- package/dist/index111.js +16 -7
- package/dist/index111.js.map +1 -1
- package/dist/index112.cjs +2 -17
- package/dist/index112.cjs.map +1 -1
- package/dist/index112.js +3 -18
- package/dist/index112.js.map +1 -1
- package/dist/index113.cjs +18 -33
- package/dist/index113.cjs.map +1 -1
- package/dist/index113.js +19 -34
- package/dist/index113.js.map +1 -1
- package/dist/index114.cjs +40 -116
- package/dist/index114.cjs.map +1 -1
- package/dist/index114.js +39 -115
- package/dist/index114.js.map +1 -1
- package/dist/index115.cjs +39 -42
- package/dist/index115.cjs.map +1 -1
- package/dist/index115.js +38 -41
- package/dist/index115.js.map +1 -1
- package/dist/index116.cjs +92 -30
- package/dist/index116.cjs.map +1 -1
- package/dist/index116.js +91 -29
- package/dist/index116.js.map +1 -1
- package/dist/index117.cjs +40 -1164
- package/dist/index117.cjs.map +1 -1
- package/dist/index117.js +38 -1163
- package/dist/index117.js.map +1 -1
- package/dist/index118.cjs +102 -1562
- package/dist/index118.cjs.map +1 -1
- package/dist/index118.js +101 -1562
- package/dist/index118.js.map +1 -1
- package/dist/index119.cjs +45 -0
- package/dist/index119.cjs.map +1 -0
- package/dist/index119.js +45 -0
- package/dist/index119.js.map +1 -0
- package/dist/index12.cjs +2 -2
- package/dist/index12.js +2 -2
- package/dist/index120.cjs +87 -0
- package/dist/index120.cjs.map +1 -0
- package/dist/index120.js +87 -0
- package/dist/index120.js.map +1 -0
- package/dist/index121.cjs +27 -0
- package/dist/index121.cjs.map +1 -0
- package/dist/index121.js +27 -0
- package/dist/index121.js.map +1 -0
- package/dist/index122.cjs +1166 -0
- package/dist/index122.cjs.map +1 -0
- package/dist/index122.js +1167 -0
- package/dist/index122.js.map +1 -0
- package/dist/index123.cjs +1578 -0
- package/dist/index123.cjs.map +1 -0
- package/dist/index123.js +1579 -0
- package/dist/index123.js.map +1 -0
- package/dist/index13.cjs +2 -2
- package/dist/index13.js +2 -2
- package/dist/index14.cjs +2 -2
- package/dist/index14.js +2 -2
- package/dist/index15.cjs +2 -2
- package/dist/index15.js +2 -2
- package/dist/index16.cjs +3 -3
- package/dist/index16.js +3 -3
- package/dist/index17.cjs +2 -2
- package/dist/index17.js +2 -2
- package/dist/index18.cjs +2 -2
- package/dist/index18.js +2 -2
- package/dist/index19.cjs +2 -2
- package/dist/index19.js +2 -2
- package/dist/index20.cjs +2 -2
- package/dist/index20.js +2 -2
- package/dist/index21.cjs +2 -2
- package/dist/index21.js +2 -2
- package/dist/index22.cjs +3 -3
- package/dist/index22.js +3 -3
- package/dist/index23.cjs +3 -3
- package/dist/index23.js +3 -3
- package/dist/index24.cjs +3 -3
- package/dist/index24.js +3 -3
- package/dist/index25.cjs +2 -2
- package/dist/index25.js +2 -2
- package/dist/index26.cjs +2 -2
- package/dist/index26.js +2 -2
- package/dist/index27.cjs +2 -2
- package/dist/index27.js +2 -2
- package/dist/index28.cjs +2 -2
- package/dist/index28.js +2 -2
- package/dist/index29.cjs +3 -3
- package/dist/index29.js +3 -3
- package/dist/index30.cjs +8 -8
- package/dist/index30.js +8 -8
- package/dist/index31.cjs +84 -76
- package/dist/index31.cjs.map +1 -1
- package/dist/index31.js +86 -78
- package/dist/index31.js.map +1 -1
- package/dist/index32.cjs +75 -6
- package/dist/index32.cjs.map +1 -1
- package/dist/index32.js +76 -7
- package/dist/index32.js.map +1 -1
- package/dist/index33.cjs +7 -130
- package/dist/index33.cjs.map +1 -1
- package/dist/index33.js +9 -132
- package/dist/index33.js.map +1 -1
- package/dist/index34.cjs +127 -52
- package/dist/index34.cjs.map +1 -1
- package/dist/index34.js +129 -54
- package/dist/index34.js.map +1 -1
- package/dist/index35.cjs +49 -13
- package/dist/index35.cjs.map +1 -1
- package/dist/index35.js +51 -15
- package/dist/index35.js.map +1 -1
- package/dist/index36.cjs +20 -38
- package/dist/index36.cjs.map +1 -1
- package/dist/index36.js +21 -39
- package/dist/index36.js.map +1 -1
- package/dist/index37.cjs +36 -224
- package/dist/index37.cjs.map +1 -1
- package/dist/index37.js +37 -225
- package/dist/index37.js.map +1 -1
- package/dist/index38.cjs +220 -28
- package/dist/index38.cjs.map +1 -1
- package/dist/index38.js +222 -30
- package/dist/index38.js.map +1 -1
- package/dist/index39.cjs +30 -106
- package/dist/index39.cjs.map +1 -1
- package/dist/index39.js +31 -107
- package/dist/index39.js.map +1 -1
- package/dist/index40.cjs +100 -58
- package/dist/index40.cjs.map +1 -1
- package/dist/index40.js +101 -59
- package/dist/index40.js.map +1 -1
- package/dist/index41.cjs +66 -76
- package/dist/index41.cjs.map +1 -1
- package/dist/index41.js +67 -77
- package/dist/index41.js.map +1 -1
- package/dist/index42.cjs +76 -57
- package/dist/index42.cjs.map +1 -1
- package/dist/index42.js +78 -59
- package/dist/index42.js.map +1 -1
- package/dist/index43.cjs +56 -150
- package/dist/index43.cjs.map +1 -1
- package/dist/index43.js +58 -152
- package/dist/index43.js.map +1 -1
- package/dist/index44.cjs +128 -73
- package/dist/index44.cjs.map +1 -1
- package/dist/index44.js +123 -68
- package/dist/index44.js.map +1 -1
- package/dist/index45.cjs +94 -68
- package/dist/index45.cjs.map +1 -1
- package/dist/index45.js +96 -70
- package/dist/index45.js.map +1 -1
- package/dist/index46.cjs +71 -7
- package/dist/index46.cjs.map +1 -1
- package/dist/index46.js +72 -8
- package/dist/index46.js.map +1 -1
- package/dist/index47.cjs +8 -17
- package/dist/index47.cjs.map +1 -1
- package/dist/index47.js +9 -18
- package/dist/index47.js.map +1 -1
- package/dist/index48.cjs +15 -75
- package/dist/index48.cjs.map +1 -1
- package/dist/index48.js +16 -76
- package/dist/index48.js.map +1 -1
- package/dist/index49.cjs +68 -134
- package/dist/index49.cjs.map +1 -1
- package/dist/index49.js +70 -136
- package/dist/index49.js.map +1 -1
- package/dist/index50.cjs +137 -58
- package/dist/index50.cjs.map +1 -1
- package/dist/index50.js +138 -59
- package/dist/index50.js.map +1 -1
- package/dist/index51.cjs +61 -102
- package/dist/index51.cjs.map +1 -1
- package/dist/index51.js +62 -103
- package/dist/index51.js.map +1 -1
- package/dist/index52.cjs +102 -44
- package/dist/index52.cjs.map +1 -1
- package/dist/index52.js +103 -45
- package/dist/index52.js.map +1 -1
- package/dist/index53.cjs +47 -6
- package/dist/index53.cjs.map +1 -1
- package/dist/index53.js +48 -7
- package/dist/index53.js.map +1 -1
- package/dist/index54.cjs +6 -147
- package/dist/index54.cjs.map +1 -1
- package/dist/index54.js +7 -148
- package/dist/index54.js.map +1 -1
- package/dist/index55.cjs +146 -7
- package/dist/index55.cjs.map +1 -1
- package/dist/index55.js +148 -9
- package/dist/index55.js.map +1 -1
- package/dist/index56.cjs +6 -15
- package/dist/index56.cjs.map +1 -1
- package/dist/index56.js +6 -15
- package/dist/index56.js.map +1 -1
- package/dist/index57.cjs +14 -63
- package/dist/index57.cjs.map +1 -1
- package/dist/index57.js +16 -65
- package/dist/index57.js.map +1 -1
- package/dist/index58.cjs +67 -15
- package/dist/index58.cjs.map +1 -1
- package/dist/index58.js +66 -14
- package/dist/index58.js.map +1 -1
- package/dist/index59.cjs +15 -18
- package/dist/index59.cjs.map +1 -1
- package/dist/index59.js +15 -18
- package/dist/index59.js.map +1 -1
- package/dist/index60.cjs +7 -16
- package/dist/index60.cjs.map +1 -1
- package/dist/index60.js +8 -17
- package/dist/index60.js.map +1 -1
- package/dist/index61.cjs +5 -23
- package/dist/index61.cjs.map +1 -1
- package/dist/index61.js +6 -24
- package/dist/index61.js.map +1 -1
- package/dist/index62.cjs +17 -27
- package/dist/index62.cjs.map +1 -1
- package/dist/index62.js +16 -26
- package/dist/index62.js.map +1 -1
- package/dist/index63.cjs +1 -1
- package/dist/index63.js +1 -1
- package/dist/index64.cjs +1 -1
- package/dist/index64.js +1 -1
- package/dist/index65.cjs +141 -22
- package/dist/index65.cjs.map +1 -1
- package/dist/index65.js +139 -20
- package/dist/index65.js.map +1 -1
- package/dist/index66.cjs +17 -2
- package/dist/index66.cjs.map +1 -1
- package/dist/index66.js +17 -2
- package/dist/index66.js.map +1 -1
- package/dist/index67.cjs +46 -10
- package/dist/index67.cjs.map +1 -1
- package/dist/index67.js +46 -10
- package/dist/index67.js.map +1 -1
- package/dist/index68.cjs +53 -2
- package/dist/index68.cjs.map +1 -1
- package/dist/index68.js +54 -3
- package/dist/index68.js.map +1 -1
- package/dist/index69.cjs +33 -17
- package/dist/index69.cjs.map +1 -1
- package/dist/index69.js +32 -16
- package/dist/index69.js.map +1 -1
- package/dist/index70.cjs +1 -1
- package/dist/index70.js +1 -1
- package/dist/index71.cjs +19 -116
- package/dist/index71.cjs.map +1 -1
- package/dist/index71.js +17 -114
- package/dist/index71.js.map +1 -1
- package/dist/index72.cjs +34 -28
- package/dist/index72.cjs.map +1 -1
- package/dist/index72.js +34 -28
- package/dist/index72.js.map +1 -1
- package/dist/index73.cjs +30 -18
- package/dist/index73.cjs.map +1 -1
- package/dist/index73.js +30 -18
- package/dist/index73.js.map +1 -1
- package/dist/index74.cjs +13 -19
- package/dist/index74.cjs.map +1 -1
- package/dist/index74.js +14 -20
- package/dist/index74.js.map +1 -1
- package/dist/index75.cjs +11 -5
- package/dist/index75.cjs.map +1 -1
- package/dist/index75.js +11 -5
- package/dist/index75.js.map +1 -1
- package/dist/index76.cjs +17 -2
- package/dist/index76.cjs.map +1 -1
- package/dist/index76.js +18 -3
- package/dist/index76.js.map +1 -1
- package/dist/index77.cjs +4 -64
- package/dist/index77.cjs.map +1 -1
- package/dist/index77.js +5 -65
- package/dist/index77.js.map +1 -1
- package/dist/index78.cjs +37 -19
- package/dist/index78.cjs.map +1 -1
- package/dist/index78.js +37 -19
- package/dist/index78.js.map +1 -1
- package/dist/index79.cjs +28 -13
- package/dist/index79.cjs.map +1 -1
- package/dist/index79.js +28 -13
- package/dist/index79.js.map +1 -1
- package/dist/index80.cjs +16 -19
- package/dist/index80.cjs.map +1 -1
- package/dist/index80.js +17 -20
- package/dist/index80.js.map +1 -1
- package/dist/index81.cjs +20 -33
- package/dist/index81.cjs.map +1 -1
- package/dist/index81.js +20 -33
- package/dist/index81.js.map +1 -1
- package/dist/index82.cjs +63 -37
- package/dist/index82.cjs.map +1 -1
- package/dist/index82.js +63 -37
- package/dist/index82.js.map +1 -1
- package/dist/index83.cjs +6 -23
- package/dist/index83.cjs.map +1 -1
- package/dist/index83.js +6 -23
- package/dist/index83.js.map +1 -1
- package/dist/index84.cjs +40 -20
- package/dist/index84.cjs.map +1 -1
- package/dist/index84.js +39 -19
- package/dist/index84.js.map +1 -1
- package/dist/index85.cjs +35 -13
- package/dist/index85.cjs.map +1 -1
- package/dist/index85.js +35 -13
- package/dist/index85.js.map +1 -1
- package/dist/index86.cjs +43 -60
- package/dist/index86.cjs.map +1 -1
- package/dist/index86.js +42 -59
- package/dist/index86.js.map +1 -1
- package/dist/index87.cjs +24 -51
- package/dist/index87.cjs.map +1 -1
- package/dist/index87.js +23 -50
- package/dist/index87.js.map +1 -1
- package/dist/index88.cjs +20 -40
- package/dist/index88.cjs.map +1 -1
- package/dist/index88.js +19 -39
- package/dist/index88.js.map +1 -1
- package/dist/index89.cjs +14 -85
- package/dist/index89.cjs.map +1 -1
- package/dist/index89.js +13 -84
- package/dist/index89.js.map +1 -1
- package/dist/index90.cjs +60 -39
- package/dist/index90.cjs.map +1 -1
- package/dist/index90.js +59 -38
- package/dist/index90.js.map +1 -1
- package/dist/index91.cjs +24 -92
- package/dist/index91.cjs.map +1 -1
- package/dist/index91.js +23 -91
- package/dist/index91.js.map +1 -1
- package/dist/index92.cjs +13 -34
- package/dist/index92.cjs.map +1 -1
- package/dist/index92.js +13 -34
- package/dist/index92.js.map +1 -1
- package/dist/index93.cjs +49 -13
- package/dist/index93.cjs.map +1 -1
- package/dist/index93.js +50 -14
- package/dist/index93.js.map +1 -1
- package/dist/index94.cjs +24 -36
- package/dist/index94.cjs.map +1 -1
- package/dist/index94.js +24 -36
- package/dist/index94.js.map +1 -1
- package/dist/index96.cjs +12 -36
- package/dist/index96.cjs.map +1 -1
- package/dist/index96.js +12 -36
- package/dist/index96.js.map +1 -1
- package/dist/index97.cjs +22 -16
- package/dist/index97.cjs.map +1 -1
- package/dist/index97.js +22 -16
- package/dist/index97.js.map +1 -1
- package/dist/index98.cjs +22 -134
- package/dist/index98.cjs.map +1 -1
- package/dist/index98.js +21 -133
- package/dist/index98.js.map +1 -1
- package/dist/index99.cjs +14 -38
- package/dist/index99.cjs.map +1 -1
- package/dist/index99.js +15 -39
- package/dist/index99.js.map +1 -1
- package/dist/style.css +111 -0
- package/dist/types/chart.types.d.ts +14 -0
- package/dist/types/chart.types.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index35.cjs
CHANGED
|
@@ -2,23 +2,59 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const react = require("react");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const lucideReact = require("lucide-react");
|
|
6
|
+
const clsx = require("./index59.cjs");
|
|
7
|
+
const constants = require("./index65.cjs");
|
|
8
|
+
const Loading_module = require("./index114.cjs");
|
|
9
|
+
const Modal = require("./index37.cjs");
|
|
10
|
+
const noop = () => {
|
|
11
|
+
};
|
|
12
|
+
const LoadingBase = react.forwardRef(
|
|
13
|
+
({ open = true, onlyThrobber = false, title, labels = [], closable = false, onClose }, ref) => {
|
|
14
|
+
const [activeIndex, setActiveIndex] = react.useState(0);
|
|
15
|
+
react.useEffect(() => {
|
|
16
|
+
if (open) setActiveIndex(0);
|
|
17
|
+
}, [open]);
|
|
18
|
+
react.useImperativeHandle(
|
|
19
|
+
ref,
|
|
20
|
+
() => ({
|
|
21
|
+
activate: (labelOrIndex) => {
|
|
22
|
+
const index = typeof labelOrIndex === "number" ? labelOrIndex : labels.indexOf(labelOrIndex);
|
|
23
|
+
if (index >= 0) setActiveIndex(index);
|
|
24
|
+
},
|
|
25
|
+
complete: () => setActiveIndex(labels.length)
|
|
26
|
+
}),
|
|
27
|
+
[labels]
|
|
28
|
+
);
|
|
29
|
+
if (!open) return null;
|
|
30
|
+
if (onlyThrobber) {
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: Loading_module.default.throbber, role: "status", "aria-label": title, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: Loading_module.default.spinner, "aria-hidden": "true" }) });
|
|
32
|
+
}
|
|
11
33
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
-
|
|
34
|
+
Modal.Modal,
|
|
13
35
|
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
36
|
+
open,
|
|
37
|
+
onClose: closable ? onClose ?? noop : noop,
|
|
38
|
+
className: closable ? void 0 : Loading_module.default.nonClosable,
|
|
39
|
+
title: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: Loading_module.default.titleRow, children: [
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Loading_module.default.titleSpinner, "aria-hidden": "true" }),
|
|
41
|
+
title
|
|
42
|
+
] }),
|
|
43
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Loading_module.default.steps, children: labels.map((label, index) => {
|
|
44
|
+
const status = index < activeIndex ? "done" : index === activeIndex ? "active" : "pending";
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: clsx.clsx(Loading_module.default.step, Loading_module.default[status]), children: [
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: Loading_module.default.iconSlot, "aria-hidden": "true", children: [
|
|
47
|
+
status === "done" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { size: constants.ICON_SIZE.MD, className: Loading_module.default.checkIcon }),
|
|
48
|
+
status === "active" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Loading_module.default.stepSpinner })
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
|
|
51
|
+
] }, label);
|
|
52
|
+
}) })
|
|
18
53
|
}
|
|
19
54
|
);
|
|
20
55
|
}
|
|
21
56
|
);
|
|
22
|
-
|
|
23
|
-
|
|
57
|
+
LoadingBase.displayName = "Loading";
|
|
58
|
+
const Loading = react.memo(LoadingBase);
|
|
59
|
+
exports.Loading = Loading;
|
|
24
60
|
//# sourceMappingURL=index35.cjs.map
|
package/dist/index35.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index35.cjs","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index35.cjs","sources":["../src/composites/Loading/Loading.tsx"],"sourcesContent":["import { forwardRef, memo, useEffect, useImperativeHandle, useState } from 'react';\nimport { Check } from 'lucide-react';\nimport clsx from 'clsx';\nimport { Modal } from '../../primitives/Modal';\nimport { ICON_SIZE } from '../../constants';\nimport type { LoadingHandle, LoadingProps, LoadingStepStatus } from './Loading.types';\nimport styles from './Loading.module.css';\n\nconst noop = (): void => {};\n\nconst LoadingBase = forwardRef<LoadingHandle, LoadingProps>(\n ({ open = true, onlyThrobber = false, title, labels = [], closable = false, onClose }, ref) => {\n const [activeIndex, setActiveIndex] = useState(0);\n\n useEffect(() => {\n if (open) setActiveIndex(0);\n }, [open]);\n\n useImperativeHandle(\n ref,\n () => ({\n activate: (labelOrIndex) => {\n const index = typeof labelOrIndex === 'number' ? labelOrIndex : labels.indexOf(labelOrIndex);\n if (index >= 0) setActiveIndex(index);\n },\n complete: () => setActiveIndex(labels.length),\n }),\n [labels],\n );\n\n if (!open) return null;\n\n if (onlyThrobber) {\n return (\n <div className={styles.throbber} role=\"status\" aria-label={title}>\n <span className={styles.spinner} aria-hidden=\"true\" />\n </div>\n );\n }\n\n return (\n <Modal\n open={open}\n onClose={closable ? (onClose ?? noop) : noop}\n className={closable ? undefined : styles.nonClosable}\n title={\n <span className={styles.titleRow}>\n <span className={styles.titleSpinner} aria-hidden=\"true\" />\n {title}\n </span>\n }\n >\n <ul className={styles.steps}>\n {labels.map((label, index) => {\n const status: LoadingStepStatus =\n index < activeIndex ? 'done' : index === activeIndex ? 'active' : 'pending';\n return (\n <li key={label} className={clsx(styles.step, styles[status])}>\n <span className={styles.iconSlot} aria-hidden=\"true\">\n {status === 'done' && <Check size={ICON_SIZE.MD} className={styles.checkIcon} />}\n {status === 'active' && <span className={styles.stepSpinner} />}\n </span>\n <span>{label}</span>\n </li>\n );\n })}\n </ul>\n </Modal>\n );\n },\n);\n\nLoadingBase.displayName = 'Loading';\n\nexport const Loading = memo(LoadingBase);\n"],"names":["forwardRef","useState","useEffect","useImperativeHandle","styles","jsx","Modal","jsxs","clsx","Check","ICON_SIZE","memo"],"mappings":";;;;;;;;;AAQA,MAAM,OAAO,MAAY;AAAC;AAE1B,MAAM,cAAcA,MAAAA;AAAAA,EAClB,CAAC,EAAE,OAAO,MAAM,eAAe,OAAO,OAAO,SAAS,CAAA,GAAI,WAAW,OAAO,QAAA,GAAW,QAAQ;AAC7F,UAAM,CAAC,aAAa,cAAc,IAAIC,MAAAA,SAAS,CAAC;AAEhDC,UAAAA,UAAU,MAAM;AACd,UAAI,qBAAqB,CAAC;AAAA,IAC5B,GAAG,CAAC,IAAI,CAAC;AAETC,UAAAA;AAAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,UAAU,CAAC,iBAAiB;AAC1B,gBAAM,QAAQ,OAAO,iBAAiB,WAAW,eAAe,OAAO,QAAQ,YAAY;AAC3F,cAAI,SAAS,EAAG,gBAAe,KAAK;AAAA,QACtC;AAAA,QACA,UAAU,MAAM,eAAe,OAAO,MAAM;AAAA,MAAA;AAAA,MAE9C,CAAC,MAAM;AAAA,IAAA;AAGT,QAAI,CAAC,KAAM,QAAO;AAElB,QAAI,cAAc;AAChB,4CACG,OAAA,EAAI,WAAWC,eAAAA,QAAO,UAAU,MAAK,UAAS,cAAY,OACzD,UAAAC,2BAAAA,IAAC,UAAK,WAAWD,eAAAA,QAAO,SAAS,eAAY,QAAO,GACtD;AAAA,IAEJ;AAEA,WACEC,2BAAAA;AAAAA,MAACC,MAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA,SAAS,WAAY,WAAW,OAAQ;AAAA,QACxC,WAAW,WAAW,SAAYF,eAAAA,QAAO;AAAA,QACzC,OACEG,2BAAAA,KAAC,QAAA,EAAK,WAAWH,eAAAA,QAAO,UACtB,UAAA;AAAA,UAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAWD,eAAAA,QAAO,cAAc,eAAY,QAAO;AAAA,UACxD;AAAA,QAAA,GACH;AAAA,QAGF,UAAAC,2BAAAA,IAAC,QAAG,WAAWD,eAAAA,QAAO,OACnB,UAAA,OAAO,IAAI,CAAC,OAAO,UAAU;AAC5B,gBAAM,SACJ,QAAQ,cAAc,SAAS,UAAU,cAAc,WAAW;AACpE,iBACEG,gCAAC,QAAe,WAAWC,KAAAA,KAAKJ,uBAAO,MAAMA,eAAAA,QAAO,MAAM,CAAC,GACzD,UAAA;AAAA,YAAAG,gCAAC,QAAA,EAAK,WAAWH,eAAAA,QAAO,UAAU,eAAY,QAC3C,UAAA;AAAA,cAAA,WAAW,yCAAWK,YAAAA,OAAA,EAAM,MAAMC,UAAAA,UAAU,IAAI,WAAWN,eAAAA,QAAO,UAAA,CAAW;AAAA,cAC7E,WAAW,YAAYC,+BAAC,QAAA,EAAK,WAAWD,eAAAA,QAAO,YAAA,CAAa;AAAA,YAAA,GAC/D;AAAA,YACAC,2BAAAA,IAAC,UAAM,UAAA,MAAA,CAAM;AAAA,UAAA,EAAA,GALN,KAMT;AAAA,QAEJ,CAAC,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEA,YAAY,cAAc;AAEnB,MAAM,UAAUM,MAAAA,KAAK,WAAW;;"}
|
package/dist/index35.js
CHANGED
|
@@ -1,24 +1,60 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { memo, forwardRef, useState, useEffect, useImperativeHandle } from "react";
|
|
3
|
+
import { Check } from "lucide-react";
|
|
4
|
+
import { clsx } from "./index59.js";
|
|
5
|
+
import { ICON_SIZE } from "./index65.js";
|
|
6
|
+
import styles from "./index114.js";
|
|
7
|
+
import { Modal } from "./index37.js";
|
|
8
|
+
const noop = () => {
|
|
9
|
+
};
|
|
10
|
+
const LoadingBase = forwardRef(
|
|
11
|
+
({ open = true, onlyThrobber = false, title, labels = [], closable = false, onClose }, ref) => {
|
|
12
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (open) setActiveIndex(0);
|
|
15
|
+
}, [open]);
|
|
16
|
+
useImperativeHandle(
|
|
17
|
+
ref,
|
|
18
|
+
() => ({
|
|
19
|
+
activate: (labelOrIndex) => {
|
|
20
|
+
const index = typeof labelOrIndex === "number" ? labelOrIndex : labels.indexOf(labelOrIndex);
|
|
21
|
+
if (index >= 0) setActiveIndex(index);
|
|
22
|
+
},
|
|
23
|
+
complete: () => setActiveIndex(labels.length)
|
|
24
|
+
}),
|
|
25
|
+
[labels]
|
|
26
|
+
);
|
|
27
|
+
if (!open) return null;
|
|
28
|
+
if (onlyThrobber) {
|
|
29
|
+
return /* @__PURE__ */ jsx("div", { className: styles.throbber, role: "status", "aria-label": title, children: /* @__PURE__ */ jsx("span", { className: styles.spinner, "aria-hidden": "true" }) });
|
|
30
|
+
}
|
|
9
31
|
return /* @__PURE__ */ jsx(
|
|
10
|
-
|
|
32
|
+
Modal,
|
|
11
33
|
{
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
34
|
+
open,
|
|
35
|
+
onClose: closable ? onClose ?? noop : noop,
|
|
36
|
+
className: closable ? void 0 : styles.nonClosable,
|
|
37
|
+
title: /* @__PURE__ */ jsxs("span", { className: styles.titleRow, children: [
|
|
38
|
+
/* @__PURE__ */ jsx("span", { className: styles.titleSpinner, "aria-hidden": "true" }),
|
|
39
|
+
title
|
|
40
|
+
] }),
|
|
41
|
+
children: /* @__PURE__ */ jsx("ul", { className: styles.steps, children: labels.map((label, index) => {
|
|
42
|
+
const status = index < activeIndex ? "done" : index === activeIndex ? "active" : "pending";
|
|
43
|
+
return /* @__PURE__ */ jsxs("li", { className: clsx(styles.step, styles[status]), children: [
|
|
44
|
+
/* @__PURE__ */ jsxs("span", { className: styles.iconSlot, "aria-hidden": "true", children: [
|
|
45
|
+
status === "done" && /* @__PURE__ */ jsx(Check, { size: ICON_SIZE.MD, className: styles.checkIcon }),
|
|
46
|
+
status === "active" && /* @__PURE__ */ jsx("span", { className: styles.stepSpinner })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ jsx("span", { children: label })
|
|
49
|
+
] }, label);
|
|
50
|
+
}) })
|
|
16
51
|
}
|
|
17
52
|
);
|
|
18
53
|
}
|
|
19
54
|
);
|
|
20
|
-
|
|
55
|
+
LoadingBase.displayName = "Loading";
|
|
56
|
+
const Loading = memo(LoadingBase);
|
|
21
57
|
export {
|
|
22
|
-
|
|
58
|
+
Loading
|
|
23
59
|
};
|
|
24
60
|
//# sourceMappingURL=index35.js.map
|
package/dist/index35.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index35.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index35.js","sources":["../src/composites/Loading/Loading.tsx"],"sourcesContent":["import { forwardRef, memo, useEffect, useImperativeHandle, useState } from 'react';\nimport { Check } from 'lucide-react';\nimport clsx from 'clsx';\nimport { Modal } from '../../primitives/Modal';\nimport { ICON_SIZE } from '../../constants';\nimport type { LoadingHandle, LoadingProps, LoadingStepStatus } from './Loading.types';\nimport styles from './Loading.module.css';\n\nconst noop = (): void => {};\n\nconst LoadingBase = forwardRef<LoadingHandle, LoadingProps>(\n ({ open = true, onlyThrobber = false, title, labels = [], closable = false, onClose }, ref) => {\n const [activeIndex, setActiveIndex] = useState(0);\n\n useEffect(() => {\n if (open) setActiveIndex(0);\n }, [open]);\n\n useImperativeHandle(\n ref,\n () => ({\n activate: (labelOrIndex) => {\n const index = typeof labelOrIndex === 'number' ? labelOrIndex : labels.indexOf(labelOrIndex);\n if (index >= 0) setActiveIndex(index);\n },\n complete: () => setActiveIndex(labels.length),\n }),\n [labels],\n );\n\n if (!open) return null;\n\n if (onlyThrobber) {\n return (\n <div className={styles.throbber} role=\"status\" aria-label={title}>\n <span className={styles.spinner} aria-hidden=\"true\" />\n </div>\n );\n }\n\n return (\n <Modal\n open={open}\n onClose={closable ? (onClose ?? noop) : noop}\n className={closable ? undefined : styles.nonClosable}\n title={\n <span className={styles.titleRow}>\n <span className={styles.titleSpinner} aria-hidden=\"true\" />\n {title}\n </span>\n }\n >\n <ul className={styles.steps}>\n {labels.map((label, index) => {\n const status: LoadingStepStatus =\n index < activeIndex ? 'done' : index === activeIndex ? 'active' : 'pending';\n return (\n <li key={label} className={clsx(styles.step, styles[status])}>\n <span className={styles.iconSlot} aria-hidden=\"true\">\n {status === 'done' && <Check size={ICON_SIZE.MD} className={styles.checkIcon} />}\n {status === 'active' && <span className={styles.stepSpinner} />}\n </span>\n <span>{label}</span>\n </li>\n );\n })}\n </ul>\n </Modal>\n );\n },\n);\n\nLoadingBase.displayName = 'Loading';\n\nexport const Loading = memo(LoadingBase);\n"],"names":[],"mappings":";;;;;;;AAQA,MAAM,OAAO,MAAY;AAAC;AAE1B,MAAM,cAAc;AAAA,EAClB,CAAC,EAAE,OAAO,MAAM,eAAe,OAAO,OAAO,SAAS,CAAA,GAAI,WAAW,OAAO,QAAA,GAAW,QAAQ;AAC7F,UAAM,CAAC,aAAa,cAAc,IAAI,SAAS,CAAC;AAEhD,cAAU,MAAM;AACd,UAAI,qBAAqB,CAAC;AAAA,IAC5B,GAAG,CAAC,IAAI,CAAC;AAET;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,UAAU,CAAC,iBAAiB;AAC1B,gBAAM,QAAQ,OAAO,iBAAiB,WAAW,eAAe,OAAO,QAAQ,YAAY;AAC3F,cAAI,SAAS,EAAG,gBAAe,KAAK;AAAA,QACtC;AAAA,QACA,UAAU,MAAM,eAAe,OAAO,MAAM;AAAA,MAAA;AAAA,MAE9C,CAAC,MAAM;AAAA,IAAA;AAGT,QAAI,CAAC,KAAM,QAAO;AAElB,QAAI,cAAc;AAChB,iCACG,OAAA,EAAI,WAAW,OAAO,UAAU,MAAK,UAAS,cAAY,OACzD,UAAA,oBAAC,UAAK,WAAW,OAAO,SAAS,eAAY,QAAO,GACtD;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,SAAS,WAAY,WAAW,OAAQ;AAAA,QACxC,WAAW,WAAW,SAAY,OAAO;AAAA,QACzC,OACE,qBAAC,QAAA,EAAK,WAAW,OAAO,UACtB,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAK,WAAW,OAAO,cAAc,eAAY,QAAO;AAAA,UACxD;AAAA,QAAA,GACH;AAAA,QAGF,UAAA,oBAAC,QAAG,WAAW,OAAO,OACnB,UAAA,OAAO,IAAI,CAAC,OAAO,UAAU;AAC5B,gBAAM,SACJ,QAAQ,cAAc,SAAS,UAAU,cAAc,WAAW;AACpE,iBACE,qBAAC,QAAe,WAAW,KAAK,OAAO,MAAM,OAAO,MAAM,CAAC,GACzD,UAAA;AAAA,YAAA,qBAAC,QAAA,EAAK,WAAW,OAAO,UAAU,eAAY,QAC3C,UAAA;AAAA,cAAA,WAAW,8BAAW,OAAA,EAAM,MAAM,UAAU,IAAI,WAAW,OAAO,UAAA,CAAW;AAAA,cAC7E,WAAW,YAAY,oBAAC,QAAA,EAAK,WAAW,OAAO,YAAA,CAAa;AAAA,YAAA,GAC/D;AAAA,YACA,oBAAC,UAAM,UAAA,MAAA,CAAM;AAAA,UAAA,EAAA,GALN,KAMT;AAAA,QAEJ,CAAC,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEA,YAAY,cAAc;AAEnB,MAAM,UAAU,KAAK,WAAW;"}
|
package/dist/index36.cjs
CHANGED
|
@@ -1,42 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const
|
|
5
|
-
const clsx = require("./
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
title ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: Modal_module.default.title, children: title }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26
|
-
"button",
|
|
27
|
-
{
|
|
28
|
-
type: "button",
|
|
29
|
-
onClick: onClose,
|
|
30
|
-
className: Modal_module.default.closeBtn,
|
|
31
|
-
"aria-label": "Close modal",
|
|
32
|
-
children: closeLabel
|
|
33
|
-
}
|
|
34
|
-
)
|
|
35
|
-
] }),
|
|
36
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(Modal_module.default.body, bodyClassName), children }),
|
|
37
|
-
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Modal_module.default.footer, children: footer })
|
|
38
|
-
] }) });
|
|
39
|
-
return reactDom.createPortal(modalContent, portalTarget ?? document.body);
|
|
40
|
-
};
|
|
41
|
-
exports.Modal = Modal;
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const clsx = require("./index59.cjs");
|
|
6
|
+
const markdown = require("./index62.cjs");
|
|
7
|
+
const MarkdownContent_module = require("./index63.cjs");
|
|
8
|
+
const MarkdownContent = react.forwardRef(
|
|
9
|
+
({ markdown: markdown$1, className, ...props }, ref) => {
|
|
10
|
+
const html = react.useMemo(() => markdown.parseMarkdown(markdown$1), [markdown$1]);
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
ref,
|
|
15
|
+
className: clsx.clsx(MarkdownContent_module.default.root, className),
|
|
16
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
17
|
+
...props
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
MarkdownContent.displayName = "MarkdownContent";
|
|
23
|
+
exports.MarkdownContent = MarkdownContent;
|
|
42
24
|
//# sourceMappingURL=index36.cjs.map
|
package/dist/index36.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index36.cjs","sources":["../src/primitives/
|
|
1
|
+
{"version":3,"file":"index36.cjs","sources":["../src/primitives/MarkdownContent/MarkdownContent.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport clsx from 'clsx';\nimport { parseMarkdown } from '../../utils/markdown';\nimport type { MarkdownContentProps } from './MarkdownContent.types';\nimport styles from './MarkdownContent.module.css';\n\nexport const MarkdownContent = forwardRef<HTMLDivElement, MarkdownContentProps>(\n ({ markdown, className, ...props }, ref) => {\n const html = useMemo(() => parseMarkdown(markdown), [markdown]);\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, className)}\n dangerouslySetInnerHTML={{ __html: html }}\n {...props}\n />\n );\n },\n);\n\nMarkdownContent.displayName = 'MarkdownContent';\n"],"names":["forwardRef","markdown","useMemo","parseMarkdown","jsx","clsx","styles"],"mappings":";;;;;;;AAMO,MAAM,kBAAkBA,MAAAA;AAAAA,EAC7B,CAAC,EAAA,UAAEC,YAAU,WAAW,GAAG,MAAA,GAAS,QAAQ;AAC1C,UAAM,OAAOC,MAAAA,QAAQ,MAAMC,SAAAA,cAAcF,UAAQ,GAAG,CAACA,UAAQ,CAAC;AAE9D,WACEG,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWC,KAAAA,KAAKC,+BAAO,MAAM,SAAS;AAAA,QACtC,yBAAyB,EAAE,QAAQ,KAAA;AAAA,QAClC,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEA,gBAAgB,cAAc;;"}
|
package/dist/index36.js
CHANGED
|
@@ -1,42 +1,24 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import {
|
|
3
|
-
import { clsx } from "./
|
|
4
|
-
import {
|
|
5
|
-
import styles from "./
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
/* @__PURE__ */ jsxs("div", { className: styles.header, children: [
|
|
22
|
-
title ? /* @__PURE__ */ jsx("h2", { className: styles.title, children: title }) : /* @__PURE__ */ jsx("span", {}),
|
|
23
|
-
/* @__PURE__ */ jsx(
|
|
24
|
-
"button",
|
|
25
|
-
{
|
|
26
|
-
type: "button",
|
|
27
|
-
onClick: onClose,
|
|
28
|
-
className: styles.closeBtn,
|
|
29
|
-
"aria-label": "Close modal",
|
|
30
|
-
children: closeLabel
|
|
31
|
-
}
|
|
32
|
-
)
|
|
33
|
-
] }),
|
|
34
|
-
/* @__PURE__ */ jsx("div", { className: clsx(styles.body, bodyClassName), children }),
|
|
35
|
-
footer && /* @__PURE__ */ jsx("div", { className: styles.footer, children: footer })
|
|
36
|
-
] }) });
|
|
37
|
-
return createPortal(modalContent, portalTarget ?? document.body);
|
|
38
|
-
};
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useMemo } from "react";
|
|
3
|
+
import { clsx } from "./index59.js";
|
|
4
|
+
import { parseMarkdown } from "./index62.js";
|
|
5
|
+
import styles from "./index63.js";
|
|
6
|
+
const MarkdownContent = forwardRef(
|
|
7
|
+
({ markdown, className, ...props }, ref) => {
|
|
8
|
+
const html = useMemo(() => parseMarkdown(markdown), [markdown]);
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
className: clsx(styles.root, className),
|
|
14
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
15
|
+
...props
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
MarkdownContent.displayName = "MarkdownContent";
|
|
39
21
|
export {
|
|
40
|
-
|
|
22
|
+
MarkdownContent
|
|
41
23
|
};
|
|
42
24
|
//# sourceMappingURL=index36.js.map
|
package/dist/index36.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index36.js","sources":["../src/primitives/
|
|
1
|
+
{"version":3,"file":"index36.js","sources":["../src/primitives/MarkdownContent/MarkdownContent.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport clsx from 'clsx';\nimport { parseMarkdown } from '../../utils/markdown';\nimport type { MarkdownContentProps } from './MarkdownContent.types';\nimport styles from './MarkdownContent.module.css';\n\nexport const MarkdownContent = forwardRef<HTMLDivElement, MarkdownContentProps>(\n ({ markdown, className, ...props }, ref) => {\n const html = useMemo(() => parseMarkdown(markdown), [markdown]);\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, className)}\n dangerouslySetInnerHTML={{ __html: html }}\n {...props}\n />\n );\n },\n);\n\nMarkdownContent.displayName = 'MarkdownContent';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,kBAAkB;AAAA,EAC7B,CAAC,EAAE,UAAU,WAAW,GAAG,MAAA,GAAS,QAAQ;AAC1C,UAAM,OAAO,QAAQ,MAAM,cAAc,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAE9D,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW,KAAK,OAAO,MAAM,SAAS;AAAA,QACtC,yBAAyB,EAAE,QAAQ,KAAA;AAAA,QAClC,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEA,gBAAgB,cAAc;"}
|
package/dist/index37.cjs
CHANGED
|
@@ -1,230 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const
|
|
5
|
-
const clsx = require("./
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
isLoading = false,
|
|
20
|
-
error = null,
|
|
21
|
-
allowCustomValues = false,
|
|
22
|
-
customTriggerLabel,
|
|
23
|
-
selectionMode,
|
|
24
|
-
emptyMeansAll = false,
|
|
25
|
-
triggerSummary = "text"
|
|
4
|
+
const reactDom = require("react-dom");
|
|
5
|
+
const clsx = require("./index59.cjs");
|
|
6
|
+
const useEscapeKey = require("./index5.cjs");
|
|
7
|
+
const Modal_module = require("./index111.cjs");
|
|
8
|
+
const Modal = ({
|
|
9
|
+
open,
|
|
10
|
+
title,
|
|
11
|
+
onClose,
|
|
12
|
+
children,
|
|
13
|
+
footer,
|
|
14
|
+
portalTarget,
|
|
15
|
+
className,
|
|
16
|
+
bodyClassName,
|
|
17
|
+
style,
|
|
18
|
+
closeLabel = "×"
|
|
26
19
|
}) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}, [normalizedOptions, searchTerm]);
|
|
48
|
-
const allOptionValues = react.useMemo(() => normalizedOptions.map((o) => o.value), [normalizedOptions]);
|
|
49
|
-
const initialSelection = react.useMemo(() => {
|
|
50
|
-
if (Array.isArray(selected) && selected.length) return Array.from(new Set(selected));
|
|
51
|
-
return emptyMeansAll ? allOptionValues : [];
|
|
52
|
-
}, [selected, allOptionValues, emptyMeansAll]);
|
|
53
|
-
const [pendingSelection, setPendingSelection] = react.useState(initialSelection);
|
|
54
|
-
const closeAndReset = react.useCallback(() => {
|
|
55
|
-
setIsOpen(false);
|
|
56
|
-
setPendingSelection(initialSelection);
|
|
57
|
-
setSearchTerm("");
|
|
58
|
-
}, [initialSelection]);
|
|
59
|
-
useClickOutside.useClickOutside(containerRef, closeAndReset);
|
|
60
|
-
react.useEffect(() => {
|
|
61
|
-
if (isOpen) {
|
|
62
|
-
setPendingSelection(initialSelection);
|
|
63
|
-
setSearchTerm("");
|
|
64
|
-
}
|
|
65
|
-
}, [isOpen, initialSelection]);
|
|
66
|
-
react.useEffect(() => {
|
|
67
|
-
if (!isOpen) setPendingSelection(initialSelection);
|
|
68
|
-
}, [initialSelection, isOpen]);
|
|
69
|
-
const handleToggleOption = (value) => {
|
|
70
|
-
setPendingSelection((prev) => {
|
|
71
|
-
const unique = Array.from(new Set(prev));
|
|
72
|
-
return unique.includes(value) ? unique.filter((v) => v !== value) : [...unique, value];
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
const handleSelectAll = () => {
|
|
76
|
-
if (filteredOptions.length === 0) {
|
|
77
|
-
setPendingSelection([]);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
setPendingSelection(filteredOptions.map((o) => o.value));
|
|
81
|
-
};
|
|
82
|
-
const handleClearAll = () => setPendingSelection([]);
|
|
83
|
-
const handleApply = () => {
|
|
84
|
-
const unique = Array.from(new Set(pendingSelection));
|
|
85
|
-
const mode = unique.length === 0 || unique.length === normalizedOptions.length ? "all" : "custom";
|
|
86
|
-
onApply(unique, { selectionMode: mode });
|
|
87
|
-
setIsOpen(false);
|
|
88
|
-
};
|
|
89
|
-
const handleCancel = () => {
|
|
90
|
-
setPendingSelection(Array.from(new Set(Array.isArray(selected) ? selected : [])));
|
|
91
|
-
setIsOpen(false);
|
|
92
|
-
};
|
|
93
|
-
const pendingSet = react.useMemo(() => new Set(pendingSelection), [pendingSelection]);
|
|
94
|
-
const selectedSet = react.useMemo(() => new Set(Array.isArray(selected) ? selected : []), [selected]);
|
|
95
|
-
const hasChanges = !arraysMatch(Array.from(pendingSet), Array.from(selectedSet));
|
|
96
|
-
const totalOptions = normalizedOptions.length;
|
|
97
|
-
const selectedSize = selectedSet.size;
|
|
98
|
-
const pendingSize = pendingSet.size;
|
|
99
|
-
const isSelectedAll = selectedSize === 0 || selectedSize === totalOptions;
|
|
100
|
-
const isPendingAll = pendingSize === 0 || pendingSize === totalOptions;
|
|
101
|
-
const selectedCountValue = isSelectedAll ? totalOptions : selectedSize;
|
|
102
|
-
const pendingCountValue = isPendingAll ? totalOptions : pendingSize;
|
|
103
|
-
const isActiveFilter = selectionMode !== void 0 ? selectionMode === "custom" : !isSelectedAll;
|
|
104
|
-
const getSelectedLabel = () => {
|
|
105
|
-
if (isSelectedAll) return "All";
|
|
106
|
-
if (selectedSize === 1) {
|
|
107
|
-
const val = Array.from(selectedSet)[0];
|
|
108
|
-
const opt = normalizedOptions.find((o) => o.value === val);
|
|
109
|
-
return (opt == null ? void 0 : opt.label) || (opt == null ? void 0 : opt.value) || String(selectedCountValue);
|
|
110
|
-
}
|
|
111
|
-
return String(selectedCountValue);
|
|
112
|
-
};
|
|
113
|
-
const shouldDisableControls = isLoading || options.length === 0;
|
|
114
|
-
const normalizedSearch = searchTerm.trim();
|
|
115
|
-
const canCreateCustom = allowCustomValues && normalizedSearch.length > 0 && !normalizedOptions.some((o) => o.value.toLowerCase() === normalizedSearch.toLowerCase());
|
|
116
|
-
const handleCreateCustom = () => {
|
|
117
|
-
if (!normalizedSearch) return;
|
|
118
|
-
setPendingSelection((prev) => Array.from(/* @__PURE__ */ new Set([...prev, normalizedSearch])));
|
|
119
|
-
setSearchTerm("");
|
|
120
|
-
};
|
|
121
|
-
const handleClearFilter = (e) => {
|
|
122
|
-
e.preventDefault();
|
|
123
|
-
e.stopPropagation();
|
|
124
|
-
onApply([], { selectionMode: "all" });
|
|
125
|
-
};
|
|
126
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.root, ref: containerRef, children: [
|
|
127
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
-
"button",
|
|
129
|
-
{
|
|
130
|
-
type: "button",
|
|
131
|
-
className: clsx.clsx(MultiSelectDropdown_module.default.trigger, { [MultiSelectDropdown_module.default.active]: isOpen }),
|
|
132
|
-
onClick: () => setIsOpen((prev) => !prev),
|
|
133
|
-
"aria-expanded": isOpen,
|
|
134
|
-
"aria-haspopup": "listbox",
|
|
135
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.triggerContent, children: [
|
|
136
|
-
/* @__PURE__ */ jsxRuntime.jsx("svg", { className: MultiSelectDropdown_module.default.chevron, width: constants.ICON_SIZE.MD, height: constants.ICON_SIZE.MD, viewBox: constants.SVG_VIEWBOX, fill: "none", stroke: "currentColor", strokeWidth: constants.SVG_STROKE_WIDTH, strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "6 9 12 15 18 9" }) }),
|
|
137
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: MultiSelectDropdown_module.default.label, children: label }),
|
|
138
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.valueGroup, children: [
|
|
139
|
-
triggerSummary === "text" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: MultiSelectDropdown_module.default.value, children: customTriggerLabel || getSelectedLabel() }),
|
|
140
|
-
(triggerSummary === "count" ? selectedSize > 0 : isActiveFilter) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: MultiSelectDropdown_module.default.badge, children: selectedCountValue }),
|
|
141
|
-
isActiveFilter && /* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
-
"div",
|
|
143
|
-
{
|
|
144
|
-
role: "button",
|
|
145
|
-
tabIndex: 0,
|
|
146
|
-
className: MultiSelectDropdown_module.default.clear,
|
|
147
|
-
onClick: handleClearFilter,
|
|
148
|
-
onKeyDown: (e) => {
|
|
149
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
150
|
-
e.preventDefault();
|
|
151
|
-
handleClearFilter(e);
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
"aria-label": `Clear ${label} filter`,
|
|
155
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: constants.ICON_SIZE.SM, height: constants.ICON_SIZE.SM, viewBox: constants.SVG_VIEWBOX, fill: "none", stroke: "currentColor", strokeWidth: constants.SVG_STROKE_WIDTH, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
156
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
157
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
158
|
-
] })
|
|
159
|
-
}
|
|
160
|
-
)
|
|
161
|
-
] })
|
|
162
|
-
] })
|
|
163
|
-
}
|
|
164
|
-
),
|
|
165
|
-
isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.panel, role: "dialog", "aria-label": `${label} filter`, children: [
|
|
166
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.header, children: [
|
|
167
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
-
"input",
|
|
169
|
-
{
|
|
170
|
-
type: "search",
|
|
171
|
-
className: MultiSelectDropdown_module.default.search,
|
|
172
|
-
placeholder: `Search ${label.toLowerCase()}`,
|
|
173
|
-
value: searchTerm,
|
|
174
|
-
onChange: (e) => setSearchTerm(e.target.value),
|
|
175
|
-
disabled: shouldDisableControls
|
|
176
|
-
}
|
|
177
|
-
),
|
|
178
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.headerActions, children: [
|
|
179
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: MultiSelectDropdown_module.default.chip, onClick: handleSelectAll, disabled: shouldDisableControls, children: "Select all" }),
|
|
180
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: clsx.clsx(MultiSelectDropdown_module.default.chip, MultiSelectDropdown_module.default.chipGhost), onClick: handleClearAll, disabled: pendingSize === 0, children: "Deselect all" })
|
|
181
|
-
] })
|
|
182
|
-
] }),
|
|
183
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.list, role: "listbox", children: [
|
|
184
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx("p", { className: MultiSelectDropdown_module.default.status, children: "Loading options..." }),
|
|
185
|
-
!isLoading && error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx.clsx(MultiSelectDropdown_module.default.status, MultiSelectDropdown_module.default.statusError), children: error }),
|
|
186
|
-
!isLoading && !error && filteredOptions.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: MultiSelectDropdown_module.default.status, children: "No matches" }),
|
|
187
|
-
!isLoading && !error && filteredOptions.map((opt) => {
|
|
188
|
-
const checked = pendingSet.has(opt.value);
|
|
189
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: MultiSelectDropdown_module.default.option, children: [
|
|
190
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
191
|
-
"input",
|
|
192
|
-
{
|
|
193
|
-
type: "checkbox",
|
|
194
|
-
checked,
|
|
195
|
-
onChange: () => handleToggleOption(opt.value),
|
|
196
|
-
"aria-checked": checked
|
|
197
|
-
}
|
|
198
|
-
),
|
|
199
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: MultiSelectDropdown_module.default.optionLabel, children: [
|
|
200
|
-
opt.label ?? opt.value,
|
|
201
|
-
opt.count !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: MultiSelectDropdown_module.default.optionCount, children: opt.count })
|
|
202
|
-
] })
|
|
203
|
-
] }, opt.value);
|
|
204
|
-
}),
|
|
205
|
-
!isLoading && !error && canCreateCustom && /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: MultiSelectDropdown_module.default.create, onClick: handleCreateCustom, children: [
|
|
206
|
-
'Use "',
|
|
207
|
-
normalizedSearch,
|
|
208
|
-
'"'
|
|
209
|
-
] })
|
|
210
|
-
] }),
|
|
211
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.footer, children: [
|
|
212
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: MultiSelectDropdown_module.default.selection, children: [
|
|
213
|
-
isPendingAll ? "All selected" : `${pendingCountValue} selected`,
|
|
214
|
-
hasChanges && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: MultiSelectDropdown_module.default.selectionDelta, children: [
|
|
215
|
-
"(",
|
|
216
|
-
pendingCountValue - selectedCountValue >= 0 ? "+" : "",
|
|
217
|
-
pendingCountValue - selectedCountValue,
|
|
218
|
-
")"
|
|
219
|
-
] })
|
|
220
|
-
] }),
|
|
221
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiSelectDropdown_module.default.footerActions, children: [
|
|
222
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: clsx.clsx(MultiSelectDropdown_module.default.chip, MultiSelectDropdown_module.default.chipGhost), onClick: handleCancel, children: "Cancel" }),
|
|
223
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: MultiSelectDropdown_module.default.chip, onClick: handleApply, disabled: !hasChanges, children: "Apply" })
|
|
224
|
-
] })
|
|
225
|
-
] })
|
|
226
|
-
] })
|
|
227
|
-
] });
|
|
20
|
+
useEscapeKey.useEscapeKey(onClose, open);
|
|
21
|
+
if (!open) return null;
|
|
22
|
+
const modalContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: Modal_module.default.overlay, role: "dialog", "aria-modal": "true", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx.clsx(Modal_module.default.root, className), style, children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Modal_module.default.header, children: [
|
|
24
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: Modal_module.default.title, children: title }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26
|
+
"button",
|
|
27
|
+
{
|
|
28
|
+
type: "button",
|
|
29
|
+
onClick: onClose,
|
|
30
|
+
className: Modal_module.default.closeBtn,
|
|
31
|
+
"aria-label": "Close modal",
|
|
32
|
+
children: closeLabel
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx(Modal_module.default.body, bodyClassName), children }),
|
|
37
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Modal_module.default.footer, children: footer })
|
|
38
|
+
] }) });
|
|
39
|
+
return reactDom.createPortal(modalContent, portalTarget ?? document.body);
|
|
228
40
|
};
|
|
229
|
-
exports.
|
|
41
|
+
exports.Modal = Modal;
|
|
230
42
|
//# sourceMappingURL=index37.cjs.map
|