@nurihaus/web-design-system 3.6.0 → 3.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 (138) hide show
  1. package/README.md +15 -4
  2. package/dist/ai/components.md +636 -11
  3. package/dist/ai/motion.md +429 -0
  4. package/dist/ai/tokens.md +90 -4
  5. package/dist/avatar.js +5 -3
  6. package/dist/bottom-bar.js +261 -0
  7. package/dist/bottom-nav.js +10 -57
  8. package/dist/breadcrumb.js +7 -5
  9. package/dist/callout.js +5 -3
  10. package/dist/card.js +278 -0
  11. package/dist/check-box.js +7 -5
  12. package/dist/chip-group.js +6 -4
  13. package/dist/chunk-3274.js +71 -0
  14. package/dist/chunk-345.js +72 -0
  15. package/dist/chunk-3547.js +56 -0
  16. package/dist/chunk-6459.js +107 -0
  17. package/dist/{chunk-6364.js → chunk-7335.js} +2 -67
  18. package/dist/chunk-7653.js +4 -0
  19. package/dist/chunk-910.js +17 -6
  20. package/dist/chunk-9497.js +66 -0
  21. package/dist/collapsible-menu.js +6 -4
  22. package/dist/components/badge/badge-props.d.ts +4 -4
  23. package/dist/components/badge/badge.stories.d.ts +1 -1
  24. package/dist/components/bottom-bar/base-bottom-bar.d.ts +4 -0
  25. package/dist/components/bottom-bar/bottom-bar-props.d.ts +1 -0
  26. package/dist/components/bottom-bar/bottom-bar-type.d.ts +3 -0
  27. package/dist/components/bottom-bar/bottom-bar.d.ts +6 -0
  28. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +282 -0
  29. package/dist/components/button/button-type.d.ts +3 -1
  30. package/dist/components/button/button.stories.d.ts +1 -0
  31. package/dist/components/card/base-card.d.ts +3 -0
  32. package/dist/components/card/card-props.d.ts +9 -0
  33. package/dist/components/card/card-type.d.ts +8 -0
  34. package/dist/components/card/card.d.ts +5 -0
  35. package/dist/components/card/card.stories.d.ts +24 -0
  36. package/dist/components/description-list/base-description-list.d.ts +4 -0
  37. package/dist/components/description-list/description-list-props.d.ts +1 -0
  38. package/dist/components/description-list/description-list-type.d.ts +13 -0
  39. package/dist/components/description-list/description-list.d.ts +5 -0
  40. package/dist/components/description-list/description-list.stories.d.ts +20 -0
  41. package/dist/components/empty-state/base-empty-state.d.ts +4 -0
  42. package/dist/components/empty-state/empty-state-props.d.ts +10 -0
  43. package/dist/components/empty-state/empty-state-type.d.ts +14 -0
  44. package/dist/components/empty-state/empty-state.d.ts +5 -0
  45. package/dist/components/empty-state/empty-state.stories.d.ts +300 -0
  46. package/dist/components/icon/icon-paths.d.ts +4 -0
  47. package/dist/components/icon/icon.stories.d.ts +1 -1
  48. package/dist/components/list/base-list.d.ts +7 -0
  49. package/dist/components/list/list-group.d.ts +5 -0
  50. package/dist/components/list/list-group.stories.d.ts +14 -0
  51. package/dist/components/list/list-props.d.ts +2 -0
  52. package/dist/components/list/list-row.d.ts +5 -0
  53. package/dist/components/list/list-row.stories.d.ts +304 -0
  54. package/dist/components/list/list-type.d.ts +25 -0
  55. package/dist/components/media/base-media.d.ts +16 -0
  56. package/dist/components/media/media-props.d.ts +5 -0
  57. package/dist/components/media/media-thumbnail.d.ts +4 -0
  58. package/dist/components/media/media-thumbnail.stories.d.ts +34 -0
  59. package/dist/components/media/media-type.d.ts +43 -0
  60. package/dist/components/media/media-viewer.d.ts +4 -0
  61. package/dist/components/media/media-viewer.stories.d.ts +24 -0
  62. package/dist/components/message/base-message.d.ts +11 -0
  63. package/dist/components/message/message-event.d.ts +6 -0
  64. package/dist/components/message/message-props.d.ts +17 -0
  65. package/dist/components/message/message-thread.d.ts +6 -0
  66. package/dist/components/message/message-type.d.ts +21 -0
  67. package/dist/components/message/message.d.ts +5 -0
  68. package/dist/components/message/message.stories.d.ts +313 -0
  69. package/dist/components/message-composer/base-message-composer.d.ts +11 -0
  70. package/dist/components/message-composer/message-composer-props.d.ts +1 -0
  71. package/dist/components/message-composer/message-composer-type.d.ts +27 -0
  72. package/dist/components/message-composer/message-composer.d.ts +5 -0
  73. package/dist/components/message-composer/message-composer.stories.d.ts +44 -0
  74. package/dist/components/modal/modal-type.d.ts +11 -0
  75. package/dist/components/motion/motion-provider.d.ts +5 -0
  76. package/dist/components/motion/motion-type.d.ts +6 -0
  77. package/dist/components/motion/motion.d.ts +2 -0
  78. package/dist/components/motion/motion.stories.d.ts +23 -0
  79. package/dist/components/notice/base-notice.d.ts +4 -0
  80. package/dist/components/notice/notice-props.d.ts +16 -0
  81. package/dist/components/notice/notice-type.d.ts +19 -0
  82. package/dist/components/notice/notice.d.ts +5 -0
  83. package/dist/components/notice/notice.stories.d.ts +304 -0
  84. package/dist/components/radio/base-radio.d.ts +2 -1
  85. package/dist/components/radio/radio-props.d.ts +9 -1
  86. package/dist/components/radio/radio-type.d.ts +9 -0
  87. package/dist/components/radio/radio.stories.d.ts +10 -0
  88. package/dist/components/skeleton/skeleton.stories.d.ts +7 -7
  89. package/dist/components/tag/base-tag.d.ts +8 -0
  90. package/dist/components/tag/tag-props.d.ts +1 -0
  91. package/dist/components/tag/tag-type.d.ts +20 -0
  92. package/dist/components/tag/tag.d.ts +4 -0
  93. package/dist/components/tag/tag.stories.d.ts +14 -0
  94. package/dist/components/toast/toast.stories.d.ts +10 -10
  95. package/dist/components.css +1238 -167
  96. package/dist/cta-button.js +27 -14
  97. package/dist/data-table.js +5 -3
  98. package/dist/description-list.js +274 -0
  99. package/dist/drawer.js +7 -5
  100. package/dist/drop-down.js +8 -6
  101. package/dist/empty-state.js +300 -0
  102. package/dist/icon-text-badge.js +11 -9
  103. package/dist/icon-text-option-badge.js +8 -6
  104. package/dist/icon.js +7 -4
  105. package/dist/index.d.ts +28 -2
  106. package/dist/index.js +2324 -220
  107. package/dist/list-group.js +253 -0
  108. package/dist/list-row.js +302 -0
  109. package/dist/loading.js +6 -4
  110. package/dist/media-thumbnail.js +412 -0
  111. package/dist/media-viewer.js +274 -0
  112. package/dist/message-composer.js +395 -0
  113. package/dist/message-event.js +216 -0
  114. package/dist/message-thread.js +216 -0
  115. package/dist/message.js +271 -0
  116. package/dist/modal-with-double-button.js +49 -12
  117. package/dist/modal.js +9 -7
  118. package/dist/motion.js +52 -0
  119. package/dist/notice.js +342 -0
  120. package/dist/option-badge.js +11 -9
  121. package/dist/pagination.js +8 -6
  122. package/dist/radio.js +114 -30
  123. package/dist/skeleton.js +4 -2
  124. package/dist/step-progress.js +4 -2
  125. package/dist/styles.css +1130 -122
  126. package/dist/switch.js +6 -4
  127. package/dist/tabs.js +5 -3
  128. package/dist/tag.js +311 -0
  129. package/dist/text-area.js +8 -6
  130. package/dist/text-field.js +8 -6
  131. package/dist/text.js +5 -3
  132. package/dist/toast.js +12 -10
  133. package/dist/tokens/generated/index.d.ts +1 -0
  134. package/dist/tokens/generated/motion.d.ts +153 -0
  135. package/dist/tokens.css +117 -2
  136. package/dist/tokens.js +156 -1
  137. package/dist/tooltip.js +6 -4
  138. package/package.json +63 -1
package/dist/radio.js CHANGED
@@ -29,6 +29,24 @@ var base_button = __nuri_require__(8933);
29
29
  // EXTERNAL MODULE: ./components/core/composer/index.tsx
30
30
  var composer = __nuri_require__(2777);
31
31
  ;// ./components/radio/base-radio.tsx
32
+ var __assign = undefined && undefined.__assign || function () {
33
+ __assign = Object.assign || function (t) {
34
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
35
+ s = arguments[i];
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
37
+ }
38
+ return t;
39
+ };
40
+ return __assign.apply(this, arguments);
41
+ };
42
+ var __rest = undefined && undefined.__rest || function (s, e) {
43
+ var t = {};
44
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
45
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
47
+ }
48
+ return t;
49
+ };
32
50
 
33
51
 
34
52
 
@@ -70,13 +88,15 @@ RadioRootBase.displayName = 'RadioRoot';
70
88
  var RadioOptionGroup = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
71
89
  var children = props.children,
72
90
  asChild = props.asChild,
73
- className = props.className;
91
+ className = props.className,
92
+ restProps = __rest(props, ["children", "asChild", "className"]);
74
93
  var Comp = asChild ? composer/* default */.A : 'ul';
75
- return (0,jsx_runtime_.jsx)(Comp, {
94
+ return (0,jsx_runtime_.jsx)(Comp, __assign({
76
95
  ref: ref,
77
- className: (0,classNames/* classNames */.x)('nuri-theme base-radio option-group', className),
96
+ className: (0,classNames/* classNames */.x)('nuri-theme base-radio option-group', className)
97
+ }, restProps, {
78
98
  children: children
79
- });
99
+ }));
80
100
  });
81
101
  RadioOptionGroup.displayName = 'RadioOptionGroup';
82
102
  var RadioButton = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
@@ -100,6 +120,31 @@ var RadioButton = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_r
100
120
  });
101
121
  });
102
122
  RadioButton.displayName = 'RadioButton';
123
+ // 칩 전체가 라디오 하나다. 점 없이 라벨만 그리고 role·aria-checked 로 선택을 알린다.
124
+ var RadioChip = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
125
+ var className = props.className,
126
+ id = props.id,
127
+ disabled = props.disabled,
128
+ restProps = __rest(props, ["className", "id", "disabled"]);
129
+ var _a = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.useContext)(RadioContext),
130
+ selected = _a.selected,
131
+ onChange = _a.onChange;
132
+ var checked = id === selected;
133
+ return (0,jsx_runtime_.jsx)(base_button/* default */.A, __assign({
134
+ ref: ref,
135
+ className: (0,classNames/* classNames */.x)('nuri-theme base-radio chip', className),
136
+ type: 'button',
137
+ role: 'radio',
138
+ "aria-checked": checked,
139
+ "data-state": checked ? 'checked' : 'unchecked',
140
+ disabled: disabled,
141
+ "data-disabled": disabled || undefined,
142
+ onClick: function onClick() {
143
+ return onChange(id);
144
+ }
145
+ }, restProps));
146
+ });
147
+ RadioChip.displayName = 'RadioChip';
103
148
  var RadioIndicator = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
104
149
  var children = props.children,
105
150
  asChild = props.asChild,
@@ -138,13 +183,21 @@ RadioLabel.displayName = 'RadioLabel';
138
183
  var RadioRoot = Object.assign(RadioRootBase, {
139
184
  OptionGroup: RadioOptionGroup,
140
185
  Button: RadioButton,
186
+ Chip: RadioChip,
141
187
  Indicator: RadioIndicator,
142
188
  Label: RadioLabel
143
189
  });
144
190
  /* harmony default export */ const base_radio = (RadioRoot);
145
191
  ;// ./components/radio/radio-props.ts
146
- // CSS 가 아직 크기·방향을 나누지 않아 className 으로 바뀌는 prop 이 없다.
147
- var radioProps = {};
192
+ var variant = ['default', 'chip'];
193
+ var radioProps = {
194
+ variant: {
195
+ type: 'className',
196
+ className: 'variant',
197
+ values: variant,
198
+ "default": 'default'
199
+ }
200
+ };
148
201
  ;// ./components/radio/radio.tsx
149
202
 
150
203
 
@@ -153,18 +206,60 @@ var radioProps = {};
153
206
 
154
207
 
155
208
 
209
+ // 칩은 버튼 자체가 role='radio' 라 li 는 목록 의미를 빼고 자리만 잡는다.
210
+ var ChipOption = function ChipOption(props) {
211
+ var option = props.option;
212
+ return (0,jsx_runtime_.jsx)("li", {
213
+ className: 'radio radio-option',
214
+ role: 'none',
215
+ children: (0,jsx_runtime_.jsx)(base_radio.Chip, {
216
+ className: 'radio radio-chip',
217
+ id: option.id,
218
+ disabled: option.disabled,
219
+ children: option.label
220
+ })
221
+ });
222
+ };
223
+ ChipOption.displayName = 'RadioChipOption';
224
+ var DefaultOption = function DefaultOption(props) {
225
+ var option = props.option;
226
+ return (0,jsx_runtime_.jsxs)("li", {
227
+ className: 'radio radio-option',
228
+ children: [(0,jsx_runtime_.jsx)(base_radio.Button, {
229
+ className: 'radio radio-button',
230
+ id: option.id,
231
+ disabled: option.disabled,
232
+ children: (0,jsx_runtime_.jsx)(base_radio.Indicator, {
233
+ className: 'radio radio-indicator',
234
+ id: option.id,
235
+ asChild: true,
236
+ children: (0,jsx_runtime_.jsx)("div", {})
237
+ })
238
+ }), (0,jsx_runtime_.jsx)(base_radio.Label, {
239
+ className: 'radio radio-label',
240
+ id: option.id,
241
+ disabled: option.disabled,
242
+ children: option.label
243
+ })]
244
+ });
245
+ };
246
+ DefaultOption.displayName = 'RadioDefaultOption';
156
247
  var Radio = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
157
248
  var _a = (0,getMergedProps/* getMergedProps */.p)(props, radioProps),
158
249
  className = _a.className,
159
250
  selected = _a.selected,
160
251
  _onChange = _a.onChange,
161
252
  options = _a.options,
253
+ label = _a.label,
162
254
  track = _a.track,
163
255
  trackProps = _a.trackProps;
256
+ // getMergedProps 가 variant 를 클래스로 바꾸며 지우므로 원래 props 에서 읽는다.
257
+ var isChip = props.variant === 'chip';
164
258
  var emit = (0,useTrack/* useTrack */.n)('Radio', {
165
259
  track: track,
166
260
  trackProps: trackProps
167
261
  });
262
+ var Option = isChip ? ChipOption : DefaultOption;
168
263
  return (0,jsx_runtime_.jsx)(base_radio, {
169
264
  options: options,
170
265
  selected: selected,
@@ -175,25 +270,12 @@ var Radio = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_a
175
270
  children: (0,jsx_runtime_.jsx)(base_radio.OptionGroup, {
176
271
  ref: ref,
177
272
  className: (0,classNames/* classNames */.x)(className, 'radio radio-group'),
273
+ // 칩은 버튼마다 role='radio' 라 묶음도 radiogroup 이다. 기본형은 목록 그대로 둔다.
274
+ role: isChip ? 'radiogroup' : undefined,
275
+ "aria-label": label,
178
276
  children: options.map(function (option) {
179
- return (0,jsx_runtime_.jsxs)("li", {
180
- className: 'radio radio-option',
181
- children: [(0,jsx_runtime_.jsx)(base_radio.Button, {
182
- className: 'radio radio-button',
183
- id: option.id,
184
- disabled: option.disabled,
185
- children: (0,jsx_runtime_.jsx)(base_radio.Indicator, {
186
- className: 'radio radio-indicator',
187
- id: option.id,
188
- asChild: true,
189
- children: (0,jsx_runtime_.jsx)("div", {})
190
- })
191
- }), (0,jsx_runtime_.jsx)(base_radio.Label, {
192
- className: 'radio radio-label',
193
- id: option.id,
194
- disabled: option.disabled,
195
- children: option.label
196
- })]
277
+ return (0,jsx_runtime_.jsx)(Option, {
278
+ option: option
197
279
  }, option.id);
198
280
  })
199
281
  })
@@ -356,21 +438,23 @@ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime
356
438
  /******/
357
439
  /************************************************************************/
358
440
  /******/
359
- /******/ import * as __webpack_chunk_1__ from "./chunk-6364.js";
441
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
360
442
  /******/ __nuri_require__.C(__webpack_chunk_1__);
361
- /******/ import * as __webpack_chunk_2__ from "./chunk-4560.js";
443
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
362
444
  /******/ __nuri_require__.C(__webpack_chunk_2__);
363
- /******/ import * as __webpack_chunk_3__ from "./chunk-2777.js";
445
+ /******/ import * as __webpack_chunk_3__ from "./chunk-4560.js";
364
446
  /******/ __nuri_require__.C(__webpack_chunk_3__);
365
- /******/ import * as __webpack_chunk_4__ from "./chunk-8933.js";
447
+ /******/ import * as __webpack_chunk_4__ from "./chunk-2777.js";
366
448
  /******/ __nuri_require__.C(__webpack_chunk_4__);
367
- /******/ import * as __webpack_chunk_5__ from "./chunk-9387.js";
449
+ /******/ import * as __webpack_chunk_5__ from "./chunk-8933.js";
368
450
  /******/ __nuri_require__.C(__webpack_chunk_5__);
451
+ /******/ import * as __webpack_chunk_6__ from "./chunk-9387.js";
452
+ /******/ __nuri_require__.C(__webpack_chunk_6__);
369
453
  /******/
370
454
  /******/ // startup
371
455
  /******/ // Load entry module and return exports
372
456
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
373
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [6364,4560,2777,8933,9387], () => (__nuri_require__(7392)))
457
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,2777,8933,9387], () => (__nuri_require__(7392)))
374
458
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
375
459
  /******/ const __webpack_exports__default = __webpack_exports__.A;
376
460
  /******/ export { __webpack_exports__default as default };
package/dist/skeleton.js CHANGED
@@ -318,13 +318,15 @@ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime
318
318
  /******/
319
319
  /************************************************************************/
320
320
  /******/
321
- /******/ import * as __webpack_chunk_1__ from "./chunk-6364.js";
321
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
322
322
  /******/ __nuri_require__.C(__webpack_chunk_1__);
323
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
324
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
323
325
  /******/
324
326
  /******/ // startup
325
327
  /******/ // Load entry module and return exports
326
328
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
327
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [6364], () => (__nuri_require__(1144)))
329
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335], () => (__nuri_require__(1144)))
328
330
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
329
331
  /******/ const __webpack_exports__default = __webpack_exports__.A;
330
332
  /******/ export { __webpack_exports__default as default };
@@ -297,13 +297,15 @@ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime
297
297
  /******/
298
298
  /************************************************************************/
299
299
  /******/
300
- /******/ import * as __webpack_chunk_1__ from "./chunk-6364.js";
300
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
301
301
  /******/ __nuri_require__.C(__webpack_chunk_1__);
302
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
303
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
302
304
  /******/
303
305
  /******/ // startup
304
306
  /******/ // Load entry module and return exports
305
307
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
306
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [6364], () => (__nuri_require__(7131)))
308
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335], () => (__nuri_require__(7131)))
307
309
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
308
310
  /******/ const __webpack_exports__default = __webpack_exports__.A;
309
311
  /******/ export { __webpack_exports__default as default };