@nurihaus/web-design-system 3.0.0 → 3.0.3

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 (124) hide show
  1. package/README.md +104 -5
  2. package/dist/.storybook/story-kit.d.ts +18 -0
  3. package/dist/ai/components.md +742 -0
  4. package/dist/ai/tokens.md +319 -0
  5. package/dist/avatar.js +336 -0
  6. package/dist/check-box.js +379 -0
  7. package/dist/chunk-149.js +57 -0
  8. package/dist/chunk-298.js +34 -0
  9. package/dist/chunk-302.js +105 -0
  10. package/dist/chunk-309.js +36 -0
  11. package/dist/chunk-364.js +126 -0
  12. package/dist/chunk-387.js +37 -0
  13. package/dist/chunk-558.js +200 -0
  14. package/dist/chunk-563.js +181 -0
  15. package/dist/chunk-739.js +68 -0
  16. package/dist/chunk-777.js +117 -0
  17. package/dist/chunk-917.js +35 -0
  18. package/dist/chunk-933.js +70 -0
  19. package/dist/chunk-976.js +29 -0
  20. package/dist/collapsible-menu.js +394 -0
  21. package/dist/components/avatar/avatar-props.d.ts +2 -6
  22. package/dist/components/avatar/avatar-type.d.ts +4 -5
  23. package/dist/components/avatar/avatar.d.ts +1 -0
  24. package/dist/components/avatar/avatar.stories.d.ts +17 -1
  25. package/dist/components/badge/badge-props.d.ts +17 -80
  26. package/dist/components/badge/badge-type.d.ts +38 -2
  27. package/dist/components/badge/badge.stories.d.ts +25 -2
  28. package/dist/components/badge/base-badge.d.ts +2 -1
  29. package/dist/components/badge/icon-text-badge.d.ts +3 -21
  30. package/dist/components/badge/icon-text-option-badge.d.ts +2 -15
  31. package/dist/components/badge/option-badge.d.ts +3 -20
  32. package/dist/components/button/button-props.d.ts +2 -7
  33. package/dist/components/button/button-type.d.ts +11 -3
  34. package/dist/components/button/button.stories.d.ts +13 -10
  35. package/dist/components/button/cta-button.d.ts +3 -12
  36. package/dist/components/check-box/base-check-box.d.ts +9 -5
  37. package/dist/components/check-box/check-box-props.d.ts +2 -7
  38. package/dist/components/check-box/check-box-type.d.ts +11 -4
  39. package/dist/components/check-box/check-box.d.ts +3 -10
  40. package/dist/components/check-box/check-box.stories.d.ts +19 -4
  41. package/dist/components/collapsible-menu/base-collapsible-menu.d.ts +9 -5
  42. package/dist/components/collapsible-menu/collapsible-menu-props.d.ts +3 -12
  43. package/dist/components/collapsible-menu/collapsible-menu-type.d.ts +33 -9
  44. package/dist/components/collapsible-menu/collapsible-menu.d.ts +3 -23
  45. package/dist/components/collapsible-menu/collapsible-menu.stories.d.ts +20 -4
  46. package/dist/components/drop-down/base-drop-down.d.ts +11 -3
  47. package/dist/components/drop-down/drop-down-props.d.ts +3 -12
  48. package/dist/components/drop-down/drop-down-type.d.ts +34 -15
  49. package/dist/components/drop-down/drop-down.d.ts +3 -32
  50. package/dist/components/drop-down/drop-down.stories.d.ts +23 -4
  51. package/dist/components/elements/text/base-text.d.ts +3 -0
  52. package/dist/components/elements/text/text-props.d.ts +16 -0
  53. package/dist/components/elements/text/text-type.d.ts +6 -2
  54. package/dist/components/elements/text/text.d.ts +2 -1
  55. package/dist/components/elements/text/text.stories.d.ts +43 -3
  56. package/dist/components/loading/index.d.ts +6 -6
  57. package/dist/components/loading/inline-loading/base-inline-loading.d.ts +3 -0
  58. package/dist/components/loading/inline-loading/inline-loading-props.d.ts +9 -0
  59. package/dist/components/loading/inline-loading/inline-loading-type.d.ts +8 -6
  60. package/dist/components/loading/inline-loading/inline-loading.d.ts +3 -2
  61. package/dist/components/loading/inline-loading/inline-loading.stories.d.ts +5 -9
  62. package/dist/components/loading/overlay-loading/base-overlay-loading.d.ts +3 -0
  63. package/dist/components/loading/overlay-loading/overlay-loading-props.d.ts +7 -0
  64. package/dist/components/loading/overlay-loading/overlay-loading-type.d.ts +6 -3
  65. package/dist/components/loading/overlay-loading/overlay-loading.d.ts +3 -3
  66. package/dist/components/loading/overlay-loading/overlay-loading.stories.d.ts +8 -8
  67. package/dist/components/loading/spinner/base-spinner.d.ts +4 -0
  68. package/dist/components/loading/spinner/spinner-props.d.ts +1 -0
  69. package/dist/components/loading/spinner/spinner-type.d.ts +4 -4
  70. package/dist/components/loading/spinner/spinner.d.ts +2 -2
  71. package/dist/components/loading/spinner/spinner.stories.d.ts +5 -12
  72. package/dist/components/modal/base-modal.d.ts +17 -5
  73. package/dist/components/modal/modal-props.d.ts +2 -7
  74. package/dist/components/modal/modal-type.d.ts +20 -10
  75. package/dist/components/modal/modal-with-double-button.d.ts +4 -16
  76. package/dist/components/modal/modal.stories.d.ts +15 -2
  77. package/dist/components/radio/base-radio.d.ts +9 -5
  78. package/dist/components/radio/radio-props.d.ts +1 -0
  79. package/dist/components/radio/radio-type.d.ts +6 -8
  80. package/dist/components/radio/radio.d.ts +2 -2
  81. package/dist/components/radio/radio.stories.d.ts +13 -4
  82. package/dist/components/table/base-table.d.ts +4 -5
  83. package/dist/components/table/data-table.d.ts +5 -22
  84. package/dist/components/table/table-type.d.ts +22 -1
  85. package/dist/components/table/table.stories.d.ts +19 -3
  86. package/dist/components/tabs/base-tabs.d.ts +7 -7
  87. package/dist/components/tabs/tabs-props.d.ts +1 -1
  88. package/dist/components/tabs/tabs-type.d.ts +9 -13
  89. package/dist/components/tabs/tabs.d.ts +3 -3
  90. package/dist/components/tabs/tabs.stories.d.ts +16 -10
  91. package/dist/components/text-field/base-text-field.d.ts +5 -3
  92. package/dist/components/text-field/text-field-props.d.ts +3 -12
  93. package/dist/components/text-field/text-field-type.d.ts +14 -0
  94. package/dist/components/text-field/text-field.d.ts +3 -16
  95. package/dist/components/text-field/text-field.stories.d.ts +24 -0
  96. package/dist/components/tooltip/base-tooltip.d.ts +13 -3
  97. package/dist/components/tooltip/tooltip-props.d.ts +3 -2
  98. package/dist/components/tooltip/tooltip-type.d.ts +17 -5
  99. package/dist/components/tooltip/tooltip.d.ts +4 -7
  100. package/dist/components/tooltip/tooltip.stories.d.ts +21 -4
  101. package/dist/components.css +1984 -0
  102. package/dist/cta-button.js +236 -0
  103. package/dist/data-table.js +386 -0
  104. package/dist/drop-down.js +433 -0
  105. package/dist/helpers/props/common-props.d.ts +7 -0
  106. package/dist/helpers/types/common-props.d.ts +8 -0
  107. package/dist/icon-text-badge.js +294 -0
  108. package/dist/icon-text-option-badge.js +270 -0
  109. package/dist/index.d.ts +17 -1
  110. package/dist/index.js +3021 -10637
  111. package/dist/loading.js +383 -0
  112. package/dist/modal-with-double-button.js +527 -0
  113. package/dist/option-badge.js +293 -0
  114. package/dist/radio.js +363 -0
  115. package/dist/reset.css +45 -0
  116. package/dist/styles.css +785 -559
  117. package/dist/tabs.js +421 -0
  118. package/dist/text-field.js +369 -0
  119. package/dist/text.js +233 -0
  120. package/dist/tokens.css +73 -0
  121. package/dist/tokens.js +4 -6
  122. package/dist/tooltip.js +360 -0
  123. package/package.json +91 -14
  124. package/dist/components/text-field/text-filed.stories.d.ts +0 -8
@@ -0,0 +1,126 @@
1
+ "use client";
2
+ export const __webpack_esm_id__ = 364;
3
+ export const __webpack_esm_ids__ = [364];
4
+ export const __webpack_esm_modules__ = {
5
+
6
+ /***/ 335
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
10
+ /* harmony export */ p: () => (/* binding */ getMergedProps)
11
+ /* harmony export */ });
12
+ var __assign = undefined && undefined.__assign || function () {
13
+ __assign = Object.assign || function (t) {
14
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
15
+ s = arguments[i];
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
17
+ }
18
+ return t;
19
+ };
20
+ return __assign.apply(this, arguments);
21
+ };
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Record<string, unknown> rejects interface props without an index signature
23
+ function getMergedProps(props, propsWithTypes) {
24
+ var _a, _b;
25
+ var className = '';
26
+ var style = {};
27
+ var targetProps = __assign({}, props);
28
+ var prevClassName = props.className;
29
+ var prevStyle = props.style;
30
+ var _loop_1 = function _loop_1(key) {
31
+ var value = (_b = (_a = targetProps[key]) !== null && _a !== void 0 ? _a : propsWithTypes[key]["default"]) !== null && _b !== void 0 ? _b : null;
32
+ if (value == null) {
33
+ return "continue";
34
+ }
35
+ var propType = propsWithTypes[key];
36
+ if (propType.type === 'className') {
37
+ className += propType.className + '-' + value + ' ';
38
+ }
39
+ if (propType.type === 'style') {
40
+ propType.key.forEach(function (key) {
41
+ style[key] = value;
42
+ });
43
+ }
44
+ if (propType.type === 'css') {
45
+ style[propType.key] = value;
46
+ }
47
+ delete targetProps[key];
48
+ };
49
+ for (var key in propsWithTypes) {
50
+ _loop_1(key);
51
+ }
52
+ return __assign(__assign({}, targetProps), {
53
+ style: __assign(__assign({}, prevStyle), style),
54
+ className: [prevClassName, className].filter(Boolean).join(' ')
55
+ });
56
+ }
57
+
58
+
59
+ /***/ },
60
+
61
+ /***/ 274
62
+ (__unused_webpack___webpack_module__, __webpack_exports__, __nuri_require__) {
63
+
64
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
65
+ /* harmony export */ x: () => (/* binding */ classNames)
66
+ /* harmony export */ });
67
+ const hasOwn = {}.hasOwnProperty;
68
+
69
+ function classNames() {
70
+ let classes = '';
71
+
72
+ for (let i = 0; i < arguments.length; i++) {
73
+ const arg = arguments[i];
74
+ if (arg) {
75
+ classes = appendClass(classes, parseValue(arg));
76
+ }
77
+ }
78
+
79
+ return classes;
80
+ }
81
+
82
+ function parseValue(arg) {
83
+ if (typeof arg === 'string') {
84
+ return arg;
85
+ }
86
+
87
+ if (typeof arg !== 'object') {
88
+ return '';
89
+ }
90
+
91
+ if (Array.isArray(arg)) {
92
+ return classNames.apply(null, arg);
93
+ }
94
+
95
+ if (
96
+ arg.toString !== Object.prototype.toString &&
97
+ !arg.toString.toString().includes('[native code]')
98
+ ) {
99
+ return arg.toString();
100
+ }
101
+
102
+ let classes = '';
103
+
104
+ for (const key in arg) {
105
+ if (hasOwn.call(arg, key) && arg[key]) {
106
+ classes = appendClass(classes, key);
107
+ }
108
+ }
109
+
110
+ return classes;
111
+ }
112
+
113
+ function appendClass(value, newClass) {
114
+ if (!newClass) {
115
+ return value;
116
+ }
117
+
118
+ return value ? value + ' ' + newClass : newClass;
119
+ }
120
+
121
+
122
+
123
+
124
+ /***/ }
125
+
126
+ };
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ export const __webpack_esm_id__ = 387;
3
+ export const __webpack_esm_ids__ = [387];
4
+ export const __webpack_esm_modules__ = {
5
+
6
+ /***/ 387
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
10
+ /* harmony export */ C: () => (/* binding */ useExternalState)
11
+ /* harmony export */ });
12
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(41);
13
+
14
+ var useExternalState = function useExternalState(_a) {
15
+ var prop = _a.prop,
16
+ handler = _a.handler,
17
+ defaultProp = _a.defaultProp;
18
+ var _b = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(prop !== null && prop !== void 0 ? prop : defaultProp),
19
+ innerState = _b[0],
20
+ setInnerState = _b[1];
21
+ var isControlledByExternal = prop !== undefined;
22
+ var value = isControlledByExternal ? prop : innerState;
23
+ var setValue = function setValue(handledValue) {
24
+ if (isControlledByExternal) {
25
+ var setter = handledValue;
26
+ var value_1 = typeof handledValue === 'function' ? setter(prop !== null && prop !== void 0 ? prop : defaultProp) : handledValue;
27
+ handler === null || handler === void 0 ? void 0 : handler(value_1);
28
+ } else {
29
+ setInnerState(handledValue);
30
+ }
31
+ };
32
+ return [value, setValue];
33
+ };
34
+
35
+ /***/ }
36
+
37
+ };
@@ -0,0 +1,200 @@
1
+ "use client";
2
+ export const __webpack_esm_id__ = 558;
3
+ export const __webpack_esm_ids__ = [558];
4
+ export const __webpack_esm_modules__ = {
5
+
6
+ /***/ 437
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
10
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
11
+ /* harmony export */ });
12
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(612);
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(41);
14
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(274);
15
+ var __assign = undefined && undefined.__assign || function () {
16
+ __assign = Object.assign || function (t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
20
+ }
21
+ return t;
22
+ };
23
+ return __assign.apply(this, arguments);
24
+ };
25
+ var __rest = undefined && undefined.__rest || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
28
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
29
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
30
+ }
31
+ return t;
32
+ };
33
+
34
+
35
+
36
+ var BaseText = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
37
+ var _a = props.as,
38
+ as = _a === void 0 ? 'p' : _a,
39
+ className = props.className,
40
+ restProps = __rest(props, ["as", "className"]);
41
+ // 태그마다 ref 요소 타입이 달라 합집합으로는 ref 를 넘길 수 없다.
42
+ var Comp = as;
43
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Comp, __assign({
44
+ ref: ref,
45
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .x)('nuri-theme base-text', className)
46
+ }, restProps));
47
+ });
48
+ BaseText.displayName = 'BaseText';
49
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BaseText);
50
+
51
+ /***/ },
52
+
53
+ /***/ 74
54
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
55
+
56
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
57
+ /* harmony export */ Oc: () => (/* binding */ styleClassProps),
58
+ /* harmony export */ em: () => (/* binding */ textProps)
59
+ /* harmony export */ });
60
+ /* unused harmony exports fontSize, weight, color, textAlign, textDecoration, wordBreak, whiteSpace */
61
+ /* harmony import */ var _styles_token_colors__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(232);
62
+
63
+ // 글자 크기 단계다. 컴포넌트 크기 이름(xs·s·m·l·xl)과 축이 달라 따로 둔다.
64
+ var fontSize = (/* unused pure expression or super */ null && (['xsm', 'sm', 'base', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl']));
65
+ var weight = (/* unused pure expression or super */ null && (['regular', 'medium', 'semibold', 'bold', 'extrabold']));
66
+ var color = Object.keys(_styles_token_colors__WEBPACK_IMPORTED_MODULE_0__/* .colors */ .T);
67
+ // 아래 값은 CSS 표기(`pre-line`)로 받고 클래스는 camelCase(`whiteSpace-preLine`)다.
68
+ // getMergedProps 는 값을 그대로 붙이므로 이 변환은 text.tsx 의 styleClass 가 한다.
69
+ var textAlign = (/* unused pure expression or super */ null && (['left', 'center']));
70
+ var textDecoration = (/* unused pure expression or super */ null && (['underline', 'none', 'line-through', 'overline', 'blink']));
71
+ var wordBreak = (/* unused pure expression or super */ null && (['normal', 'break-all', 'break-word', 'keep-all']));
72
+ var whiteSpace = (/* unused pure expression or super */ null && (['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap']));
73
+ var styleClassProps = ['textAlign', 'textDecoration', 'wordBreak', 'whiteSpace'];
74
+ var textProps = {
75
+ color: {
76
+ type: 'className',
77
+ className: 'color',
78
+ values: color
79
+ }
80
+ };
81
+
82
+ /***/ },
83
+
84
+ /***/ 232
85
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
86
+
87
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
88
+ /* harmony export */ T: () => (/* binding */ colors)
89
+ /* harmony export */ });
90
+ // tokens/figma.json 에서 생성됨 — 손으로 고치지 않는다. `npm run tokens`
91
+ /** @deprecated `primitive` 를 쓴다. 2.x 호환으로 남겨둔 평평한 색상 맵. */
92
+ var colors = {
93
+ "transparent": "transparent",
94
+ "purple-50": "#F4EFFA",
95
+ "purple-100": "#E9E0F5",
96
+ "purple-200": "#DDD1F0",
97
+ "purple-300": "#C3B4DD",
98
+ "purple-400": "#A894C7",
99
+ "purple-500": "#957EB4",
100
+ "purple-600": "#6F56A3",
101
+ "purple-700": "#4C277C",
102
+ "purple-800": "#4C1D88",
103
+ "purple-900": "#391D5D",
104
+ "grey-scale-50": "#FAFAFA",
105
+ "grey-scale-100": "#F4F4F5",
106
+ "grey-scale-200": "#E4E4E7",
107
+ "grey-scale-300": "#D4D4D8",
108
+ "grey-scale-400": "#A1A1AA",
109
+ "grey-scale-500": "#71717A",
110
+ "grey-scale-600": "#52525B",
111
+ "grey-scale-700": "#3F3F46",
112
+ "grey-scale-800": "#27272A",
113
+ "grey-scale-900": "#18181B",
114
+ "accent-red-50": "#FFF5F6",
115
+ "accent-red-100": "#FFE8E9",
116
+ "accent-red-200": "#FBCFD2",
117
+ "accent-red-300": "#F39AA0",
118
+ "accent-red-400": "#E86F77",
119
+ "accent-red-500": "#DF535C",
120
+ "accent-red-600": "#C94751",
121
+ "accent-red-700": "#B02E4C",
122
+ "accent-red-800": "#8F243A",
123
+ "accent-red-900": "#6E1A2C",
124
+ "accent-pink-50": "#FFF1F6",
125
+ "accent-pink-100": "#FFE4EE",
126
+ "accent-pink-200": "#FECFE3",
127
+ "accent-pink-300": "#FDA4CC",
128
+ "accent-pink-400": "#F472B6",
129
+ "accent-pink-500": "#EC6FAE",
130
+ "accent-pink-600": "#D95D9A",
131
+ "accent-pink-700": "#B94A7E",
132
+ "accent-pink-800": "#93385F",
133
+ "accent-pink-900": "#6E2644",
134
+ "accent-magenta-50": "#FEF0FF",
135
+ "accent-magenta-100": "#FEF0FF",
136
+ "accent-magenta-200": "#F8C6FF",
137
+ "accent-magenta-300": "#F29BFF",
138
+ "accent-magenta-400": "#EC5CEF",
139
+ "accent-magenta-500": "#E13BE7",
140
+ "accent-magenta-600": "#C82FCC",
141
+ "accent-magenta-700": "#A923A8",
142
+ "accent-magenta-800": "#831C83",
143
+ "accent-magenta-900": "#5E145E",
144
+ "accent-blue-50": "#F1F4FF",
145
+ "accent-blue-100": "#E3E8FF",
146
+ "accent-blue-200": "#C7D2FE",
147
+ "accent-blue-300": "#A5B4FC",
148
+ "accent-blue-400": "#818CF8",
149
+ "accent-blue-500": "#2563EB",
150
+ "accent-blue-600": "#1F52C9",
151
+ "accent-blue-700": "#1E40AF",
152
+ "accent-blue-800": "#1C348A",
153
+ "accent-blue-900": "#162763",
154
+ "accent-mint-50": "#ECFEFD",
155
+ "accent-mint-100": "#D1FAF7",
156
+ "accent-mint-200": "#A7F3EE",
157
+ "accent-mint-300": "#6EE7E0",
158
+ "accent-mint-400": "#2DD4CB",
159
+ "accent-mint-500": "#01ECE1",
160
+ "accent-mint-600": "#0BC5BC",
161
+ "accent-mint-700": "#0F9F99",
162
+ "accent-mint-800": "#117D78",
163
+ "accent-mint-900": "#135C58",
164
+ "accent-green-50": "#ECFDF3",
165
+ "accent-green-100": "#D1FAE1",
166
+ "accent-green-200": "#A7F3C8",
167
+ "accent-green-300": "#6EE7A3",
168
+ "accent-green-400": "#41E176",
169
+ "accent-green-500": "#22C55E",
170
+ "accent-green-600": "#16A34A",
171
+ "accent-green-700": "#289A3A",
172
+ "accent-green-800": "#166534",
173
+ "accent-green-900": "#14532D",
174
+ "accent-yellow-50": "#FFFBEB",
175
+ "accent-yellow-100": "#FEF3C7",
176
+ "accent-yellow-200": "#FDE68A",
177
+ "accent-yellow-300": "#FCD34D",
178
+ "accent-yellow-400": "#FBBF24",
179
+ "accent-yellow-500": "#FFB800",
180
+ "accent-yellow-600": "#E0A106",
181
+ "accent-yellow-700": "#B58105",
182
+ "accent-yellow-800": "#8A6404",
183
+ "accent-yellow-900": "#5F4703",
184
+ "accent-orange-50": "#FFF7ED",
185
+ "accent-orange-100": "#FFEDD5",
186
+ "accent-orange-200": "#FED7AA",
187
+ "accent-orange-300": "#FDBA74",
188
+ "accent-orange-400": "#FB923C",
189
+ "accent-orange-500": "#F97316",
190
+ "accent-orange-600": "#EA580C",
191
+ "accent-orange-700": "#C2410C",
192
+ "accent-orange-800": "#9A3412",
193
+ "accent-orange-900": "#7C2D12",
194
+ "black": "#000000",
195
+ "white": "#FFFFFF"
196
+ };
197
+
198
+ /***/ }
199
+
200
+ };
@@ -0,0 +1,181 @@
1
+ "use client";
2
+ export const __webpack_esm_id__ = 563;
3
+ export const __webpack_esm_ids__ = [563];
4
+ export const __webpack_esm_modules__ = {
5
+
6
+ /***/ 909
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
10
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
11
+ /* harmony export */ });
12
+ /* unused harmony export TooltipProvider */
13
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(612);
14
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(41);
15
+ /* harmony import */ var radix_ui__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(0);
16
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(274);
17
+ var __assign = undefined && undefined.__assign || function () {
18
+ __assign = Object.assign || function (t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __rest = undefined && undefined.__rest || function (s, e) {
28
+ var t = {};
29
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
30
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
32
+ }
33
+ return t;
34
+ };
35
+ var _a;
36
+
37
+
38
+
39
+
40
+ // 바깥에 TooltipProvider 가 있으면 Root 마다 Provider 를 새로 만들지 않는다.
41
+ // 하나를 공유해야 skipDelayDuration 이 툴팁 사이에서 동작한다.
42
+ // 진입점(`/tooltip`, `/option-badge`, 루트)마다 이 파일이 따로 들어가므로 context 는 전역 키 하나에 둔다.
43
+ var CONTEXT_KEY = Symbol["for"]('@nurihaus/web-design-system/tooltip-provider');
44
+ var registry = globalThis;
45
+ var TooltipProviderContext = (_a = registry[CONTEXT_KEY]) !== null && _a !== void 0 ? _a : registry[CONTEXT_KEY] = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(false);
46
+ var TooltipProvider = function TooltipProvider(props) {
47
+ var children = props.children,
48
+ _a = props.delayDuration,
49
+ delayDuration = _a === void 0 ? 100 : _a,
50
+ restProps = __rest(props, ["children", "delayDuration"]);
51
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(radix_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip.Provider, __assign({
52
+ delayDuration: delayDuration
53
+ }, restProps, {
54
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(TooltipProviderContext.Provider, {
55
+ value: true,
56
+ children: children
57
+ })
58
+ }));
59
+ };
60
+ TooltipProvider.displayName = 'TooltipProvider';
61
+ // Tooltip.Root 는 DOM 을 그리지 않아 ref 를 받을 곳이 없다.
62
+ var TooltipRootBase = function TooltipRootBase(props) {
63
+ var children = props.children,
64
+ restProps = __rest(props, ["children"]);
65
+ var root = (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(radix_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip.Root, __assign({}, restProps, {
66
+ children: children
67
+ }));
68
+ return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(TooltipProviderContext) ? root : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(TooltipProvider, {
69
+ children: root
70
+ });
71
+ };
72
+ TooltipRootBase.displayName = 'TooltipRoot';
73
+ var TooltipTrigger = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
74
+ var children = props.children,
75
+ className = props.className,
76
+ restProps = __rest(props, ["children", "className"]);
77
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(radix_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip.Trigger, __assign({
78
+ ref: ref,
79
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)('nuri-theme base-tooltip trigger', className)
80
+ }, restProps, {
81
+ children: children
82
+ }));
83
+ });
84
+ TooltipTrigger.displayName = 'TooltipTrigger';
85
+ var TooltipContent = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
86
+ var children = props.children,
87
+ className = props.className,
88
+ _a = props.direction,
89
+ direction = _a === void 0 ? 'bottom' : _a,
90
+ restProps = __rest(props, ["children", "className", "direction"]);
91
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(radix_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip.Portal, {
92
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(radix_ui__WEBPACK_IMPORTED_MODULE_2__.Tooltip.Content, __assign({
93
+ ref: ref,
94
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)('nuri-theme base-tooltip content', className),
95
+ side: direction
96
+ }, restProps, {
97
+ children: children
98
+ }))
99
+ });
100
+ });
101
+ TooltipContent.displayName = 'TooltipContent';
102
+ var TooltipRoot = Object.assign(TooltipRootBase, {
103
+ Trigger: TooltipTrigger,
104
+ Content: TooltipContent
105
+ });
106
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TooltipRoot);
107
+
108
+ /***/ },
109
+
110
+ /***/ 563
111
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
112
+
113
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
114
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
115
+ /* harmony export */ });
116
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(612);
117
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(41);
118
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(274);
119
+ /* harmony import */ var _helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(335);
120
+ /* harmony import */ var _base_tooltip__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(909);
121
+ /* harmony import */ var _tooltip_props__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(690);
122
+ var __assign = undefined && undefined.__assign || function () {
123
+ __assign = Object.assign || function (t) {
124
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
125
+ s = arguments[i];
126
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
127
+ }
128
+ return t;
129
+ };
130
+ return __assign.apply(this, arguments);
131
+ };
132
+ var __rest = undefined && undefined.__rest || function (s, e) {
133
+ var t = {};
134
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
135
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
136
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
137
+ }
138
+ return t;
139
+ };
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ // ref 는 Trigger 를 거쳐 trigger 로 넘긴 요소에 붙는다.
148
+ var Tooltip = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
149
+ var trigger = props.trigger,
150
+ content = props.content,
151
+ _a = props.direction,
152
+ direction = _a === void 0 ? 'bottom' : _a,
153
+ _b = props.disabled,
154
+ disabled = _b === void 0 ? false : _b,
155
+ restProps = __rest(props, ["trigger", "content", "direction", "disabled"]);
156
+ var contentClassName = (0,_helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_3__/* .getMergedProps */ .p)(props, _tooltip_props__WEBPACK_IMPORTED_MODULE_5__/* .tooltipContentProps */ .bZ).className;
157
+ // radix 트리를 아예 그리지 않는다. open 으로 막으면 열린 채 남는 경우가 있다.
158
+ if (disabled) return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
159
+ children: trigger
160
+ });
161
+ // delayDuration 을 넘기지 않으면 Provider 의 값(기본 100ms)을 따른다.
162
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_tooltip__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, __assign({
163
+ disableHoverableContent: true
164
+ }, restProps, {
165
+ children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_tooltip__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A.Trigger, {
166
+ ref: ref,
167
+ asChild: true,
168
+ children: trigger
169
+ }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_tooltip__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A.Content, {
170
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .x)(contentClassName, 'tooltip-content'),
171
+ direction: direction,
172
+ children: content
173
+ })]
174
+ }));
175
+ });
176
+ Tooltip.displayName = 'Tooltip';
177
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Tooltip);
178
+
179
+ /***/ }
180
+
181
+ };
@@ -0,0 +1,68 @@
1
+ "use client";
2
+ export const __webpack_esm_id__ = 739;
3
+ export const __webpack_esm_ids__ = [739];
4
+ export const __webpack_esm_modules__ = {
5
+
6
+ /***/ 739
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
10
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
11
+ /* harmony export */ });
12
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(612);
13
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(41);
14
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(274);
15
+ /* harmony import */ var _helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(335);
16
+ /* harmony import */ var _base_text__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(437);
17
+ /* harmony import */ var _text_props__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(74);
18
+ var __rest = undefined && undefined.__rest || function (s, e) {
19
+ var t = {};
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
23
+ }
24
+ return t;
25
+ };
26
+
27
+
28
+
29
+
30
+
31
+
32
+ // CSS 클래스는 camelCase(`whiteSpace-preLine`)인데 prop 값은 CSS 표기(`pre-line`)라 변환해서 붙인다.
33
+ var styleClass = function styleClass(prefix, value) {
34
+ return value ? "".concat(prefix, "-").concat(String(value).replace(/-(\w)/g, function (_, c) {
35
+ return c.toUpperCase();
36
+ })) : '';
37
+ };
38
+ // `2xl` 처럼 숫자로 시작하는 클래스는 선택자로 쓸 수 없어 `t-` 를 붙인다.
39
+ var sizeClass = function sizeClass(size) {
40
+ return /^\d+xl$/.test(size) ? "t-".concat(size) : size;
41
+ };
42
+ // onClick·id 같은 HTML 속성은 넘기지 않는다. className 과 style 만 요소에 간다.
43
+ var Text = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
44
+ var _a = (0,_helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_3__/* .getMergedProps */ .p)(props, _text_props__WEBPACK_IMPORTED_MODULE_5__/* .textProps */ .em),
45
+ text = _a.text,
46
+ size = _a.size,
47
+ weight = _a.weight,
48
+ as = _a.as,
49
+ className = _a.className,
50
+ style = _a.style,
51
+ restProps = __rest(_a, ["text", "size", "weight", "as", "className", "style"]);
52
+ var textClassName = (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .x)(className, sizeClass(size), weight, _text_props__WEBPACK_IMPORTED_MODULE_5__/* .styleClassProps */ .Oc.map(function (key) {
53
+ return styleClass(key, restProps[key]);
54
+ }));
55
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_text__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, {
56
+ ref: ref,
57
+ className: textClassName,
58
+ as: as,
59
+ style: style,
60
+ children: text
61
+ });
62
+ });
63
+ Text.displayName = 'Text';
64
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Text);
65
+
66
+ /***/ }
67
+
68
+ };