@nurihaus/web-design-system 3.0.1 → 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 +465 -219
  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,369 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/jsx-runtime";
4
+ /******/ var __webpack_modules__ = ({
5
+
6
+ /***/ 295
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+
10
+ // EXPORTS
11
+ __nuri_require__.d(__webpack_exports__, {
12
+ A: () => (/* binding */ text_field)
13
+ });
14
+
15
+ // EXTERNAL MODULE: external {"root":"jsx-runtime","commonjs2":"react/jsx-runtime","commonjs":"react/jsx-runtime","amd":"react/jsx-runtime","module":"react/jsx-runtime"}
16
+ var jsx_runtime_ = __nuri_require__(612);
17
+ // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react","module":"react"}
18
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_ = __nuri_require__(41);
19
+ // EXTERNAL MODULE: ./helpers/utils/classNames.js
20
+ var classNames = __nuri_require__(274);
21
+ // EXTERNAL MODULE: ./helpers/utils/getMergedProps.ts
22
+ var getMergedProps = __nuri_require__(335);
23
+ // EXTERNAL MODULE: ./components/elements/text/text.tsx
24
+ var text_text = __nuri_require__(739);
25
+ ;// ./components/text-field/base-text-field.tsx
26
+ var __assign = undefined && undefined.__assign || function () {
27
+ __assign = Object.assign || function (t) {
28
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
29
+ s = arguments[i];
30
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
31
+ }
32
+ return t;
33
+ };
34
+ return __assign.apply(this, arguments);
35
+ };
36
+ var __rest = undefined && undefined.__rest || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
39
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
41
+ }
42
+ return t;
43
+ };
44
+
45
+
46
+
47
+
48
+ var TextFieldContext = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.createContext)({
49
+ value: '',
50
+ onChange: function onChange() {}
51
+ });
52
+ // context 만 내려주고 DOM 을 그리지 않아 ref 를 받을 곳이 없다.
53
+ var TextFieldRootBase = function TextFieldRootBase(props) {
54
+ var children = props.children,
55
+ value = props.value,
56
+ onChange = props.onChange,
57
+ defaultValue = props.defaultValue;
58
+ var isControlled = value !== undefined;
59
+ var _a = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : ''),
60
+ innerValue = _a[0],
61
+ setInnerValue = _a[1];
62
+ var inputValue = isControlled ? value !== null && value !== void 0 ? value : '' : innerValue;
63
+ var handleChange = function handleChange(e) {
64
+ if (!isControlled) {
65
+ setInnerValue(e.target.value);
66
+ }
67
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
68
+ };
69
+ return (0,jsx_runtime_.jsx)(TextFieldContext.Provider, {
70
+ value: {
71
+ value: inputValue,
72
+ onChange: handleChange
73
+ },
74
+ children: children
75
+ });
76
+ };
77
+ TextFieldRootBase.displayName = 'TextFieldRoot';
78
+ var TextFieldLabel = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
79
+ var text = props.text,
80
+ className = props.className;
81
+ return typeof text === 'string' ? (0,jsx_runtime_.jsx)(text_text/* default */.A, {
82
+ ref: ref,
83
+ className: (0,classNames/* classNames */.x)('nuri-theme base-text-field label', className),
84
+ text: text,
85
+ size: 'sm',
86
+ weight: 'bold'
87
+ }) : text;
88
+ });
89
+ TextFieldLabel.displayName = 'TextFieldLabel';
90
+ var TextFieldInput = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
91
+ var className = props.className,
92
+ disabled = props.disabled,
93
+ restProps = __rest(props, ["className", "disabled"]);
94
+ var _a = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.useContext)(TextFieldContext),
95
+ value = _a.value,
96
+ onChange = _a.onChange;
97
+ return (0,jsx_runtime_.jsx)("input", __assign({
98
+ ref: ref,
99
+ className: (0,classNames/* classNames */.x)('nuri-theme base-text-field input', className),
100
+ disabled: disabled,
101
+ "data-disabled": disabled
102
+ }, restProps, {
103
+ // 값은 Root 가 쥔다. 넘겨받은 value·onChange 가 Root 상태를 덮지 않게 spread 뒤에 둔다.
104
+ value: value,
105
+ onChange: onChange
106
+ }));
107
+ });
108
+ TextFieldInput.displayName = 'TextFieldInput';
109
+ var TextFieldHelperText = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
110
+ var text = props.text,
111
+ className = props.className;
112
+ return typeof text === 'string' ? (0,jsx_runtime_.jsx)(text_text/* default */.A, {
113
+ ref: ref,
114
+ className: (0,classNames/* classNames */.x)('nuri-theme base-text-field helper-text', className),
115
+ text: text,
116
+ size: 'sm',
117
+ weight: 'regular'
118
+ }) : text;
119
+ });
120
+ TextFieldHelperText.displayName = 'TextFieldHelperText';
121
+ var TextFieldRoot = Object.assign(TextFieldRootBase, {
122
+ Label: TextFieldLabel,
123
+ Input: TextFieldInput,
124
+ HelperText: TextFieldHelperText
125
+ });
126
+ /* harmony default export */ const base_text_field = (TextFieldRoot);
127
+ // EXTERNAL MODULE: ./helpers/props/common-props.ts
128
+ var common_props = __nuri_require__(298);
129
+ ;// ./components/text-field/text-field-props.ts
130
+
131
+ var sizes = ['s', 'm'];
132
+ var textFieldProps = {
133
+ size: (0,common_props/* sizeProp */.lw)(sizes, 's'),
134
+ width: (0,common_props/* widthProp */.Iw)('100%')
135
+ };
136
+ ;// ./components/text-field/text-field.tsx
137
+ var text_field_assign = undefined && undefined.__assign || function () {
138
+ text_field_assign = Object.assign || function (t) {
139
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
140
+ s = arguments[i];
141
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
142
+ }
143
+ return t;
144
+ };
145
+ return text_field_assign.apply(this, arguments);
146
+ };
147
+ var text_field_rest = undefined && undefined.__rest || function (s, e) {
148
+ var t = {};
149
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
150
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
151
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
152
+ }
153
+ return t;
154
+ };
155
+
156
+
157
+
158
+
159
+
160
+
161
+ var TextField = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
162
+ var _a = (0,getMergedProps/* getMergedProps */.p)(props, textFieldProps),
163
+ className = _a.className,
164
+ style = _a.style,
165
+ leftIcon = _a.leftIcon,
166
+ rightIcon = _a.rightIcon,
167
+ title = _a.title,
168
+ value = _a.value,
169
+ onChange = _a.onChange,
170
+ defaultValue = _a.defaultValue,
171
+ helperText = _a.helperText,
172
+ isError = _a.isError,
173
+ restProps = text_field_rest(_a, ["className", "style", "leftIcon", "rightIcon", "title", "value", "onChange", "defaultValue", "helperText", "isError"]);
174
+ return (0,jsx_runtime_.jsx)(base_text_field, {
175
+ value: value,
176
+ onChange: onChange,
177
+ defaultValue: defaultValue,
178
+ children: (0,jsx_runtime_.jsxs)("div", {
179
+ className: 'text-field',
180
+ children: [title && (0,jsx_runtime_.jsx)(base_text_field.Label, {
181
+ className: 'text-field-title',
182
+ text: title
183
+ }), (0,jsx_runtime_.jsxs)("div", {
184
+ className: (0,classNames/* classNames */.x)('nuri-theme text-field-input-wrapper', className),
185
+ style: style,
186
+ children: [leftIcon, (0,jsx_runtime_.jsx)(base_text_field.Input, text_field_assign({
187
+ ref: ref
188
+ }, restProps)), rightIcon]
189
+ }), helperText && (0,jsx_runtime_.jsx)(base_text_field.HelperText, {
190
+ className: (0,classNames/* classNames */.x)('text-field-helper-text', isError && 'error'),
191
+ text: helperText
192
+ })]
193
+ })
194
+ });
195
+ });
196
+ TextField.displayName = 'TextField';
197
+ /* harmony default export */ const text_field = (TextField);
198
+
199
+ /***/ },
200
+
201
+ /***/ 41
202
+ (module, __unused_webpack_exports, __nuri_require__) {
203
+
204
+ var x = (y) => {
205
+ var x = {}; __nuri_require__.d(x, y); return x
206
+ }
207
+ var y = (x) => (() => (x))
208
+ module.exports = x({ ["createContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.createContext), ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef), ["useContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useContext), ["useState"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useState) });
209
+
210
+ /***/ },
211
+
212
+ /***/ 612
213
+ (module, __unused_webpack_exports, __nuri_require__) {
214
+
215
+ var x = (y) => {
216
+ var x = {}; __nuri_require__.d(x, y); return x
217
+ }
218
+ var y = (x) => (() => (x))
219
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
220
+
221
+ /***/ }
222
+
223
+ /******/ });
224
+ /************************************************************************/
225
+ /******/ // The module cache
226
+ /******/ var __webpack_module_cache__ = {};
227
+ /******/
228
+ /******/ // The require function
229
+ /******/ function __nuri_require__(moduleId) {
230
+ /******/ // Check if module is in cache
231
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
232
+ /******/ if (cachedModule !== undefined) {
233
+ /******/ return cachedModule.exports;
234
+ /******/ }
235
+ /******/ // Create a new module (and put it into the cache)
236
+ /******/ var module = __webpack_module_cache__[moduleId] = {
237
+ /******/ // no module.id needed
238
+ /******/ // no module.loaded needed
239
+ /******/ exports: {}
240
+ /******/ };
241
+ /******/
242
+ /******/ // Execute the module function
243
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
244
+ /******/
245
+ /******/ // Return the exports of the module
246
+ /******/ return module.exports;
247
+ /******/ }
248
+ /******/
249
+ /******/ // expose the modules object (__webpack_modules__)
250
+ /******/ __nuri_require__.m = __webpack_modules__;
251
+ /******/
252
+ /************************************************************************/
253
+ /******/ /* webpack/runtime/chunk loaded */
254
+ /******/ (() => {
255
+ /******/ var deferred = [];
256
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
257
+ /******/ if(chunkIds) {
258
+ /******/ priority = priority || 0;
259
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
260
+ /******/ deferred[i] = [chunkIds, fn, priority];
261
+ /******/ return;
262
+ /******/ }
263
+ /******/ var notFulfilled = Infinity;
264
+ /******/ for (var i = 0; i < deferred.length; i++) {
265
+ /******/ var [chunkIds, fn, priority] = deferred[i];
266
+ /******/ var fulfilled = true;
267
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
268
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
269
+ /******/ chunkIds.splice(j--, 1);
270
+ /******/ } else {
271
+ /******/ fulfilled = false;
272
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
273
+ /******/ }
274
+ /******/ }
275
+ /******/ if(fulfilled) {
276
+ /******/ deferred.splice(i--, 1)
277
+ /******/ var r = fn();
278
+ /******/ if (r !== undefined) result = r;
279
+ /******/ }
280
+ /******/ }
281
+ /******/ return result;
282
+ /******/ };
283
+ /******/ })();
284
+ /******/
285
+ /******/ /* webpack/runtime/define property getters */
286
+ /******/ (() => {
287
+ /******/ // define getter functions for harmony exports
288
+ /******/ __nuri_require__.d = (exports, definition) => {
289
+ /******/ for(var key in definition) {
290
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
291
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
292
+ /******/ }
293
+ /******/ }
294
+ /******/ };
295
+ /******/ })();
296
+ /******/
297
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
298
+ /******/ (() => {
299
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
300
+ /******/ })();
301
+ /******/
302
+ /******/ /* webpack/runtime/export webpack runtime */
303
+ /******/ export { __nuri_require__ };
304
+ /******/
305
+ /******/ /* webpack/runtime/import chunk loading */
306
+ /******/ (() => {
307
+ /******/ // no baseURI
308
+ /******/
309
+ /******/ // object to store loaded and loading chunks
310
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
311
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
312
+ /******/ var installedChunks = {
313
+ /******/ 489: 0
314
+ /******/ };
315
+ /******/
316
+ /******/ var installChunk = (data) => {
317
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
318
+ /******/ // add "modules" to the modules object,
319
+ /******/ // then flag all "ids" as loaded and fire callback
320
+ /******/ var moduleId, chunkId, i = 0;
321
+ /******/ for(moduleId in __webpack_esm_modules__) {
322
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
323
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
324
+ /******/ }
325
+ /******/ }
326
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
327
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
328
+ /******/ chunkId = __webpack_esm_ids__[i];
329
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
330
+ /******/ installedChunks[chunkId][0]();
331
+ /******/ }
332
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
333
+ /******/ }
334
+ /******/ __nuri_require__.O();
335
+ /******/ }
336
+ /******/
337
+ /******/ // no chunk on demand loading
338
+ /******/
339
+ /******/ // no prefetching
340
+ /******/
341
+ /******/ // no preloaded
342
+ /******/
343
+ /******/ __nuri_require__.C = installChunk;
344
+ /******/
345
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
346
+ /******/ // no HMR
347
+ /******/
348
+ /******/ // no HMR manifest
349
+ /******/ })();
350
+ /******/
351
+ /************************************************************************/
352
+ /******/
353
+ /******/ import * as __webpack_chunk_1__ from "./chunk-364.js";
354
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
355
+ /******/ import * as __webpack_chunk_2__ from "./chunk-917.js";
356
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
357
+ /******/ import * as __webpack_chunk_3__ from "./chunk-558.js";
358
+ /******/ __nuri_require__.C(__webpack_chunk_3__);
359
+ /******/ import * as __webpack_chunk_4__ from "./chunk-739.js";
360
+ /******/ __nuri_require__.C(__webpack_chunk_4__);
361
+ /******/
362
+ /******/ // startup
363
+ /******/ // Load entry module and return exports
364
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
365
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [364,917,558,739], () => (__nuri_require__(295)))
366
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
367
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
368
+ /******/ export { __webpack_exports__default as default };
369
+ /******/
package/dist/text.js ADDED
@@ -0,0 +1,233 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/jsx-runtime";
4
+ /******/ var __webpack_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
+ /***/ 41
69
+ (module, __unused_webpack_exports, __nuri_require__) {
70
+
71
+ var x = (y) => {
72
+ var x = {}; __nuri_require__.d(x, y); return x
73
+ }
74
+ var y = (x) => (() => (x))
75
+ module.exports = x({ ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef) });
76
+
77
+ /***/ },
78
+
79
+ /***/ 612
80
+ (module, __unused_webpack_exports, __nuri_require__) {
81
+
82
+ var x = (y) => {
83
+ var x = {}; __nuri_require__.d(x, y); return x
84
+ }
85
+ var y = (x) => (() => (x))
86
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx) });
87
+
88
+ /***/ }
89
+
90
+ /******/ });
91
+ /************************************************************************/
92
+ /******/ // The module cache
93
+ /******/ var __webpack_module_cache__ = {};
94
+ /******/
95
+ /******/ // The require function
96
+ /******/ function __nuri_require__(moduleId) {
97
+ /******/ // Check if module is in cache
98
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
99
+ /******/ if (cachedModule !== undefined) {
100
+ /******/ return cachedModule.exports;
101
+ /******/ }
102
+ /******/ // Create a new module (and put it into the cache)
103
+ /******/ var module = __webpack_module_cache__[moduleId] = {
104
+ /******/ // no module.id needed
105
+ /******/ // no module.loaded needed
106
+ /******/ exports: {}
107
+ /******/ };
108
+ /******/
109
+ /******/ // Execute the module function
110
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
111
+ /******/
112
+ /******/ // Return the exports of the module
113
+ /******/ return module.exports;
114
+ /******/ }
115
+ /******/
116
+ /******/ // expose the modules object (__webpack_modules__)
117
+ /******/ __nuri_require__.m = __webpack_modules__;
118
+ /******/
119
+ /************************************************************************/
120
+ /******/ /* webpack/runtime/chunk loaded */
121
+ /******/ (() => {
122
+ /******/ var deferred = [];
123
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
124
+ /******/ if(chunkIds) {
125
+ /******/ priority = priority || 0;
126
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
127
+ /******/ deferred[i] = [chunkIds, fn, priority];
128
+ /******/ return;
129
+ /******/ }
130
+ /******/ var notFulfilled = Infinity;
131
+ /******/ for (var i = 0; i < deferred.length; i++) {
132
+ /******/ var [chunkIds, fn, priority] = deferred[i];
133
+ /******/ var fulfilled = true;
134
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
135
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
136
+ /******/ chunkIds.splice(j--, 1);
137
+ /******/ } else {
138
+ /******/ fulfilled = false;
139
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
140
+ /******/ }
141
+ /******/ }
142
+ /******/ if(fulfilled) {
143
+ /******/ deferred.splice(i--, 1)
144
+ /******/ var r = fn();
145
+ /******/ if (r !== undefined) result = r;
146
+ /******/ }
147
+ /******/ }
148
+ /******/ return result;
149
+ /******/ };
150
+ /******/ })();
151
+ /******/
152
+ /******/ /* webpack/runtime/define property getters */
153
+ /******/ (() => {
154
+ /******/ // define getter functions for harmony exports
155
+ /******/ __nuri_require__.d = (exports, definition) => {
156
+ /******/ for(var key in definition) {
157
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
158
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
159
+ /******/ }
160
+ /******/ }
161
+ /******/ };
162
+ /******/ })();
163
+ /******/
164
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
165
+ /******/ (() => {
166
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
167
+ /******/ })();
168
+ /******/
169
+ /******/ /* webpack/runtime/export webpack runtime */
170
+ /******/ export { __nuri_require__ };
171
+ /******/
172
+ /******/ /* webpack/runtime/import chunk loading */
173
+ /******/ (() => {
174
+ /******/ // no baseURI
175
+ /******/
176
+ /******/ // object to store loaded and loading chunks
177
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
178
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
179
+ /******/ var installedChunks = {
180
+ /******/ 739: 0,
181
+ /******/ 826: 0
182
+ /******/ };
183
+ /******/
184
+ /******/ var installChunk = (data) => {
185
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
186
+ /******/ // add "modules" to the modules object,
187
+ /******/ // then flag all "ids" as loaded and fire callback
188
+ /******/ var moduleId, chunkId, i = 0;
189
+ /******/ for(moduleId in __webpack_esm_modules__) {
190
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
191
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
192
+ /******/ }
193
+ /******/ }
194
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
195
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
196
+ /******/ chunkId = __webpack_esm_ids__[i];
197
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
198
+ /******/ installedChunks[chunkId][0]();
199
+ /******/ }
200
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
201
+ /******/ }
202
+ /******/ __nuri_require__.O();
203
+ /******/ }
204
+ /******/
205
+ /******/ // no chunk on demand loading
206
+ /******/
207
+ /******/ // no prefetching
208
+ /******/
209
+ /******/ // no preloaded
210
+ /******/
211
+ /******/ __nuri_require__.C = installChunk;
212
+ /******/
213
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
214
+ /******/ // no HMR
215
+ /******/
216
+ /******/ // no HMR manifest
217
+ /******/ })();
218
+ /******/
219
+ /************************************************************************/
220
+ /******/
221
+ /******/ import * as __webpack_chunk_1__ from "./chunk-364.js";
222
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
223
+ /******/ import * as __webpack_chunk_2__ from "./chunk-558.js";
224
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
225
+ /******/
226
+ /******/ // startup
227
+ /******/ // Load entry module and return exports
228
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
229
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [364,558], () => (__nuri_require__(739)))
230
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
231
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
232
+ /******/ export { __webpack_exports__default as default };
233
+ /******/
package/dist/tokens.css CHANGED
@@ -150,6 +150,74 @@
150
150
  --line-height-4xl: 43px;
151
151
  --line-height-5xl: 66px;
152
152
  --line-height-6xl: 82px;
153
+ /* 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field */
154
+ --control-height-xs: 30px;
155
+ --control-height-s: 40px;
156
+ --control-height-m: 50px;
157
+ --control-height-l: 54px;
158
+ --control-height-xl: 60px;
159
+
160
+ /* 라벨: badge */
161
+ --label-height-xs: 28px;
162
+ --label-height-s: 32px;
163
+ --label-height-m: 36px;
164
+ --label-height-l: 40px;
165
+ --label-height-xl: 48px;
166
+
167
+ /* 메뉴 행: collapsible-menu, drop-down 항목 */
168
+ --menu-row-height-s: 40px;
169
+ --menu-row-height-m: 48px;
170
+ --drop-down-item-height: 46px;
171
+
172
+ /* 정사각 */
173
+ --checkbox-size-s: 18px;
174
+ --checkbox-size-m: 20px;
175
+ --checkbox-size-l: 24px;
176
+ --radio-size: 18px;
177
+ --radio-dot-size: 8px;
178
+ --avatar-size-s: 40px;
179
+ --avatar-size-m: 58px;
180
+ --avatar-size-l: 74px;
181
+ --avatar-size-xl: 124px;
182
+ --avatar-badge-size-s: 18px;
183
+ --avatar-badge-size-m: 24px;
184
+ --avatar-badge-size-l: 30px;
185
+ --avatar-badge-size-xl: 48px;
186
+
187
+ /* 폭 */
188
+ --modal-width-s: 400px;
189
+ --modal-width-m: 450px;
190
+ --modal-width-l: 500px;
191
+
192
+ /* 그 밖의 치수 */
193
+ --icon-size-s: 18px;
194
+ --icon-size-m: 20px;
195
+ --icon-size-l: 24px;
196
+ --tooltip-arrow: 8px;
197
+ --spinner-stroke: 3px;
198
+ --tab-indicator-thickness: 3px;
199
+ --checkbox-border: 1.5px;
200
+ --hairline: 1px;
201
+
202
+ /* 그림자 */
203
+ --shadow-popover: 0px 4px 6px -2px rgba(0, 0, 0, 0.06), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
204
+
205
+ /* 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 */
206
+ --z-base: 0;
207
+ --z-raised: 1;
208
+ --z-sticky: 2;
209
+ --z-sticky-header: 3;
210
+ --z-tooltip: 3;
211
+ --z-popover: 5;
212
+ --z-overlay: 9998;
213
+ --z-modal: 9999;
214
+
215
+ /* 모션 */
216
+ --motion-fast: 160ms;
217
+ --motion-base: 300ms;
218
+ --motion-ease: ease;
219
+ --spinner-duration: 1.2s;
220
+ --spinner-ease: cubic-bezier(0.5, 0, 0.5, 1);
153
221
  }
154
222
  /* semantic: app */
155
223
  :root, :root[data-ds-theme='app'] {
@@ -228,6 +296,11 @@
228
296
  --button-size-l: 54;
229
297
  --button-size-xl: 60;
230
298
  }
299
+ /*
300
+ * 크기·두께·레이어·모션. figma.json 에서 만들지 않고 손으로 유지한다(font-face.css 와 같다).
301
+ * 디자이너가 숫자를 바꾸는 곳은 여기다. 컴포넌트 CSS 는 숫자를 쓰지 않고 이 변수를 쓴다(빌드가 검사).
302
+ * 크기 이름은 xs · s · m · l · xl 다섯 개다. 컴포넌트는 그중 지원하는 것만 고른다.
303
+ */
231
304
  .nuri-theme {
232
305
  --cursor-button: pointer;
233
306
  --cursor-disabled: not-allowed;