@wipco/sdui 1.7.1 → 1.8.1
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/{chunk-RJYPRWWS.js → chunk-2TUCSOZR.js} +4 -4
- package/dist/{chunk-FGKBXUUA.js → chunk-37CLBWCE.js} +1 -1
- package/dist/{chunk-J6YDTBKY.js → chunk-6AFQPHLW.js} +2 -2
- package/dist/{chunk-B5MB64YQ.js → chunk-6TWP3E2L.js} +3 -3
- package/dist/{chunk-NJTIJAFU.js → chunk-AMKIMOTU.js} +2 -2
- package/dist/{chunk-UBVYPV7H.js → chunk-B6U2YWUP.js} +2 -2
- package/dist/{chunk-Q56LZJFX.js → chunk-CUAGMSSG.js} +1 -1
- package/dist/{chunk-X7RSKFWF.js → chunk-DDX7KJAW.js} +1 -1
- package/dist/{chunk-7YTZB5LQ.js → chunk-DNUO63VZ.js} +2 -2
- package/dist/{chunk-KXTQOP3E.js → chunk-ECBSYHZU.js} +9 -4
- package/dist/{chunk-JMNUFA5M.js → chunk-FXEKHHEA.js} +1 -1
- package/dist/{chunk-Z4LFZWHH.js → chunk-HAK2YXSF.js} +1 -1
- package/dist/{chunk-QAGJ6FRE.js → chunk-HSHVR6VH.js} +5 -5
- package/dist/{chunk-S6GJRP5T.js → chunk-HSS7MTJK.js} +2 -2
- package/dist/{chunk-466W3XNK.js → chunk-ITFSPOOB.js} +1 -1
- package/dist/{chunk-Z4JZUIKE.js → chunk-IWLLM45X.js} +3 -3
- package/dist/{chunk-L6ODTHTX.js → chunk-JDTVNS3H.js} +1 -1
- package/dist/{chunk-WTQH2NI2.js → chunk-JRCHWX2B.js} +1 -1
- package/dist/{chunk-RA74PUMP.js → chunk-K7K6WOIG.js} +3 -3
- package/dist/{chunk-OWM7E55U.js → chunk-KIHN7DGA.js} +37 -0
- package/dist/{chunk-QVNJMZUF.js → chunk-KJDHF6VU.js} +1 -1
- package/dist/{chunk-FYVDPEJU.js → chunk-KVQXQLAP.js} +2 -2
- package/dist/{chunk-SGR2QDEG.js → chunk-L2WC45T3.js} +2 -2
- package/dist/{chunk-T5LLOSHE.js → chunk-LAGO4H4U.js} +2 -2
- package/dist/{chunk-WPAZBAUW.js → chunk-LGKLA22B.js} +1 -1
- package/dist/{chunk-KAQ2VZBM.js → chunk-LKSGAILO.js} +2 -2
- package/dist/{chunk-P62INTQ5.js → chunk-LONXOEZY.js} +1 -1
- package/dist/{chunk-FUNCQCKN.js → chunk-O3SD2HS6.js} +1 -1
- package/dist/{chunk-MANONABB.js → chunk-OB425KVK.js} +4 -4
- package/dist/{chunk-ENZBX4AR.js → chunk-PGAP2RLS.js} +1 -1
- package/dist/{chunk-JCG4575S.js → chunk-PN5IJPA5.js} +1 -1
- package/dist/{chunk-NQDHGK7C.js → chunk-QP7AQEGZ.js} +3 -3
- package/dist/{chunk-2FHNGMBT.js → chunk-RDQO43Y5.js} +2 -2
- package/dist/{chunk-LKL3SCBJ.js → chunk-TCHXA35K.js} +2 -2
- package/dist/{chunk-7ZCM6XEM.js → chunk-TK3WS7XE.js} +2 -2
- package/dist/{chunk-NI3LMETK.js → chunk-TQV4M3SB.js} +2 -2
- package/dist/{chunk-A3SO6H47.js → chunk-WW65XEEE.js} +2 -2
- package/dist/{chunk-ZBX2CAOO.js → chunk-XFNHHGFR.js} +1 -1
- package/dist/{chunk-5LIFU57A.js → chunk-YJJMK5R5.js} +2 -2
- package/dist/{chunk-5FZBH3T5.js → chunk-YK7ZNV2C.js} +1 -1
- package/dist/{chunk-63GM4S25.js → chunk-YOLT2TPX.js} +1 -1
- package/dist/{chunk-LKA43GYA.js → chunk-ZW42VDR3.js} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +16 -16
- package/dist/meta.d.ts +1 -1
- package/dist/meta.js +7 -0
- package/dist/rich/ExcelUploadCard.js +3 -3
- package/dist/rich.d.ts +9 -1
- package/dist/rich.js +35 -27
- package/dist/{types-CMikpoN5.d.ts → types-CacjInOz.d.ts} +8 -1
- package/dist/widgets/ApprovalLineEditor.js +7 -7
- package/dist/widgets/ApprovalOverridesEditor.js +9 -9
- package/dist/widgets/ApprovalStepper.js +2 -2
- package/dist/widgets/AutocompleteField.js +7 -7
- package/dist/widgets/ColumnBoard.js +2 -2
- package/dist/widgets/DiffView.js +2 -2
- package/dist/widgets/Disclosure.js +2 -2
- package/dist/widgets/EventCalendar.js +3 -3
- package/dist/widgets/FileDropzone.js +5 -5
- package/dist/widgets/ImageLightbox.js +3 -3
- package/dist/widgets/InlineEdit.js +2 -2
- package/dist/widgets/JsonField.js +2 -2
- package/dist/widgets/OptionSchemaEditor.js +3 -3
- package/dist/widgets/OptionValueFields.js +3 -3
- package/dist/widgets/OrgChart.js +2 -2
- package/dist/widgets/OrgChartBoard.js +5 -5
- package/dist/widgets/PeriodFilter.js +4 -4
- package/dist/widgets/PermissionMatrixEditor.js +3 -3
- package/dist/widgets/PositionSelect.js +3 -3
- package/dist/widgets/PrintSheet.js +2 -2
- package/dist/widgets/ProfileEditDiffCard.js +3 -3
- package/dist/widgets/QRDisplay.js +3 -3
- package/dist/widgets/RankBoard.js +4 -4
- package/dist/widgets/RoleMemberPicker.js +4 -4
- package/dist/widgets/SearchableMultiPicker.js +5 -5
- package/dist/widgets/SecureScreen.js +2 -2
- package/dist/widgets/StagePeriodEditor.js +4 -4
- package/dist/widgets/TagInput.js +2 -2
- package/dist/widgets/TagMultiSelect.js +3 -3
- package/dist/widgets/Timeline.js +3 -3
- package/dist/widgets/TreePicker.js +6 -6
- package/dist/widgets/TreeView.js +5 -5
- package/dist/widgets/index.js +71 -71
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-
|
|
2
|
-
import { includesLooseSearch } from './chunk-
|
|
3
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
4
|
-
import { Icon, Badge, IconButton, Field, Select, Input, Tag, Spinner, Button, isPlainObject } from './chunk-
|
|
1
|
+
import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-YOLT2TPX.js';
|
|
2
|
+
import { includesLooseSearch } from './chunk-ECBSYHZU.js';
|
|
3
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
4
|
+
import { Icon, Badge, IconButton, Field, Select, Input, Tag, Spinner, Button, isPlainObject } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import React, { useState, useId, useRef, useEffect } from 'react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DateRangePicker } from './chunk-
|
|
2
|
-
import { SegmentedControl, Select } from './chunk-
|
|
1
|
+
import { DateRangePicker } from './chunk-LKSGAILO.js';
|
|
2
|
+
import { SegmentedControl, Select } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useMemo } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { parseJobPositionRow } from './chunk-XRHR452N.js';
|
|
2
2
|
import { MIN_ZOOM, usePanZoomCanvas } from './chunk-XDR6HC4U.js';
|
|
3
|
-
import { ImageLightbox } from './chunk-
|
|
4
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
3
|
+
import { ImageLightbox } from './chunk-JDTVNS3H.js';
|
|
4
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
5
5
|
import { useIsTabletDown } from './chunk-TAVKGYH5.js';
|
|
6
|
-
import { warnOnce, Badge, Button, IconButton, Icon } from './chunk-
|
|
6
|
+
import { warnOnce, Badge, Button, IconButton, Icon } from './chunk-KIHN7DGA.js';
|
|
7
7
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
8
8
|
import { useState, useMemo, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Text } from './chunk-
|
|
2
|
-
import { Field, Input, Select, IconButton, Button } from './chunk-
|
|
1
|
+
import { Text } from './chunk-YK7ZNV2C.js';
|
|
2
|
+
import { Field, Input, Select, IconButton, Button } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fetchAllJobPositions } from './chunk-XRHR452N.js';
|
|
2
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
3
|
-
import { Select, Button } from './chunk-
|
|
2
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
3
|
+
import { Select, Button } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import { useRef, useState, useEffect, useMemo } from 'react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Badge, Checkbox, IconButton, Icon } from './chunk-
|
|
1
|
+
import { Badge, Checkbox, IconButton, Icon } from './chunk-KIHN7DGA.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
2
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
2
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
3
3
|
import { MOBILE_MEDIA_QUERY } from './chunk-TAVKGYH5.js';
|
|
4
|
-
import { Icon, Badge, Checkbox, Select, Button } from './chunk-
|
|
4
|
+
import { Icon, Badge, Checkbox, Select, Button } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import { useRef, useEffect, useState, useMemo } from 'react';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DateRangePicker } from './chunk-
|
|
1
|
+
import { DateRangePicker } from './chunk-LKSGAILO.js';
|
|
2
2
|
import { useOverlayLayer } from './chunk-R2ORCOTG.js';
|
|
3
3
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
4
|
-
import { Input, Button, IconButton, Tag, Field, Checkbox } from './chunk-
|
|
4
|
+
import { Input, Button, IconButton, Tag, Field, Checkbox } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { useRef, useEffect, useState, useMemo } from 'react';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
|
|
@@ -37,9 +37,14 @@ function Popover({
|
|
|
37
37
|
const hostRef = useRef(null);
|
|
38
38
|
const closeRef = useRef(onClose);
|
|
39
39
|
closeRef.current = onClose;
|
|
40
|
+
const insideEventRef = useRef(null);
|
|
41
|
+
const markInside = (event) => {
|
|
42
|
+
insideEventRef.current = event.nativeEvent;
|
|
43
|
+
};
|
|
40
44
|
useEffect(() => {
|
|
41
45
|
if (!open) return;
|
|
42
46
|
const closeOnOutside = (event) => {
|
|
47
|
+
if (insideEventRef.current === event) return;
|
|
43
48
|
if (event.target instanceof Node && hostRef.current?.contains(event.target)) return;
|
|
44
49
|
closeRef.current();
|
|
45
50
|
};
|
|
@@ -51,7 +56,7 @@ function Popover({
|
|
|
51
56
|
}, [open, inline]);
|
|
52
57
|
useOverlayLayer(open, () => closeRef.current(), hostRef);
|
|
53
58
|
if (inline) {
|
|
54
|
-
return /* @__PURE__ */ jsxs("div", { ref: hostRef, className: "wp-popover-host erp-popover-host", children: [
|
|
59
|
+
return /* @__PURE__ */ jsxs("div", { ref: hostRef, className: "wp-popover-host erp-popover-host", onClickCapture: markInside, children: [
|
|
55
60
|
/* @__PURE__ */ jsx(HoistedStyle, { id: "wp-popover", css: POPOVER_CSS }),
|
|
56
61
|
trigger,
|
|
57
62
|
open ? /* @__PURE__ */ jsxs("div", { className: "wp-popover-inline", children: [
|
|
@@ -63,7 +68,7 @@ function Popover({
|
|
|
63
68
|
return (
|
|
64
69
|
// 트리거와 패널을 함께 감싸는 기준 상자 — .wp-popover-host의 position:relative가
|
|
65
70
|
// 패널 absolute의 기준이 된다
|
|
66
|
-
/* @__PURE__ */ jsxs("div", { ref: hostRef, className: "wp-popover-host erp-popover-host", children: [
|
|
71
|
+
/* @__PURE__ */ jsxs("div", { ref: hostRef, className: "wp-popover-host erp-popover-host", onPointerDownCapture: markInside, children: [
|
|
67
72
|
/* @__PURE__ */ jsx(HoistedStyle, { id: "wp-popover", css: POPOVER_CSS }),
|
|
68
73
|
trigger,
|
|
69
74
|
open ? (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IconButton, Input } from './chunk-
|
|
1
|
+
import { IconButton, Input } from './chunk-KIHN7DGA.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { usePanZoomCanvas, MIN_ZOOM, MAX_ZOOM } from './chunk-XDR6HC4U.js';
|
|
2
|
-
import { IconButton, Badge } from './chunk-
|
|
2
|
+
import { IconButton, Badge } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useMemo, useCallback, useEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TagMultiSelect } from './chunk-
|
|
2
|
-
import { ApprovalLineEditor, stepTypeIcon, stepLabel } from './chunk-
|
|
3
|
-
import { orderCircleStyle, unwrapRows, uid } from './chunk-
|
|
4
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
5
|
-
import { Card, Icon, Input, IconButton, Field, Button, Badge } from './chunk-
|
|
1
|
+
import { TagMultiSelect } from './chunk-TCHXA35K.js';
|
|
2
|
+
import { ApprovalLineEditor, stepTypeIcon, stepLabel } from './chunk-2TUCSOZR.js';
|
|
3
|
+
import { orderCircleStyle, unwrapRows, uid } from './chunk-YOLT2TPX.js';
|
|
4
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
5
|
+
import { Card, Icon, Input, IconButton, Field, Button, Badge } from './chunk-KIHN7DGA.js';
|
|
6
6
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
7
7
|
import React, { useRef, useState, useEffect } from 'react';
|
|
8
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DatePicker, TimePicker } from './chunk-
|
|
2
|
-
import { Field } from './chunk-
|
|
1
|
+
import { DatePicker, TimePicker } from './chunk-LKSGAILO.js';
|
|
2
|
+
import { Field } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useRef, useEffect, useMemo } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ImageLightbox } from './chunk-
|
|
2
|
-
import { useSduiSandbox, useSduiAdapter, hostRawFetchOf, defaultAdapter, useSduiAssetResolver } from './chunk-
|
|
3
|
-
import { Spinner, Icon, IconButton } from './chunk-
|
|
1
|
+
import { ImageLightbox } from './chunk-JDTVNS3H.js';
|
|
2
|
+
import { useSduiSandbox, useSduiAdapter, hostRawFetchOf, defaultAdapter, useSduiAssetResolver } from './chunk-XFNHHGFR.js';
|
|
3
|
+
import { Spinner, Icon, IconButton } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fetchAllJobPositions } from './chunk-XRHR452N.js';
|
|
2
|
-
import { useSduiDispatch, useSduiCan, SduiDialog } from './chunk-
|
|
3
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
4
|
-
import { Card, Input, Button, Icon, Badge, IconButton } from './chunk-
|
|
2
|
+
import { useSduiDispatch, useSduiCan, SduiDialog } from './chunk-O3SD2HS6.js';
|
|
3
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
4
|
+
import { Card, Input, Button, Icon, Badge, IconButton } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import React, { useState, useEffect, useCallback, useMemo } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -149,6 +149,11 @@ var CALC_OPS = /* @__PURE__ */ new Set([
|
|
|
149
149
|
"div",
|
|
150
150
|
"percent",
|
|
151
151
|
"count",
|
|
152
|
+
// 자리 맞춤 (신규) — 억원 소수 둘째 자리, 부가세 자동 분할(세액 = round(공급가액/10),
|
|
153
|
+
// 공급가액 = floor(합계×10/11)). 예전에는 반올림하는 연산이 percent(소수 한 자리) 하나뿐이었다
|
|
154
|
+
"round",
|
|
155
|
+
"floor",
|
|
156
|
+
"ceil",
|
|
152
157
|
// 문자 (기존)
|
|
153
158
|
"concat",
|
|
154
159
|
"encode",
|
|
@@ -294,6 +299,33 @@ function formatNumberValue(value, digits) {
|
|
|
294
299
|
maximumFractionDigits: fixed
|
|
295
300
|
}).format(numeric);
|
|
296
301
|
}
|
|
302
|
+
function roundingDigits(v) {
|
|
303
|
+
const wanted = toNumber(v);
|
|
304
|
+
if (!Number.isFinite(wanted)) return 0;
|
|
305
|
+
return Math.max(0, Math.min(6, Math.trunc(wanted)));
|
|
306
|
+
}
|
|
307
|
+
function shiftDecimal(value, places) {
|
|
308
|
+
const [mantissa, exponent = "0"] = String(value).split("e");
|
|
309
|
+
return Number(`${mantissa}e${Number(exponent) + places}`);
|
|
310
|
+
}
|
|
311
|
+
function roundToDigits(value, digits, mode = "round") {
|
|
312
|
+
if (!Number.isFinite(value)) return value;
|
|
313
|
+
if (Number.isInteger(value)) return value === 0 ? 0 : value;
|
|
314
|
+
const clean = Math.abs(value) < 1e15 ? Number(value.toPrecision(15)) : value;
|
|
315
|
+
const negative = clean < 0;
|
|
316
|
+
const shifted = shiftDecimal(Math.abs(clean), digits);
|
|
317
|
+
const whole = Math.floor(shifted);
|
|
318
|
+
const fraction = shifted - whole;
|
|
319
|
+
let magnitude;
|
|
320
|
+
if (mode === "round") {
|
|
321
|
+
magnitude = fraction >= 0.5 ? whole + 1 : whole;
|
|
322
|
+
} else {
|
|
323
|
+
const awayFromZero = mode === "floor" ? negative : !negative;
|
|
324
|
+
magnitude = awayFromZero && fraction > 0 ? whole + 1 : whole;
|
|
325
|
+
}
|
|
326
|
+
const result = shiftDecimal(magnitude, -digits);
|
|
327
|
+
return negative && result !== 0 ? -result : result;
|
|
328
|
+
}
|
|
297
329
|
var DISPLAY_FORMATS = /* @__PURE__ */ new Set(["date", "datetime", "time", "number", "currency"]);
|
|
298
330
|
function formatDisplayValue(value, format) {
|
|
299
331
|
if (typeof value !== "string" && typeof value !== "number") return value;
|
|
@@ -377,6 +409,11 @@ function evaluateCalc(calc, resolved, resolve) {
|
|
|
377
409
|
const [a, b] = resolved.map((v) => toNumber(v));
|
|
378
410
|
return b === 0 ? 0 : Math.round(a / b * 1e3) / 10;
|
|
379
411
|
}
|
|
412
|
+
/* ── 자리 맞춤 ── */
|
|
413
|
+
case "round":
|
|
414
|
+
case "floor":
|
|
415
|
+
case "ceil":
|
|
416
|
+
return roundToDigits(toNumber(first), roundingDigits(resolved[1]), op);
|
|
380
417
|
/* ── 문자 ── */
|
|
381
418
|
case "concat":
|
|
382
419
|
return resolved.map((v) => v == null ? "" : String(v)).join("");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OverlayContainerContext, getOverlayRoot, useOverlayLayer } from './chunk-R2ORCOTG.js';
|
|
2
2
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
3
|
-
import { IconButton } from './chunk-
|
|
3
|
+
import { IconButton } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import React2, { useState, useRef, useEffect, useLayoutEffect, useCallback } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
6
|
import { createPortal } from 'react-dom';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { useDismiss, usePopoverAnchor, usePanelPointer, usePortalTo, CalendarNav, KO_CALENDAR_NAV_LOCALE, CalendarZoom, anchorStyle, AnchoredPopoverStyles } from './chunk-
|
|
1
|
+
import { useDismiss, usePopoverAnchor, usePanelPointer, usePortalTo, CalendarNav, KO_CALENDAR_NAV_LOCALE, CalendarZoom, anchorStyle, AnchoredPopoverStyles } from './chunk-KJDHF6VU.js';
|
|
2
2
|
import { tabbablesIn } from './chunk-R2ORCOTG.js';
|
|
3
3
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
4
4
|
import { useIsMobile } from './chunk-TAVKGYH5.js';
|
|
5
|
-
import { SegmentedControl, Button, Tag, EmptyState, Icon, Badge } from './chunk-
|
|
5
|
+
import { SegmentedControl, Button, Tag, EmptyState, Icon, Badge } from './chunk-KIHN7DGA.js';
|
|
6
6
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
7
7
|
import { useState, useMemo, useRef, useCallback } from 'react';
|
|
8
8
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildCascadingTree } from './chunk-
|
|
2
|
-
import { Input, IconButton, EmptyState, Icon, Badge } from './chunk-
|
|
1
|
+
import { buildCascadingTree } from './chunk-ECBSYHZU.js';
|
|
2
|
+
import { Input, IconButton, EmptyState, Icon, Badge } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import React, { useMemo, useState, useRef, useEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { includesLooseSearch } from './chunk-
|
|
1
|
+
import { includesLooseSearch } from './chunk-ECBSYHZU.js';
|
|
2
2
|
import { OverlayLayer } from './chunk-R2ORCOTG.js';
|
|
3
|
-
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-
|
|
3
|
+
import { Button, Dialog, Input, Tag, Checkbox } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import React, { useMemo, useState } from 'react';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { KO_CALENDAR_NAV_LOCALE, useDismiss, usePopoverAnchor, usePortalTo, usePanelPointer, AnchoredPopoverStyles, anchorStyle, focusStaysInside, resolveCalendarNavLocale, CalendarZoom, CalendarNav, clampIndex } from './chunk-
|
|
1
|
+
import { KO_CALENDAR_NAV_LOCALE, useDismiss, usePopoverAnchor, usePortalTo, usePanelPointer, AnchoredPopoverStyles, anchorStyle, focusStaysInside, resolveCalendarNavLocale, CalendarZoom, CalendarNav, clampIndex } from './chunk-KJDHF6VU.js';
|
|
2
2
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
3
3
|
import { useIsMobile } from './chunk-TAVKGYH5.js';
|
|
4
|
-
import { Icon } from './chunk-
|
|
4
|
+
import { Icon } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import { useState, useRef, useEffect, useMemo, useCallback, useLayoutEffect } from 'react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OverlayLayer } from './chunk-R2ORCOTG.js';
|
|
2
|
-
import { Dialog, Button, warnOnce } from './chunk-
|
|
2
|
+
import { Dialog, Button, warnOnce } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { createContext, useContext, useMemo, useRef, useCallback, useState } from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ellipsisStyle, unwrapRows } from './chunk-
|
|
2
|
-
import { includesLooseSearch } from './chunk-
|
|
3
|
-
import { useSduiAdapter, hostFetchOf } from './chunk-
|
|
4
|
-
import { Icon, Button, Input, Spinner } from './chunk-
|
|
1
|
+
import { ellipsisStyle, unwrapRows } from './chunk-YOLT2TPX.js';
|
|
2
|
+
import { includesLooseSearch } from './chunk-ECBSYHZU.js';
|
|
3
|
+
import { useSduiAdapter, hostFetchOf } from './chunk-XFNHHGFR.js';
|
|
4
|
+
import { Icon, Button, Input, Spinner } from './chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
6
6
|
import { useId, useRef, useMemo, useState, useEffect } from 'react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Textarea, Icon } from './chunk-
|
|
1
|
+
import { Textarea, Icon } from './chunk-KIHN7DGA.js';
|
|
2
2
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
3
3
|
import { useState, useRef, useId, useEffect, useCallback } from 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useOverlayLayer, OverlayContainerContext, getOverlayRoot } from './chunk-R2ORCOTG.js';
|
|
2
|
-
import { IconButton } from './chunk-
|
|
2
|
+
import { IconButton } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { useState, useRef, useCallback, useEffect, useContext } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { fetchAllPages } from './chunk-
|
|
2
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
3
|
-
import { Alert, Badge, Spinner, Button, Input, Checkbox } from './chunk-
|
|
1
|
+
import { fetchAllPages } from './chunk-YOLT2TPX.js';
|
|
2
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
3
|
+
import { Alert, Badge, Spinner, Button, Input, Checkbox } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import { useRef, useMemo, useState, useCallback, useEffect } from 'react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { resolveTreeNodes, TreeView } from './chunk-
|
|
1
|
+
import { resolveTreeNodes, TreeView } from './chunk-L2WC45T3.js';
|
|
2
2
|
import { OverlayLayer } from './chunk-R2ORCOTG.js';
|
|
3
|
-
import { Field, Dialog, Icon, Button, Input } from './chunk-
|
|
3
|
+
import { Field, Dialog, Icon, Button, Input } from './chunk-KIHN7DGA.js';
|
|
4
4
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
5
5
|
import { useState, useMemo } from 'react';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useSduiAdapter, hostFetchOf } from './chunk-
|
|
2
|
-
import { Badge, Tag } from './chunk-
|
|
1
|
+
import { useSduiAdapter, hostFetchOf } from './chunk-XFNHHGFR.js';
|
|
2
|
+
import { Badge, Tag } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useRef, useEffect, useMemo, useState } from 'react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Text } from './chunk-
|
|
2
|
-
import { Switch, Field, Select, Input } from './chunk-
|
|
1
|
+
import { Text } from './chunk-YK7ZNV2C.js';
|
|
2
|
+
import { Switch, Field, Select, Input } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import React, { useMemo } from 'react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useSduiAssetResolver } from './chunk-
|
|
2
|
-
import { Spinner, Icon } from './chunk-
|
|
1
|
+
import { useSduiAssetResolver } from './chunk-XFNHHGFR.js';
|
|
2
|
+
import { Spinner, Icon } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-
|
|
2
|
-
import { Spinner, Badge, Icon } from './chunk-
|
|
1
|
+
import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-XFNHHGFR.js';
|
|
2
|
+
import { Spinner, Badge, Icon } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Disclosure } from './chunk-
|
|
2
|
-
import { Icon } from './chunk-
|
|
1
|
+
import { Disclosure } from './chunk-LONXOEZY.js';
|
|
2
|
+
import { Icon } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { formatDisplayValue } from './chunk-
|
|
1
|
+
import { formatDisplayValue } from './chunk-KIHN7DGA.js';
|
|
2
2
|
import { mergeStyle, containerLayoutStyle, joinClass, columnsClass, typographyStyle, GAP_CSS } from './chunk-3JTBOABA.js';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
2
|
-
import { Tag } from './chunk-
|
|
2
|
+
import { Tag } from './chunk-KIHN7DGA.js';
|
|
3
3
|
import { boxed } from './chunk-3JTBOABA.js';
|
|
4
4
|
import { useState, useMemo, useRef, useEffect } from 'react';
|
|
5
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { CSSProperties, ReactNode, ComponentType } from 'react';
|
|
3
|
-
import { S as SduiPage, a as SduiAction, b as SduiPropValue, c as SduiRule } from './types-
|
|
4
|
-
export { d as SduiArgRef, e as SduiCalcRef, f as SduiChild, g as SduiIndexRef, h as SduiItemRef, i as SduiNode, j as SduiPageQuery, k as SduiScalar, l as SduiStateRef } from './types-
|
|
3
|
+
import { S as SduiPage, a as SduiAction, b as SduiPropValue, c as SduiRule } from './types-CacjInOz.js';
|
|
4
|
+
export { d as SduiArgRef, e as SduiCalcRef, f as SduiChild, g as SduiIndexRef, h as SduiItemRef, i as SduiNode, j as SduiPageQuery, k as SduiScalar, l as SduiStateRef } from './types-CacjInOz.js';
|
|
5
5
|
import { S as SduiBoxProps, a as SduiContainerLayoutProps, b as SduiColumnsScale, c as SduiGapScale, d as SduiWeightScale, e as SduiTextAlignScale } from './layout-DmRikwZb.js';
|
|
6
6
|
export { C as CHILD_LAYOUT_PROPS, L as LAYOUT_CSS, f as SduiAlignScale, g as SduiChildLayoutProps, h as SduiSizeScale, i as SduiSpanScale, j as childLayoutFrom, k as columnsClass, l as containerLayoutStyle, m as joinClass, n as mergeStyle, t as typographyStyle } from './layout-DmRikwZb.js';
|
|
7
7
|
import { D as DatePickerProps, a as DateRangePickerProps, T as TimePickerProps } from './DatePicker-BOOKdd5x.js';
|
package/dist/index.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export { loadOptionalModule } from './chunk-
|
|
2
|
-
import { useSduiDispatch, SduiDialog, useSduiCan, useSduiRuntime, SduiDirtyRegistryContext, SduiLeaveRegistryContext, SduiFormScopeContext, SduiDispatchContext, SduiRuntimeContext, SduiPermissionProvider } from './chunk-
|
|
3
|
-
export { SduiDialog, SduiPermissionProvider, useSduiCan, useSduiDispatch, useSduiRuntime } from './chunk-
|
|
4
|
-
import { Text, Spacer, Show, Section, Row, PageHead, KeyValueList, Grid, Divider, Col, Actions } from './chunk-
|
|
5
|
-
export { Actions, Col, Divider, Grid, KeyValueList, PageHead, Row, Section, Show, Spacer, Text } from './chunk-
|
|
6
|
-
import { ImageViewer } from './chunk-
|
|
7
|
-
export { ImageViewer } from './chunk-
|
|
8
|
-
import { normalizeSearchFields, searchValuesFromParams, splitMultiValue, includesLooseSearch, cascadingValuePaths, SearchToolbar, searchFieldKeys, Popover } from './chunk-
|
|
9
|
-
export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-
|
|
10
|
-
import { parseYmd, YMD_RE, TimePicker, DateRangePicker, DatePicker } from './chunk-
|
|
11
|
-
export { DatePicker, DateRangePicker, TimePicker } from './chunk-
|
|
12
|
-
import './chunk-
|
|
1
|
+
export { loadOptionalModule } from './chunk-JRCHWX2B.js';
|
|
2
|
+
import { useSduiDispatch, SduiDialog, useSduiCan, useSduiRuntime, SduiDirtyRegistryContext, SduiLeaveRegistryContext, SduiFormScopeContext, SduiDispatchContext, SduiRuntimeContext, SduiPermissionProvider } from './chunk-O3SD2HS6.js';
|
|
3
|
+
export { SduiDialog, SduiPermissionProvider, useSduiCan, useSduiDispatch, useSduiRuntime } from './chunk-O3SD2HS6.js';
|
|
4
|
+
import { Text, Spacer, Show, Section, Row, PageHead, KeyValueList, Grid, Divider, Col, Actions } from './chunk-YK7ZNV2C.js';
|
|
5
|
+
export { Actions, Col, Divider, Grid, KeyValueList, PageHead, Row, Section, Show, Spacer, Text } from './chunk-YK7ZNV2C.js';
|
|
6
|
+
import { ImageViewer } from './chunk-PN5IJPA5.js';
|
|
7
|
+
export { ImageViewer } from './chunk-PN5IJPA5.js';
|
|
8
|
+
import { normalizeSearchFields, searchValuesFromParams, splitMultiValue, includesLooseSearch, cascadingValuePaths, SearchToolbar, searchFieldKeys, Popover } from './chunk-ECBSYHZU.js';
|
|
9
|
+
export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-ECBSYHZU.js';
|
|
10
|
+
import { parseYmd, YMD_RE, TimePicker, DateRangePicker, DatePicker } from './chunk-LKSGAILO.js';
|
|
11
|
+
export { DatePicker, DateRangePicker, TimePicker } from './chunk-LKSGAILO.js';
|
|
12
|
+
import './chunk-KJDHF6VU.js';
|
|
13
13
|
import { OverlayContainerContext, OverlayLayer, useAnyModalOpen } from './chunk-R2ORCOTG.js';
|
|
14
14
|
export { OverlayContainerContext, OverlayLayer, getOverlayRoot, useAnyModalOpen, useOverlayLayer } from './chunk-R2ORCOTG.js';
|
|
15
15
|
import { HoistedStyle } from './chunk-RIZRM7OO.js';
|
|
16
|
-
import { useSduiAdapter, hostFetchOf, isSafeNavigationTarget, useSduiSandbox, resolveAdapter, assetResolverOf, SduiAdapterContext } from './chunk-
|
|
17
|
-
export { defaultAdapter, useSduiAssetResolver, useSduiSandbox } from './chunk-
|
|
16
|
+
import { useSduiAdapter, hostFetchOf, isSafeNavigationTarget, useSduiSandbox, resolveAdapter, assetResolverOf, SduiAdapterContext } from './chunk-XFNHHGFR.js';
|
|
17
|
+
export { defaultAdapter, useSduiAssetResolver, useSduiSandbox } from './chunk-XFNHHGFR.js';
|
|
18
18
|
import { DEV, useIsMobile } from './chunk-TAVKGYH5.js';
|
|
19
19
|
export { MOBILE_MEDIA_QUERY, useIsMobile } from './chunk-TAVKGYH5.js';
|
|
20
|
-
import { EmptyState, Button, Checkbox, Select, Tabs, SegmentedControl, Spinner, Pagination, fieldOf, StatCard, isZonedIsoDateTime, formatDateValue, Icon, Card, Badge, ProgressBar, Tag, Toast, Textarea, Table, Switch, Input, IconButton, Field, Alert, warnOnce, isPlainObject, CALC_OPS, evaluateCalc, Dialog, ICON_NODES, toNumber } from './chunk-
|
|
21
|
-
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, formatDateValue, formatDisplayValue, formatNumberValue, isZonedIsoDateTime, parseNumeric } from './chunk-
|
|
20
|
+
import { EmptyState, Button, Checkbox, Select, Tabs, SegmentedControl, Spinner, Pagination, fieldOf, StatCard, isZonedIsoDateTime, formatDateValue, Icon, Card, Badge, ProgressBar, Tag, Toast, Textarea, Table, Switch, Input, IconButton, Field, Alert, warnOnce, isPlainObject, CALC_OPS, evaluateCalc, Dialog, ICON_NODES, toNumber } from './chunk-KIHN7DGA.js';
|
|
21
|
+
export { Alert, Avatar, Badge, Breadcrumb, Button, CALC_OPS, Card, Checkbox, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Radio, SegmentedControl, Select, SidebarNav, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast, Tooltip, formatDateValue, formatDisplayValue, formatNumberValue, isZonedIsoDateTime, parseNumeric } from './chunk-KIHN7DGA.js';
|
|
22
22
|
import { boxed, LAYOUT_CSS, childLayoutFrom, CHILD_LAYOUT_PROPS } from './chunk-3JTBOABA.js';
|
|
23
23
|
export { CHILD_LAYOUT_PROPS, LAYOUT_CSS, boxed, childLayoutFrom, columnsClass, containerLayoutStyle, joinClass, mergeStyle, typographyStyle } from './chunk-3JTBOABA.js';
|
|
24
24
|
import React9, { createContext, useState, useMemo, useEffect, useRef, useContext, useCallback, useSyncExternalStore } from 'react';
|
package/dist/meta.d.ts
CHANGED
package/dist/meta.js
CHANGED
|
@@ -3557,6 +3557,13 @@ var ChartMeta = {
|
|
|
3557
3557
|
],
|
|
3558
3558
|
group: "appearance"
|
|
3559
3559
|
},
|
|
3560
|
+
{
|
|
3561
|
+
name: "valueDigits",
|
|
3562
|
+
kind: "number",
|
|
3563
|
+
label: "\uAC12 \uC18C\uC218 \uC790\uB9BF\uC218",
|
|
3564
|
+
description: "\uD234\uD301\xB7\uC6B0\uCE21 \uC218\uCE58 \uD45C\xB7\uCD95 \uB208\uAE08 \uAC12\uC758 \uCD5C\uB300 \uC18C\uC218 \uC790\uB9AC(0~6). \uAE08\uC561\uC758 \uC5B5/\uB9CC \uCD95\uC57D\xB7\uC22B\uC790\xB7\uBC31\uBD84\uC728(\uBCF4\uC870\uCD95 \uD3EC\uD568)\uC5D0 \uBAA8\uB450 \uC801\uC6A9\uB41C\uB2E4 \u2014 2\uBA74 11.53\uC5B5\xB7137.29\uC5B5\xB71.35\uB9CC. \uC0DD\uB7B5\uD558\uBA74 \uC885\uC804 \uADDC\uCE59(\uC5B5\xB7\uB9CC\uC740 100 \uC774\uC0C1\uC774\uBA74 \uC815\uC218, \uC544\uB2C8\uBA74 \uD55C \uC790\uB9AC \u2014 11.5\uC5B5\xB7137\uC5B5\xB71.4\uB9CC, \uC22B\uC790\xB7\uBC31\uBD84\uC728\uC740 \uD55C \uC790\uB9AC). \uCD95\uC758 \uB465\uADFC \uB208\uAE08(1\uC5B5\xB72.5\uC5B5)\uC5D0\uB294 \uAF2C\uB9AC 0\uC774 \uBD99\uC9C0 \uC54A\uB294\uB2E4.",
|
|
3565
|
+
group: "appearance"
|
|
3566
|
+
},
|
|
3560
3567
|
{
|
|
3561
3568
|
name: "legend",
|
|
3562
3569
|
kind: "boolean",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { loadOptionalModule } from '../chunk-
|
|
2
|
-
import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-
|
|
1
|
+
import { loadOptionalModule } from '../chunk-JRCHWX2B.js';
|
|
2
|
+
import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-XFNHHGFR.js';
|
|
3
3
|
import '../chunk-TAVKGYH5.js';
|
|
4
|
-
import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-
|
|
4
|
+
import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-KIHN7DGA.js';
|
|
5
5
|
import { boxed } from '../chunk-3JTBOABA.js';
|
|
6
6
|
import { useRef, useState, useMemo, useCallback } from 'react';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
package/dist/rich.d.ts
CHANGED
|
@@ -43,6 +43,14 @@ interface ChartProps {
|
|
|
43
43
|
height?: number;
|
|
44
44
|
/** 값 포맷. currency는 억/만 축약(1.2억, 3,400만). 기본 'number'. */
|
|
45
45
|
valueFormat?: ChartValueFormat;
|
|
46
|
+
/**
|
|
47
|
+
* 값 글자의 **최대** 소수 자리(0~6) — 툴팁·우측 수치 표·축 눈금, 금액의 억/만 축약,
|
|
48
|
+
* 숫자·백분율 형식 전부(보조축 포함). 주면 종전 크기 규칙(억·만은 100 이상이면 정수,
|
|
49
|
+
* 아니면 한 자리)을 대신한다 — 2면 1,152,509,570 → 11.53억, 13,729,284,851 → 137.29억,
|
|
50
|
+
* 13,500 → 1.35만. 최소 자리는 0 이라 축의 둥근 눈금(1억·2.5억)은 그대로다.
|
|
51
|
+
* 생략하면 종전과 같은 글자다. 점유율(%)은 이 값과 무관하게 한 자리다.
|
|
52
|
+
*/
|
|
53
|
+
valueDigits?: number;
|
|
46
54
|
/** 범례 표시 여부. 기본 true (단일 시리즈 카르테시안 차트는 생략). */
|
|
47
55
|
legend?: boolean;
|
|
48
56
|
/**
|
|
@@ -80,7 +88,7 @@ interface ChartProps {
|
|
|
80
88
|
*/
|
|
81
89
|
xTickWrap?: boolean;
|
|
82
90
|
}
|
|
83
|
-
declare function Chart({ type, data, xKey, series, height, valueFormat, legend, legendPlacement, legendTotal, donutCenter, emptyText, rightValueFormat, integer, xTickWrap, }: ChartProps): React__default.JSX.Element;
|
|
91
|
+
declare function Chart({ type, data, xKey, series, height, valueFormat, valueDigits, legend, legendPlacement, legendTotal, donutCenter, emptyText, rightValueFormat, integer, xTickWrap, }: ChartProps): React__default.JSX.Element;
|
|
84
92
|
|
|
85
93
|
/**
|
|
86
94
|
* MapPreview — OpenLayers 기반 위치 미리보기 지도 (ERP `app/components/widgets/MapPreview.tsx` 이식).
|