@nurihaus/web-design-system 3.8.0 → 3.9.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 (36) hide show
  1. package/README.md +1 -1
  2. package/dist/ai/components.md +44 -4
  3. package/dist/ai/motion.md +2 -0
  4. package/dist/ai/tokens.md +3 -0
  5. package/dist/chunk-1176.js +24 -0
  6. package/dist/chunk-910.js +15 -13
  7. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +6 -6
  8. package/dist/components/empty-state/empty-state.stories.d.ts +8 -8
  9. package/dist/components/icon/icon.stories.d.ts +1 -1
  10. package/dist/components/icon-button/base-icon-button.d.ts +3 -0
  11. package/dist/components/icon-button/icon-button-props.d.ts +12 -0
  12. package/dist/components/icon-button/icon-button-type.d.ts +16 -0
  13. package/dist/components/icon-button/icon-button.d.ts +5 -0
  14. package/dist/components/icon-button/icon-button.stories.d.ts +31 -0
  15. package/dist/components/list/list-row.stories.d.ts +10 -10
  16. package/dist/components/message/message.stories.d.ts +10 -10
  17. package/dist/components/message-composer/message-composer-type.d.ts +4 -0
  18. package/dist/components/message-composer/message-composer.stories.d.ts +2 -0
  19. package/dist/components/notice/notice-type.d.ts +2 -0
  20. package/dist/components/notice/notice.stories.d.ts +7 -7
  21. package/dist/components/skeleton/skeleton.stories.d.ts +7 -7
  22. package/dist/components/toast/toast.stories.d.ts +12 -12
  23. package/dist/components.css +96 -0
  24. package/dist/cta-button.js +20 -16
  25. package/dist/helpers/utils/fillLinkChild.d.ts +6 -0
  26. package/dist/icon-button.js +338 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js +216 -26
  29. package/dist/list-row.js +19 -13
  30. package/dist/message-composer.js +5 -1
  31. package/dist/modal-with-double-button.js +8 -6
  32. package/dist/notice.js +9 -5
  33. package/dist/styles.css +83 -0
  34. package/dist/toast.js +8 -6
  35. package/dist/tokens.css +5 -0
  36. package/package.json +5 -1
@@ -22,14 +22,8 @@ declare const meta: {
22
22
  };
23
23
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react-webpack5").ReactRenderer, {
24
24
  className?: string | undefined | undefined;
25
- onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
26
- onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
27
- id?: string | undefined | undefined;
28
25
  style?: import("react").CSSProperties | undefined;
29
26
  children: import("react").ReactNode;
30
- slot?: string | undefined | undefined;
31
- title?: import("react").ReactNode;
32
- key?: import("react").Key | null | undefined;
33
27
  defaultChecked?: boolean | undefined | undefined;
34
28
  defaultValue?: string | number | readonly string[] | undefined;
35
29
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -43,10 +37,13 @@ declare const meta: {
43
37
  draggable?: (boolean | "true" | "false") | undefined;
44
38
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
45
39
  hidden?: boolean | undefined | undefined;
40
+ id?: string | undefined | undefined;
46
41
  lang?: string | undefined | undefined;
47
42
  nonce?: string | undefined | undefined;
43
+ slot?: string | undefined | undefined;
48
44
  spellCheck?: (boolean | "true" | "false") | undefined;
49
45
  tabIndex?: number | undefined | undefined;
46
+ title?: import("react").ReactNode;
50
47
  translate?: "yes" | "no" | undefined | undefined;
51
48
  radioGroup?: string | undefined | undefined;
52
49
  role?: import("react").AriaRole | undefined;
@@ -148,6 +145,7 @@ declare const meta: {
148
145
  onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
149
146
  onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
150
147
  onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
148
+ onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
151
149
  onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
152
150
  onBeforeInput?: import("react").InputEventHandler<HTMLDivElement> | undefined;
153
151
  onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
@@ -215,6 +213,7 @@ declare const meta: {
215
213
  onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
216
214
  onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
217
215
  onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
216
+ onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
218
217
  onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
219
218
  onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
220
219
  onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
@@ -288,8 +287,9 @@ declare const meta: {
288
287
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
289
288
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
290
289
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
291
- motion?: (typeof motion)[number] | undefined;
290
+ key?: import("react").Key | null | undefined;
292
291
  variant?: (typeof variant)[number] | undefined;
292
+ motion?: (typeof motion)[number] | undefined;
293
293
  action?: import("./notice-type").NoticeAction | undefined;
294
294
  ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
295
295
  }>) => import("react/jsx-runtime").JSX.Element)[];
@@ -39,14 +39,8 @@ declare const meta: {
39
39
  };
40
40
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react-webpack5").ReactRenderer, {
41
41
  className?: string | undefined | undefined;
42
- onClick?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
43
- onChange?: import("react").FormEventHandler<HTMLSpanElement> | undefined;
44
- id?: string | undefined | undefined;
45
42
  style?: import("react").CSSProperties | undefined;
46
43
  children?: import("react").ReactNode;
47
- slot?: string | undefined | undefined;
48
- title?: string | undefined | undefined;
49
- key?: import("react").Key | null | undefined;
50
44
  defaultChecked?: boolean | undefined | undefined;
51
45
  defaultValue?: string | number | readonly string[] | undefined;
52
46
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -60,10 +54,13 @@ declare const meta: {
60
54
  draggable?: (boolean | "true" | "false") | undefined;
61
55
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
62
56
  hidden?: boolean | undefined | undefined;
57
+ id?: string | undefined | undefined;
63
58
  lang?: string | undefined | undefined;
64
59
  nonce?: string | undefined | undefined;
60
+ slot?: string | undefined | undefined;
65
61
  spellCheck?: (boolean | "true" | "false") | undefined;
66
62
  tabIndex?: number | undefined | undefined;
63
+ title?: string | undefined | undefined;
67
64
  translate?: "yes" | "no" | undefined | undefined;
68
65
  radioGroup?: string | undefined | undefined;
69
66
  role?: import("react").AriaRole | undefined;
@@ -165,6 +162,7 @@ declare const meta: {
165
162
  onFocusCapture?: import("react").FocusEventHandler<HTMLSpanElement> | undefined;
166
163
  onBlur?: import("react").FocusEventHandler<HTMLSpanElement> | undefined;
167
164
  onBlurCapture?: import("react").FocusEventHandler<HTMLSpanElement> | undefined;
165
+ onChange?: import("react").FormEventHandler<HTMLSpanElement> | undefined;
168
166
  onChangeCapture?: import("react").FormEventHandler<HTMLSpanElement> | undefined;
169
167
  onBeforeInput?: import("react").InputEventHandler<HTMLSpanElement> | undefined;
170
168
  onBeforeInputCapture?: import("react").FormEventHandler<HTMLSpanElement> | undefined;
@@ -232,6 +230,7 @@ declare const meta: {
232
230
  onWaitingCapture?: import("react").ReactEventHandler<HTMLSpanElement> | undefined;
233
231
  onAuxClick?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
234
232
  onAuxClickCapture?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
233
+ onClick?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
235
234
  onClickCapture?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
236
235
  onContextMenu?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
237
236
  onContextMenuCapture?: import("react").MouseEventHandler<HTMLSpanElement> | undefined;
@@ -305,8 +304,9 @@ declare const meta: {
305
304
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLSpanElement> | undefined;
306
305
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLSpanElement> | undefined;
307
306
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLSpanElement> | undefined;
308
- width?: number | string | undefined;
307
+ key?: import("react").Key | null | undefined;
309
308
  height?: number | string | undefined;
309
+ width?: number | string | undefined;
310
310
  shape?: (typeof shapes)[number] | undefined;
311
311
  lines?: number | undefined;
312
312
  animated?: boolean | undefined;
@@ -18,17 +18,7 @@ declare const meta: {
18
18
  };
19
19
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react-webpack5").ReactRenderer, {
20
20
  className?: string | undefined;
21
- onClick?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
22
- onChange?: import("react").FormEventHandler<HTMLLIElement> | undefined;
23
- id?: string | undefined | undefined;
24
- track?: string | undefined;
25
- trackProps?: Record<string, string | number | boolean> | undefined;
26
21
  style?: import("react").CSSProperties | undefined;
27
- open?: boolean | undefined;
28
- slot?: string | undefined | undefined;
29
- title: import("react").ReactNode;
30
- key?: import("react").Key | null | undefined;
31
- value?: string | number | readonly string[] | undefined;
32
22
  defaultChecked?: boolean | undefined | undefined;
33
23
  defaultValue?: string | number | readonly string[] | undefined;
34
24
  suppressContentEditableWarning?: boolean | undefined | undefined;
@@ -42,10 +32,13 @@ declare const meta: {
42
32
  draggable?: (boolean | "true" | "false") | undefined;
43
33
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
44
34
  hidden?: boolean | undefined | undefined;
35
+ id?: string | undefined | undefined;
45
36
  lang?: string | undefined | undefined;
46
37
  nonce?: string | undefined | undefined;
38
+ slot?: string | undefined | undefined;
47
39
  spellCheck?: (boolean | "true" | "false") | undefined;
48
40
  tabIndex?: number | undefined | undefined;
41
+ title: import("react").ReactNode;
49
42
  translate?: "yes" | "no" | undefined | undefined;
50
43
  radioGroup?: string | undefined | undefined;
51
44
  role?: import("react").AriaRole | undefined;
@@ -147,6 +140,7 @@ declare const meta: {
147
140
  onFocusCapture?: import("react").FocusEventHandler<HTMLLIElement> | undefined;
148
141
  onBlur?: import("react").FocusEventHandler<HTMLLIElement> | undefined;
149
142
  onBlurCapture?: import("react").FocusEventHandler<HTMLLIElement> | undefined;
143
+ onChange?: import("react").FormEventHandler<HTMLLIElement> | undefined;
150
144
  onChangeCapture?: import("react").FormEventHandler<HTMLLIElement> | undefined;
151
145
  onBeforeInput?: import("react").InputEventHandler<HTMLLIElement> | undefined;
152
146
  onBeforeInputCapture?: import("react").FormEventHandler<HTMLLIElement> | undefined;
@@ -214,6 +208,7 @@ declare const meta: {
214
208
  onWaitingCapture?: import("react").ReactEventHandler<HTMLLIElement> | undefined;
215
209
  onAuxClick?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
216
210
  onAuxClickCapture?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
211
+ onClick?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
217
212
  onClickCapture?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
218
213
  onContextMenu?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
219
214
  onContextMenuCapture?: import("react").MouseEventHandler<HTMLLIElement> | undefined;
@@ -287,12 +282,17 @@ declare const meta: {
287
282
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLLIElement> | undefined;
288
283
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLLIElement> | undefined;
289
284
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLLIElement> | undefined;
290
- onResume?: (() => void) | undefined;
285
+ track?: string | undefined;
286
+ key?: import("react").Key | null | undefined;
287
+ value?: string | number | readonly string[] | undefined;
288
+ variant?: (typeof variants)[number] | undefined;
289
+ trackProps?: Record<string, string | number | boolean> | undefined;
290
+ open?: boolean | undefined;
291
291
  defaultOpen?: boolean | undefined;
292
292
  onOpenChange?: ((open: boolean) => void) | undefined;
293
+ onResume?: (() => void) | undefined;
293
294
  duration?: number | undefined;
294
295
  description?: import("react").ReactNode;
295
- variant?: (typeof variants)[number] | undefined;
296
296
  action?: import("./toast-type").ToastAction | undefined;
297
297
  showClose?: boolean | undefined;
298
298
  ref?: import("react").LegacyRef<HTMLLIElement> | undefined;
@@ -2418,6 +2418,102 @@
2418
2418
  height: var(--icon-size-xl);
2419
2419
  }
2420
2420
 
2421
+ .base-icon-button {
2422
+ position: relative;
2423
+ flex: none;
2424
+ display: inline-flex;
2425
+ align-items: center;
2426
+ justify-content: center;
2427
+ padding: 0;
2428
+ border: none;
2429
+ cursor: var(--cursor-button);
2430
+
2431
+ /* 보이는 크기가 작아도(s 36) 누르는 자리는 터치 44 */
2432
+ }
2433
+
2434
+ .base-icon-button::after {
2435
+ content: '';
2436
+ position: absolute;
2437
+ top: 50%;
2438
+ left: 50%;
2439
+ width: var(--touch-target);
2440
+ height: var(--touch-target);
2441
+ transform: translate(-50%, -50%);
2442
+ }
2443
+
2444
+ .base-icon-button[data-disabled] {
2445
+ cursor: var(--cursor-disabled);
2446
+ }
2447
+
2448
+ /***************************************************************************************************
2449
+ * *
2450
+ * icon-button *
2451
+ * *
2452
+ ***************************************************************************************************/
2453
+
2454
+ .icon-button {
2455
+ border-radius: var(--radius-full);
2456
+ transition:
2457
+ transform var(--motion-press-duration) var(--motion-press-ease),
2458
+ background-color var(--motion-press-duration) var(--motion-press-ease);
2459
+ }
2460
+
2461
+ .icon-button:active:not([data-disabled]) {
2462
+ transform: scale(var(--motion-press-scale));
2463
+ }
2464
+
2465
+ .icon-button:focus-visible {
2466
+ outline: var(--hairline) solid var(--color-purple-600);
2467
+ outline-offset: var(--spacing-2);
2468
+ }
2469
+
2470
+ .icon-button.size-s {
2471
+ width: var(--icon-button-size-s);
2472
+ height: var(--icon-button-size-s);
2473
+ }
2474
+
2475
+ .icon-button.size-m {
2476
+ width: var(--icon-button-size-m);
2477
+ height: var(--icon-button-size-m);
2478
+ }
2479
+
2480
+ .icon-button.size-l {
2481
+ width: var(--icon-button-size-l);
2482
+ height: var(--icon-button-size-l);
2483
+ }
2484
+
2485
+ /* 바탕 없이 아이콘만. 누르는 동안 회색 원이 보인다 */
2486
+
2487
+ .icon-button.variant-ghost {
2488
+ background-color: transparent;
2489
+ color: var(--color-grey-scale-700);
2490
+ }
2491
+
2492
+ .icon-button.variant-ghost:active:not([data-disabled]) {
2493
+ background-color: var(--color-grey-scale-100);
2494
+ }
2495
+
2496
+ /* CTAButton secondary 와 같은 연보라 */
2497
+
2498
+ .icon-button.variant-secondary {
2499
+ background-color: var(--color-purple-50);
2500
+ color: var(--color-purple-900);
2501
+ }
2502
+
2503
+ .icon-button.variant-primary {
2504
+ background-color: var(--color-purple-900);
2505
+ color: var(--color-white);
2506
+ }
2507
+
2508
+ .icon-button[data-disabled] {
2509
+ color: var(--color-grey-scale-300);
2510
+ }
2511
+
2512
+ .icon-button[data-disabled]:is(.variant-secondary,.variant-primary) {
2513
+ background-color: var(--color-grey-scale-200);
2514
+ color: var(--color-white);
2515
+ }
2516
+
2421
2517
  .base-list:where(.group) {
2422
2518
  display: flex;
2423
2519
  flex-direction: column;
@@ -13,11 +13,12 @@ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/j
13
13
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(1041);
14
14
  /* harmony import */ var _helpers_hooks_useTrack__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(4560);
15
15
  /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(3274);
16
- /* harmony import */ var _helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(7335);
17
- /* harmony import */ var _callout_callout__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(1163);
18
- /* harmony import */ var _loading_spinner_spinner__WEBPACK_IMPORTED_MODULE_6__ = __nuri_require__(6302);
19
- /* harmony import */ var _base_button__WEBPACK_IMPORTED_MODULE_7__ = __nuri_require__(8933);
20
- /* harmony import */ var _button_props__WEBPACK_IMPORTED_MODULE_8__ = __nuri_require__(9976);
16
+ /* harmony import */ var _helpers_utils_fillLinkChild__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(1176);
17
+ /* harmony import */ var _helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(7335);
18
+ /* harmony import */ var _callout_callout__WEBPACK_IMPORTED_MODULE_6__ = __nuri_require__(1163);
19
+ /* harmony import */ var _loading_spinner_spinner__WEBPACK_IMPORTED_MODULE_7__ = __nuri_require__(6302);
20
+ /* harmony import */ var _base_button__WEBPACK_IMPORTED_MODULE_8__ = __nuri_require__(8933);
21
+ /* harmony import */ var _button_props__WEBPACK_IMPORTED_MODULE_9__ = __nuri_require__(9976);
21
22
  var __assign = undefined && undefined.__assign || function () {
22
23
  __assign = Object.assign || function (t) {
23
24
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -45,8 +46,9 @@ var __rest = undefined && undefined.__rest || function (s, e) {
45
46
 
46
47
 
47
48
 
49
+
48
50
  var CTAButton = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
49
- var _a = (0,_helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_4__/* .getMergedProps */ .p)(props, _button_props__WEBPACK_IMPORTED_MODULE_8__/* .ctaButtonProps */ .Lr),
51
+ var _a = (0,_helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_5__/* .getMergedProps */ .p)(props, _button_props__WEBPACK_IMPORTED_MODULE_9__/* .ctaButtonProps */ .Lr),
50
52
  className = _a.className,
51
53
  text = _a.text,
52
54
  leftIcon = _a.leftIcon,
@@ -64,26 +66,26 @@ var CTAButton = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(f
64
66
  trackProps: trackProps
65
67
  });
66
68
  var content = (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
67
- children: [leftIcon, text, rightIcon, callout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_callout_callout__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
69
+ children: [leftIcon, text, rightIcon, callout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_callout_callout__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, {
68
70
  className: 'cta-button-callout',
69
71
  text: callout
70
72
  }) : null]
71
73
  });
72
74
  // asChild 면 넘겨받은 링크 요소 안에 버튼 글자를 넣고, 그 요소가 버튼 클래스·핸들러를 받는다
73
- var linkChild = asChild && /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.isValidElement)(children) ? children : null;
74
- return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, __assign({
75
+ var link = (0,_helpers_utils_fillLinkChild__WEBPACK_IMPORTED_MODULE_4__/* .fillLinkChild */ .Q)(asChild, children, content);
76
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_button__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A, __assign({
75
77
  ref: ref,
76
78
  className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)(className, 'cta-button', callout ? 'with-callout' : undefined),
77
- loadingComponent: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_loading_spinner_spinner__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, {}),
78
- asChild: linkChild !== null,
79
+ loadingComponent: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_loading_spinner_spinner__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, {}),
80
+ asChild: link !== null,
79
81
  // 링크는 로딩을 그리지 않는다. 그리면 Spinner 가 링크 자리를 차지한다
80
- loading: linkChild ? undefined : loading,
82
+ loading: link ? undefined : loading,
81
83
  onClick: function onClick(event) {
82
84
  emit('click');
83
85
  _onClick === null || _onClick === void 0 ? void 0 : _onClick(event);
84
86
  }
85
87
  }, restProps, {
86
- children: linkChild ? /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.cloneElement)(linkChild, undefined, content) : content
88
+ children: link !== null && link !== void 0 ? link : content
87
89
  }));
88
90
  });
89
91
  CTAButton.displayName = 'CTAButton';
@@ -258,15 +260,17 @@ module.exports = x({ ["Fragment"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_ru
258
260
  /******/ __nuri_require__.C(__webpack_chunk_6__);
259
261
  /******/ import * as __webpack_chunk_7__ from "./chunk-8933.js";
260
262
  /******/ __nuri_require__.C(__webpack_chunk_7__);
261
- /******/ import * as __webpack_chunk_8__ from "./chunk-2496.js";
263
+ /******/ import * as __webpack_chunk_8__ from "./chunk-1176.js";
262
264
  /******/ __nuri_require__.C(__webpack_chunk_8__);
263
- /******/ import * as __webpack_chunk_9__ from "./chunk-5226.js";
265
+ /******/ import * as __webpack_chunk_9__ from "./chunk-2496.js";
264
266
  /******/ __nuri_require__.C(__webpack_chunk_9__);
267
+ /******/ import * as __webpack_chunk_10__ from "./chunk-5226.js";
268
+ /******/ __nuri_require__.C(__webpack_chunk_10__);
265
269
  /******/
266
270
  /******/ // startup
267
271
  /******/ // Load entry module and return exports
268
272
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
269
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,2777,6302,8933,2496,5226], () => (__nuri_require__(910)))
273
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,2777,6302,8933,1176,2496,5226], () => (__nuri_require__(910)))
270
274
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
271
275
  /******/ const __webpack_exports__default = __webpack_exports__.A;
272
276
  /******/ export { __webpack_exports__default as default };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * asChild 로 받은 요소 하나(`<a>`·라우터 Link)에 컴포넌트의 내용을 채운다.
4
+ * 요소가 아니면 null — 쓰는 쪽은 null 이면 자기 기본 요소를 그린다.
5
+ */
6
+ export declare const fillLinkChild: (asChild: boolean | undefined, children: ReactNode, content: ReactNode) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;