@wipco/sdui 1.4.2 → 1.6.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 (143) hide show
  1. package/dist/{DatePicker-C_TT_SOw.d.ts → DatePicker-DX9juElE.d.ts} +10 -1
  2. package/dist/{chunk-GZBY7I4Y.js → chunk-2KQL6DYG.js} +3 -3
  3. package/dist/{chunk-RYBBPFI7.js → chunk-2QXA52DG.js} +4 -4
  4. package/dist/{chunk-DMLDKW7K.js → chunk-37BNG4DT.js} +1 -1
  5. package/dist/{chunk-5WW4MBRO.js → chunk-3JTBOABA.js} +6 -2
  6. package/dist/{chunk-UV6HHFEW.js → chunk-4OABUPIU.js} +129 -68
  7. package/dist/{chunk-ZORQPB6B.js → chunk-53KS4E5N.js} +318 -359
  8. package/dist/{chunk-I5SD7XRA.js → chunk-6TI4WF5Y.js} +3 -3
  9. package/dist/{chunk-44TDRCKR.js → chunk-6XI2VF2O.js} +5 -5
  10. package/dist/{chunk-HBIIEYKW.js → chunk-7C54CKFZ.js} +4 -4
  11. package/dist/{chunk-IZ3JA2BR.js → chunk-7JP52QQO.js} +3 -3
  12. package/dist/{chunk-I45EUZC6.js → chunk-AY4GM6KQ.js} +4 -2
  13. package/dist/{chunk-SAPBDJJQ.js → chunk-AZSLSAJB.js} +2 -2
  14. package/dist/chunk-BITS7UJY.js +333 -0
  15. package/dist/{chunk-RNOUXUBO.js → chunk-BLFJMMBW.js} +306 -57
  16. package/dist/{chunk-YOZN35HD.js → chunk-CEVZAFPO.js} +3 -3
  17. package/dist/chunk-CI5OZ2QT.js +106 -0
  18. package/dist/{chunk-FNMS7OB7.js → chunk-CSE3PZOZ.js} +5 -5
  19. package/dist/chunk-CSZCWBOE.js +256 -0
  20. package/dist/{chunk-JIV4YHCZ.js → chunk-EJIWOD7W.js} +1 -1
  21. package/dist/{chunk-JZXU22PE.js → chunk-FEKKOBPX.js} +208 -117
  22. package/dist/chunk-GSM664TX.js +38 -0
  23. package/dist/{chunk-JYAR7D5U.js → chunk-HRHKQOOF.js} +2 -2
  24. package/dist/{chunk-CXW6KT6X.js → chunk-HXLQSO66.js} +3 -3
  25. package/dist/{chunk-O4IISNE7.js → chunk-IB2ZPUTF.js} +51 -12
  26. package/dist/{chunk-MPT7WJG2.js → chunk-IQXLNICY.js} +5 -5
  27. package/dist/{chunk-OQ52XMGG.js → chunk-K6RE23XX.js} +4 -4
  28. package/dist/{chunk-VY7MVBSE.js → chunk-KZ6U6FKB.js} +2 -2
  29. package/dist/{chunk-WPSK2CB5.js → chunk-LIZTK3HO.js} +16 -5
  30. package/dist/{chunk-Q4SWUINA.js → chunk-LKQJJSVJ.js} +1 -1
  31. package/dist/{chunk-E6ISNQK3.js → chunk-M6H3SHIS.js} +31 -8
  32. package/dist/chunk-MN4RZ2WP.js +380 -0
  33. package/dist/{chunk-GTGS2QRL.js → chunk-NA232CBX.js} +3 -3
  34. package/dist/{chunk-ZFNFPXPR.js → chunk-NAIWQQPW.js} +2 -2
  35. package/dist/{chunk-YVTV4ZV6.js → chunk-NWYYNE3Q.js} +1 -1
  36. package/dist/{chunk-DKVSM5HX.js → chunk-OUEJWC2Z.js} +6 -6
  37. package/dist/{chunk-DOL57OOP.js → chunk-OYDJHQNZ.js} +3 -3
  38. package/dist/{chunk-YWUDBLO6.js → chunk-QVS6K4FP.js} +2 -2
  39. package/dist/{chunk-N5RKM6IC.js → chunk-RU5U2YMT.js} +4 -4
  40. package/dist/{chunk-A6LAIGUS.js → chunk-V7BWMOHO.js} +7 -4
  41. package/dist/{chunk-2HLXCKK7.js → chunk-VPOOIEKT.js} +2 -2
  42. package/dist/{chunk-2YP5N4VV.js → chunk-VZOQRQAR.js} +1 -1
  43. package/dist/{chunk-GNA6SX2H.js → chunk-W4VA76QO.js} +2 -2
  44. package/dist/{chunk-BEM2YS7U.js → chunk-WEG3V7ZB.js} +3 -3
  45. package/dist/{chunk-XGFDY43I.js → chunk-WTIYILY3.js} +88 -18
  46. package/dist/{chunk-RWSH2MBU.js → chunk-X2NIRVLN.js} +73 -19
  47. package/dist/{chunk-AXGF4M57.js → chunk-XAXROQKB.js} +1 -1
  48. package/dist/{chunk-NIJUVTEW.js → chunk-XG22XKKD.js} +3 -3
  49. package/dist/{chunk-A5XQOEVH.js → chunk-YN7X7BEO.js} +4 -4
  50. package/dist/{chunk-KO6OEY3G.js → chunk-YNEEJCSZ.js} +3 -13
  51. package/dist/{chunk-7P7N43JV.js → chunk-YZTTFEL4.js} +2 -2
  52. package/dist/index.d.ts +494 -89
  53. package/dist/index.js +1098 -124
  54. package/dist/{layout-C3nRXMwb.d.ts → layout-DmRikwZb.d.ts} +5 -4
  55. package/dist/meta.d.ts +1 -1
  56. package/dist/meta.js +286 -22
  57. package/dist/rich/ExcelUploadCard.d.ts +1 -1
  58. package/dist/rich/ExcelUploadCard.js +5 -4
  59. package/dist/rich.d.ts +21 -3
  60. package/dist/rich.js +277 -35
  61. package/dist/styles.css +102 -4
  62. package/dist/{types-COjGKgmd.d.ts → types-CYfIthux.d.ts} +57 -1
  63. package/dist/widgets/ApprovalLineEditor.d.ts +1 -1
  64. package/dist/widgets/ApprovalLineEditor.js +9 -8
  65. package/dist/widgets/ApprovalOverridesEditor.d.ts +1 -1
  66. package/dist/widgets/ApprovalOverridesEditor.js +11 -10
  67. package/dist/widgets/ApprovalStepper.d.ts +29 -4
  68. package/dist/widgets/ApprovalStepper.js +3 -3
  69. package/dist/widgets/AutocompleteField.d.ts +1 -1
  70. package/dist/widgets/AutocompleteField.js +9 -8
  71. package/dist/widgets/ColumnBoard.d.ts +1 -1
  72. package/dist/widgets/ColumnBoard.js +3 -3
  73. package/dist/widgets/DiffView.d.ts +1 -1
  74. package/dist/widgets/DiffView.js +3 -3
  75. package/dist/widgets/Disclosure.d.ts +1 -1
  76. package/dist/widgets/Disclosure.js +3 -3
  77. package/dist/widgets/EventCalendar.d.ts +5 -1
  78. package/dist/widgets/EventCalendar.js +5 -3
  79. package/dist/widgets/FileDropzone.d.ts +1 -1
  80. package/dist/widgets/FileDropzone.js +9 -7
  81. package/dist/widgets/ImageLightbox.d.ts +1 -1
  82. package/dist/widgets/ImageLightbox.js +7 -5
  83. package/dist/widgets/InlineEdit.d.ts +1 -1
  84. package/dist/widgets/InlineEdit.js +3 -3
  85. package/dist/widgets/JsonField.d.ts +1 -1
  86. package/dist/widgets/JsonField.js +3 -3
  87. package/dist/widgets/LiveClock.d.ts +1 -1
  88. package/dist/widgets/LiveClock.js +2 -2
  89. package/dist/widgets/OptionSchemaEditor.d.ts +1 -1
  90. package/dist/widgets/OptionSchemaEditor.js +4 -4
  91. package/dist/widgets/OptionValueFields.d.ts +1 -1
  92. package/dist/widgets/OptionValueFields.js +4 -4
  93. package/dist/widgets/OrgChart.d.ts +1 -1
  94. package/dist/widgets/OrgChart.js +4 -4
  95. package/dist/widgets/OrgChartBoard.d.ts +15 -33
  96. package/dist/widgets/OrgChartBoard.js +10 -8
  97. package/dist/widgets/PeriodFilter.d.ts +1 -1
  98. package/dist/widgets/PeriodFilter.js +6 -5
  99. package/dist/widgets/PermissionMatrixEditor.d.ts +34 -2
  100. package/dist/widgets/PermissionMatrixEditor.js +6 -4
  101. package/dist/widgets/PositionSelect.d.ts +1 -1
  102. package/dist/widgets/PositionSelect.js +5 -4
  103. package/dist/widgets/PrintSheet.d.ts +15 -2
  104. package/dist/widgets/PrintSheet.js +3 -3
  105. package/dist/widgets/ProfileEditDiffCard.d.ts +1 -1
  106. package/dist/widgets/ProfileEditDiffCard.js +5 -4
  107. package/dist/widgets/QRDisplay.d.ts +1 -1
  108. package/dist/widgets/QRDisplay.js +5 -4
  109. package/dist/widgets/RankBoard.d.ts +1 -1
  110. package/dist/widgets/RankBoard.js +8 -6
  111. package/dist/widgets/RecordSheet.d.ts +1 -1
  112. package/dist/widgets/RecordSheet.js +2 -2
  113. package/dist/widgets/RoleMemberPicker.d.ts +1 -1
  114. package/dist/widgets/RoleMemberPicker.js +6 -5
  115. package/dist/widgets/SearchableMultiPicker.d.ts +1 -1
  116. package/dist/widgets/SearchableMultiPicker.js +7 -6
  117. package/dist/widgets/SecureScreen.d.ts +1 -1
  118. package/dist/widgets/SecureScreen.js +3 -3
  119. package/dist/widgets/StackedMeter.d.ts +1 -1
  120. package/dist/widgets/StackedMeter.js +2 -2
  121. package/dist/widgets/StagePeriodEditor.d.ts +1 -1
  122. package/dist/widgets/StagePeriodEditor.js +6 -5
  123. package/dist/widgets/Strip.d.ts +1 -1
  124. package/dist/widgets/Strip.js +2 -2
  125. package/dist/widgets/SummaryTable.d.ts +1 -1
  126. package/dist/widgets/SummaryTable.js +2 -2
  127. package/dist/widgets/TagInput.d.ts +1 -1
  128. package/dist/widgets/TagInput.js +3 -3
  129. package/dist/widgets/TagMultiSelect.d.ts +1 -1
  130. package/dist/widgets/TagMultiSelect.js +5 -4
  131. package/dist/widgets/Timeline.d.ts +1 -1
  132. package/dist/widgets/Timeline.js +4 -4
  133. package/dist/widgets/TreePicker.d.ts +1 -1
  134. package/dist/widgets/TreePicker.js +8 -7
  135. package/dist/widgets/TreeView.d.ts +1 -1
  136. package/dist/widgets/TreeView.js +7 -6
  137. package/dist/widgets/index.d.ts +3 -3
  138. package/dist/widgets/index.js +84 -83
  139. package/package.json +1 -1
  140. package/dist/chunk-LFEJLOFN.js +0 -352
  141. package/dist/chunk-MMIGOPO5.js +0 -111
  142. package/dist/chunk-TFGNKFL2.js +0 -39
  143. package/dist/chunk-XQPTSEJC.js +0 -135
@@ -209,10 +209,11 @@ declare function typographyStyle(props: {
209
209
  /**
210
210
  * 새 어휘가 필요로 하는 **최소한의** CSS.
211
211
  *
212
- * 여기 들어온 것은 인라인 style로 표현할 수 없는 둘뿐이다:
212
+ * 여기 들어온 것은 인라인 style로 표현할 수 없는 것뿐이다:
213
213
  * · `.wp-truncate` — 선언이 여럿이라 묶는 편이 낫다
214
- * · `.wp-grid--1/5/6` — 미디어 쿼리가 필요하다. 인라인 `grid-template-columns`로 내면
215
- * 좁은 화면에서 열이 접히는 기존 동작(`.wp-grid--3/4` → 2열 → 1열)을 잃는다.
214
+ * · `.wp-grid--1/5/6`·`.wp-grid--custom` — 미디어 쿼리가 필요하다. 인라인
215
+ * `grid-template-columns`로 내면 좁은 화면에서 열이 접히는 동작을 잃는다.
216
+ * · `.wp-kv__v--block`·카드 포커스 링 — 새 프롭이 켜는 클래스·상태 선택자다.
216
217
  *
217
218
  * 나머지(gap·align·justify·wrap·grow·shrink·span·selfAlign·weight·textAlign)는 전부
218
219
  * 인라인이라 CSS가 없다. 규칙을 적게 낼수록 두 시트와 충돌할 자리도 줄어든다 —
@@ -222,6 +223,6 @@ declare function typographyStyle(props: {
222
223
  * **한 번도 로드하지 않는다**(`main.tsx`가 자기 `styles/index.css`만 import한다).
223
224
  * 시트에 넣으면 ERP에서 규칙이 도달하지 못해 `truncate`·5열/6열이 죽는다.
224
225
  */
225
- declare const LAYOUT_CSS = "\n.wp-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}\n.wp-grid--1{grid-template-columns:minmax(0,1fr)}\n.wp-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}\n.wp-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}\n@media (max-width:900px){.wp-grid--5,.wp-grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media (max-width:600px){.wp-grid--5,.wp-grid--6{grid-template-columns:minmax(0,1fr)}}\n";
226
+ declare const LAYOUT_CSS = "\n.wp-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}\n.wp-grid--1{grid-template-columns:minmax(0,1fr)}\n.wp-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}\n.wp-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}\n.wp-grid--custom{grid-template-columns:var(--wp-grid-template)}\n@media screen and (max-width:1023.98px){.wp-grid--5:where(:not(.wp-grid--nocollapse)),.wp-grid--6:where(:not(.wp-grid--nocollapse)){grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media screen and (max-width:767.98px){.wp-grid--5:where(:not(.wp-grid--nocollapse)),.wp-grid--6:where(:not(.wp-grid--nocollapse)),.wp-grid--custom:where(:not(.wp-grid--nocollapse)){grid-template-columns:minmax(0,1fr)}}\n.wp-kv__v{min-width:0;overflow-wrap:anywhere}\n.wp-kv>.wp-kv__v--block{grid-column:1/-1;text-align:left;white-space:pre-wrap}\n.wp-card--interactive[role=button]:focus-visible{outline:none;box-shadow:var(--wp-ring-focus)}\n";
226
227
 
227
228
  export { CHILD_LAYOUT_PROPS as C, LAYOUT_CSS as L, type SduiBoxProps as S, type SduiContainerLayoutProps as a, type SduiColumnsScale as b, type SduiGapScale as c, type SduiWeightScale as d, type SduiTextAlignScale as e, type SduiAlignScale as f, type SduiChildLayoutProps as g, type SduiSizeScale as h, type SduiSpanScale as i, childLayoutFrom as j, columnsClass as k, containerLayoutStyle as l, joinClass as m, mergeStyle as n, typographyStyle as t };
package/dist/meta.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { b as SduiPropValue, i as SduiNode } from './types-COjGKgmd.js';
1
+ import { b as SduiPropValue, i as SduiNode } from './types-CYfIthux.js';
2
2
 
3
3
  /**
4
4
  * 시각 빌더용 컴포넌트 메타데이터 스키마.
package/dist/meta.js CHANGED
@@ -493,7 +493,14 @@ var CardMeta = {
493
493
  ],
494
494
  group: "appearance"
495
495
  },
496
- { name: "interactive", kind: "boolean", label: "\uD074\uB9AD \uAC00\uB2A5 \uD45C\uC2DC", default: false, group: "appearance" },
496
+ {
497
+ name: "interactive",
498
+ kind: "boolean",
499
+ label: "\uD074\uB9AD \uAC00\uB2A5 \uD45C\uC2DC",
500
+ default: false,
501
+ description: "\uD074\uB9AD(onClick)\uACFC \uD568\uAED8 \uC8FC\uBA74 \uD0A4\uBCF4\uB4DC\uB85C\uB3C4 \uB204\uB97C \uC218 \uC788\uB2E4 \u2014 Tab \uC73C\uB85C \uD3EC\uCEE4\uC2A4, Enter\xB7Space \uB85C \uC2E4\uD589.",
502
+ group: "appearance"
503
+ },
497
504
  { name: "selected", kind: "boolean", label: "\uC120\uD0DD\uB428", default: false, bindable: true, group: "appearance" },
498
505
  { name: "onClick", kind: "action", label: "\uD074\uB9AD", group: "behavior" },
499
506
  styleProp,
@@ -593,7 +600,15 @@ var GridMeta = {
593
600
  name: "template",
594
601
  kind: "string",
595
602
  label: "\uCEE4\uC2A4\uD140 \uD2B8\uB799",
596
- description: 'grid-template-columns \uAC12. \uC608: "minmax(0,1.6fr) minmax(0,1fr)". columns\uB97C \uBB34\uC2DC\uD55C\uB2E4.',
603
+ description: 'grid-template-columns \uAC12. \uC608: "minmax(0,1.6fr) minmax(0,1fr)". columns\uB97C \uBB34\uC2DC\uD55C\uB2E4. \uBAA8\uBC14\uC77C(\u2264767px)\uC5D0\uC11C\uB294 \uD55C \uCE78\uC73C\uB85C \uC811\uD78C\uB2E4 \u2014 \uC811\uC9C0 \uC54A\uC73C\uB824\uBA74 \uBAA8\uBC14\uC77C \uC811\uAE30\uB97C \uB048\uB2E4.',
604
+ group: "layout"
605
+ },
606
+ {
607
+ name: "collapse",
608
+ kind: "boolean",
609
+ label: "\uBAA8\uBC14\uC77C\uC5D0\uC11C \uD55C \uCE78\uC73C\uB85C",
610
+ default: true,
611
+ description: '\uC881\uC740 \uD654\uBA74\uC5D0\uC11C \uCE78\uC744 \uC138\uB85C\uB85C \uC313\uB294\uB2E4(template\xB75\xB76\uC5F4). \uB044\uBA74 \uD2B8\uB799\uC744 \uC9C0\uD0A8\uB2E4 \u2014 "A \u2192 B [x]"\uCC98\uB7FC \uCE78 \uC0AC\uC774 \uAD00\uACC4\uAC00 \uB73B\uC778 \uC904\uC5D0\uB9CC \uB048\uB2E4.',
597
612
  group: "layout"
598
613
  },
599
614
  {
@@ -1013,6 +1028,13 @@ var DatePickerMeta = {
1013
1028
  description: "\uAC12\uC774 'YYYY-MM-DDTHH:mm'\uC774 \uB41C\uB2E4 \u2014 \uBE0C\uB77C\uC6B0\uC800 datetime-local\uACFC \uAC19\uC740 \uBAA8\uC591.",
1014
1029
  group: "behavior"
1015
1030
  },
1031
+ {
1032
+ name: "zoned",
1033
+ kind: "boolean",
1034
+ label: "\uC2DC\uAC04\uB300 \uBD99\uC5EC \uC800\uC7A5",
1035
+ description: "\uC2DC\uAC01 \uCE78\uC758 \uAC12\uC744 '2026-07-03T01:00:00+09:00'\uCC98\uB7FC \uC2DC\uAC04\uB300\uB97C \uBD99\uC5EC \uB3CC\uB824\uC900\uB2E4. \uC0DD\uB7B5\uD558\uBA74 \uB4E4\uC5B4\uC628 \uAC12\uC5D0 \uC2DC\uAC04\uB300\uAC00 \uC788\uC744 \uB54C\uB9CC \uBD99\uC778\uB2E4 \u2014 timestamptz \uC5F4\uC5D0 \uC0C8\uB85C \uC785\uB825\uD558\uB294 \uB4F1\uB85D \uCE78\uC740 \uCF20\uB2E4. \uC2DC\uAC04\uB300\uAC00 \uBD99\uC740 \uAC12\uC740 \uC5B8\uC81C\uB098 \uD604\uC9C0 \uC2DC\uAC01\uC73C\uB85C \uBCF4\uC778\uB2E4.",
1036
+ group: "behavior"
1037
+ },
1016
1038
  {
1017
1039
  name: "size",
1018
1040
  kind: "enum",
@@ -1218,7 +1240,7 @@ var FormMeta = {
1218
1240
  kind: "boolean",
1219
1241
  label: "\uC774\uD0C8 \uACBD\uACE0",
1220
1242
  default: false,
1221
- description: "\uC791\uC131 \uC911(dirty)\uC5D0 \uC0C8\uB85C\uACE0\uCE68\xB7\uCC3D \uB2EB\uAE30\uB97C \uD558\uBA74 \uD655\uC778\uC744 \uB744\uC6B4\uB2E4.",
1243
+ description: "\uC791\uC131 \uC911(dirty)\uC5D0 \uC0C8\uB85C\uACE0\uCE68\xB7\uCC3D \uB2EB\uAE30\uC640 \uC571 \uC548 \uC774\uB3D9 \uC804\uC5D0 \uD655\uC778\uC744 \uB744\uC6B4\uB2E4(\uD398\uC774\uC9C0 \uC774\uD0C8 \uAC00\uB4DC \u2014 page.leaveGuard \uC640 \uAC19\uC740 \uD1B5\uB85C, \uC800\uC7A5 \uC9C1\uD6C4 \uC774\uB3D9\uC740 \uBB3B\uC9C0 \uC54A\uC74C). Form \uC5C6\uC774 \uC0C1\uD0DC\uB85C \uC785\uB825\uC744 \uBAA8\uC73C\uB294 \uD654\uBA74\uC740 page.leaveGuard \uC5D0 $state \uC2DD\uC744 \uC900\uB2E4.",
1222
1244
  group: "behavior"
1223
1245
  },
1224
1246
  {
@@ -1660,6 +1682,25 @@ var KeyValueListMeta = {
1660
1682
  kind: "string",
1661
1683
  label: "\uD0DC\uADF8 \uC811\uB450\uC5B4",
1662
1684
  description: "\uAC12\uC774 \uBB38\uC790\uC5F4 \uBC30\uC5F4\uC774\uBA74 \uD0DC\uADF8\uB85C \uADF8\uB9B0\uB2E4 \u2014 \uADF8\uB54C \uAC01 \uC55E\uC5D0 \uBD99\uC77C \uAE00\uC790(\uC608: #). \uBE48 \uBC30\uC5F4\uC740 \u2014."
1685
+ },
1686
+ {
1687
+ name: "format",
1688
+ kind: "enum",
1689
+ label: "\uD45C\uC2DC \uC11C\uC2DD",
1690
+ description: '\uB0A0\uC9DC\xB7\uC77C\uC2DC\xB7\uC2DC\uAC01\uC740 \uD55C\uAD6D \uC2DC\uAC01\uC73C\uB85C, \uC22B\uC790\xB7\uAE08\uC561\uC740 \uCC9C \uB2E8\uC704 \uC27C\uD45C\uB85C. \uC8FC\uC9C0 \uC54A\uC544\uB3C4 \uC2DC\uAC04\uB300\uAC00 \uBD99\uC740 \uC11C\uBC84 \uC77C\uC2DC(\u2026T01:27:23+00:00)\uB294 "YYYY-MM-DD HH:mm"\uC73C\uB85C \uBC14\uB010\uB2E4.',
1691
+ options: [
1692
+ { value: "date", label: "\uB0A0\uC9DC (YYYY-MM-DD)" },
1693
+ { value: "datetime", label: "\uC77C\uC2DC (YYYY-MM-DD HH:mm)" },
1694
+ { value: "time", label: "\uC2DC\uAC01 (HH:mm)" },
1695
+ { value: "number", label: "\uC22B\uC790 (1,234)" },
1696
+ { value: "currency", label: "\uAE08\uC561 (1,234\uC6D0)" }
1697
+ ]
1698
+ },
1699
+ {
1700
+ name: "block",
1701
+ kind: "boolean",
1702
+ label: "\uAE34 \uAE00\uB85C \uD45C\uC2DC",
1703
+ description: "\uAC12\uC744 \uB77C\uBCA8 \uC544\uB798 \uC804\uCCB4 \uD3ED\uC5D0 \uC67C\uCABD \uC815\uB82C\uB85C(\uC904\uBC14\uAFC8 \uC720\uC9C0). \uC8FC\uC9C0 \uC54A\uC73C\uBA74 \uC904\uBC14\uAFC8\uC774 \uC788\uAC70\uB098 80\uC790\uB97C \uB118\uB294 \uAE00\uC77C \uB54C \uC790\uB3D9\uC73C\uB85C \uCF1C\uC9C4\uB2E4."
1663
1704
  }
1664
1705
  ]
1665
1706
  },
@@ -1687,7 +1728,16 @@ var StatCardMeta = {
1687
1728
  description: "\uC22B\uC790 \uD558\uB098\uB97C \uAC15\uC870\uD558\uB294 \uCE74\uB4DC. \uB300\uC2DC\uBCF4\uB4DC\uC758 \uAE30\uBCF8 \uD0C0\uC77C\uC774\uB2E4.",
1688
1729
  props: [
1689
1730
  { name: "label", kind: "node", label: "\uB77C\uBCA8", required: true, slot: true, group: "content" },
1690
- { name: "value", kind: "node", label: "\uAC12", required: true, slot: true, bindable: true, group: "data" },
1731
+ {
1732
+ name: "value",
1733
+ kind: "node",
1734
+ label: "\uAC12",
1735
+ required: true,
1736
+ slot: true,
1737
+ bindable: true,
1738
+ description: "\uC22B\uC790\uBA74 \uCC9C \uB2E8\uC704 \uC27C\uD45C\uB97C \uB123\uC5B4 \uADF8\uB9B0\uB2E4(11200 \u2192 11,200). \uBB38\uC790\uC5F4\uC740 \uADF8\uB300\uB85C.",
1739
+ group: "data"
1740
+ },
1691
1741
  { name: "unit", kind: "string", label: "\uB2E8\uC704", description: '"GB", "\uAC74", "%"', group: "content" },
1692
1742
  { name: "delta", kind: "node", label: "\uBE44\uAD50 \uD14D\uC2A4\uD2B8", description: '"+12.4%"', slot: true, bindable: true, group: "content" },
1693
1743
  {
@@ -1872,7 +1922,7 @@ var PaginationMeta = {
1872
1922
  label: "\uD398\uC774\uC9C0 \uC774\uB3D9",
1873
1923
  category: "data",
1874
1924
  icon: "chevron-right",
1875
- description: '\uD398\uC774\uC9C0 \uBC88\uD638 \uBC14. total\uACFC pageSize\uB97C \uD568\uAED8 \uC8FC\uBA74 "1\u201310 / 240"\uC774 \uD45C\uC2DC\uB41C\uB2E4.',
1925
+ description: '\uD398\uC774\uC9C0 \uBC88\uD638 \uBC14. total\uACFC pageSize\uB97C \uD568\uAED8 \uC8FC\uBA74 "1\u201310 / 240"\uC774 \uD45C\uC2DC\uB41C\uB2E4(0\uAC74\uC774\uBA74 "0\uAC74").',
1876
1926
  props: [
1877
1927
  { name: "page", kind: "number", label: "\uD604\uC7AC \uD398\uC774\uC9C0", required: true, default: 1, bindable: true, group: "data" },
1878
1928
  { name: "pageCount", kind: "number", label: "\uC804\uCCB4 \uD398\uC774\uC9C0 \uC218", required: true, default: 1, bindable: true, group: "data" },
@@ -1923,6 +1973,19 @@ var TableMeta = {
1923
1973
  { name: "toneMap", kind: "object", label: "\uAC12 \u2192 \uD1A4" },
1924
1974
  { name: "labelMap", kind: "object", label: "\uAC12 \u2192 \uD45C\uC2DC \uBB38\uAD6C" }
1925
1975
  ]
1976
+ },
1977
+ {
1978
+ name: "format",
1979
+ kind: "enum",
1980
+ label: "\uD45C\uC2DC \uC11C\uC2DD",
1981
+ description: '\uB0A0\uC9DC\xB7\uC77C\uC2DC\xB7\uC2DC\uAC01\uC740 \uD55C\uAD6D \uC2DC\uAC01\uC73C\uB85C, \uC22B\uC790\xB7\uAE08\uC561\uC740 \uCC9C \uB2E8\uC704 \uC27C\uD45C\uB85C. \uC8FC\uC9C0 \uC54A\uC544\uB3C4 \uC2DC\uAC04\uB300\uAC00 \uBD99\uC740 \uC11C\uBC84 \uC77C\uC2DC\uB294 "YYYY-MM-DD HH:mm"\uC73C\uB85C \uBC14\uB010\uB2E4.',
1982
+ options: [
1983
+ { value: "date", label: "\uB0A0\uC9DC (YYYY-MM-DD)" },
1984
+ { value: "datetime", label: "\uC77C\uC2DC (YYYY-MM-DD HH:mm)" },
1985
+ { value: "time", label: "\uC2DC\uAC01 (HH:mm)" },
1986
+ { value: "number", label: "\uC22B\uC790 (1,234)" },
1987
+ { value: "currency", label: "\uAE08\uC561 (1,234\uC6D0)" }
1988
+ ]
1926
1989
  }
1927
1990
  ]
1928
1991
  },
@@ -1961,13 +2024,30 @@ var TableMeta = {
1961
2024
  },
1962
2025
  { name: "rowKey", kind: "string", label: "\uD589 key \uD544\uB4DC", default: "id", group: "data", advanced: true },
1963
2026
  { name: "onRowClick", kind: "action", label: "\uD589 \uD074\uB9AD", eventArg: "\uD589 \uAC1D\uCCB4 \uC804\uCCB4", group: "behavior" },
1964
- { name: "empty", kind: "node", label: "\uBE48 \uBAA9\uB85D \uD45C\uC2DC", slot: true, description: "EmptyState \uAD8C\uC7A5", group: "content" },
2027
+ { name: "empty", kind: "node", label: "\uBE48 \uBAA9\uB85D \uD45C\uC2DC", slot: true, description: 'EmptyState \uAD8C\uC7A5. \uC5C6\uC73C\uBA74 \uBA38\uB9AC\uAE00 \uC544\uB798 "\uBE48 \uD45C \uBB38\uAD6C" \uD55C \uC904\uC774 \uC120\uB2E4.', group: "content" },
2028
+ {
2029
+ name: "emptyText",
2030
+ kind: "string",
2031
+ label: "\uBE48 \uD45C \uBB38\uAD6C",
2032
+ description: 'empty \uC2AC\uB86F \uC5C6\uC774 \uBE44\uC5C8\uC744 \uB54C \uD45C \uC548\uC5D0 \uB193\uB294 \uD55C \uC904. \uC0DD\uB7B5\uD558\uBA74 "\uD45C\uC2DC\uD560 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4".',
2033
+ group: "content"
2034
+ },
2035
+ {
2036
+ name: "stackable",
2037
+ kind: "boolean",
2038
+ label: "\uBAA8\uBC14\uC77C \uD589 \uCE74\uB4DC",
2039
+ default: true,
2040
+ description: "\uC881\uC740 \uD654\uBA74(\u2264767px)\uC5D0\uC11C \uD589\uC744 \uCE74\uB4DC\uB85C \uC313\uB294\uB2E4(\uBA38\uB9AC\uAE00\uC774 \uCE78 \uC774\uB984\uC774 \uB41C\uB2E4). \uB044\uBA74 \uD45C \uADF8\uB300\uB85C \uC606\uC73C\uB85C \uBBF8\uB294 \uC0C1\uC790\uAC00 \uB41C\uB2E4 \u2014 \uC5F4\uC774 \uB9CE\uC740 \uC9D1\uACC4\uD45C\uC5D0. sticky \uD45C\uB294 \uAE30\uBCF8\uC774 \uAEBC\uC9D0(\uACE0\uC815 \uBA38\uB9AC\uAE00\uACFC \uD589 \uCE74\uB4DC\uB294 \uC5B4\uAE0B\uB09C\uB2E4).",
2041
+ group: "appearance",
2042
+ advanced: true
2043
+ },
1965
2044
  styleProp,
1966
2045
  classNameProp
1967
2046
  ],
1968
2047
  // 컬럼·행이 전부 프롭이다 — 자식을 넣어도 렌더되지 않는다.
1969
2048
  children: { accepts: false },
1970
- dom: { element: "table", slotElement: { empty: "fragment" } },
2049
+ // 비고정 표는 가로 스크롤 상자(div.wp-table-scroll)로 감싸 나간다 — sticky 일 때만 table 이 루트다.
2050
+ dom: { element: "div", slotElement: { empty: "fragment" } },
1971
2051
  preset: {
1972
2052
  component: "Table",
1973
2053
  props: {
@@ -2107,11 +2187,26 @@ var searchCommonProps = [
2107
2187
  item: [
2108
2188
  { name: "key", kind: "string", label: "\uD589\uC758 \uD544\uB4DC", required: true },
2109
2189
  { name: "title", kind: "string", label: "\uBA38\uB9AC\uAE00", required: true },
2110
- { name: "sortable", kind: "boolean", label: "\uC815\uB82C \uAC00\uB2A5" },
2190
+ {
2191
+ name: "sortable",
2192
+ kind: "boolean",
2193
+ label: "\uC815\uB82C \uAC00\uB2A5",
2194
+ description: "\uBA38\uB9AC\uB97C \uB204\uB974\uBA74 sort\xB7order \uD30C\uB77C\uBBF8\uD130\uAC00 \uBC14\uB010\uB2E4. \uC804 \uD589\uC774 \uB85C\uB4DC\uB41C \uBAA9\uB85D\uC740 \uD654\uBA74\uC5D0\uC11C \uC815\uB82C\uD558\uACE0, \uC11C\uBC84 \uD398\uC774\uC9D5 \uBAA9\uB85D\uC740 \uC11C\uBC84\uAC00 \uC804\uCCB4\uB97C \uC815\uB82C\uD55C 1\uCABD\uC744 \uB2E4\uC2DC \uBC1B\uB294\uB2E4 \u2014 \uC11C\uBC84\uAC00 \uC815\uB82C \uBA54\uC544\uB9AC(sort)\uB97C \uC8FC\uC9C0 \uC54A\uC73C\uBA74 \uC815\uB82C \uBA38\uB9AC\uAC00 \uAEBC\uC9C4\uB2E4."
2195
+ },
2111
2196
  { name: "textAlign", kind: "enum", label: "\uC815\uB82C", options: [{ value: "left", label: "\uC67C\uCABD" }, { value: "right", label: "\uC624\uB978\uCABD" }] },
2112
2197
  { name: "ratio", kind: "number", label: "\uD3ED \uBE44\uC728" },
2113
2198
  { name: "mono", kind: "boolean", label: "\uACE0\uC815\uD3ED \uAE00\uAF34" },
2114
2199
  { name: "strong", kind: "boolean", label: "\uAD75\uAC8C" },
2200
+ {
2201
+ name: "mobile",
2202
+ kind: "enum",
2203
+ label: "\uBAA8\uBC14\uC77C \uCE74\uB4DC \uC5ED\uD560",
2204
+ description: "\uC881\uC740 \uD654\uBA74(\u2264767px)\uC5D0\uC11C \uD45C\uAC00 \uD589 \uCE74\uB4DC\uB85C \uC313\uC77C \uB54C \uC774 \uC5F4\uC758 \uC790\uB9AC. \uC0DD\uB7B5\uD558\uBA74 \uB77C\uBCA8 \uBD99\uC740 \uBCF4\uD1B5 \uC904\uC774\uB2E4. \uC544\uBB34 \uC5F4\uB3C4 \uBA38\uB9AC\uAC00 \uC544\uB2C8\uBA74 \uCE74\uB4DC \uC81C\uBAA9 \uD544\uB4DC(gridCard.titleKey) \uC5F4, \uADF8\uB2E4\uC74C \uCCAB \uAD75\uC740 \uC5F4\uC774 \uBA38\uB9AC\uAC00 \uB41C\uB2E4.",
2205
+ options: [
2206
+ { value: "title", label: "\uCE74\uB4DC \uBA38\uB9AC" },
2207
+ { value: "hide", label: "\uBAA8\uBC14\uC77C\uC5D0\uC11C \uC228\uAE40" }
2208
+ ]
2209
+ },
2115
2210
  {
2116
2211
  name: "cell",
2117
2212
  kind: "object",
@@ -2174,6 +2269,27 @@ var searchCommonProps = [
2174
2269
  { name: "options", kind: "array", label: "\uC635\uC158", description: "{ key, label, value }" }
2175
2270
  ]
2176
2271
  },
2272
+ {
2273
+ name: "tabs",
2274
+ kind: "object",
2275
+ label: "\uAD6C\uBD84 \uD0ED",
2276
+ description: "\uBAA9\uB85D \uB9E8 \uC704(\uD234\uBC14 \uC704)\uC758 \uD0ED. \uACE0\uB978 \uD0ED\uC758 value\uAC00 key \uD30C\uB77C\uBBF8\uD130\uAC00 \uB418\uACE0 \uBE48 value \uD0ED\uC740 \uD30C\uB77C\uBBF8\uD130\uB97C \uC9C0\uC6B4\uB2E4(= \uC804\uCCB4). value\uC5D0 \uC27C\uD45C\uB97C \uB123\uC73C\uBA74 \uC5EC\uB7EC \uAC12 \uC911 \uD558\uB098. \uD0ED\uC744 \uBC14\uAFB8\uBA74 1\uD398\uC774\uC9C0\uB85C \uB3CC\uC544\uAC04\uB2E4.",
2277
+ group: "data",
2278
+ fields: [
2279
+ { name: "key", kind: "string", label: "\uCFFC\uB9AC \uD0A4", required: true },
2280
+ {
2281
+ name: "items",
2282
+ kind: "array",
2283
+ label: "\uD0ED",
2284
+ required: true,
2285
+ item: [
2286
+ { name: "value", kind: "string", label: "\uAC12", description: "\uBE48 \uBB38\uC790\uC5F4 = \uC804\uCCB4", required: true },
2287
+ { name: "label", kind: "string", label: "\uB77C\uBCA8", required: true },
2288
+ { name: "icon", kind: "icon", label: "\uC544\uC774\uCF58" }
2289
+ ]
2290
+ }
2291
+ ]
2292
+ },
2177
2293
  {
2178
2294
  name: "gridCard",
2179
2295
  kind: "object",
@@ -2250,6 +2366,7 @@ var searchCommonProps = [
2250
2366
  name: "initialView",
2251
2367
  kind: "enum",
2252
2368
  label: "\uCD08\uAE30 \uBCF4\uAE30",
2369
+ description: "\uCE74\uB4DC \uBCF4\uAE30\uAC00 \uC788\uB294 \uBAA9\uB85D\uC740 \uBAA8\uBC14\uC77C(\u2264767px)\uC5D0\uC11C \uC774 \uAC12\uACFC \uBB34\uAD00\uD558\uAC8C \uCE74\uB4DC\uB85C \uC2DC\uC791\uD55C\uB2E4. \uC0AC\uC6A9\uC790\uAC00 \uACE0\uB978 \uBCF4\uAE30\uB294 \uAC19\uC740 \uD0ED(\uC138\uC158) \uB3D9\uC548 \uAE30\uC5B5\uB41C\uB2E4.",
2253
2370
  options: [
2254
2371
  { value: "list", label: "\uBAA9\uB85D" },
2255
2372
  { value: "grid", label: "\uACA9\uC790" }
@@ -2291,6 +2408,22 @@ var searchCommonProps = [
2291
2408
  { name: "disableGrid", kind: "boolean", label: "\uACA9\uC790 \uBCF4\uAE30 \uB044\uAE30", description: "views\uC758 \uCD95\uC57D\uD615", group: "appearance" },
2292
2409
  { name: "disableList", kind: "boolean", label: "\uBAA9\uB85D \uBCF4\uAE30 \uB044\uAE30", description: "views\uC758 \uCD95\uC57D\uD615", group: "appearance" },
2293
2410
  { name: "searchPlaceholder", kind: "string", label: "\uAC80\uC0C9\uCC3D \uC548\uB0B4 \uBB38\uAD6C", group: "content" },
2411
+ {
2412
+ name: "emptyTitle",
2413
+ kind: "string",
2414
+ label: "\uBE48 \uBAA9\uB85D \uC81C\uBAA9",
2415
+ description: '\uAC80\uC0C9\xB7\uD544\uD130 \uC5C6\uC774 \uBE44\uC5C8\uC744 \uB54C\uC758 \uBB38\uAD6C. \uC0DD\uB7B5\uD558\uBA74 "\uC544\uC9C1 {\uBAA9\uB85D \uC81C\uBAA9}\uC774/\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4". \uC870\uAC74\uC774 \uAC78\uB9B0 \uCC44 \uBE44\uBA74 \uC774 \uAC12\uACFC \uBB34\uAD00\uD558\uAC8C "\uC870\uAC74\uC5D0 \uB9DE\uB294 \u2026\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"\uC640 \uC870\uAC74 \uCD08\uAE30\uD654 \uBC84\uD2BC\uC774 \uB098\uC628\uB2E4.',
2416
+ group: "content"
2417
+ },
2418
+ { name: "emptyText", kind: "string", label: "\uBE48 \uBAA9\uB85D \uBCF4\uC870 \uBB38\uAD6C", description: "\uAC80\uC0C9\xB7\uD544\uD130 \uC5C6\uC774 \uBE44\uC5C8\uC744 \uB54C \uC81C\uBAA9 \uC544\uB798", group: "content" },
2419
+ {
2420
+ name: "queryStateKey",
2421
+ kind: "string",
2422
+ label: "\uC870\uD68C \uC870\uAC74 \uC0C1\uD0DC \uD0A4",
2423
+ description: '\uC9C0\uAE08\uC758 \uAC80\uC0C9\uC5B4\xB7\uC0C1\uC138\uAC80\uC0C9\xB7\uD544\uD130\xB7\uAD6C\uBD84 \uD0ED\xB7\uC815\uB82C(page/limit \uC81C\uC678)\uC744 \uCFFC\uB9AC \uBB38\uC790\uC5F4\uB85C \uC774 \uC0C1\uD0DC \uD0A4\uC5D0 \uC801\uC5B4 \uB454\uB2E4. \uAC19\uC740 \uC870\uAC74\uC73C\uB85C \uB2E4\uB978 \uD654\uBA74\uC744 \uC5F4 \uB54C(\uC778\uC1C4 \uBCF4\uAE30 \uB4F1) concat("/print/\u2026?", {"$state": \uD0A4})\uCC98\uB7FC \uC77D\uB294\uB2E4. \uC870\uAC74\uC774 \uC5C6\uC73C\uBA74 \uBE48 \uBB38\uC790\uC5F4.',
2424
+ group: "behavior",
2425
+ advanced: true
2426
+ },
2294
2427
  { name: "rowClick", kind: "action", label: "\uD589 \uD074\uB9AD", eventArg: "\uD589 \uAC1D\uCCB4 \uC804\uCCB4", group: "behavior" },
2295
2428
  {
2296
2429
  name: "virtual",
@@ -2360,6 +2493,35 @@ var RemoteSearchResultsMeta = {
2360
2493
  group: "data"
2361
2494
  },
2362
2495
  { name: "pageSize", kind: "number", label: "\uD398\uC774\uC9C0\uB2F9 \uD589 \uC218", default: 10, group: "data" },
2496
+ {
2497
+ name: "summary",
2498
+ kind: "object",
2499
+ label: "\uD569\uACC4 \uCE78",
2500
+ description: "\uD0ED \uC704 \uC22B\uC790 \uCE74\uB4DC. \uBAA9\uB85D\uACFC \uAC19\uC740 \uCFFC\uB9AC(page/limit \uC81C\uC678)\uB85C endpoint\uB97C \uC870\uD68C\uD574 \uC751\uB2F5 \uAC1D\uCCB4\uC758 items[].key \uAC12\uC744 \uBCF4\uC778\uB2E4 \u2014 \uAC80\uC0C9\xB7\uC0C1\uC138\uAC80\uC0C9\xB7\uD0ED\uC744 \uB530\uB77C \uBC14\uB010\uB2E4.",
2501
+ group: "data",
2502
+ fields: [
2503
+ { name: "endpoint", kind: "string", label: "\uD569\uACC4 endpoint", required: true },
2504
+ {
2505
+ name: "items",
2506
+ kind: "array",
2507
+ label: "\uCE78",
2508
+ required: true,
2509
+ item: [
2510
+ { name: "key", kind: "string", label: "\uC751\uB2F5 \uD544\uB4DC", required: true },
2511
+ { name: "label", kind: "string", label: "\uB77C\uBCA8", required: true },
2512
+ { name: "unit", kind: "string", label: "\uB2E8\uC704" },
2513
+ { name: "icon", kind: "icon", label: "\uC544\uC774\uCF58" },
2514
+ {
2515
+ name: "cell",
2516
+ kind: "object",
2517
+ label: "\uAC12 \uD45C\uD604",
2518
+ description: "\uCEEC\uB7FC \uC140\uACFC \uAC19\uC740 \uC5B4\uD718. \uC0DD\uB7B5\uD558\uBA74 \uC22B\uC790\uB294 \uCC9C \uB2E8\uC704 \uAD6C\uBD84.",
2519
+ fields: searchCellFields
2520
+ }
2521
+ ]
2522
+ }
2523
+ ]
2524
+ },
2363
2525
  ...searchCommonProps
2364
2526
  ],
2365
2527
  slots: searchSlots,
@@ -2564,6 +2726,13 @@ var DialogMeta = {
2564
2726
  group: "appearance"
2565
2727
  },
2566
2728
  { name: "onClose", kind: "action", label: "\uB2EB\uAE30", group: "behavior" },
2729
+ {
2730
+ name: "confirmClose",
2731
+ kind: "binding",
2732
+ label: "\uB2EB\uAE30 \uC804 \uD655\uC778",
2733
+ description: "Escape\xB7\uBC30\uACBD \uD074\uB9AD(\uBAA8\uBC14\uC77C \uB4A4\uB85C \uAC00\uAE30)\uC73C\uB85C \uB2EB\uC744 \uB54C '\uC791\uC131 \uC911\uC778 \uB0B4\uC6A9\uC744 \uBC84\uB9B4\uAE4C\uC694?'\uB97C \uBB3B\uB294\uB2E4. \uC0DD\uB7B5: \uCC3D \uC548 Form \uC774 \uC791\uC131 \uC911\uC77C \uB54C\uB9CC. true \uB610\uB294 \uBB38\uAD6C: \uC5B8\uC81C\uB098(\uBB38\uAD6C\uBA74 \uADF8 \uBB38\uAD6C\uB85C). false: \uBB3B\uC9C0 \uC54A\uC74C. Form \uC5C6\uC774 \uC0C1\uD0DC\uB85C \uC785\uB825\uC744 \uBAA8\uC73C\uB294 \uCC3D\uC740 $calc \uB85C '\uC785\uB825\uC774 \uC788\uC73C\uBA74 \uBB38\uAD6C, \uC5C6\uC73C\uBA74 false'\uB97C \uBB36\uB294\uB2E4. X\xB7\uCDE8\uC18C \uBC84\uD2BC\uC740 \uBB3B\uC9C0 \uC54A\uB294\uB2E4.",
2734
+ group: "behavior"
2735
+ },
2567
2736
  styleProp,
2568
2737
  classNameProp
2569
2738
  ],
@@ -3260,7 +3429,18 @@ var ChartMeta = {
3260
3429
  { value: "dashed-line", label: "\uC810\uC120" }
3261
3430
  ]
3262
3431
  },
3263
- { name: "stack", kind: "string", label: "\uB204\uC801 \uADF8\uB8F9", description: "\uAC19\uC740 \uBB38\uC790\uC5F4\uB07C\uB9AC \uB9C9\uB300\uB97C \uC313\uB294\uB2E4." }
3432
+ { name: "stack", kind: "string", label: "\uB204\uC801 \uADF8\uB8F9", description: "\uAC19\uC740 \uBB38\uC790\uC5F4\uB07C\uB9AC \uB9C9\uB300\uB97C \uC313\uB294\uB2E4." },
3433
+ {
3434
+ name: "axis",
3435
+ kind: "enum",
3436
+ label: "y\uCD95",
3437
+ default: "left",
3438
+ description: "\uB9C9\uB300/\uC120 \uCC28\uD2B8 \uC804\uC6A9. \uB2E8\uC704\uAC00 \uB2E4\uB978 \uC2DC\uB9AC\uC988(\uC6D0 \uB9C9\uB300 + km \uC120)\uB294 'right'\uB85C \uC624\uB978\uCABD \uBCF4\uC870\uCD95\uC5D0 \uADF8\uB9B0\uB2E4 \u2014 \uD55C \uCD95\uC5D0 \uADF8\uB9AC\uBA74 \uC791\uC740 \uCABD\uC774 0\uC5D0 \uBD99\uB294\uB2E4. \uC67C\uCABD\xB7\uC624\uB978\uCABD \uC2DC\uB9AC\uC988\uAC00 \uB458 \uB2E4 \uC788\uC744 \uB54C\uB9CC \uCD95\uC774 \uB458\uC774 \uB41C\uB2E4.",
3439
+ options: [
3440
+ { value: "left", label: "\uC67C\uCABD(\uC8FC\uCD95)" },
3441
+ { value: "right", label: "\uC624\uB978\uCABD(\uBCF4\uC870\uCD95)" }
3442
+ ]
3443
+ }
3264
3444
  ]
3265
3445
  },
3266
3446
  { name: "height", kind: "number", label: "\uB192\uC774(px)", default: 300, group: "layout" },
@@ -3269,7 +3449,7 @@ var ChartMeta = {
3269
3449
  kind: "enum",
3270
3450
  label: "\uAC12 \uD615\uC2DD",
3271
3451
  default: "number",
3272
- description: "currency\uB294 \uC5B5/\uB9CC\uC73C\uB85C \uCD95\uC57D\uD55C\uB2E4(1.2\uC5B5, 3,400\uB9CC).",
3452
+ description: "currency\uB294 \uC5B5/\uB9CC\uC73C\uB85C \uCD95\uC57D\uD55C\uB2E4(1.2\uC5B5, 3,400\uB9CC, 1.4\uB9CC). \uCD95 \uB208\uAE08\uC740 \uD55C \uCD95 \uC548\uC5D0\uC11C \uB2E8\uC704\uB97C \uB9DE\uCD98\uB2E4 \u2014 \uCD95 \uCD5C\uB313\uAC12\uC774 10\uB9CC \uBBF8\uB9CC\uC774\uBA74 \uC6D0 \uB2E8\uC704 \uADF8\uB300\uB85C(4,500 / 13,500).",
3273
3453
  options: [
3274
3454
  { value: "number", label: "\uC22B\uC790" },
3275
3455
  { value: "currency", label: "\uAE08\uC561" },
@@ -3290,7 +3470,7 @@ var ChartMeta = {
3290
3470
  kind: "enum",
3291
3471
  label: "\uBC94\uB840 \uC704\uCE58",
3292
3472
  default: "bottom",
3293
- description: 'pie/donut \uC804\uC6A9. "\uC6B0\uCE21 \uC218\uCE58 \uD45C"\uB294 \uC810 \uBC94\uB840 \uB300\uC2E0 \uC804\uCCB4 \uD589 + \uC870\uAC01\uBCC4 \uAC12\xB7\uC810\uC720\uC728\uC744 \uCC28\uD2B8 \uC624\uB978\uCABD\uC5D0 \uC801\uB294\uB2E4.',
3473
+ description: 'pie/donut \uC804\uC6A9. "\uC6B0\uCE21 \uC218\uCE58 \uD45C"\uB294 \uC810 \uBC94\uB840 \uB300\uC2E0 \uC804\uCCB4 \uD589 + \uC870\uAC01\uBCC4 \uAC12\xB7\uC810\uC720\uC728\uC744 \uCC28\uD2B8 \uC624\uB978\uCABD\uC5D0 \uC801\uB294\uB2E4. \uD3ED\uC774 \uC881\uC73C\uBA74(\uBAA8\uBC14\uC77C\xB7\uC881\uC740 \uCE74\uB4DC) \uD45C\uAC00 \uCC28\uD2B8 \uC544\uB798 \uC904\uB85C \uB0B4\uB824\uAC04\uB2E4.',
3294
3474
  options: [
3295
3475
  { value: "bottom", label: "\uC544\uB798 \uC810 \uBC94\uB840" },
3296
3476
  { value: "right", label: "\uC6B0\uCE21 \uC218\uCE58 \uD45C" }
@@ -3315,7 +3495,37 @@ var ChartMeta = {
3315
3495
  { name: "value", kind: "string", label: "\uAC12" }
3316
3496
  ]
3317
3497
  },
3318
- { name: "emptyText", kind: "string", label: "\uB370\uC774\uD130 \uC5C6\uC74C \uBB38\uAD6C", group: "content" }
3498
+ { name: "emptyText", kind: "string", label: "\uB370\uC774\uD130 \uC5C6\uC74C \uBB38\uAD6C", group: "content" },
3499
+ {
3500
+ name: "rightValueFormat",
3501
+ kind: "enum",
3502
+ label: "\uBCF4\uC870\uCD95 \uAC12 \uD615\uC2DD",
3503
+ default: "number",
3504
+ description: "\uC2DC\uB9AC\uC988 axis:'right'\uAC00 \uC788\uC744 \uB54C \uC624\uB978\uCABD \uCD95 \uB208\uAE08\uACFC \uADF8 \uC2DC\uB9AC\uC988 \uD234\uD301\uC758 \uD615\uC2DD.",
3505
+ options: [
3506
+ { value: "number", label: "\uC22B\uC790" },
3507
+ { value: "currency", label: "\uAE08\uC561" },
3508
+ { value: "percent", label: "\uBC31\uBD84\uC728" }
3509
+ ],
3510
+ group: "appearance",
3511
+ advanced: true
3512
+ },
3513
+ {
3514
+ name: "integer",
3515
+ kind: "boolean",
3516
+ label: "\uC815\uC218 \uB208\uAE08",
3517
+ description: "\uC0DD\uB7B5\uD558\uBA74 \uCD95\uB9C8\uB2E4 \uC790\uB3D9 \u2014 \uADF8 \uCD95\uC758 \uAC12\uC774 \uC804\uBD80 \uC815\uC218(\uAC74\uC218\xB7\uC778\uC6D0)\uBA74 \uC815\uC218 \uB208\uAE08\uB9CC \uC4F4\uB2E4(0.3\uBA85 \uAC19\uC740 \uB208\uAE08 \uAE08\uC9C0). true/false\uB85C \uAC15\uC81C\uD55C\uB2E4.",
3518
+ group: "appearance",
3519
+ advanced: true
3520
+ },
3521
+ {
3522
+ name: "xTickWrap",
3523
+ kind: "boolean",
3524
+ label: "x\uCD95 \uB77C\uBCA8 \uBAA8\uB450 \uBCF4\uC774\uAE30",
3525
+ default: false,
3526
+ description: "\uB9C9\uB300/\uC120 \uCC28\uD2B8 \uC804\uC6A9. \uAE34 \uBC94\uC8FC \uB77C\uBCA8(\uBCF8\uBD80\uBA85 \uB4F1)\uC744 \uCE78 \uD3ED\uC5D0 \uB9DE\uCDB0 \uCD5C\uB300 3\uC904\uB85C \uC904\uBC14\uAFC8\uD558\uACE0, \uADF8\uB798\uB3C4 \uBAA8\uC790\uB77C\uBA74 45\xB0 \uAE30\uC6B8\uC5EC \uC804\uBD80 \uBCF4\uC778\uB2E4. \uB044\uBA74 \uACB9\uCE58\uB294 \uB77C\uBCA8\uC744 \uAC74\uB108\uB6F4\uB2E4.",
3527
+ group: "appearance"
3528
+ }
3319
3529
  ],
3320
3530
  children: { accepts: false },
3321
3531
  dom: { element: "div" },
@@ -3429,7 +3639,7 @@ var ApprovalStepperMeta = {
3429
3639
  label: "\uACB0\uC7AC \uC9C4\uD589 \uC2A4\uD14C\uD37C",
3430
3640
  category: "display",
3431
3641
  icon: "workflow",
3432
- description: '\uC2E0\uCCAD\uC790 \u2192 \uACB0\uC7AC \uB2E8\uACC4\uB97C \uAC00\uB85C\uB85C \uB098\uC5F4\uD558\uB294 \uC77D\uAE30 \uC804\uC6A9 \uC2A4\uD14C\uD37C. \uB2E8\uACC4\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 "\uC790\uB3D9 \uC2B9\uC778"\uC73C\uB85C \uD45C\uC2DC\uD55C\uB2E4.',
3642
+ description: '\uC2E0\uCCAD\uC790 \u2192 \uACB0\uC7AC \uB2E8\uACC4\uB97C \uAC00\uB85C\uB85C \uB098\uC5F4\uD558\uB294 \uC77D\uAE30 \uC804\uC6A9 \uC2A4\uD14C\uD37C. \uB2E8\uACC4\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 \uCC98\uB9AC\uC790(decidedBy)\uC758 "\uACB0\uC7AC" \uB178\uB4DC \uD558\uB098, \uADF8\uAC83\uB3C4 \uC5C6\uC73C\uBA74 \uACB0\uACFC(outcome, \uAE30\uBCF8 \uC2B9\uC778)\uC5D0 \uB9DE\uB294 "\uC790\uB3D9 \uC2B9\uC778" \uC548\uB0B4\uB97C \uC644\uB8CC\uD615\uC73C\uB85C \uADF8\uB9B0\uB2E4.',
3433
3643
  props: [
3434
3644
  {
3435
3645
  name: "steps",
@@ -3437,7 +3647,7 @@ var ApprovalStepperMeta = {
3437
3647
  label: "\uACB0\uC7AC \uB2E8\uACC4",
3438
3648
  required: true,
3439
3649
  bindable: true,
3440
- description: "\uBE48 \uBC30\uC5F4\uC774\uBA74 \uC790\uB3D9 \uC2B9\uC778\uC73C\uB85C \uADF8\uB9B0\uB2E4(\uBC31\uC5D4\uB4DC \uD574\uC11D\uAE30\uC640 \uAC19\uC740 \uC758\uBBF8).",
3650
+ description: "\uBE48 \uBC30\uC5F4\uC774\uBA74 decidedBy\xB7outcome \uC73C\uB85C \uADF8\uB9B0\uB2E4(\uBC31\uC5D4\uB4DC\uB294 \uB2E8\uACC4 \uC5C6\uB294 \uACB0\uC7AC\uB97C \uC62C\uB9AC\uB294 \uC989\uC2DC \uC2B9\uC778\uD55C\uB2E4). \uBAA8\uB974\uB294 status \uAC12\uC740 \uB300\uAE30\uB85C \uADF8\uB9B0\uB2E4.",
3441
3651
  group: "data",
3442
3652
  item: [
3443
3653
  { name: "id", kind: "string", label: "\uB2E8\uACC4 id", required: true },
@@ -3452,16 +3662,17 @@ var ApprovalStepperMeta = {
3452
3662
  name: "status",
3453
3663
  kind: "enum",
3454
3664
  label: "\uC0C1\uD0DC",
3455
- description: "\uBBF8\uC9C0\uC815\uC774\uBA74 \uB300\uAE30\uB85C \uBCF8\uB2E4.",
3456
- // 스펙에는 approved·current·pending만 등장하지만(각 4·4·1), rejected·skipped도
3457
- // 구현이 실제로 그리는 상태다(STATUS_META 5종). 값 후보는 구현 기준으로 적는다 —
3665
+ description: "\uBBF8\uC9C0\uC815\uC774\uAC70\uB098 \uBAA9\uB85D\uC5D0 \uC5C6\uB294 \uAC12\uC774\uBA74 \uB300\uAE30\uB85C \uBCF8\uB2E4.",
3666
+ // 스펙에는 approved·current·pending만 등장하지만(각 4·4·1), rejected·skipped·cancelled도
3667
+ // 구현이 실제로 그리는 상태다(STATUS_META 6종). 값 후보는 구현 기준으로 적는다 —
3458
3668
  // 실사용이 없다는 이유로 빼면 편집기가 반려 상태를 만들 수단을 잃는다.
3459
3669
  options: [
3460
3670
  { value: "pending", label: "\uB300\uAE30" },
3461
3671
  { value: "current", label: "\uC9C4\uD589 \uC911" },
3462
3672
  { value: "approved", label: "\uC2B9\uC778" },
3463
3673
  { value: "rejected", label: "\uBC18\uB824" },
3464
- { value: "skipped", label: "\uAC74\uB108\uB700" }
3674
+ { value: "skipped", label: "\uAC74\uB108\uB700" },
3675
+ { value: "cancelled", label: "\uCDE8\uC18C" }
3465
3676
  ]
3466
3677
  },
3467
3678
  { name: "approver", kind: "string", label: "\uCC98\uB9AC\uC790", description: "\uC2B9\uC778\xB7\uBC18\uB824\uB41C \uB2E8\uACC4\uC5D0\uC11C \uD234\uD301\uC5D0 \uBCF4\uC778\uB2E4." },
@@ -3486,6 +3697,37 @@ var ApprovalStepperMeta = {
3486
3697
  { name: "sub", kind: "string", label: "\uC18C\uC18D\xB7\uC9C1\uAE09", description: '\uBE44\uBA74 "\uC2E0\uCCAD\uC790"\uB85C \uB300\uC2E0 \uD45C\uC2DC\uD55C\uB2E4.' }
3487
3698
  ]
3488
3699
  },
3700
+ {
3701
+ name: "decidedBy",
3702
+ kind: "string",
3703
+ label: "\uCC98\uB9AC\uC790(\uB2E8\uACC4 \uC5C6\uC74C)",
3704
+ bindable: true,
3705
+ description: 'steps \uAC00 \uBE44\uC5B4 \uC788\uC744 \uB54C\uB9CC \uC4F0\uC778\uB2E4. \uC788\uC73C\uBA74 "\uC790\uB3D9 \uC2B9\uC778" \uB300\uC2E0 \uC774 \uC0AC\uB78C\uC774 \uCC98\uB9AC\uD55C "\uACB0\uC7AC" \uB178\uB4DC \uD558\uB098\uB97C \uADF8\uB9B0\uB2E4(\uC608: approval.approver_name).',
3706
+ group: "data"
3707
+ },
3708
+ {
3709
+ name: "decidedAt",
3710
+ kind: "string",
3711
+ label: "\uCC98\uB9AC \uC77C\uC2DC(\uB2E8\uACC4 \uC5C6\uC74C)",
3712
+ bindable: true,
3713
+ description: "ISO \uAD8C\uC7A5. decidedBy \uB178\uB4DC\uC758 \uD234\uD301, \uC790\uB3D9 \uC2B9\uC778 \uC548\uB0B4\uC758 \uB458\uC9F8 \uC904\uC5D0 \uBCF4\uC778\uB2E4(\uC608: approval.approval_time).",
3714
+ group: "data"
3715
+ },
3716
+ {
3717
+ name: "outcome",
3718
+ kind: "enum",
3719
+ label: "\uACB0\uACFC(\uB2E8\uACC4 \uC5C6\uC74C)",
3720
+ bindable: true,
3721
+ description: 'steps \uAC00 \uBE44\uC5B4 \uC788\uC744 \uB54C \uBB38\uC11C\uC758 \uACB0\uACFC. \uAE30\uBCF8 \uC2B9\uC778("\uACB0\uC7AC \uB2E8\uACC4 \uC5C6\uC774 \uC790\uB3D9 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4"). pending \uC740 \uC62C\uB9AC\uAE30 \uC804 \uBBF8\uB9AC\uBCF4\uAE30\uC758 \uBBF8\uB798\uD615, cancelled\xB7rejected \uB294 \uADF8 \uC0C1\uD0DC\uB85C \uADF8\uB9B0\uB2E4.',
3722
+ options: [
3723
+ { value: "approved", label: "\uC2B9\uC778" },
3724
+ { value: "pending", label: "\uC62C\uB9AC\uAE30 \uC804" },
3725
+ { value: "rejected", label: "\uBC18\uB824" },
3726
+ { value: "cancelled", label: "\uCDE8\uC18C" }
3727
+ ],
3728
+ group: "data",
3729
+ advanced: true
3730
+ },
3489
3731
  {
3490
3732
  name: "typeLabels",
3491
3733
  kind: "object",
@@ -3802,7 +4044,7 @@ var OrgChartBoardMeta = {
3802
4044
  label: "\uC870\uC9C1\uB3C4 \uBCF4\uB4DC",
3803
4045
  category: "display",
3804
4046
  icon: "git-branch",
3805
- description: "\uC2E4\uB370\uC774\uD130 \uC870\uC9C1\uB3C4 \uCE94\uBC84\uC2A4(v2 \uC774\uC2DD). /employees\xB7/departments?include=paths\xB7/job-positions 3\uC6D0\uC744 \uC2A4\uC2A4\uB85C \uD398\uC774\uC9C0 \uC218\uC9D1\uD574 \uB9AC\uB354\uC2ED \uC2A4\uD0DD\xB7\uBCF8\uBD80 \uC0C9 \uD5E4\uB354\xB7\uC138\uB85C\uC4F0\uAE30 \uD300 \uB77C\uBCA8\xB72\uC5F4 \uAD6C\uC131\uC6D0 \uADF8\uB9AC\uB4DC\uB85C \uADF8\uB9B0\uB2E4(\uBD80\uC11C\xB7\uC9C1\uC704 \uC870\uD68C\uB294 \uC2E4\uD328 \uD5C8\uC6A9). \uAD6C\uC131\uC6D0 \uC815\uB82C\uC740 \uC9C1\uCC45\u2192\uC9C1\uC704 \uB9C8\uC2A4\uD130 rank_order(\uCD5C\uC7A5 \uD3EC\uD568 \uB9E4\uCE6D)\u2192GRADE_ORDER \uD3F4\uBC31\u2192level\u2192\uC774\uB984. \uD720 \uC90C\xB7\uB4DC\uB798\uADF8 \uD32C\xB7\uC804\uCCB4\uD654\uBA74 \uB0B4\uC7A5, \uBBF8\uC9C0\uC815 \uADF8\uB8F9\uC740 \uC228\uAE34\uB2E4.",
4047
+ description: "\uC2E4\uB370\uC774\uD130 \uC870\uC9C1\uB3C4 \uCE94\uBC84\uC2A4(v2 \uC774\uC2DD). /employees\xB7/departments?include=paths\xB7/job-positions 3\uC6D0\uC744 \uC2A4\uC2A4\uB85C \uD398\uC774\uC9C0 \uC218\uC9D1\uD574 \uB9AC\uB354\uC2ED \uC2A4\uD0DD\xB7\uBCF8\uBD80 \uC0C9 \uD5E4\uB354\xB7\uC138\uB85C\uC4F0\uAE30 \uD300 \uB77C\uBCA8\xB72\uC5F4 \uAD6C\uC131\uC6D0 \uADF8\uB9AC\uB4DC\uB85C \uADF8\uB9B0\uB2E4(\uBD80\uC11C\xB7\uC9C1\uC704 \uC870\uD68C\uB294 \uC2E4\uD328 \uD5C8\uC6A9). \uAD6C\uC131\uC6D0 \uC815\uB82C\uC740 \uC9C1\uCC45\u2192\uC9C1\uC704 \uB9C8\uC2A4\uD130 rank_order(\uCD5C\uC7A5 \uD3EC\uD568 \uB9E4\uCE6D)\u2192GRADE_ORDER \uD3F4\uBC31\u2192level\u2192\uC774\uB984. \uD720\xB7\uB450 \uC190\uAC00\uB77D \uD540\uCE58 \uC90C, \uB4DC\uB798\uADF8 \uD32C, \uD654\uBA74 \uB9DE\uCDA4(\uCC98\uC74C \uC5F4 \uB54C \uC790\uB3D9), \uC804\uCCB4\uD654\uBA74(\uC694\uC18C \uC804\uCCB4\uD654\uBA74\uC774 \uC5C6\uB294 \uBE0C\uB77C\uC6B0\uC800\uB294 \uD654\uBA74\uC744 \uB36E\uB294 \uBC30\uCE58\uB85C \uB300\uC2E0) \uB0B4\uC7A5. \uD130\uCE58\uC5D0\uC11C \uD55C \uC190\uAC00\uB77D \uC138\uB85C \uC774\uB3D9\uC740 \uD398\uC774\uC9C0 \uC2A4\uD06C\uB864\uC5D0 \uC591\uBCF4\uD55C\uB2E4. \uBBF8\uC9C0\uC815 \uADF8\uB8F9\uC740 \uC228\uAE34\uB2E4.",
3806
4048
  props: [
3807
4049
  {
3808
4050
  name: "onMemberClick",
@@ -3957,11 +4199,19 @@ var PermissionMatrixEditorMeta = {
3957
4199
  name: "sourceEndpoint",
3958
4200
  kind: "string",
3959
4201
  label: "\uD604\uC7AC \uBD80\uC5EC \uC2DC\uB529 \uACBD\uB85C",
3960
- description: "/roles/{id}/permissions \u2014 \uACBD\uB85C\uAC00 \uBC14\uB014 \uB54C\uB9C8\uB2E4 \uC11C\uBC84 \uAC12\uC744 onChange \uB85C \uD55C \uBC88 \uD758\uB9B0\uB2E4.",
4202
+ description: "/roles/{id}/permissions \u2014 \uACBD\uB85C\uAC00 \uBC14\uB014 \uB54C\uB9C8\uB2E4 \uC11C\uBC84 \uAC12\uC744 onChange \uB85C \uD55C \uBC88 \uD758\uB9B0\uB2E4. \uC2DC\uB529\uC774 \uB05D\uB098\uAE30 \uC804\uC5D0\uB294 \uAD6C\uC5ED\uC744 \uC811\uC5B4 \uB450\uACE0, \uB05D\uB098\uBA74 \uBD80\uC5EC\uAC00 \uC788\uB294 \uAD6C\uC5ED\uB9CC \uD3BC\uCE5C\uB2E4(\uBD80\uC5EC\uAC00 \uD558\uB098\uB3C4 \uC5C6\uC73C\uBA74 \uC804\uBD80 \uD3BC\uCE5C\uB2E4).",
3961
4203
  group: "data",
3962
4204
  advanced: true
3963
4205
  },
3964
- { name: "disabled", kind: "boolean", label: "\uBE44\uD65C\uC131", default: false, bindable: true, group: "behavior" }
4206
+ { name: "disabled", kind: "boolean", label: "\uBE44\uD65C\uC131", default: false, bindable: true, group: "behavior" },
4207
+ {
4208
+ name: "scrollMaxHeight",
4209
+ kind: "string",
4210
+ label: "\uC548\uCABD \uC2A4\uD06C\uB864 \uCD5C\uB300 \uB192\uC774",
4211
+ description: "\uC608: '400px'. \uC0DD\uB7B5\uD558\uBA74(\uAE30\uBCF8) \uC0C1\uC790\uAC00 \uB0B4\uC6A9\uB9CC\uD07C \uC790\uB77C\uACE0 \uBC14\uAE65(\uB2E4\uC774\uC5BC\uB85C\uADF8 \uBCF8\uBB38\xB7\uD398\uC774\uC9C0) \uC2A4\uD06C\uB864 \uD558\uB098\uB85C \uBCF8\uB2E4 \u2014 1.5.0 \uAE4C\uC9C0\uB294 min(46vh, 400px) \uACE0\uC815\uC774\uB77C \uB2E4\uC774\uC5BC\uB85C\uADF8 \uC548\uC5D0\uC11C \uC774\uC911 \uC2A4\uD06C\uB864\uC774 \uB410\uB2E4. \uBAA8\uBC14\uC77C \uD3ED\uC5D0\uC11C\uB294 \uC8FC\uC5B4\uB3C4 \uD480\uB9B0\uB2E4.",
4212
+ group: "layout",
4213
+ advanced: true
4214
+ }
3965
4215
  ],
3966
4216
  children: { accepts: false },
3967
4217
  dom: { element: "div" },
@@ -4732,7 +4982,7 @@ var PeriodFilterMeta = {
4732
4982
  name: "modes",
4733
4983
  kind: "array",
4734
4984
  label: "\uB178\uCD9C\uD560 \uBAA8\uB4DC",
4735
- description: '\uC0DD\uB7B5\uD558\uBA74 \uB2E4\uC12F \uBAA8\uB4DC\uAC00 \uADF8\uB300\uB85C \uB098\uC628\uB2E4. \uBB38\uC790\uC5F4 \uCD95\uC57D\uD615(["month","custom"])\uB3C4 \uBC1B\uB294\uB2E4 \u2014 \uADF8\uB54C\uB294 \uB77C\uBCA8\xB7\uC544\uC774\uCF58\uC774 \uAE30\uBCF8\uAC12\uC774\uB2E4.',
4985
+ description: '\uC0DD\uB7B5\uD558\uBA74 \uB2E4\uC12F \uBAA8\uB4DC\uAC00 \uADF8\uB300\uB85C \uB098\uC628\uB2E4. \uBB38\uC790\uC5F4 \uCD95\uC57D\uD615(["month","custom"])\uB3C4 \uBC1B\uB294\uB2E4 \u2014 \uADF8\uB54C\uB294 \uB77C\uBCA8\xB7\uC544\uC774\uCF58\uC774 \uAE30\uBCF8\uAC12\uC774\uB2E4. \uD558\uB098\uB9CC \uC8FC\uBA74 \uBAA8\uB4DC \uC804\uD658 \uBC84\uD2BC\uC740 \uADF8\uB9AC\uC9C0 \uC54A\uB294\uB2E4(\uB20C\uB7EC\uB3C4 \uBC14\uB00C\uB294 \uAC83\uC774 \uC5C6\uB2E4).',
4736
4986
  group: "behavior",
4737
4987
  advanced: true,
4738
4988
  item: [
@@ -5470,6 +5720,7 @@ var EventCalendarMeta = {
5470
5720
  label: "\uBCF4\uAE30",
5471
5721
  default: "month",
5472
5722
  bindable: true,
5723
+ description: "\uC0DD\uB7B5\uD558\uBA74 \uB370\uC2A4\uD06C\uD1B1\uC740 '\uC6D4', \uBAA8\uBC14\uC77C \uD3ED(\u2264767.98px)\uC740 '\uC77C\uC815 \uBAA9\uB85D'\uC73C\uB85C \uC5F0\uB2E4(\uC6D4 \uCE78\uC774 \uC881\uC544 \uC81C\uBAA9\uC774 \uC798\uB9B0\uB2E4). \uC0C1\uD0DC\uC5D0 \uBC14\uC778\uB529\uD560 \uB54C default \uB97C \uBC15\uC73C\uBA74 \uADF8 \uAC12\uC774 \uBAA8\uBC14\uC77C\uC5D0\uC11C\uB3C4 \uC774\uAE34\uB2E4 \u2014 \uD3ED\uC5D0 \uB9E1\uAE30\uB824\uBA74 default \uB97C \uBE44\uC6B4\uB2E4.",
5473
5724
  options: [
5474
5725
  { value: "month", label: "\uC6D4" },
5475
5726
  { value: "week", label: "\uC8FC" },
@@ -5772,6 +6023,19 @@ var PrintSheetMeta = {
5772
6023
  default: false,
5773
6024
  description: "\uC0C8 \uCC3D(window.opener \uC788\uC74C)\uC73C\uB85C \uC5F4\uB838\uC744 \uB54C\uB9CC \uB3D9\uC791\uD55C\uB2E4 \u2014 \uD398\uC774\uC9C0 \uC548\uC5D0 \uB07C\uC6CC \uB123\uC740 \uACBD\uC6B0\uC5D0\uB294 \uC544\uBB34 \uC77C\uB3C4 \uC5C6\uB2E4.",
5774
6025
  group: "behavior"
6026
+ },
6027
+ {
6028
+ name: "toolbar",
6029
+ kind: "enum",
6030
+ label: "\uB3C4\uAD6C\uC904",
6031
+ default: "auto",
6032
+ description: "\uC2DC\uD2B8 \uC704 '\uC778\uC1C4\uD558\uAE30'\xB7'\uB2EB\uAE30' \uC904. '\uB2EB\uAE30'\uB294 \uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uB2EB\uC744 \uC218 \uC788\uB294 \uCC3D(\uC0C8 \uCC3D)\uC5D0\uC11C\uB9CC \uBCF4\uC778\uB2E4 \u2014 \uC571 \uC548\uC5D0 \uB07C\uC6CC \uB123\uC740 \uD654\uBA74\uC5D0\uC11C\uB294 \uB20C\uB7EC\uB3C4 \uC544\uBB34 \uC77C\uC774 \uC5C6\uAE30 \uB54C\uBB38\uC774\uB2E4. \uD654\uBA74 \uBA38\uB9AC\uC5D0 \uC778\uC1C4 \uBC84\uD2BC\uC774 \uB530\uB85C \uC788\uC73C\uBA74 '\uC5C6\uC74C'\uC73C\uB85C \uC778\uC1C4 \uC9C4\uC785\uC810\uC744 \uD558\uB098\uB85C \uB454\uB2E4.",
6033
+ options: [
6034
+ { value: "auto", label: "\uC790\uB3D9", description: "'\uC778\uC1C4\uD558\uAE30' + (\uC0C8 \uCC3D\uC774\uBA74) '\uB2EB\uAE30'" },
6035
+ { value: "print", label: "\uC778\uC1C4\uB9CC" },
6036
+ { value: "none", label: "\uC5C6\uC74C" }
6037
+ ],
6038
+ group: "behavior"
5775
6039
  }
5776
6040
  ],
5777
6041
  children: { accepts: true, text: true, label: "\uC885\uC774\uC5D0 \uC5B9\uC744 \uB0B4\uC6A9" },
@@ -1,4 +1,4 @@
1
- import { S as SduiBoxProps } from '../layout-C3nRXMwb.js';
1
+ import { S as SduiBoxProps } from '../layout-DmRikwZb.js';
2
2
  import React__default from 'react';
3
3
 
4
4
  interface ExcelTemplateColumn {
@@ -1,7 +1,8 @@
1
- import { loadOptionalModule } from '../chunk-YVTV4ZV6.js';
2
- import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-KO6OEY3G.js';
3
- import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-RNOUXUBO.js';
4
- import { boxed } from '../chunk-5WW4MBRO.js';
1
+ import { loadOptionalModule } from '../chunk-NWYYNE3Q.js';
2
+ import { useSduiAdapter, useSduiSandbox, hostFetchOf, defaultAdapter, hostRawFetchOf } from '../chunk-YNEEJCSZ.js';
3
+ import '../chunk-GSM664TX.js';
4
+ import { Select, Input, Card, Button, Spinner, Icon, Alert, StatCard, Badge, Table, EmptyState } from '../chunk-BLFJMMBW.js';
5
+ import { boxed } from '../chunk-3JTBOABA.js';
5
6
  import { useRef, useState, useMemo, useCallback } from 'react';
6
7
  import { jsx, jsxs } from 'react/jsx-runtime';
7
8
 
package/dist/rich.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
- export { b as DatePicker, D as DatePickerProps, c as DateRangePicker, a as DateRangePickerProps, d as DateRangeValue, e as TimePicker, T as TimePickerProps } from './DatePicker-C_TT_SOw.js';
3
- import './layout-C3nRXMwb.js';
2
+ export { b as DatePicker, D as DatePickerProps, c as DateRangePicker, a as DateRangePickerProps, d as DateRangeValue, e as TimePicker, T as TimePickerProps } from './DatePicker-DX9juElE.js';
3
+ import './layout-DmRikwZb.js';
4
4
 
5
5
  /**
6
6
  * Chart — 선언형 recharts 래퍼 (ERP `app/components/widgets/Chart.tsx` 이식).
@@ -26,6 +26,11 @@ interface ChartSeries {
26
26
  kind?: 'bar' | 'line' | 'dashed-line';
27
27
  /** 같은 문자열끼리 막대를 쌓는다 (stackId). */
28
28
  stack?: string;
29
+ /**
30
+ * 카르테시안 전용: 어느 y축에 그릴지. 기본 'left'. 단위가 다른 시리즈(원 막대 + km 선)를
31
+ * 한 축에 그리면 작은 쪽이 0에 붙는다 — 'right'를 주면 오른쪽 보조축이 생긴다.
32
+ */
33
+ axis?: 'left' | 'right';
29
34
  }
30
35
  interface ChartProps {
31
36
  type: ChartType;
@@ -59,8 +64,21 @@ interface ChartProps {
59
64
  };
60
65
  /** 데이터가 없을 때 보여줄 문구. */
61
66
  emptyText?: string;
67
+ /** 오른쪽 보조축(시리즈 axis:'right')의 값 포맷. 기본 'number'. 툴팁도 그 시리즈에는 이 포맷을 쓴다. */
68
+ rightValueFormat?: ChartValueFormat;
69
+ /**
70
+ * y축 눈금을 정수만 쓸지. 생략하면 축마다 자동 — 그 축에 그리는 값이 전부 정수(건수·인원)면
71
+ * 정수 눈금만 쓴다(0.3명·0.5건 같은 눈금이 나오지 않게). true/false는 두 축 모두에 강제한다.
72
+ */
73
+ integer?: boolean;
74
+ /**
75
+ * x축 범주 라벨을 **모두** 보인다. 긴 라벨은 칸 폭에 맞춰 줄을 바꾸고(최대 3줄),
76
+ * 그래도 모자라면 45° 기울인다. 칸이 그보다도 좁으면 겹치는 라벨만 건너뛴다(기본 동작).
77
+ * 끄면(기본) recharts가 겹치는 라벨을 건너뛴다 — 본부명처럼 긴 범주에서 라벨이 사라진다.
78
+ */
79
+ xTickWrap?: boolean;
62
80
  }
63
- declare function Chart({ type, data, xKey, series, height, valueFormat, legend, legendPlacement, legendTotal, donutCenter, emptyText, }: ChartProps): React__default.JSX.Element;
81
+ declare function Chart({ type, data, xKey, series, height, valueFormat, legend, legendPlacement, legendTotal, donutCenter, emptyText, rightValueFormat, integer, xTickWrap, }: ChartProps): React__default.JSX.Element;
64
82
 
65
83
  /**
66
84
  * MapPreview — OpenLayers 기반 위치 미리보기 지도 (ERP `app/components/widgets/MapPreview.tsx` 이식).