@wipco/sdui 1.7.1 → 1.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.
Files changed (84) hide show
  1. package/dist/{chunk-FGKBXUUA.js → chunk-37CLBWCE.js} +1 -1
  2. package/dist/{chunk-MANONABB.js → chunk-4PYOXXZJ.js} +4 -4
  3. package/dist/{chunk-J6YDTBKY.js → chunk-6AFQPHLW.js} +2 -2
  4. package/dist/{chunk-B5MB64YQ.js → chunk-6TWP3E2L.js} +3 -3
  5. package/dist/{chunk-NJTIJAFU.js → chunk-AMKIMOTU.js} +2 -2
  6. package/dist/{chunk-UBVYPV7H.js → chunk-B6U2YWUP.js} +2 -2
  7. package/dist/{chunk-Q56LZJFX.js → chunk-CUAGMSSG.js} +1 -1
  8. package/dist/{chunk-X7RSKFWF.js → chunk-DDX7KJAW.js} +1 -1
  9. package/dist/{chunk-7YTZB5LQ.js → chunk-DNUO63VZ.js} +2 -2
  10. package/dist/{chunk-JMNUFA5M.js → chunk-FXEKHHEA.js} +1 -1
  11. package/dist/{chunk-Z4LFZWHH.js → chunk-HAK2YXSF.js} +1 -1
  12. package/dist/{chunk-S6GJRP5T.js → chunk-HSS7MTJK.js} +2 -2
  13. package/dist/{chunk-466W3XNK.js → chunk-ITFSPOOB.js} +1 -1
  14. package/dist/{chunk-Z4JZUIKE.js → chunk-IWLLM45X.js} +3 -3
  15. package/dist/{chunk-L6ODTHTX.js → chunk-JDTVNS3H.js} +1 -1
  16. package/dist/{chunk-WTQH2NI2.js → chunk-JRCHWX2B.js} +1 -1
  17. package/dist/{chunk-RA74PUMP.js → chunk-K7K6WOIG.js} +3 -3
  18. package/dist/{chunk-OWM7E55U.js → chunk-KIHN7DGA.js} +37 -0
  19. package/dist/{chunk-QVNJMZUF.js → chunk-KJDHF6VU.js} +1 -1
  20. package/dist/{chunk-FYVDPEJU.js → chunk-KVQXQLAP.js} +2 -2
  21. package/dist/{chunk-WPAZBAUW.js → chunk-LGKLA22B.js} +1 -1
  22. package/dist/{chunk-KAQ2VZBM.js → chunk-LKSGAILO.js} +2 -2
  23. package/dist/{chunk-P62INTQ5.js → chunk-LONXOEZY.js} +1 -1
  24. package/dist/{chunk-SGR2QDEG.js → chunk-MSPBNI2M.js} +2 -2
  25. package/dist/{chunk-RJYPRWWS.js → chunk-NLN5SLU7.js} +4 -4
  26. package/dist/{chunk-FUNCQCKN.js → chunk-O3SD2HS6.js} +1 -1
  27. package/dist/{chunk-ENZBX4AR.js → chunk-PGAP2RLS.js} +1 -1
  28. package/dist/{chunk-JCG4575S.js → chunk-PN5IJPA5.js} +1 -1
  29. package/dist/{chunk-2FHNGMBT.js → chunk-POETCJUR.js} +2 -2
  30. package/dist/{chunk-NQDHGK7C.js → chunk-QP7AQEGZ.js} +3 -3
  31. package/dist/{chunk-QAGJ6FRE.js → chunk-SQYLAWQP.js} +5 -5
  32. package/dist/{chunk-LKL3SCBJ.js → chunk-TCHXA35K.js} +2 -2
  33. package/dist/{chunk-7ZCM6XEM.js → chunk-TK3WS7XE.js} +2 -2
  34. package/dist/{chunk-NI3LMETK.js → chunk-TQV4M3SB.js} +2 -2
  35. package/dist/{chunk-T5LLOSHE.js → chunk-WLHF5MVE.js} +2 -2
  36. package/dist/{chunk-A3SO6H47.js → chunk-WW65XEEE.js} +2 -2
  37. package/dist/{chunk-ZBX2CAOO.js → chunk-XFNHHGFR.js} +1 -1
  38. package/dist/{chunk-5LIFU57A.js → chunk-YJJMK5R5.js} +2 -2
  39. package/dist/{chunk-5FZBH3T5.js → chunk-YK7ZNV2C.js} +1 -1
  40. package/dist/{chunk-63GM4S25.js → chunk-YOLT2TPX.js} +1 -1
  41. package/dist/{chunk-KXTQOP3E.js → chunk-ZOEQL2YL.js} +2 -2
  42. package/dist/{chunk-LKA43GYA.js → chunk-ZW42VDR3.js} +1 -1
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.js +16 -16
  45. package/dist/meta.d.ts +1 -1
  46. package/dist/meta.js +7 -0
  47. package/dist/rich/ExcelUploadCard.js +3 -3
  48. package/dist/rich.d.ts +9 -1
  49. package/dist/rich.js +35 -27
  50. package/dist/{types-CMikpoN5.d.ts → types-CacjInOz.d.ts} +8 -1
  51. package/dist/widgets/ApprovalLineEditor.js +7 -7
  52. package/dist/widgets/ApprovalOverridesEditor.js +9 -9
  53. package/dist/widgets/ApprovalStepper.js +2 -2
  54. package/dist/widgets/AutocompleteField.js +7 -7
  55. package/dist/widgets/ColumnBoard.js +2 -2
  56. package/dist/widgets/DiffView.js +2 -2
  57. package/dist/widgets/Disclosure.js +2 -2
  58. package/dist/widgets/EventCalendar.js +3 -3
  59. package/dist/widgets/FileDropzone.js +5 -5
  60. package/dist/widgets/ImageLightbox.js +3 -3
  61. package/dist/widgets/InlineEdit.js +2 -2
  62. package/dist/widgets/JsonField.js +2 -2
  63. package/dist/widgets/OptionSchemaEditor.js +3 -3
  64. package/dist/widgets/OptionValueFields.js +3 -3
  65. package/dist/widgets/OrgChart.js +2 -2
  66. package/dist/widgets/OrgChartBoard.js +5 -5
  67. package/dist/widgets/PeriodFilter.js +4 -4
  68. package/dist/widgets/PermissionMatrixEditor.js +3 -3
  69. package/dist/widgets/PositionSelect.js +3 -3
  70. package/dist/widgets/PrintSheet.js +2 -2
  71. package/dist/widgets/ProfileEditDiffCard.js +3 -3
  72. package/dist/widgets/QRDisplay.js +3 -3
  73. package/dist/widgets/RankBoard.js +4 -4
  74. package/dist/widgets/RoleMemberPicker.js +4 -4
  75. package/dist/widgets/SearchableMultiPicker.js +5 -5
  76. package/dist/widgets/SecureScreen.js +2 -2
  77. package/dist/widgets/StagePeriodEditor.js +4 -4
  78. package/dist/widgets/TagInput.js +2 -2
  79. package/dist/widgets/TagMultiSelect.js +3 -3
  80. package/dist/widgets/Timeline.js +3 -3
  81. package/dist/widgets/TreePicker.js +6 -6
  82. package/dist/widgets/TreeView.js +5 -5
  83. package/dist/widgets/index.js +71 -71
  84. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Icon, Badge, Tooltip } from './chunk-OWM7E55U.js';
1
+ import { Icon, Badge, Tooltip } from './chunk-KIHN7DGA.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import React from 'react';
4
4
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
- import { ellipsisStyle, unwrapRows } from './chunk-63GM4S25.js';
2
- import { includesLooseSearch } from './chunk-KXTQOP3E.js';
3
- import { useSduiAdapter, hostFetchOf } from './chunk-ZBX2CAOO.js';
4
- import { Icon, Button, Input, Spinner } from './chunk-OWM7E55U.js';
1
+ import { ellipsisStyle, unwrapRows } from './chunk-YOLT2TPX.js';
2
+ import { includesLooseSearch } from './chunk-ZOEQL2YL.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,5 +1,5 @@
1
- import { DateRangePicker } from './chunk-KAQ2VZBM.js';
2
- import { SegmentedControl, Select } from './chunk-OWM7E55U.js';
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-L6ODTHTX.js';
4
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
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-OWM7E55U.js';
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-5FZBH3T5.js';
2
- import { Field, Input, Select, IconButton, Button } from './chunk-OWM7E55U.js';
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-ZBX2CAOO.js';
3
- import { Select, Button } from './chunk-OWM7E55U.js';
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-OWM7E55U.js';
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,4 +1,4 @@
1
- import { Icon, Badge } from './chunk-OWM7E55U.js';
1
+ import { Icon, Badge } from './chunk-KIHN7DGA.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import React from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  import { HoistedStyle } from './chunk-RIZRM7OO.js';
2
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
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-OWM7E55U.js';
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,4 +1,4 @@
1
- import { IconButton, Input } from './chunk-OWM7E55U.js';
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-OWM7E55U.js';
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,5 +1,5 @@
1
- import { DatePicker, TimePicker } from './chunk-KAQ2VZBM.js';
2
- import { Field } from './chunk-OWM7E55U.js';
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,4 +1,4 @@
1
- import { Icon } from './chunk-OWM7E55U.js';
1
+ import { Icon } from './chunk-KIHN7DGA.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import { useRef, useState, useEffect } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,6 +1,6 @@
1
- import { ImageLightbox } from './chunk-L6ODTHTX.js';
2
- import { useSduiSandbox, useSduiAdapter, hostRawFetchOf, defaultAdapter, useSduiAssetResolver } from './chunk-ZBX2CAOO.js';
3
- import { Spinner, Icon, IconButton } from './chunk-OWM7E55U.js';
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,4 +1,4 @@
1
- import { ImageViewer } from './chunk-JCG4575S.js';
1
+ import { ImageViewer } from './chunk-PN5IJPA5.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import { useState } from 'react';
4
4
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { Spinner, EmptyState } from './chunk-OWM7E55U.js';
1
+ import { Spinner, EmptyState } from './chunk-KIHN7DGA.js';
2
2
  import { useState, useEffect } from 'react';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -1,7 +1,7 @@
1
1
  import { fetchAllJobPositions } from './chunk-XRHR452N.js';
2
- import { useSduiDispatch, useSduiCan, SduiDialog } from './chunk-FUNCQCKN.js';
3
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
4
- import { Card, Input, Button, Icon, Badge, IconButton } from './chunk-OWM7E55U.js';
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-OWM7E55U.js';
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-QVNJMZUF.js';
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-OWM7E55U.js';
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,4 +1,4 @@
1
- import { Button } from './chunk-OWM7E55U.js';
1
+ import { Button } from './chunk-KIHN7DGA.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import { useEffect, useState } from 'react';
4
4
  import { jsxs, jsx } 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-QVNJMZUF.js';
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-OWM7E55U.js';
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,4 +1,4 @@
1
- import { Icon } from './chunk-OWM7E55U.js';
1
+ import { Icon } from './chunk-KIHN7DGA.js';
2
2
  import { boxed } from './chunk-3JTBOABA.js';
3
3
  import { useState, useId, useCallback } from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,5 +1,5 @@
1
- import { buildCascadingTree } from './chunk-KXTQOP3E.js';
2
- import { Input, IconButton, EmptyState, Icon, Badge } from './chunk-OWM7E55U.js';
1
+ import { buildCascadingTree } from './chunk-ZOEQL2YL.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,7 +1,7 @@
1
- import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-63GM4S25.js';
2
- import { includesLooseSearch } from './chunk-KXTQOP3E.js';
3
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
4
- import { Icon, Badge, IconButton, Field, Select, Input, Tag, Spinner, Button, isPlainObject } from './chunk-OWM7E55U.js';
1
+ import { orderCircleStyle, ellipsisStyle, unwrapRows, uid } from './chunk-YOLT2TPX.js';
2
+ import { includesLooseSearch } from './chunk-ZOEQL2YL.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
1
  import { OverlayLayer } from './chunk-R2ORCOTG.js';
2
- import { Dialog, Button, warnOnce } from './chunk-OWM7E55U.js';
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,4 +1,4 @@
1
- import { Textarea, Icon } from './chunk-OWM7E55U.js';
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-OWM7E55U.js';
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 { resolveTreeNodes, TreeView } from './chunk-SGR2QDEG.js';
1
+ import { resolveTreeNodes, TreeView } from './chunk-MSPBNI2M.js';
2
2
  import { OverlayLayer } from './chunk-R2ORCOTG.js';
3
- import { Field, Dialog, Icon, Button, Input } from './chunk-OWM7E55U.js';
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,6 +1,6 @@
1
- import { fetchAllPages } from './chunk-63GM4S25.js';
2
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
3
- import { Alert, Badge, Spinner, Button, Input, Checkbox } from './chunk-OWM7E55U.js';
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,8 +1,8 @@
1
- import { TagMultiSelect } from './chunk-LKL3SCBJ.js';
2
- import { ApprovalLineEditor, stepTypeIcon, stepLabel } from './chunk-RJYPRWWS.js';
3
- import { orderCircleStyle, unwrapRows, uid } from './chunk-63GM4S25.js';
4
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
5
- import { Card, Icon, Input, IconButton, Field, Button, Badge } from './chunk-OWM7E55U.js';
1
+ import { TagMultiSelect } from './chunk-TCHXA35K.js';
2
+ import { ApprovalLineEditor, stepTypeIcon, stepLabel } from './chunk-NLN5SLU7.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 { useSduiAdapter, hostFetchOf } from './chunk-ZBX2CAOO.js';
2
- import { Badge, Tag } from './chunk-OWM7E55U.js';
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-5FZBH3T5.js';
2
- import { Switch, Field, Select, Input } from './chunk-OWM7E55U.js';
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-ZBX2CAOO.js';
2
- import { Spinner, Icon } from './chunk-OWM7E55U.js';
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,6 +1,6 @@
1
- import { includesLooseSearch } from './chunk-KXTQOP3E.js';
1
+ import { includesLooseSearch } from './chunk-ZOEQL2YL.js';
2
2
  import { OverlayLayer } from './chunk-R2ORCOTG.js';
3
- import { Button, Dialog, Input, Tag, Checkbox } from './chunk-OWM7E55U.js';
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,5 +1,5 @@
1
- import { useSduiAdapter, hostFetchOf, defaultAdapter } from './chunk-ZBX2CAOO.js';
2
- import { Spinner, Badge, Icon } from './chunk-OWM7E55U.js';
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
1
  import { DEV } from './chunk-TAVKGYH5.js';
2
- import { warnOnce } from './chunk-OWM7E55U.js';
2
+ import { warnOnce } from './chunk-KIHN7DGA.js';
3
3
  import { createContext, useContext } from 'react';
4
4
 
5
5
  function isSafeNavigationTarget(to) {
@@ -1,5 +1,5 @@
1
- import { Disclosure } from './chunk-P62INTQ5.js';
2
- import { Icon } from './chunk-OWM7E55U.js';
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-OWM7E55U.js';
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,4 +1,4 @@
1
- import { isPlainObject } from './chunk-OWM7E55U.js';
1
+ import { isPlainObject } from './chunk-KIHN7DGA.js';
2
2
 
3
3
  // src/widgets/shared.ts
4
4
  function unwrapRows(payload) {
@@ -1,7 +1,7 @@
1
- import { DateRangePicker } from './chunk-KAQ2VZBM.js';
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-OWM7E55U.js';
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
 
@@ -1,5 +1,5 @@
1
1
  import { HoistedStyle } from './chunk-RIZRM7OO.js';
2
- import { Tag } from './chunk-OWM7E55U.js';
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-CMikpoN5.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-CMikpoN5.js';
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-WTQH2NI2.js';
2
- import { useSduiDispatch, SduiDialog, useSduiCan, useSduiRuntime, SduiDirtyRegistryContext, SduiLeaveRegistryContext, SduiFormScopeContext, SduiDispatchContext, SduiRuntimeContext, SduiPermissionProvider } from './chunk-FUNCQCKN.js';
3
- export { SduiDialog, SduiPermissionProvider, useSduiCan, useSduiDispatch, useSduiRuntime } from './chunk-FUNCQCKN.js';
4
- import { Text, Spacer, Show, Section, Row, PageHead, KeyValueList, Grid, Divider, Col, Actions } from './chunk-5FZBH3T5.js';
5
- export { Actions, Col, Divider, Grid, KeyValueList, PageHead, Row, Section, Show, Spacer, Text } from './chunk-5FZBH3T5.js';
6
- import { ImageViewer } from './chunk-JCG4575S.js';
7
- export { ImageViewer } from './chunk-JCG4575S.js';
8
- import { normalizeSearchFields, searchValuesFromParams, splitMultiValue, includesLooseSearch, cascadingValuePaths, SearchToolbar, searchFieldKeys, Popover } from './chunk-KXTQOP3E.js';
9
- export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-KXTQOP3E.js';
10
- import { parseYmd, YMD_RE, TimePicker, DateRangePicker, DatePicker } from './chunk-KAQ2VZBM.js';
11
- export { DatePicker, DateRangePicker, TimePicker } from './chunk-KAQ2VZBM.js';
12
- import './chunk-QVNJMZUF.js';
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-ZOEQL2YL.js';
9
+ export { SearchToolbar, cascadingValuePaths, cleanSearchValues, includesLooseSearch, joinMultiValue, normalizeSearchText, searchFieldKeys, searchValuesFromParams, splitMultiValue } from './chunk-ZOEQL2YL.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-ZBX2CAOO.js';
17
- export { defaultAdapter, useSduiAssetResolver, useSduiSandbox } from './chunk-ZBX2CAOO.js';
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-OWM7E55U.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-OWM7E55U.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-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
@@ -1,4 +1,4 @@
1
- import { b as SduiPropValue, i as SduiNode } from './types-CMikpoN5.js';
1
+ import { b as SduiPropValue, i as SduiNode } from './types-CacjInOz.js';
2
2
 
3
3
  /**
4
4
  * 시각 빌더용 컴포넌트 메타데이터 스키마.
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-WTQH2NI2.js';
2
- import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-ZBX2CAOO.js';
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-OWM7E55U.js';
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` 이식).