@wipco/sdui 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/DatePicker-BndreCPl.d.ts +35 -0
  2. package/dist/{chunk-KAXPN6KT.js → chunk-27APKNEI.js} +8 -5
  3. package/dist/{chunk-Y3HYEWSY.js → chunk-5RWAK5QO.js} +4 -2
  4. package/dist/{chunk-GWVK3BHB.js → chunk-6ALDY64N.js} +5 -3
  5. package/dist/{chunk-CRSY67TZ.js → chunk-6FADQ2SU.js} +18 -19
  6. package/dist/{chunk-5O6PFLFJ.js → chunk-6ZUWN2QX.js} +4 -2
  7. package/dist/{chunk-XY2JKFAV.js → chunk-7MRAY6UD.js} +4 -2
  8. package/dist/{chunk-J2DSDERS.js → chunk-7Y6UFAYZ.js} +4 -2
  9. package/dist/{chunk-7Y4J7EOK.js → chunk-BMZKZGJF.js} +3 -2
  10. package/dist/{chunk-TAFUDHIX.js → chunk-CEFOZOOM.js} +4 -2
  11. package/dist/{chunk-H32WQHB7.js → chunk-H7V35NC2.js} +5 -3
  12. package/dist/{chunk-DN5YNPJS.js → chunk-I5GNJDHQ.js} +5 -3
  13. package/dist/{chunk-63U54JAG.js → chunk-IKLBICOJ.js} +4 -2
  14. package/dist/{chunk-XMMYJSRV.js → chunk-KL554MEM.js} +4 -2
  15. package/dist/{chunk-2ARNY7WZ.js → chunk-KPDUJFVD.js} +4 -2
  16. package/dist/{chunk-USKRM22W.js → chunk-O4U7Y3XL.js} +3 -2
  17. package/dist/{chunk-57LLG32F.js → chunk-OM63D4UH.js} +5 -3
  18. package/dist/{chunk-HGFYXY7F.js → chunk-QTNIUMSM.js} +4 -2
  19. package/dist/{chunk-73ZMMJRX.js → chunk-RQ2FWV24.js} +4 -2
  20. package/dist/{chunk-QBIVW7E6.js → chunk-SAN4IX6N.js} +77 -2
  21. package/dist/{chunk-L4ORCIVN.js → chunk-VCX2XEF6.js} +4 -2
  22. package/dist/{chunk-B4A4KY4K.js → chunk-VPVCVSFH.js} +4 -2
  23. package/dist/{chunk-TKB7H5DB.js → chunk-WUTCZCQH.js} +1 -1
  24. package/dist/{chunk-562QK2G3.js → chunk-YMWU4F7E.js} +4 -2
  25. package/dist/{chunk-QZQDHSMD.js → chunk-Z3WGIFJP.js} +3 -2
  26. package/dist/{chunk-PJRXPMI3.js → chunk-ZH5MLOZS.js} +3 -2
  27. package/dist/index.d.ts +1044 -980
  28. package/dist/index.js +79 -36
  29. package/dist/{layout-BnYUuWC2.d.ts → layout-B1QrIBm6.d.ts} +59 -1
  30. package/dist/meta.d.ts +42 -1
  31. package/dist/meta.js +198 -57
  32. package/dist/rich.d.ts +2 -1
  33. package/dist/rich.js +4 -3
  34. package/dist/widgets/AutocompleteField.d.ts +6 -40
  35. package/dist/widgets/AutocompleteField.js +4 -3
  36. package/dist/widgets/ColumnBoard.d.ts +6 -14
  37. package/dist/widgets/ColumnBoard.js +3 -2
  38. package/dist/widgets/DiffView.d.ts +6 -11
  39. package/dist/widgets/DiffView.js +3 -2
  40. package/dist/widgets/Disclosure.d.ts +6 -9
  41. package/dist/widgets/Disclosure.js +3 -2
  42. package/dist/widgets/EventCalendar.d.ts +6 -1
  43. package/dist/widgets/EventCalendar.js +3 -2
  44. package/dist/widgets/ImageLightbox.d.ts +6 -10
  45. package/dist/widgets/ImageLightbox.js +3 -2
  46. package/dist/widgets/InlineEdit.d.ts +6 -10
  47. package/dist/widgets/InlineEdit.js +3 -2
  48. package/dist/widgets/JsonField.d.ts +6 -1
  49. package/dist/widgets/JsonField.js +3 -2
  50. package/dist/widgets/LiveClock.d.ts +6 -1
  51. package/dist/widgets/LiveClock.js +2 -1
  52. package/dist/widgets/OrgChart.d.ts +7 -3
  53. package/dist/widgets/OrgChart.js +3 -2
  54. package/dist/widgets/PeriodFilter.d.ts +6 -1
  55. package/dist/widgets/PeriodFilter.js +3 -2
  56. package/dist/widgets/PrintSheet.d.ts +6 -12
  57. package/dist/widgets/PrintSheet.js +3 -2
  58. package/dist/widgets/SearchableMultiPicker.d.ts +6 -11
  59. package/dist/widgets/SearchableMultiPicker.js +4 -3
  60. package/dist/widgets/SecureScreen.d.ts +6 -14
  61. package/dist/widgets/SecureScreen.js +3 -2
  62. package/dist/widgets/StackedMeter.d.ts +7 -3
  63. package/dist/widgets/StackedMeter.js +2 -1
  64. package/dist/widgets/Strip.d.ts +6 -10
  65. package/dist/widgets/Strip.js +2 -2
  66. package/dist/widgets/SummaryTable.d.ts +6 -9
  67. package/dist/widgets/SummaryTable.js +2 -1
  68. package/dist/widgets/TagMultiSelect.d.ts +6 -1
  69. package/dist/widgets/TagMultiSelect.js +3 -2
  70. package/dist/widgets/Timeline.d.ts +6 -10
  71. package/dist/widgets/Timeline.js +4 -3
  72. package/dist/widgets/TreePicker.d.ts +6 -1
  73. package/dist/widgets/TreePicker.js +4 -3
  74. package/dist/widgets/TreeView.d.ts +6 -1
  75. package/dist/widgets/TreeView.js +3 -2
  76. package/dist/widgets/index.d.ts +61 -61
  77. package/dist/widgets/index.js +44 -44
  78. package/package.json +1 -1
  79. package/dist/DatePicker-CTDcFR7V.d.ts +0 -48
package/dist/meta.js CHANGED
@@ -45,6 +45,150 @@ var builtinComponentMeta = {
45
45
  ForEach: ForEachMeta
46
46
  };
47
47
 
48
+ // src/meta/self-axis.ts
49
+ var SIZE_OPTIONS = [
50
+ { value: "96", label: "96px" },
51
+ { value: "128", label: "128px" },
52
+ { value: "160", label: "160px" },
53
+ { value: "192", label: "192px" },
54
+ { value: "224", label: "224px" },
55
+ { value: "256", label: "256px" },
56
+ { value: "288", label: "288px" },
57
+ { value: "320", label: "320px" },
58
+ { value: "384", label: "384px" },
59
+ { value: "480", label: "480px" },
60
+ { value: "full", label: "\uBD80\uBAA8 \uD3ED \uAC00\uB4DD" }
61
+ ];
62
+ var SPACE_OPTIONS = [
63
+ { value: "2", label: "2px" },
64
+ { value: "4", label: "4px" },
65
+ { value: "8", label: "8px" },
66
+ { value: "12", label: "12px" },
67
+ { value: "16", label: "16px" },
68
+ { value: "20", label: "20px" },
69
+ { value: "24", label: "24px" },
70
+ { value: "32", label: "32px" }
71
+ ];
72
+ var ALIGN_OPTIONS = [
73
+ { value: "start", label: "\uC2DC\uC791" },
74
+ { value: "center", label: "\uAC00\uC6B4\uB370" },
75
+ { value: "end", label: "\uB05D" },
76
+ { value: "baseline", label: "\uAE00\uC790 \uAE30\uC900\uC120" },
77
+ { value: "stretch", label: "\uB298\uB9AC\uAE30" }
78
+ ];
79
+ var SELF_AXIS_PROPS = [
80
+ {
81
+ name: "width",
82
+ kind: "enum",
83
+ label: "\uC790\uAE30: \uD3ED",
84
+ description: '\uACE0\uC815 \uD3ED. 32px \uACA9\uC790\uC5D0 \uB9DE\uCD98 \uAC12\uB9CC \uACE0\uB97C \uC218 \uC788\uB2E4. "\uBD80\uBAA8 \uD3ED \uAC00\uB4DD"\uC740 100%.',
85
+ options: SIZE_OPTIONS,
86
+ group: "layout"
87
+ },
88
+ {
89
+ name: "maxWidth",
90
+ kind: "enum",
91
+ label: "\uC790\uAE30: \uCD5C\uB300 \uD3ED",
92
+ description: "\uC774\uBCF4\uB2E4 \uB113\uC5B4\uC9C0\uC9C0 \uC54A\uB294\uB2E4. \uB113\uC740 \uD654\uBA74\uC5D0\uC11C \uC785\uB825\uCE78\uC774 \uB298\uC5B4\uC9C0\uB294 \uAC83\uC744 \uB9C9\uB294\uB2E4.",
93
+ options: SIZE_OPTIONS,
94
+ group: "layout"
95
+ },
96
+ {
97
+ name: "marginTop",
98
+ kind: "enum",
99
+ label: "\uC790\uAE30: \uC704 \uC5EC\uBC31",
100
+ description: "\uBC14\uAE65 \uC704\uCABD \uC5EC\uBC31. \uBB36\uC74C\uC758 gap\uC73C\uB85C \uC548 \uB418\uB294 \uC790\uB9AC\uC5D0\uC11C\uB9CC \uC4F4\uB2E4.",
101
+ options: SPACE_OPTIONS,
102
+ group: "layout"
103
+ },
104
+ {
105
+ name: "marginBottom",
106
+ kind: "enum",
107
+ label: "\uC790\uAE30: \uC544\uB798 \uC5EC\uBC31",
108
+ description: "\uBC14\uAE65 \uC544\uB798\uCABD \uC5EC\uBC31. \uBB36\uC74C\uC758 gap\uC73C\uB85C \uC548 \uB418\uB294 \uC790\uB9AC\uC5D0\uC11C\uB9CC \uC4F4\uB2E4.",
109
+ options: SPACE_OPTIONS,
110
+ group: "layout"
111
+ },
112
+ {
113
+ name: "grow",
114
+ kind: "boolean",
115
+ label: "\uC790\uAE30: \uB0A8\uB294 \uACF5\uAC04 \uCC28\uC9C0",
116
+ description: "flex-grow. \uBD80\uBAA8\uC758 \uB0A8\uB294 \uD3ED(\uC138\uB85C \uBB36\uC74C\uC774\uBA74 \uB192\uC774)\uC744 \uC774 \uB178\uB4DC\uAC00 \uBA39\uB294\uB2E4.",
117
+ group: "layout",
118
+ advanced: true
119
+ },
120
+ {
121
+ name: "shrink",
122
+ kind: "boolean",
123
+ label: "\uC790\uAE30: \uC881\uC544\uC9C0\uBA74 \uC904\uC5B4\uB4E6",
124
+ description: "flex-shrink. \uB044\uBA74 \uC881\uC544\uC838\uB3C4 \uC6D0\uB798 \uD06C\uAE30\uB97C \uC9C0\uD0A8\uB2E4(\uBC84\uD2BC\xB7\uBC30\uC9C0\uCC98\uB7FC \uCC0C\uADF8\uB7EC\uC9C0\uBA74 \uC548 \uB418\uB294 \uAC83).",
125
+ group: "layout",
126
+ advanced: true
127
+ },
128
+ {
129
+ name: "minWidth",
130
+ kind: "enum",
131
+ label: "\uC790\uAE30: \uCD5C\uC18C \uD3ED",
132
+ description: "\uC774\uBCF4\uB2E4 \uC881\uC544\uC9C0\uC9C0 \uC54A\uB294\uB2E4.",
133
+ options: SIZE_OPTIONS,
134
+ group: "layout",
135
+ advanced: true
136
+ },
137
+ {
138
+ name: "pushEnd",
139
+ kind: "boolean",
140
+ label: "\uC790\uAE30: \uB05D\uC73C\uB85C \uBC00\uAE30",
141
+ description: '\uC55E\uCABD \uC5EC\uBC31\uC744 \uC790\uB3D9\uC73C\uB85C \uCC44\uC6CC \uC774\uAC83\uB9CC \uC904 \uB05D\uC73C\uB85C \uBCF4\uB0B8\uB2E4. \uBD80\uBAA8\uC758 "\uC8FC\uCD95 \uC815\uB82C=\uB05D"\uC740 \uC790\uC2DD \uC804\uBD80\uB97C \uC62E\uAE30\uC9C0\uB9CC \uC774\uCABD\uC740 \uD558\uB098\uB9CC \uC62E\uAE34\uB2E4.',
142
+ group: "layout",
143
+ advanced: true
144
+ },
145
+ {
146
+ name: "span",
147
+ kind: "enum",
148
+ label: "\uC790\uAE30: \uC5F4 \uBCD1\uD569",
149
+ description: "grid-column: span N. \uBD80\uBAA8\uAC00 Grid\uC77C \uB54C\uB9CC \uB73B\uC774 \uC788\uB2E4.",
150
+ options: [
151
+ { value: 1, label: "1\uCE78" },
152
+ { value: 2, label: "2\uCE78" },
153
+ { value: 3, label: "3\uCE78" },
154
+ { value: 4, label: "4\uCE78" },
155
+ { value: 5, label: "5\uCE78" },
156
+ { value: 6, label: "6\uCE78" }
157
+ ],
158
+ group: "layout",
159
+ advanced: true
160
+ },
161
+ {
162
+ name: "selfAlign",
163
+ kind: "enum",
164
+ label: "\uC790\uAE30: \uAD50\uCC28\uCD95 \uC815\uB82C",
165
+ description: "align-self. \uBD80\uBAA8\uC758 align\uC744 \uC774 \uB178\uB4DC\uC5D0\uC11C\uB9CC \uB4A4\uC9D1\uB294\uB2E4.",
166
+ options: ALIGN_OPTIONS,
167
+ group: "layout",
168
+ advanced: true
169
+ },
170
+ {
171
+ name: "truncate",
172
+ kind: "boolean",
173
+ label: "\uC790\uAE30: \uD55C \uC904 \uB9D0\uC904\uC784",
174
+ description: "\uB118\uCE58\uB294 \uAE00\uC790\uB97C \u2026\uB85C \uC790\uB978\uB2E4. \uC790\uAE30 min-width\uB97C 0\uC73C\uB85C \uD480\uC5B4 \uBB36\uC74C \uC548\uC5D0\uC11C\uB3C4 \uB3D9\uC791\uD55C\uB2E4.",
175
+ group: "layout",
176
+ advanced: true
177
+ }
178
+ ];
179
+ function withSelfAxis(meta) {
180
+ if (meta.dom?.element === "fragment") return meta;
181
+ const taken = new Set(meta.props.map((prop) => prop.name));
182
+ const added = SELF_AXIS_PROPS.filter((prop) => !taken.has(prop.name));
183
+ if (added.length === 0) return meta;
184
+ return { ...meta, props: [...meta.props, ...added] };
185
+ }
186
+ function withSelfAxisAll(catalog) {
187
+ const out = {};
188
+ for (const [name, meta] of Object.entries(catalog)) out[name] = withSelfAxis(meta);
189
+ return out;
190
+ }
191
+
48
192
  // src/meta/core.ts
49
193
  var styleProp = {
50
194
  name: "style",
@@ -150,61 +294,16 @@ var columnJustifyProp = {
150
294
  group: "layout",
151
295
  advanced: true
152
296
  };
153
- var growProp = {
154
- name: "grow",
155
- kind: "boolean",
156
- label: "\uC790\uAE30: \uB0A8\uB294 \uACF5\uAC04 \uCC28\uC9C0",
157
- description: "flex-grow. \uBD80\uBAA8\uC758 \uB0A8\uB294 \uD3ED(\uC138\uB85C \uBB36\uC74C\uC774\uBA74 \uB192\uC774)\uC744 \uC774 \uB178\uB4DC\uAC00 \uBA39\uB294\uB2E4.",
158
- group: "layout",
159
- advanced: true
160
- };
161
- var shrinkProp = {
162
- name: "shrink",
163
- kind: "boolean",
164
- label: "\uC790\uAE30: \uC881\uC544\uC9C0\uBA74 \uC904\uC5B4\uB4E6",
165
- description: "flex-shrink. \uB044\uBA74 \uC881\uC544\uC838\uB3C4 \uC6D0\uB798 \uD06C\uAE30\uB97C \uC9C0\uD0A8\uB2E4(\uBC84\uD2BC\xB7\uBC30\uC9C0\uCC98\uB7FC \uCC0C\uADF8\uB7EC\uC9C0\uBA74 \uC548 \uB418\uB294 \uAC83).",
166
- group: "layout",
167
- advanced: true
168
- };
169
- var spanProp = {
170
- name: "span",
171
- kind: "enum",
172
- label: "\uC790\uAE30: \uC5F4 \uBCD1\uD569",
173
- description: "grid-column: span N. \uBD80\uBAA8\uAC00 Grid\uC77C \uB54C\uB9CC \uB73B\uC774 \uC788\uB2E4.",
174
- options: [
175
- { value: 1, label: "1\uCE78" },
176
- { value: 2, label: "2\uCE78" },
177
- { value: 3, label: "3\uCE78" },
178
- { value: 4, label: "4\uCE78" },
179
- { value: 5, label: "5\uCE78" },
180
- { value: 6, label: "6\uCE78" }
181
- ],
182
- group: "layout",
183
- advanced: true
184
- };
185
- var selfAlignProp = {
186
- name: "selfAlign",
187
- kind: "enum",
188
- label: "\uC790\uAE30: \uAD50\uCC28\uCD95 \uC815\uB82C",
189
- description: "align-self. \uBD80\uBAA8\uC758 align\uC744 \uC774 \uB178\uB4DC\uC5D0\uC11C\uB9CC \uB4A4\uC9D1\uB294\uB2E4.",
190
- options: [
191
- { value: "start", label: "\uC2DC\uC791" },
192
- { value: "center", label: "\uAC00\uC6B4\uB370" },
193
- { value: "end", label: "\uB05D" },
194
- { value: "baseline", label: "\uAE00\uC790 \uAE30\uC900\uC120" },
195
- { value: "stretch", label: "\uB298\uB9AC\uAE30" }
196
- ],
197
- group: "layout",
198
- advanced: true
199
- };
200
- var truncateProp = {
201
- name: "truncate",
202
- kind: "boolean",
203
- label: "\uC790\uAE30: \uD55C \uC904 \uB9D0\uC904\uC784",
204
- description: "\uB118\uCE58\uB294 \uAE00\uC790\uB97C \u2026\uB85C \uC790\uB978\uB2E4. \uC790\uAE30 min-width\uB97C 0\uC73C\uB85C \uD480\uC5B4 \uBB36\uC74C \uC548\uC5D0\uC11C\uB3C4 \uB3D9\uC791\uD55C\uB2E4.",
205
- group: "layout",
206
- advanced: true
297
+ var pick = (name) => {
298
+ const found = SELF_AXIS_PROPS.find((prop) => prop.name === name);
299
+ if (!found) throw new Error(`self-axis\uC5D0 ${name}\uC774 \uC5C6\uC2B5\uB2C8\uB2E4`);
300
+ return found;
207
301
  };
302
+ var growProp = pick("grow");
303
+ var shrinkProp = pick("shrink");
304
+ var spanProp = pick("span");
305
+ var selfAlignProp = pick("selfAlign");
306
+ var truncateProp = pick("truncate");
208
307
  var ActionsMeta = {
209
308
  name: "Actions",
210
309
  label: "\uC561\uC158 \uBB36\uC74C",
@@ -382,6 +481,23 @@ var GridMeta = {
382
481
  description: 'grid-template-columns \uAC12. \uC608: "minmax(0,1.6fr) minmax(0,1fr)". columns\uB97C \uBB34\uC2DC\uD55C\uB2E4.',
383
482
  group: "layout"
384
483
  },
484
+ {
485
+ name: "padding",
486
+ kind: "enum",
487
+ label: "\uC548\uCABD \uC5EC\uBC31",
488
+ description: "\uADF8\uB9AC\uB4DC \uC790\uCCB4\uC758 \uC548\uCABD \uC5EC\uBC31. gap\uC740 \uC790\uC2DD \uC0AC\uC774\uB77C \uC774 \uC790\uB9AC\uB97C \uB300\uC2E0\uD558\uC9C0 \uBABB\uD55C\uB2E4.",
489
+ options: [
490
+ { value: "2", label: "2px" },
491
+ { value: "4", label: "4px" },
492
+ { value: "8", label: "8px" },
493
+ { value: "12", label: "12px" },
494
+ { value: "16", label: "16px" },
495
+ { value: "20", label: "20px" },
496
+ { value: "24", label: "24px" },
497
+ { value: "32", label: "32px" }
498
+ ],
499
+ group: "layout"
500
+ },
385
501
  gridGapProp,
386
502
  stretchAlignProp,
387
503
  wrapProp,
@@ -648,6 +764,19 @@ var ButtonMeta = {
648
764
  description: '\uB77C\uBCA8\uC744 \uC2A4\uD53C\uB108\uB85C \uBC14\uAFB8\uACE0 \uC785\uB825\uC744 \uB9C9\uB294\uB2E4. { "$state": "form.$submitting" }\uB97C \uC790\uC8FC \uAC74\uB2E4.',
649
765
  group: "behavior"
650
766
  },
767
+ {
768
+ name: "justify",
769
+ kind: "enum",
770
+ label: "\uC548\uCABD \uC815\uB82C",
771
+ description: '\uBC84\uD2BC \uC548 \uC544\uC774\uCF58\xB7\uAE00\uC790\uC758 \uAC00\uB85C \uC815\uB82C. \uAE30\uBCF8\uC740 \uAC00\uC6B4\uB370. \uD3ED\uC744 \uB298\uB9B0 \uBC84\uD2BC("\uAC00\uB85C \uAF49 \uCC44\uC6B0\uAE30"\uB098 \uD3ED \uC9C0\uC815)\uC5D0\uC11C\uB9CC \uD45C\uAC00 \uB09C\uB2E4.',
772
+ options: [
773
+ { value: "start", label: "\uC67C\uCABD" },
774
+ { value: "center", label: "\uAC00\uC6B4\uB370" },
775
+ { value: "end", label: "\uC624\uB978\uCABD" },
776
+ { value: "between", label: "\uC591\uB05D" }
777
+ ],
778
+ group: "layout"
779
+ },
651
780
  { name: "block", kind: "boolean", label: "\uAC00\uB85C \uAF49 \uCC44\uC6C0", default: false, group: "layout" },
652
781
  { name: "disabled", kind: "boolean", label: "\uBE44\uD65C\uC131", default: false, bindable: true, group: "behavior" },
653
782
  {
@@ -1508,6 +1637,18 @@ var TextMeta = {
1508
1637
  ],
1509
1638
  group: "appearance"
1510
1639
  },
1640
+ {
1641
+ name: "wrap",
1642
+ kind: "enum",
1643
+ label: "\uC904\uBC14\uAFC8",
1644
+ description: "\uC6D0\uBB38 \uC904\uBC14\uAFC8\uC744 \uC0B4\uB9B4\uC9C0, \uACF5\uBC31 \uC5C6\uB294 \uAE34 \uD1A0\uD070(ID\xB7URL\xB7\uD574\uC2DC)\uC744 \uAC15\uC81C\uB85C \uB04A\uC744\uC9C0. \uAE30\uBCF8\uC740 \uBE0C\uB77C\uC6B0\uC800 \uAE30\uBCF8\uC774\uB2E4.",
1645
+ options: [
1646
+ { value: "normal", label: "\uAE30\uBCF8" },
1647
+ { value: "preserve", label: "\uC6D0\uBB38 \uC904\uBC14\uAFC8 \uC720\uC9C0" },
1648
+ { value: "anywhere", label: "\uC720\uC9C0 + \uAE34 \uD1A0\uD070 \uB04A\uAE30" }
1649
+ ],
1650
+ group: "appearance"
1651
+ },
1511
1652
  {
1512
1653
  name: "value",
1513
1654
  kind: "node",
@@ -4256,13 +4397,13 @@ var SDUI_CATEGORIES = [
4256
4397
  { id: "feedback", label: "\uD53C\uB4DC\uBC31" },
4257
4398
  { id: "logic", label: "\uB85C\uC9C1" }
4258
4399
  ];
4259
- var allComponentMeta = {
4400
+ var allComponentMeta = withSelfAxisAll({
4260
4401
  ...coreComponentMeta,
4261
4402
  ...richComponentMeta,
4262
4403
  ...widgetComponentMeta,
4263
4404
  ...dsComponentMeta,
4264
4405
  ...builtinComponentMeta
4265
- };
4406
+ });
4266
4407
  function getComponentMeta(name, catalog = allComponentMeta) {
4267
4408
  return Object.hasOwn(catalog, name) ? catalog[name] : void 0;
4268
4409
  }
@@ -4280,4 +4421,4 @@ function paletteGroups(catalog = allComponentMeta) {
4280
4421
  })).filter((group) => group.items.length > 0);
4281
4422
  }
4282
4423
 
4283
- export { ActionsMeta, AlertMeta, AutocompleteFieldMeta, AvatarMeta, BadgeMeta, BreadcrumbMeta, ButtonMeta, CanMeta, CardMeta, ChartMeta, CheckboxMeta, ColMeta, ColumnBoardMeta, DatePickerMeta, DateRangePickerMeta, DialogMeta, DiffViewMeta, DisclosureMeta, DividerMeta, EmptyStateMeta, EventCalendarMeta, FieldMeta, ForEachMeta, FormMeta, GridMeta, IconButtonMeta, IconMeta, ImageLightboxMeta, InlineEditMeta, InputMeta, JsonFieldMeta, KeyValueListMeta, LiveClockMeta, MapPreviewMeta, OrgChartMeta, PageHeadMeta, PaginationMeta, PeriodFilterMeta, PrintSheetMeta, ProgressBarMeta, RadioMeta, RemoteSearchResultsMeta, RowMeta, SDUI_CATEGORIES, SearchResultsMeta, SearchableMultiPickerMeta, SectionMeta, SecureScreenMeta, SegmentedControlMeta, SelectMeta, ShowMeta, SidebarNavMeta, SortHandleMeta, SortableListMeta, SpacerMeta, SpinnerMeta, StackedMeterMeta, StatCardMeta, StripMeta, SummaryTableMeta, SwitchMeta, TableMeta, TabsMeta, TagMeta, TagMultiSelectMeta, TextMeta, TextareaMeta, TimelineMeta, ToastMeta, TooltipMeta, TreePickerMeta, TreeViewMeta, allComponentMeta, builtinComponentMeta, coreComponentMeta, dsComponentMeta, getComponentMeta, paletteGroups, richComponentMeta, slotNamesOf, widgetComponentMeta };
4424
+ export { ActionsMeta, AlertMeta, AutocompleteFieldMeta, AvatarMeta, BadgeMeta, BreadcrumbMeta, ButtonMeta, CanMeta, CardMeta, ChartMeta, CheckboxMeta, ColMeta, ColumnBoardMeta, DatePickerMeta, DateRangePickerMeta, DialogMeta, DiffViewMeta, DisclosureMeta, DividerMeta, EmptyStateMeta, EventCalendarMeta, FieldMeta, ForEachMeta, FormMeta, GridMeta, IconButtonMeta, IconMeta, ImageLightboxMeta, InlineEditMeta, InputMeta, JsonFieldMeta, KeyValueListMeta, LiveClockMeta, MapPreviewMeta, OrgChartMeta, PageHeadMeta, PaginationMeta, PeriodFilterMeta, PrintSheetMeta, ProgressBarMeta, RadioMeta, RemoteSearchResultsMeta, RowMeta, SDUI_CATEGORIES, SELF_AXIS_PROPS, SearchResultsMeta, SearchableMultiPickerMeta, SectionMeta, SecureScreenMeta, SegmentedControlMeta, SelectMeta, ShowMeta, SidebarNavMeta, SortHandleMeta, SortableListMeta, SpacerMeta, SpinnerMeta, StackedMeterMeta, StatCardMeta, StripMeta, SummaryTableMeta, SwitchMeta, TableMeta, TabsMeta, TagMeta, TagMultiSelectMeta, TextMeta, TextareaMeta, TimelineMeta, ToastMeta, TooltipMeta, TreePickerMeta, TreeViewMeta, allComponentMeta, builtinComponentMeta, coreComponentMeta, dsComponentMeta, getComponentMeta, paletteGroups, richComponentMeta, slotNamesOf, widgetComponentMeta, withSelfAxis, withSelfAxisAll };
package/dist/rich.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import React__default from 'react';
2
- export { D as DatePicker, b as DatePickerProps, a as DateRangePicker, c as DateRangePickerProps, d as DateRangeValue } from './DatePicker-CTDcFR7V.js';
2
+ export { b as DatePicker, D as DatePickerProps, c as DateRangePicker, a as DateRangePickerProps, d as DateRangeValue } from './DatePicker-BndreCPl.js';
3
+ import './layout-B1QrIBm6.js';
3
4
 
4
5
  /**
5
6
  * Chart — 선언형 recharts 래퍼 (ERP `app/components/widgets/Chart.tsx` 이식).
package/dist/rich.js CHANGED
@@ -1,6 +1,7 @@
1
- import { useSduiAssetResolver, HoistedStyle } from './chunk-KAXPN6KT.js';
2
- export { DatePicker, DateRangePicker } from './chunk-KAXPN6KT.js';
3
- import { Spinner, EmptyState } from './chunk-CRSY67TZ.js';
1
+ import { useSduiAssetResolver, HoistedStyle } from './chunk-27APKNEI.js';
2
+ export { DatePicker, DateRangePicker } from './chunk-27APKNEI.js';
3
+ import { Spinner, EmptyState } from './chunk-6FADQ2SU.js';
4
+ import './chunk-SAN4IX6N.js';
4
5
  import { useRef, useCallback, useMemo, useState, useEffect, useLayoutEffect } from 'react';
5
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
7
 
@@ -1,44 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * AutocompleteField — 디바운스 원격/정적 자동완성 검색 필드.
5
- *
6
- * - `search`가 주어지면 그 함수로 원격 검색하고, 없으면 options 배열을
7
- * includesLooseSearch로 로컬 필터링한다(데모/폴백).
8
- * - 입력만으로는 절대 값이 확정되지 않는다 — 목록에서 선택해야 onChange(value, option),
9
- * 선택 해제 시에만 onChange(null)이 호출된다.
10
- * - 선택되면 입력창 대신 "선택됨 카드"(circle-check + 라벨 + 부가정보 + 변경 버튼)를 보여준다.
11
- *
12
- * ## 조회를 왜 주입으로 받나
13
- *
14
- * ERP판은 `endpoint` 프롭을 받아 `erpFetch(endpoint?q=…)`를 직접 부르고, 503을
15
- * `ErpApiError`로 알아보아 "백엔드 미연동" 안내로 떨어뜨렸다. 그 셋(API_BASE 규약,
16
- * 웹 쿠키/데스크톱 Bearer 이중 세션, 503=데모 모드 강등)은 전부 **호스트 앱의 계약**이라
17
- * 라이브러리가 알 수 없다. 그래서 여기는 "키워드를 주면 옵션 목록을 돌려주는 함수"
18
- * 하나만 요구하고, `endpoint`를 그 함수로 바꾸는 어댑터는 소비 앱에 남는다:
19
- *
20
- * ```tsx
21
- * <AutocompleteField
22
- * search={async (keyword, signal) => {
23
- * const sep = endpoint.includes('?') ? '&' : '?';
24
- * try {
25
- * return toAutocompleteOptions(
26
- * await erpFetch(`${endpoint}${sep}q=${encodeURIComponent(keyword)}`, { signal }),
27
- * );
28
- * } catch (error) {
29
- * if (error instanceof ErpApiError && error.status === 503) {
30
- * return { options: [], status: 'offline' };
31
- * }
32
- * throw error;
33
- * }
34
- * }}
35
- * />
36
- * ```
37
- *
38
- * 응답 모양 정규화(`toAutocompleteOptions`)는 여기서 함께 내보낸다 — 배열/`items`/`data`/
39
- * `results`/`rows` 래핑을 푸는 규칙까지 앱마다 다시 짜게 할 이유가 없다.
40
- */
41
-
42
4
  type AutocompleteOption = Record<string, unknown>;
43
5
  /**
44
6
  * 원격 검색 결과.
@@ -91,6 +53,10 @@ interface AutocompleteFieldProps {
91
53
  * 조회를 앱이 맡게 됐으므로 이 정규화도 함께 내보낸다 — 앱마다 다시 짤 규칙이 아니다.
92
54
  */
93
55
  declare function toAutocompleteOptions(payload: unknown): AutocompleteOption[];
94
- declare function AutocompleteField({ search, options, labelKey, valueKey, subKey, value, selectedLabel, onChange, placeholder, minChars, debounceMs, invalid, disabled, }: AutocompleteFieldProps): React__default.JSX.Element;
56
+ /**
57
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
58
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
59
+ */
60
+ declare const AutocompleteField: React__default.FC<AutocompleteFieldProps & SduiBoxProps>;
95
61
 
96
62
  export { AutocompleteField, type AutocompleteFieldProps, type AutocompleteOption, type AutocompleteSearchFn, type AutocompleteSearchResult, toAutocompleteOptions };
@@ -1,3 +1,4 @@
1
- export { AutocompleteField, toAutocompleteOptions } from '../chunk-57LLG32F.js';
2
- import '../chunk-TKB7H5DB.js';
3
- import '../chunk-CRSY67TZ.js';
1
+ export { AutocompleteField, toAutocompleteOptions } from '../chunk-OM63D4UH.js';
2
+ import '../chunk-WUTCZCQH.js';
3
+ import '../chunk-6FADQ2SU.js';
4
+ import '../chunk-SAN4IX6N.js';
@@ -1,18 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * ColumnBoard — 칸반식 분류 보드 (버튼 이동, 드래그 없음).
5
- *
6
- * - 컬럼 헤더: 라벨 + 건수 Badge, tone에 따라 상태 틴트(--wp-status-*-bg/border/fg).
7
- * - 항목 카드: 제목/부제/뱃지, onItemClick이 있으면 본문이 버튼이 된다.
8
- * - 이동: 카드 우측 chevron 메뉴(erp-popover)에서 다른 컬럼을 골라 onMove({ id, toColumn }).
9
- * (SDUI 액션은 첫 콜백 인자만 이벤트 값으로 받으므로 단일 객체로 전달한다)
10
- * onMove 미연결 시 버튼은 비활성 + 사유 title.
11
- * - 선택: selectable이면 카드마다 Checkbox. selectedIds가 주어지면 제어 모드,
12
- * 아니면 내부 상태로 동작하며 변경 시 onSelectChange(ids).
13
- * - 정의되지 않은 컬럼 키를 가진 항목은 보드 아래 미분류 안내로 집계한다.
14
- */
15
-
16
4
  type ColumnBoardTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
17
5
  interface ColumnBoardColumn {
18
6
  key: string;
@@ -42,6 +30,10 @@ interface ColumnBoardProps {
42
30
  selectedIds?: string[];
43
31
  onSelectChange?: (ids: string[]) => void;
44
32
  }
45
- declare function ColumnBoard({ columns, items, onMove, onItemClick, selectable, selectedIds, onSelectChange, }: ColumnBoardProps): React__default.JSX.Element;
33
+ /**
34
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
35
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
36
+ */
37
+ declare const ColumnBoard: React__default.FC<ColumnBoardProps & SduiBoxProps>;
46
38
 
47
39
  export { ColumnBoard, type ColumnBoardColumn, type ColumnBoardItem, type ColumnBoardProps, type ColumnBoardTone };
@@ -1,2 +1,3 @@
1
- export { ColumnBoard } from '../chunk-HGFYXY7F.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { ColumnBoard } from '../chunk-QTNIUMSM.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,15 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * DiffView — 변경 전/후 비교 뷰.
5
- *
6
- * - fields: 스칼라 값 비교. 라벨(wp-kv 스타일) + 이전 값(취소선, subtle)
7
- * + arrow-right 아이콘 + 이후 값(strong, success 틴트 배경).
8
- * - lists: 목록 비교. 추가 항목 success Badge '+', 제거 danger Badge '−',
9
- * 유지 neutral Badge.
10
- * - 값이 없는 쪽은 '—'로 표시한다(취소선/틴트 없음).
11
- */
12
-
13
4
  interface DiffField {
14
5
  label: string;
15
6
  before?: React__default.ReactNode;
@@ -25,6 +16,10 @@ interface DiffViewProps {
25
16
  fields?: DiffField[];
26
17
  lists?: DiffList[];
27
18
  }
28
- declare function DiffView({ fields, lists }: DiffViewProps): React__default.JSX.Element;
19
+ /**
20
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
21
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
22
+ */
23
+ declare const DiffView: React__default.FC<DiffViewProps & SduiBoxProps>;
29
24
 
30
25
  export { type DiffField, type DiffList, DiffView, type DiffViewProps };
@@ -1,2 +1,3 @@
1
- export { DiffView } from '../chunk-73ZMMJRX.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { DiffView } from '../chunk-RQ2FWV24.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,13 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * Disclosure — 접기/펼치기 행.
5
- *
6
- * - chevron-right 아이콘이 펼침 상태에서 90도 회전(var(--wp-transition-transform))한다.
7
- * - controlled-with-fallback: open이 주어지면 그대로 따르고, 없으면 내부 상태로 동작한다.
8
- * - aria-expanded / aria-controls 연결, 내용 영역은 hidden 토글로 상태를 보존한다.
9
- */
10
-
11
4
  interface DisclosureProps {
12
5
  summary: React__default.ReactNode;
13
6
  children?: React__default.ReactNode;
@@ -15,6 +8,10 @@ interface DisclosureProps {
15
8
  open?: boolean;
16
9
  onOpenChange?: (open: boolean) => void;
17
10
  }
18
- declare function Disclosure({ summary, children, defaultOpen, open, onOpenChange, }: DisclosureProps): React__default.JSX.Element;
11
+ /**
12
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
13
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
14
+ */
15
+ declare const Disclosure: React__default.FC<DisclosureProps & SduiBoxProps>;
19
16
 
20
17
  export { Disclosure, type DisclosureProps };
@@ -1,2 +1,3 @@
1
- export { Disclosure } from '../chunk-TAFUDHIX.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { Disclosure } from '../chunk-CEFOZOOM.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
2
3
 
3
4
  /**
4
5
  * EventCalendar — 일정 캘린더 위젯 (월 / 주 / 일 / 일정 뷰).
@@ -54,6 +55,10 @@ interface EventCalendarProps {
54
55
  onEventClick?: (event: EventCalendarEvent) => void;
55
56
  selectedId?: string;
56
57
  }
57
- declare const EventCalendar: ({ events, view, onViewChange, views, date, onDateChange, types, onEventClick, selectedId, }: EventCalendarProps) => React.JSX.Element;
58
+ /**
59
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
60
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
61
+ */
62
+ declare const EventCalendar: React.FC<EventCalendarProps & SduiBoxProps>;
58
63
 
59
64
  export { EventCalendar, type EventCalendarEvent, type EventCalendarProps, type EventCalendarTypeOption, type EventCalendarView, type EventCalendarViewItem };
@@ -1,2 +1,3 @@
1
- export { EventCalendar } from '../chunk-XMMYJSRV.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { EventCalendar } from '../chunk-KL554MEM.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,14 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * ImageLightbox — 이미지 라이트박스 뷰어.
5
- * 썸네일(또는 커스텀 트리거) 클릭 → 전체 화면 오버레이:
6
- * - 휠 줌 1x–8x (커서 위치 기준 앵커)
7
- * - 확대 상태에서 드래그 패닝 (pointer capture, 경계 클램프)
8
- * - 툴바: 축소 / 확대 / 원래 크기 / 닫기 + 배율 % 표시
9
- * - Escape·배경 클릭으로 닫힘, 트리거 클릭은 stopPropagation (행 클릭과 공존)
10
- */
11
-
12
4
  interface ImageLightboxProps {
13
5
  /** 원본 이미지 URL */
14
6
  src: string;
@@ -20,6 +12,10 @@ interface ImageLightboxProps {
20
12
  /** 커스텀 트리거 — 주면 기본 썸네일 대신 렌더된다 */
21
13
  children?: React__default.ReactNode;
22
14
  }
23
- declare function ImageLightbox({ src, alt, thumbClassName, thumbStyle, children }: ImageLightboxProps): React__default.JSX.Element;
15
+ /**
16
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
17
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
18
+ */
19
+ declare const ImageLightbox: React__default.FC<ImageLightboxProps & SduiBoxProps>;
24
20
 
25
21
  export { ImageLightbox, type ImageLightboxProps };
@@ -1,2 +1,3 @@
1
- export { ImageLightbox } from '../chunk-XY2JKFAV.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { ImageLightbox } from '../chunk-7MRAY6UD.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,14 +1,6 @@
1
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
1
2
  import React__default from 'react';
2
3
 
3
- /**
4
- * InlineEdit — 텍스트를 제자리에서 수정하는 위젯.
5
- *
6
- * - 보기 모드: 값 + 연필 IconButton(hover/focus 시 표시, 터치 기기에서는 항상 표시).
7
- * - 편집 모드: DS Input(autoFocus, Enter=저장, Escape=취소) + 확인/취소 IconButton.
8
- * - 비동기 onSave 동안 확인 버튼이 로딩(회전 아이콘) 상태가 되고, 실패하면
9
- * 편집 모드를 유지한 채 danger 캡션을 보여준다(503은 데모 모드 안내).
10
- */
11
-
12
4
  interface InlineEditProps {
13
5
  value: string;
14
6
  onSave: (value: string) => void | Promise<void>;
@@ -18,6 +10,10 @@ interface InlineEditProps {
18
10
  /** 값이 비었을 때 표시할 텍스트. 기본 '—' */
19
11
  emptyText?: string;
20
12
  }
21
- declare function InlineEdit({ value, onSave, type, mono, disabled, emptyText, }: InlineEditProps): React__default.JSX.Element;
13
+ /**
14
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
15
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
16
+ */
17
+ declare const InlineEdit: React__default.FC<InlineEditProps & SduiBoxProps>;
22
18
 
23
19
  export { InlineEdit, type InlineEditProps };
@@ -1,2 +1,3 @@
1
- export { InlineEdit } from '../chunk-B4A4KY4K.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { InlineEdit } from '../chunk-VPVCVSFH.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
2
3
 
3
4
  /**
4
5
  * JsonField — JSON 편집용 텍스트 영역.
@@ -19,6 +20,10 @@ interface JsonFieldProps {
19
20
  disabled?: boolean;
20
21
  placeholder?: string;
21
22
  }
22
- declare function JsonField({ value, onChange, rows, invalid, disabled, placeholder, }: JsonFieldProps): React.JSX.Element;
23
+ /**
24
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
25
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
26
+ */
27
+ declare const JsonField: React.FC<JsonFieldProps & SduiBoxProps>;
23
28
 
24
29
  export { JsonField, type JsonFieldProps };
@@ -1,2 +1,3 @@
1
- export { JsonField } from '../chunk-L4ORCIVN.js';
2
- import '../chunk-CRSY67TZ.js';
1
+ export { JsonField } from '../chunk-VCX2XEF6.js';
2
+ import '../chunk-6FADQ2SU.js';
3
+ import '../chunk-SAN4IX6N.js';
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { S as SduiBoxProps } from '../layout-B1QrIBm6.js';
2
3
 
3
4
  /**
4
5
  * LiveClock — 1초 간격 실시간 시계 / 경과 시간 표시.
@@ -16,6 +17,10 @@ interface LiveClockProps {
16
17
  /** 날짜(시계 모드) 또는 시작 시각(경과 모드) 함께 표시 */
17
18
  showDate?: boolean;
18
19
  }
19
- declare function LiveClock({ startedAt, showDate }: LiveClockProps): React.JSX.Element;
20
+ /**
21
+ * 바깥에서 온 `style`·`className`을 뿌리에 얹어 내보낸다 — 자식 축(`grow`·`width` …)이
22
+ * 이 컴포넌트에서도 동작하게 하는 유일한 통로다. 까닭은 {@link ../boxed.tsx}에 있다.
23
+ */
24
+ declare const LiveClock: React.FC<LiveClockProps & SduiBoxProps>;
20
25
 
21
26
  export { LiveClock, type LiveClockProps };
@@ -1 +1,2 @@
1
- export { LiveClock } from '../chunk-QZQDHSMD.js';
1
+ export { LiveClock } from '../chunk-Z3WGIFJP.js';
2
+ import '../chunk-SAN4IX6N.js';