@wipco/sdui 0.6.0 → 0.8.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/DatePicker-BndreCPl.d.ts +35 -0
- package/dist/{chunk-FGRR3ROJ.js → chunk-27APKNEI.js} +8 -5
- package/dist/{chunk-SEBPBUZR.js → chunk-5RWAK5QO.js} +4 -2
- package/dist/{chunk-ZQR3ULVH.js → chunk-6ALDY64N.js} +5 -3
- package/dist/{chunk-ZUCI34QY.js → chunk-6FADQ2SU.js} +63 -21
- package/dist/{chunk-KBHI3IUR.js → chunk-6ZUWN2QX.js} +4 -2
- package/dist/{chunk-RH7ESUE6.js → chunk-7MRAY6UD.js} +4 -2
- package/dist/{chunk-DGPRX4MU.js → chunk-7Y6UFAYZ.js} +4 -2
- package/dist/{chunk-7Y4J7EOK.js → chunk-BMZKZGJF.js} +3 -2
- package/dist/{chunk-WNYWTFGW.js → chunk-CEFOZOOM.js} +4 -2
- package/dist/{chunk-56KKWLNI.js → chunk-H7V35NC2.js} +5 -3
- package/dist/{chunk-MSAV4J4I.js → chunk-I5GNJDHQ.js} +5 -3
- package/dist/{chunk-ZNITJ4KK.js → chunk-IKLBICOJ.js} +4 -2
- package/dist/{chunk-LZJTKVMO.js → chunk-KL554MEM.js} +4 -2
- package/dist/{chunk-4SU2KYPU.js → chunk-KPDUJFVD.js} +4 -2
- package/dist/{chunk-USKRM22W.js → chunk-O4U7Y3XL.js} +3 -2
- package/dist/{chunk-MOIU7MUA.js → chunk-OM63D4UH.js} +5 -3
- package/dist/{chunk-Q6SBH63R.js → chunk-QTNIUMSM.js} +4 -2
- package/dist/{chunk-WVRCIVAD.js → chunk-RQ2FWV24.js} +4 -2
- package/dist/{chunk-QBIVW7E6.js → chunk-SAN4IX6N.js} +77 -2
- package/dist/{chunk-AROOQ5W6.js → chunk-VCX2XEF6.js} +4 -2
- package/dist/{chunk-OOHHW4K4.js → chunk-VPVCVSFH.js} +4 -2
- package/dist/{chunk-KADFN76X.js → chunk-WUTCZCQH.js} +1 -1
- package/dist/{chunk-APCXOCAO.js → chunk-YMWU4F7E.js} +4 -2
- package/dist/{chunk-QZQDHSMD.js → chunk-Z3WGIFJP.js} +3 -2
- package/dist/{chunk-PJRXPMI3.js → chunk-ZH5MLOZS.js} +3 -2
- package/dist/index.d.ts +1045 -965
- package/dist/index.js +82 -47
- package/dist/{layout-BnYUuWC2.d.ts → layout-B1QrIBm6.d.ts} +59 -1
- package/dist/meta.d.ts +42 -1
- package/dist/meta.js +215 -57
- package/dist/rich.d.ts +2 -1
- package/dist/rich.js +4 -3
- package/dist/widgets/AutocompleteField.d.ts +6 -40
- package/dist/widgets/AutocompleteField.js +4 -3
- package/dist/widgets/ColumnBoard.d.ts +6 -14
- package/dist/widgets/ColumnBoard.js +3 -2
- package/dist/widgets/DiffView.d.ts +6 -11
- package/dist/widgets/DiffView.js +3 -2
- package/dist/widgets/Disclosure.d.ts +6 -9
- package/dist/widgets/Disclosure.js +3 -2
- package/dist/widgets/EventCalendar.d.ts +6 -1
- package/dist/widgets/EventCalendar.js +3 -2
- package/dist/widgets/ImageLightbox.d.ts +6 -10
- package/dist/widgets/ImageLightbox.js +3 -2
- package/dist/widgets/InlineEdit.d.ts +6 -10
- package/dist/widgets/InlineEdit.js +3 -2
- package/dist/widgets/JsonField.d.ts +6 -1
- package/dist/widgets/JsonField.js +3 -2
- package/dist/widgets/LiveClock.d.ts +6 -1
- package/dist/widgets/LiveClock.js +2 -1
- package/dist/widgets/OrgChart.d.ts +7 -3
- package/dist/widgets/OrgChart.js +3 -2
- package/dist/widgets/PeriodFilter.d.ts +6 -1
- package/dist/widgets/PeriodFilter.js +3 -2
- package/dist/widgets/PrintSheet.d.ts +6 -12
- package/dist/widgets/PrintSheet.js +3 -2
- package/dist/widgets/SearchableMultiPicker.d.ts +6 -11
- package/dist/widgets/SearchableMultiPicker.js +4 -3
- package/dist/widgets/SecureScreen.d.ts +6 -14
- package/dist/widgets/SecureScreen.js +3 -2
- package/dist/widgets/StackedMeter.d.ts +7 -3
- package/dist/widgets/StackedMeter.js +2 -1
- package/dist/widgets/Strip.d.ts +6 -10
- package/dist/widgets/Strip.js +2 -2
- package/dist/widgets/SummaryTable.d.ts +6 -9
- package/dist/widgets/SummaryTable.js +2 -1
- package/dist/widgets/TagMultiSelect.d.ts +6 -1
- package/dist/widgets/TagMultiSelect.js +3 -2
- package/dist/widgets/Timeline.d.ts +6 -10
- package/dist/widgets/Timeline.js +4 -3
- package/dist/widgets/TreePicker.d.ts +6 -1
- package/dist/widgets/TreePicker.js +4 -3
- package/dist/widgets/TreeView.d.ts +6 -1
- package/dist/widgets/TreeView.js +3 -2
- package/dist/widgets/index.d.ts +61 -61
- package/dist/widgets/index.js +44 -44
- package/package.json +1 -1
- package/dist/DatePicker-CTDcFR7V.d.ts +0 -48
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { S as SduiBoxProps } from './layout-B1QrIBm6.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
interface DatePickerProps {
|
|
5
|
+
/** 선택된 날짜 (YYYY-MM-DD). 주어지면 controlled로 동작. */
|
|
6
|
+
value?: string;
|
|
7
|
+
onChange?: (value: string) => void;
|
|
8
|
+
/** 선택 가능 최소 날짜 (YYYY-MM-DD, 포함). */
|
|
9
|
+
min?: string;
|
|
10
|
+
/** 선택 가능 최대 날짜 (YYYY-MM-DD, 포함). */
|
|
11
|
+
max?: string;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
invalid?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
size?: 'sm' | 'md' | 'lg';
|
|
16
|
+
}
|
|
17
|
+
interface DateRangeValue {
|
|
18
|
+
from?: string;
|
|
19
|
+
to?: string;
|
|
20
|
+
}
|
|
21
|
+
interface DateRangePickerProps {
|
|
22
|
+
/** 선택된 기간 (YYYY-MM-DD). 주어지면 controlled로 동작. */
|
|
23
|
+
value?: DateRangeValue;
|
|
24
|
+
onChange?: (value: DateRangeValue) => void;
|
|
25
|
+
min?: string;
|
|
26
|
+
max?: string;
|
|
27
|
+
invalid?: boolean;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다. 까닭은 {@link ./boxed.tsx}에 있다. */
|
|
31
|
+
declare const DatePicker: React__default.FC<DatePickerProps & SduiBoxProps>;
|
|
32
|
+
/** 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다. 까닭은 {@link ./boxed.tsx}에 있다. */
|
|
33
|
+
declare const DateRangePicker: React__default.FC<DateRangePickerProps & SduiBoxProps>;
|
|
34
|
+
|
|
35
|
+
export { type DatePickerProps as D, type DateRangePickerProps as a, DatePicker as b, DateRangePicker as c, type DateRangeValue as d };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Icon } from './chunk-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Icon } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
3
|
+
import { createContext, useState, useRef, useMemo, useCallback, useEffect, useLayoutEffect, useContext } from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
5
6
|
// src/env.ts
|
|
6
7
|
var DEV = (() => {
|
|
@@ -297,7 +298,7 @@ function triggerClassName(size, invalid) {
|
|
|
297
298
|
if (invalid) classes.push("wp-input--invalid");
|
|
298
299
|
return classes.join(" ");
|
|
299
300
|
}
|
|
300
|
-
function
|
|
301
|
+
function DatePickerImpl({
|
|
301
302
|
value,
|
|
302
303
|
onChange,
|
|
303
304
|
min,
|
|
@@ -366,7 +367,7 @@ function DatePicker({
|
|
|
366
367
|
) }) }) : null
|
|
367
368
|
] });
|
|
368
369
|
}
|
|
369
|
-
function
|
|
370
|
+
function DateRangePickerImpl({
|
|
370
371
|
value,
|
|
371
372
|
onChange,
|
|
372
373
|
min,
|
|
@@ -493,5 +494,7 @@ var DP_CSS = `
|
|
|
493
494
|
.wp-dp__day--range-start .wp-dp__day-btn,.wp-dp__day--range-end .wp-dp__day-btn{background:var(--wp-action-primary-bg);color:var(--wp-action-primary-fg);font-weight:500}
|
|
494
495
|
.wp-dp__day--range-start.wp-dp__day--today .wp-dp__day-btn,.wp-dp__day--range-end.wp-dp__day--today .wp-dp__day-btn{box-shadow:none}
|
|
495
496
|
`;
|
|
497
|
+
var DatePicker = boxed(DatePickerImpl, "DatePicker");
|
|
498
|
+
var DateRangePicker = boxed(DateRangePickerImpl, "DateRangePicker");
|
|
496
499
|
|
|
497
500
|
export { DEV, DatePicker, DateRangePicker, HoistedStyle, SduiAdapterContext, assetResolverOf, defaultAdapter, hostFetchOf, isSafeNavigationTarget, resolveAdapter, useSduiAdapter, useSduiAssetResolver, useSduiSandbox };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Input, IconButton, EmptyState, Icon, Badge } from './chunk-
|
|
1
|
+
import { Input, IconButton, EmptyState, Icon, Badge } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import React, { useState, useMemo } from 'react';
|
|
3
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -56,7 +57,7 @@ function toggled(prev, id) {
|
|
|
56
57
|
else next.add(id);
|
|
57
58
|
return next;
|
|
58
59
|
}
|
|
59
|
-
function
|
|
60
|
+
function TreeViewImpl({
|
|
60
61
|
nodes,
|
|
61
62
|
selectedId,
|
|
62
63
|
onSelect,
|
|
@@ -256,5 +257,6 @@ function TreeView({
|
|
|
256
257
|
}
|
|
257
258
|
);
|
|
258
259
|
}
|
|
260
|
+
var TreeView = boxed(TreeViewImpl, "TreeView");
|
|
259
261
|
|
|
260
262
|
export { TreeView };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { TreeView } from './chunk-
|
|
2
|
-
import { Field, Dialog, Icon, Button, Input } from './chunk-
|
|
1
|
+
import { TreeView } from './chunk-5RWAK5QO.js';
|
|
2
|
+
import { Field, Dialog, Icon, Button, Input } from './chunk-6FADQ2SU.js';
|
|
3
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
3
4
|
import { useState, useEffect } from 'react';
|
|
4
5
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
5
6
|
|
|
@@ -20,7 +21,7 @@ function findNode(nodes, id) {
|
|
|
20
21
|
}
|
|
21
22
|
return void 0;
|
|
22
23
|
}
|
|
23
|
-
function
|
|
24
|
+
function TreePickerImpl({
|
|
24
25
|
nodes,
|
|
25
26
|
value,
|
|
26
27
|
valueLabel,
|
|
@@ -189,5 +190,6 @@ function TreePicker({
|
|
|
189
190
|
) : null
|
|
190
191
|
] });
|
|
191
192
|
}
|
|
193
|
+
var TreePicker = boxed(TreePickerImpl, "TreePicker");
|
|
192
194
|
|
|
193
195
|
export { TreePicker };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
import { mergeStyle, containerLayoutStyle, joinClass } from './chunk-SAN4IX6N.js';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
4
|
|
|
4
|
-
// src/components.tsx
|
|
5
|
-
|
|
6
5
|
// src/icons.ts
|
|
7
6
|
var ICON_NODES = {
|
|
8
7
|
"activity": [
|
|
@@ -688,8 +687,14 @@ var ICON_NODES = {
|
|
|
688
687
|
{ t: "line", x1: "8", x2: "14", y1: "11", y2: "11" }
|
|
689
688
|
]
|
|
690
689
|
};
|
|
691
|
-
|
|
692
|
-
|
|
690
|
+
|
|
691
|
+
// src/warn-once.ts
|
|
692
|
+
var warned = /* @__PURE__ */ new Set();
|
|
693
|
+
function warnOnce(key, message, level = "error") {
|
|
694
|
+
if (warned.has(key)) return;
|
|
695
|
+
warned.add(key);
|
|
696
|
+
if (level === "warn") console.warn(message);
|
|
697
|
+
else console.error(message);
|
|
693
698
|
}
|
|
694
699
|
function Icon({ name, size = 18, strokeWidth = 1.5, className = "", style, title, ...rest }) {
|
|
695
700
|
const nodes = Object.hasOwn(ICON_NODES, name) ? ICON_NODES[name] : void 0;
|
|
@@ -725,8 +730,10 @@ function Button({
|
|
|
725
730
|
block = false,
|
|
726
731
|
disabled = false,
|
|
727
732
|
as = "button",
|
|
733
|
+
justify,
|
|
728
734
|
children,
|
|
729
735
|
className = "",
|
|
736
|
+
style,
|
|
730
737
|
...rest
|
|
731
738
|
}) {
|
|
732
739
|
const Tag2 = as;
|
|
@@ -740,6 +747,7 @@ function Button({
|
|
|
740
747
|
Tag2,
|
|
741
748
|
{
|
|
742
749
|
className: classes.join(" "),
|
|
750
|
+
style: mergeStyle(containerLayoutStyle({ justify }), style),
|
|
743
751
|
disabled: Tag2 === "button" ? disabled || loading : void 0,
|
|
744
752
|
"aria-disabled": disabled || void 0,
|
|
745
753
|
...rest,
|
|
@@ -804,22 +812,56 @@ function Textarea({ invalid = false, rows = 3, className = "", ...rest }) {
|
|
|
804
812
|
return /* @__PURE__ */ jsx(
|
|
805
813
|
"textarea",
|
|
806
814
|
{
|
|
807
|
-
className:
|
|
815
|
+
className: joinClass("wp-textarea", invalid && "wp-textarea--invalid", className),
|
|
808
816
|
rows,
|
|
809
817
|
"aria-invalid": invalid || void 0,
|
|
810
818
|
...rest
|
|
811
819
|
}
|
|
812
820
|
);
|
|
813
821
|
}
|
|
814
|
-
function
|
|
822
|
+
function pickOptionText(option, key) {
|
|
823
|
+
const raw = option[key];
|
|
824
|
+
if (raw === null || raw === void 0) return void 0;
|
|
825
|
+
return String(raw);
|
|
826
|
+
}
|
|
827
|
+
function Select({
|
|
828
|
+
options,
|
|
829
|
+
valueKey = "value",
|
|
830
|
+
labelKey = "label",
|
|
831
|
+
size = "md",
|
|
832
|
+
invalid = false,
|
|
833
|
+
placeholder,
|
|
834
|
+
className = "",
|
|
835
|
+
...rest
|
|
836
|
+
}) {
|
|
815
837
|
const classes = ["wp-select"];
|
|
816
838
|
if (size !== "md") classes.push(`wp-select--${size}`);
|
|
817
839
|
if (invalid) classes.push("wp-select--invalid");
|
|
818
840
|
if (className) classes.push(className);
|
|
841
|
+
const list = Array.isArray(options) ? options : [];
|
|
819
842
|
return /* @__PURE__ */ jsxs("div", { className: "wp-selectwrap", children: [
|
|
820
843
|
/* @__PURE__ */ jsxs("select", { className: classes.join(" "), "aria-invalid": invalid || void 0, ...rest, children: [
|
|
821
844
|
placeholder ? /* @__PURE__ */ jsx("option", { value: "", children: placeholder }) : null,
|
|
822
|
-
|
|
845
|
+
list.map((option, index) => {
|
|
846
|
+
const value = pickOptionText(option, valueKey);
|
|
847
|
+
const label = pickOptionText(option, labelKey) || value || "";
|
|
848
|
+
if (label === "") {
|
|
849
|
+
warnOnce(
|
|
850
|
+
`select:blank-option:${valueKey}/${labelKey}`,
|
|
851
|
+
`[sdui] <Select> \uC635\uC158\uC774 \uAC12\xB7\uB77C\uBCA8 \uB458 \uB2E4 \uBE44\uC5C8\uC2B5\uB2C8\uB2E4 (valueKey="${valueKey}", labelKey="${labelKey}") \u2014 \uB3C4\uBA54\uC778 \uAC1D\uCCB4\uB97C \uADF8\uB300\uB85C \uB118\uACBC\uB2E4\uBA74 \uB450 \uD504\uB86D\uC73C\uB85C \uC77D\uC744 \uD0A4\uB97C \uC9C0\uC815\uD558\uC138\uC694`,
|
|
852
|
+
"warn"
|
|
853
|
+
);
|
|
854
|
+
}
|
|
855
|
+
return /* @__PURE__ */ jsx(
|
|
856
|
+
"option",
|
|
857
|
+
{
|
|
858
|
+
value,
|
|
859
|
+
disabled: Boolean(option.disabled),
|
|
860
|
+
children: label
|
|
861
|
+
},
|
|
862
|
+
`${value ?? ""}-${index}`
|
|
863
|
+
);
|
|
864
|
+
})
|
|
823
865
|
] }),
|
|
824
866
|
/* @__PURE__ */ jsx("span", { className: "wp-selectwrap__caret", children: /* @__PURE__ */ jsx(Icon, { name: "chevron-down", size: 15 }) })
|
|
825
867
|
] });
|
|
@@ -829,7 +871,7 @@ function Checkbox({ label, description, indeterminate = false, disabled = false,
|
|
|
829
871
|
React.useEffect(() => {
|
|
830
872
|
if (ref.current) ref.current.indeterminate = indeterminate;
|
|
831
873
|
}, [indeterminate]);
|
|
832
|
-
return /* @__PURE__ */ jsxs("label", { className:
|
|
874
|
+
return /* @__PURE__ */ jsxs("label", { className: joinClass("wp-check", disabled && "wp-check--disabled", className), children: [
|
|
833
875
|
/* @__PURE__ */ jsx("input", { ref, type: "checkbox", disabled, ...rest }),
|
|
834
876
|
/* @__PURE__ */ jsx("span", { className: "wp-check__box", children: /* @__PURE__ */ jsx(Icon, { name: indeterminate ? "minus" : "check", size: 12, strokeWidth: 2.5 }) }),
|
|
835
877
|
label || description ? /* @__PURE__ */ jsxs("span", { className: "wp-check__text", children: [
|
|
@@ -839,14 +881,14 @@ function Checkbox({ label, description, indeterminate = false, disabled = false,
|
|
|
839
881
|
] });
|
|
840
882
|
}
|
|
841
883
|
function Switch({ label, size = "md", disabled = false, className = "", ...rest }) {
|
|
842
|
-
return /* @__PURE__ */ jsxs("label", { className:
|
|
884
|
+
return /* @__PURE__ */ jsxs("label", { className: joinClass("wp-switch", size === "sm" && "wp-switch--sm", className), children: [
|
|
843
885
|
/* @__PURE__ */ jsx("input", { type: "checkbox", role: "switch", disabled, ...rest }),
|
|
844
886
|
/* @__PURE__ */ jsx("span", { className: "wp-switch__track" }),
|
|
845
887
|
label ? /* @__PURE__ */ jsx("span", { children: label }) : null
|
|
846
888
|
] });
|
|
847
889
|
}
|
|
848
890
|
function Field({ label, hint, error, required = false, htmlFor, layout = "stacked", children, className = "", ...rest }) {
|
|
849
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
891
|
+
return /* @__PURE__ */ jsxs("div", { className: joinClass("wp-field", layout === "horizontal" && "wp-field--horizontal", className), ...rest, children: [
|
|
850
892
|
label ? /* @__PURE__ */ jsxs("label", { className: "wp-field__label", htmlFor, children: [
|
|
851
893
|
label,
|
|
852
894
|
required ? /* @__PURE__ */ jsx("span", { className: "wp-field__req", "aria-hidden": "true", children: "*" }) : null
|
|
@@ -895,14 +937,14 @@ function Badge({ tone = "neutral", dot = false, size = "md", children, className
|
|
|
895
937
|
return /* @__PURE__ */ jsx(
|
|
896
938
|
"span",
|
|
897
939
|
{
|
|
898
|
-
className:
|
|
940
|
+
className: joinClass("wp-badge", `wp-badge--${tone}`, dot && "wp-badge--dot", size === "lg" && "wp-badge--lg", className),
|
|
899
941
|
...rest,
|
|
900
942
|
children
|
|
901
943
|
}
|
|
902
944
|
);
|
|
903
945
|
}
|
|
904
946
|
function Tag({ color, filled = false, onRemove, children, className = "", ...rest }) {
|
|
905
|
-
return /* @__PURE__ */ jsxs("span", { className:
|
|
947
|
+
return /* @__PURE__ */ jsxs("span", { className: joinClass("wp-tag", filled && "wp-tag--filled", className), ...rest, children: [
|
|
906
948
|
color ? /* @__PURE__ */ jsx("span", { className: "wp-tag__dot", style: { background: color } }) : null,
|
|
907
949
|
children,
|
|
908
950
|
onRemove ? /* @__PURE__ */ jsx("span", { className: "wp-tag__x", role: "button", "aria-label": "\uC81C\uAC70", onClick: onRemove, children: /* @__PURE__ */ jsx(Icon, { name: "x", size: 10, strokeWidth: 2 }) }) : null
|
|
@@ -919,7 +961,7 @@ function Alert({ tone = "info", title, children, actions, onClose, bar = false,
|
|
|
919
961
|
return /* @__PURE__ */ jsxs(
|
|
920
962
|
"div",
|
|
921
963
|
{
|
|
922
|
-
className:
|
|
964
|
+
className: joinClass("wp-alert", `wp-alert--${tone}`, bar && "wp-alert--bar", className),
|
|
923
965
|
role: tone === "danger" ? "alert" : "status",
|
|
924
966
|
...rest,
|
|
925
967
|
children: [
|
|
@@ -935,7 +977,7 @@ function Alert({ tone = "info", title, children, actions, onClose, bar = false,
|
|
|
935
977
|
);
|
|
936
978
|
}
|
|
937
979
|
function Toast({ tone = "info", title, children, action, onClose, className = "", ...rest }) {
|
|
938
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
980
|
+
return /* @__PURE__ */ jsxs("div", { className: joinClass("wp-toast", `wp-toast--${tone}`, className), role: "status", ...rest, children: [
|
|
939
981
|
/* @__PURE__ */ jsx("span", { className: "wp-toast__icon", children: /* @__PURE__ */ jsx(Icon, { name: TONE_ICONS[tone] ?? "info", size: 16 }) }),
|
|
940
982
|
/* @__PURE__ */ jsxs("div", { className: "wp-toast__body", children: [
|
|
941
983
|
title ? /* @__PURE__ */ jsx("span", { className: "wp-toast__title", children: title }) : null,
|
|
@@ -949,7 +991,7 @@ function Tabs({ items = [], value, onChange, size = "md", onChrome = false, clas
|
|
|
949
991
|
return /* @__PURE__ */ jsx(
|
|
950
992
|
"div",
|
|
951
993
|
{
|
|
952
|
-
className:
|
|
994
|
+
className: joinClass("wp-tabs", size === "lg" && "wp-tabs--lg", onChrome && "wp-tabs--onchrome", className),
|
|
953
995
|
role: "tablist",
|
|
954
996
|
...rest,
|
|
955
997
|
children: items.map((item) => /* @__PURE__ */ jsxs(
|
|
@@ -1034,7 +1076,7 @@ function Table({
|
|
|
1034
1076
|
}
|
|
1035
1077
|
function StatCard({ label, value, unit, delta, trend = "flat", icon, footer, size = "md", className = "", ...rest }) {
|
|
1036
1078
|
const arrow = trend === "up" ? "arrow-up-right" : trend === "down" ? "arrow-down" : "minus";
|
|
1037
|
-
return /* @__PURE__ */ jsx("div", { className:
|
|
1079
|
+
return /* @__PURE__ */ jsx("div", { className: joinClass("wp-card", className), ...rest, children: /* @__PURE__ */ jsx("div", { className: "wp-card__body", children: /* @__PURE__ */ jsxs("div", { className: size === "sm" ? "wp-stat wp-stat--sm" : "wp-stat", children: [
|
|
1038
1080
|
/* @__PURE__ */ jsxs("div", { className: "wp-stat__label", children: [
|
|
1039
1081
|
icon ? /* @__PURE__ */ jsx(Icon, { name: icon, size: 14 }) : null,
|
|
1040
1082
|
label
|
|
@@ -1051,7 +1093,7 @@ function StatCard({ label, value, unit, delta, trend = "flat", icon, footer, siz
|
|
|
1051
1093
|
] }) }) });
|
|
1052
1094
|
}
|
|
1053
1095
|
function EmptyState({ icon = "square-dashed", title, children, actions, tight = false, className = "", ...rest }) {
|
|
1054
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
1096
|
+
return /* @__PURE__ */ jsxs("div", { className: joinClass("wp-empty", tight && "wp-empty--tight", className), ...rest, children: [
|
|
1055
1097
|
/* @__PURE__ */ jsx("span", { className: "wp-empty__mark", children: /* @__PURE__ */ jsx(Icon, { name: icon, size: 20 }) }),
|
|
1056
1098
|
title ? /* @__PURE__ */ jsx("div", { className: "wp-empty__title", children: title }) : null,
|
|
1057
1099
|
children ? /* @__PURE__ */ jsx("div", { className: "wp-empty__text", children }) : null,
|
|
@@ -1062,7 +1104,7 @@ function Spinner({ size = "md", inverse = false, label, className = "", ...rest
|
|
|
1062
1104
|
const el = /* @__PURE__ */ jsx(
|
|
1063
1105
|
"span",
|
|
1064
1106
|
{
|
|
1065
|
-
className:
|
|
1107
|
+
className: joinClass("wp-spinner", size !== "md" && `wp-spinner--${size}`, inverse && "wp-spinner--inverse", className),
|
|
1066
1108
|
role: "status",
|
|
1067
1109
|
"aria-label": label || "\uB85C\uB529 \uC911",
|
|
1068
1110
|
...rest
|
|
@@ -1106,7 +1148,7 @@ function ProgressBar({
|
|
|
1106
1148
|
if (!showValue && !label) {
|
|
1107
1149
|
return /* @__PURE__ */ jsx("div", { className, ...rest, children: bar });
|
|
1108
1150
|
}
|
|
1109
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
1151
|
+
return /* @__PURE__ */ jsxs("div", { className: joinClass("wp-col", className), style: { gap: 5 }, ...rest, children: [
|
|
1110
1152
|
label ? /* @__PURE__ */ jsxs("div", { className: "wp-row wp-row--between", children: [
|
|
1111
1153
|
/* @__PURE__ */ jsx("span", { className: "wp-caption", children: label }),
|
|
1112
1154
|
showValue ? /* @__PURE__ */ jsxs("span", { className: "wp-caption wp-num", children: [
|
|
@@ -1139,7 +1181,7 @@ function pageItems(page, total) {
|
|
|
1139
1181
|
function Pagination({ page = 1, pageCount = 1, total, pageSize, onChange, className = "", ...rest }) {
|
|
1140
1182
|
const from = total != null && pageSize ? (page - 1) * pageSize + 1 : null;
|
|
1141
1183
|
const to = total != null && pageSize ? Math.min(total, page * pageSize) : null;
|
|
1142
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
1184
|
+
return /* @__PURE__ */ jsxs("div", { className: joinClass("wp-pager", className), ...rest, children: [
|
|
1143
1185
|
from != null ? /* @__PURE__ */ jsxs("span", { className: "wp-num", children: [
|
|
1144
1186
|
from,
|
|
1145
1187
|
"\u2013",
|
|
@@ -1287,4 +1329,4 @@ function Tooltip({ label, shortcut, placement = "top", wrap = false, children, c
|
|
|
1287
1329
|
);
|
|
1288
1330
|
}
|
|
1289
1331
|
|
|
1290
|
-
export { Alert, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip };
|
|
1332
|
+
export { Alert, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, warnOnce };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
1
|
+
import { Button } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useEffect } from 'react';
|
|
3
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -18,7 +19,7 @@ var PRINT_CSS = `
|
|
|
18
19
|
function PrintStyles() {
|
|
19
20
|
return /* @__PURE__ */ jsx("style", { href: "erp-print", precedence: "medium", children: PRINT_CSS });
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
+
function PrintSheetImpl({ title, children, autoPrint = false }) {
|
|
22
23
|
useEffect(() => {
|
|
23
24
|
if (!autoPrint || !window.opener) return;
|
|
24
25
|
const timer = window.setTimeout(() => window.print(), 500);
|
|
@@ -36,5 +37,6 @@ function PrintSheet({ title, children, autoPrint = false }) {
|
|
|
36
37
|
] })
|
|
37
38
|
] });
|
|
38
39
|
}
|
|
40
|
+
var PrintSheet = boxed(PrintSheetImpl, "PrintSheet");
|
|
39
41
|
|
|
40
42
|
export { PrintSheet };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { IconButton } from './chunk-
|
|
1
|
+
import { IconButton } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
3
4
|
import { createPortal } from 'react-dom';
|
|
4
5
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -11,7 +12,7 @@ var INITIAL_VIEW = { scale: 1, x: 0, y: 0 };
|
|
|
11
12
|
function clamp(value, min, max) {
|
|
12
13
|
return Math.min(max, Math.max(min, value));
|
|
13
14
|
}
|
|
14
|
-
function
|
|
15
|
+
function ImageLightboxImpl({ src, alt, thumbClassName, thumbStyle, children }) {
|
|
15
16
|
const [open, setOpen] = useState(false);
|
|
16
17
|
const [view, setView] = useState(INITIAL_VIEW);
|
|
17
18
|
const [dragging, setDragging] = useState(false);
|
|
@@ -305,5 +306,6 @@ function ImageLightbox({ src, alt, thumbClassName, thumbStyle, children }) {
|
|
|
305
306
|
overlay
|
|
306
307
|
] });
|
|
307
308
|
}
|
|
309
|
+
var ImageLightbox = boxed(ImageLightboxImpl, "ImageLightbox");
|
|
308
310
|
|
|
309
311
|
export { ImageLightbox };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SegmentedControl, Select, Input } from './chunk-
|
|
1
|
+
import { SegmentedControl, Select, Input } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useMemo } from 'react';
|
|
3
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -126,7 +127,7 @@ var MONTH_OPTIONS = Array.from({ length: 12 }, (_, i) => ({
|
|
|
126
127
|
value: String(i + 1),
|
|
127
128
|
label: `${i + 1}\uC6D4`
|
|
128
129
|
}));
|
|
129
|
-
function
|
|
130
|
+
function PeriodFilterImpl({ value, onChange, years, modes }) {
|
|
130
131
|
const [inner, setInner] = useState(() => normalizePeriod(value));
|
|
131
132
|
const modeItems = useMemo(() => normalizeModes(modes), [modes]);
|
|
132
133
|
const requested = normalizePeriod(value !== void 0 ? value : inner);
|
|
@@ -247,5 +248,6 @@ function PeriodFilter({ value, onChange, years, modes }) {
|
|
|
247
248
|
}
|
|
248
249
|
);
|
|
249
250
|
}
|
|
251
|
+
var PeriodFilter = boxed(PeriodFilterImpl, "PeriodFilter");
|
|
250
252
|
|
|
251
253
|
export { PeriodFilter };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
1
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
3
|
|
|
3
|
-
// src/widgets/StackedMeter.tsx
|
|
4
4
|
var resolveColor = (color, index) => {
|
|
5
5
|
if (!color) return `var(--wp-series-${index % 8 + 1})`;
|
|
6
6
|
if (/^[1-8]$/.test(color)) return `var(--wp-series-${color})`;
|
|
@@ -15,7 +15,7 @@ var dotStyle = (color) => ({
|
|
|
15
15
|
background: color,
|
|
16
16
|
flexShrink: 0
|
|
17
17
|
});
|
|
18
|
-
function
|
|
18
|
+
function StackedMeterImpl({
|
|
19
19
|
segments,
|
|
20
20
|
showLegend = true,
|
|
21
21
|
height = 10
|
|
@@ -111,5 +111,6 @@ function StackedMeter({
|
|
|
111
111
|
)
|
|
112
112
|
] });
|
|
113
113
|
}
|
|
114
|
+
var StackedMeter = boxed(StackedMeterImpl, "StackedMeter");
|
|
114
115
|
|
|
115
116
|
export { StackedMeter };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Icon } from './chunk-
|
|
1
|
+
import { Icon } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useId, useCallback } from 'react';
|
|
3
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -15,7 +16,7 @@ var DISCLOSURE_CSS = `
|
|
|
15
16
|
function DisclosureStyles() {
|
|
16
17
|
return /* @__PURE__ */ jsx("style", { href: "erp-disclosure", precedence: "medium", children: DISCLOSURE_CSS });
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
+
function DisclosureImpl({
|
|
19
20
|
summary,
|
|
20
21
|
children,
|
|
21
22
|
defaultOpen = false,
|
|
@@ -57,5 +58,6 @@ function Disclosure({
|
|
|
57
58
|
hasContent ? /* @__PURE__ */ jsx("div", { id: contentId, className: "erp-disclosure__content", hidden: !isOpen, children }) : null
|
|
58
59
|
] });
|
|
59
60
|
}
|
|
61
|
+
var Disclosure = boxed(DisclosureImpl, "Disclosure");
|
|
60
62
|
|
|
61
63
|
export { Disclosure };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { includesLooseSearch } from './chunk-
|
|
2
|
-
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-
|
|
1
|
+
import { includesLooseSearch } from './chunk-WUTCZCQH.js';
|
|
2
|
+
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-6FADQ2SU.js';
|
|
3
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
3
4
|
import React, { useMemo, useState, useEffect } from 'react';
|
|
4
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
6
|
|
|
6
|
-
function
|
|
7
|
+
function SearchableMultiPickerImpl({
|
|
7
8
|
title,
|
|
8
9
|
options,
|
|
9
10
|
values,
|
|
@@ -182,5 +183,6 @@ function SearchableMultiPicker({
|
|
|
182
183
|
) : null
|
|
183
184
|
] });
|
|
184
185
|
}
|
|
186
|
+
var SearchableMultiPicker = boxed(SearchableMultiPickerImpl, "SearchableMultiPicker");
|
|
185
187
|
|
|
186
188
|
export { SearchableMultiPicker };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Disclosure } from './chunk-
|
|
2
|
-
import { Icon } from './chunk-
|
|
1
|
+
import { Disclosure } from './chunk-CEFOZOOM.js';
|
|
2
|
+
import { Icon } from './chunk-6FADQ2SU.js';
|
|
3
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
3
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
5
|
|
|
5
6
|
var TYPE_META = {
|
|
@@ -38,7 +39,7 @@ function formatPayload(payload) {
|
|
|
38
39
|
return String(payload);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
+
function TimelineImpl({ items, maxHeight }) {
|
|
42
43
|
if (items.length === 0) {
|
|
43
44
|
return /* @__PURE__ */ jsx("p", { className: "wp-caption", style: { margin: 0, padding: "var(--wp-space-2) 0" }, children: "\uD45C\uC2DC\uD560 \uC774\uB825\uC774 \uC5C6\uC2B5\uB2C8\uB2E4." });
|
|
44
45
|
}
|
|
@@ -73,5 +74,6 @@ function Timeline({ items, maxHeight }) {
|
|
|
73
74
|
}
|
|
74
75
|
);
|
|
75
76
|
}
|
|
77
|
+
var Timeline = boxed(TimelineImpl, "Timeline");
|
|
76
78
|
|
|
77
79
|
export { Timeline };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { IconButton, Badge } from './chunk-
|
|
1
|
+
import { IconButton, Badge } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useRef, useState, useMemo, useCallback, useEffect } from 'react';
|
|
3
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -101,7 +102,7 @@ var nodeCardStyle = (selected) => ({
|
|
|
101
102
|
cursor: "pointer",
|
|
102
103
|
transition: "box-shadow var(--wp-duration-fast), border-color var(--wp-duration-fast)"
|
|
103
104
|
});
|
|
104
|
-
function
|
|
105
|
+
function OrgChartImpl({
|
|
105
106
|
root,
|
|
106
107
|
onNodeClick,
|
|
107
108
|
selectedId,
|
|
@@ -429,5 +430,6 @@ function OrgChart({
|
|
|
429
430
|
}
|
|
430
431
|
);
|
|
431
432
|
}
|
|
433
|
+
var OrgChart = boxed(OrgChartImpl, "OrgChart");
|
|
432
434
|
|
|
433
435
|
export { OrgChart };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SegmentedControl, IconButton, Button, Tag, EmptyState, Icon, Badge } from './chunk-
|
|
1
|
+
import { SegmentedControl, IconButton, Button, Tag, EmptyState, Icon, Badge } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useMemo } from 'react';
|
|
3
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -192,7 +193,7 @@ function normalizeViews(views) {
|
|
|
192
193
|
return items.length > 0 ? items : VIEW_ITEMS;
|
|
193
194
|
}
|
|
194
195
|
var cellBorder = "1px solid var(--wp-border-subtle)";
|
|
195
|
-
var
|
|
196
|
+
var EventCalendarImpl = ({
|
|
196
197
|
events,
|
|
197
198
|
view,
|
|
198
199
|
onViewChange,
|
|
@@ -763,5 +764,6 @@ var EventCalendar = ({
|
|
|
763
764
|
}
|
|
764
765
|
);
|
|
765
766
|
};
|
|
767
|
+
var EventCalendar = boxed(EventCalendarImpl, "EventCalendar");
|
|
766
768
|
|
|
767
769
|
export { EventCalendar };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Badge, Tag } from './chunk-
|
|
1
|
+
import { Badge, Tag } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useMemo } from 'react';
|
|
3
4
|
import { jsx } from 'react/jsx-runtime';
|
|
4
5
|
|
|
5
|
-
function
|
|
6
|
+
function TagMultiSelectImpl({
|
|
6
7
|
options,
|
|
7
8
|
values,
|
|
8
9
|
onChange,
|
|
@@ -55,5 +56,6 @@ function TagMultiSelect({
|
|
|
55
56
|
);
|
|
56
57
|
}) });
|
|
57
58
|
}
|
|
59
|
+
var TagMultiSelect = boxed(TagMultiSelectImpl, "TagMultiSelect");
|
|
58
60
|
|
|
59
61
|
export { TagMultiSelect };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
1
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
3
|
|
|
3
|
-
// src/widgets/SummaryTable.tsx
|
|
4
4
|
var SUMMARY_TABLE_CSS = `
|
|
5
5
|
.erp-sumtable tfoot td{height:var(--wp-row-h);padding:0 12px;background:var(--wp-surface-sunken);border-top:var(--wp-border-w) solid var(--wp-border-strong);color:var(--wp-text-strong);font-weight:var(--wp-weight-semibold);vertical-align:middle}
|
|
6
6
|
.erp-sumtable.wp-table--dense tfoot td{height:var(--wp-row-h-dense)}
|
|
@@ -17,7 +17,7 @@ function cellClass(column) {
|
|
|
17
17
|
if (column.strong) classes.push("wp-table__strong");
|
|
18
18
|
return classes.length > 0 ? classes.join(" ") : void 0;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function SummaryTableImpl({ columns, rows, footer, dense = false }) {
|
|
21
21
|
const tableClass = dense ? "wp-table wp-table--dense erp-sumtable" : "wp-table erp-sumtable";
|
|
22
22
|
return /* @__PURE__ */ jsxs("div", { className: "erp-sumtable__scroll", children: [
|
|
23
23
|
/* @__PURE__ */ jsx(SummaryTableStyles, {}),
|
|
@@ -35,5 +35,6 @@ function SummaryTable({ columns, rows, footer, dense = false }) {
|
|
|
35
35
|
] })
|
|
36
36
|
] });
|
|
37
37
|
}
|
|
38
|
+
var SummaryTable = boxed(SummaryTableImpl, "SummaryTable");
|
|
38
39
|
|
|
39
40
|
export { SummaryTable };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { includesLooseSearch } from './chunk-
|
|
2
|
-
import { Icon, Button, Input, Spinner } from './chunk-
|
|
1
|
+
import { includesLooseSearch } from './chunk-WUTCZCQH.js';
|
|
2
|
+
import { Icon, Button, Input, Spinner } from './chunk-6FADQ2SU.js';
|
|
3
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
3
4
|
import { useId, useRef, useState, useEffect, useMemo } from 'react';
|
|
4
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
6
|
|
|
@@ -31,7 +32,7 @@ var ellipsisStyle = {
|
|
|
31
32
|
var statusRowStyle = {
|
|
32
33
|
padding: "var(--wp-space-2) var(--wp-space-3)"
|
|
33
34
|
};
|
|
34
|
-
function
|
|
35
|
+
function AutocompleteFieldImpl({
|
|
35
36
|
search,
|
|
36
37
|
options,
|
|
37
38
|
labelKey = "label",
|
|
@@ -278,5 +279,6 @@ function AutocompleteField({
|
|
|
278
279
|
) }) : null
|
|
279
280
|
] });
|
|
280
281
|
}
|
|
282
|
+
var AutocompleteField = boxed(AutocompleteFieldImpl, "AutocompleteField");
|
|
281
283
|
|
|
282
284
|
export { AutocompleteField, toAutocompleteOptions };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Badge, Checkbox, IconButton, Icon } from './chunk-
|
|
1
|
+
import { Badge, Checkbox, IconButton, Icon } from './chunk-6FADQ2SU.js';
|
|
2
|
+
import { boxed } from './chunk-SAN4IX6N.js';
|
|
2
3
|
import { useState, useEffect } from 'react';
|
|
3
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
5
|
|
|
@@ -31,7 +32,7 @@ function toneStyle(tone) {
|
|
|
31
32
|
color: `var(--wp-status-${tone}-fg)`
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
+
function ColumnBoardImpl({
|
|
35
36
|
columns,
|
|
36
37
|
items,
|
|
37
38
|
onMove,
|
|
@@ -186,5 +187,6 @@ function ColumnBoard({
|
|
|
186
187
|
] }) : null
|
|
187
188
|
] });
|
|
188
189
|
}
|
|
190
|
+
var ColumnBoard = boxed(ColumnBoardImpl, "ColumnBoard");
|
|
189
191
|
|
|
190
192
|
export { ColumnBoard };
|