@nurihaus/web-design-system 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +15 -4
  2. package/dist/ai/components.md +636 -11
  3. package/dist/ai/motion.md +429 -0
  4. package/dist/ai/tokens.md +90 -4
  5. package/dist/avatar.js +5 -3
  6. package/dist/bottom-bar.js +261 -0
  7. package/dist/bottom-nav.js +10 -57
  8. package/dist/breadcrumb.js +7 -5
  9. package/dist/callout.js +5 -3
  10. package/dist/card.js +278 -0
  11. package/dist/check-box.js +7 -5
  12. package/dist/chip-group.js +6 -4
  13. package/dist/chunk-3274.js +71 -0
  14. package/dist/chunk-345.js +72 -0
  15. package/dist/chunk-3547.js +56 -0
  16. package/dist/chunk-6459.js +107 -0
  17. package/dist/{chunk-6364.js → chunk-7335.js} +2 -67
  18. package/dist/chunk-7653.js +4 -0
  19. package/dist/chunk-910.js +17 -6
  20. package/dist/chunk-9497.js +66 -0
  21. package/dist/collapsible-menu.js +6 -4
  22. package/dist/components/badge/badge-props.d.ts +4 -4
  23. package/dist/components/badge/badge.stories.d.ts +1 -1
  24. package/dist/components/bottom-bar/base-bottom-bar.d.ts +4 -0
  25. package/dist/components/bottom-bar/bottom-bar-props.d.ts +1 -0
  26. package/dist/components/bottom-bar/bottom-bar-type.d.ts +3 -0
  27. package/dist/components/bottom-bar/bottom-bar.d.ts +6 -0
  28. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +282 -0
  29. package/dist/components/button/button-type.d.ts +3 -1
  30. package/dist/components/button/button.stories.d.ts +1 -0
  31. package/dist/components/card/base-card.d.ts +3 -0
  32. package/dist/components/card/card-props.d.ts +9 -0
  33. package/dist/components/card/card-type.d.ts +8 -0
  34. package/dist/components/card/card.d.ts +5 -0
  35. package/dist/components/card/card.stories.d.ts +24 -0
  36. package/dist/components/description-list/base-description-list.d.ts +4 -0
  37. package/dist/components/description-list/description-list-props.d.ts +1 -0
  38. package/dist/components/description-list/description-list-type.d.ts +13 -0
  39. package/dist/components/description-list/description-list.d.ts +5 -0
  40. package/dist/components/description-list/description-list.stories.d.ts +20 -0
  41. package/dist/components/empty-state/base-empty-state.d.ts +4 -0
  42. package/dist/components/empty-state/empty-state-props.d.ts +10 -0
  43. package/dist/components/empty-state/empty-state-type.d.ts +14 -0
  44. package/dist/components/empty-state/empty-state.d.ts +5 -0
  45. package/dist/components/empty-state/empty-state.stories.d.ts +300 -0
  46. package/dist/components/icon/icon-paths.d.ts +4 -0
  47. package/dist/components/icon/icon.stories.d.ts +1 -1
  48. package/dist/components/list/base-list.d.ts +7 -0
  49. package/dist/components/list/list-group.d.ts +5 -0
  50. package/dist/components/list/list-group.stories.d.ts +14 -0
  51. package/dist/components/list/list-props.d.ts +2 -0
  52. package/dist/components/list/list-row.d.ts +5 -0
  53. package/dist/components/list/list-row.stories.d.ts +304 -0
  54. package/dist/components/list/list-type.d.ts +25 -0
  55. package/dist/components/media/base-media.d.ts +16 -0
  56. package/dist/components/media/media-props.d.ts +5 -0
  57. package/dist/components/media/media-thumbnail.d.ts +4 -0
  58. package/dist/components/media/media-thumbnail.stories.d.ts +34 -0
  59. package/dist/components/media/media-type.d.ts +43 -0
  60. package/dist/components/media/media-viewer.d.ts +4 -0
  61. package/dist/components/media/media-viewer.stories.d.ts +24 -0
  62. package/dist/components/message/base-message.d.ts +11 -0
  63. package/dist/components/message/message-event.d.ts +6 -0
  64. package/dist/components/message/message-props.d.ts +17 -0
  65. package/dist/components/message/message-thread.d.ts +6 -0
  66. package/dist/components/message/message-type.d.ts +21 -0
  67. package/dist/components/message/message.d.ts +5 -0
  68. package/dist/components/message/message.stories.d.ts +313 -0
  69. package/dist/components/message-composer/base-message-composer.d.ts +11 -0
  70. package/dist/components/message-composer/message-composer-props.d.ts +1 -0
  71. package/dist/components/message-composer/message-composer-type.d.ts +27 -0
  72. package/dist/components/message-composer/message-composer.d.ts +5 -0
  73. package/dist/components/message-composer/message-composer.stories.d.ts +44 -0
  74. package/dist/components/modal/modal-type.d.ts +11 -0
  75. package/dist/components/motion/motion-provider.d.ts +5 -0
  76. package/dist/components/motion/motion-type.d.ts +6 -0
  77. package/dist/components/motion/motion.d.ts +2 -0
  78. package/dist/components/motion/motion.stories.d.ts +23 -0
  79. package/dist/components/notice/base-notice.d.ts +4 -0
  80. package/dist/components/notice/notice-props.d.ts +16 -0
  81. package/dist/components/notice/notice-type.d.ts +19 -0
  82. package/dist/components/notice/notice.d.ts +5 -0
  83. package/dist/components/notice/notice.stories.d.ts +304 -0
  84. package/dist/components/radio/base-radio.d.ts +2 -1
  85. package/dist/components/radio/radio-props.d.ts +9 -1
  86. package/dist/components/radio/radio-type.d.ts +9 -0
  87. package/dist/components/radio/radio.stories.d.ts +10 -0
  88. package/dist/components/skeleton/skeleton.stories.d.ts +7 -7
  89. package/dist/components/tag/base-tag.d.ts +8 -0
  90. package/dist/components/tag/tag-props.d.ts +1 -0
  91. package/dist/components/tag/tag-type.d.ts +20 -0
  92. package/dist/components/tag/tag.d.ts +4 -0
  93. package/dist/components/tag/tag.stories.d.ts +14 -0
  94. package/dist/components/toast/toast.stories.d.ts +10 -10
  95. package/dist/components.css +1238 -167
  96. package/dist/cta-button.js +27 -14
  97. package/dist/data-table.js +5 -3
  98. package/dist/description-list.js +274 -0
  99. package/dist/drawer.js +7 -5
  100. package/dist/drop-down.js +8 -6
  101. package/dist/empty-state.js +300 -0
  102. package/dist/icon-text-badge.js +11 -9
  103. package/dist/icon-text-option-badge.js +8 -6
  104. package/dist/icon.js +7 -4
  105. package/dist/index.d.ts +28 -2
  106. package/dist/index.js +2324 -220
  107. package/dist/list-group.js +253 -0
  108. package/dist/list-row.js +302 -0
  109. package/dist/loading.js +6 -4
  110. package/dist/media-thumbnail.js +412 -0
  111. package/dist/media-viewer.js +274 -0
  112. package/dist/message-composer.js +395 -0
  113. package/dist/message-event.js +216 -0
  114. package/dist/message-thread.js +216 -0
  115. package/dist/message.js +271 -0
  116. package/dist/modal-with-double-button.js +49 -12
  117. package/dist/modal.js +9 -7
  118. package/dist/motion.js +52 -0
  119. package/dist/notice.js +342 -0
  120. package/dist/option-badge.js +11 -9
  121. package/dist/pagination.js +8 -6
  122. package/dist/radio.js +114 -30
  123. package/dist/skeleton.js +4 -2
  124. package/dist/step-progress.js +4 -2
  125. package/dist/styles.css +1130 -122
  126. package/dist/switch.js +6 -4
  127. package/dist/tabs.js +5 -3
  128. package/dist/tag.js +311 -0
  129. package/dist/text-area.js +8 -6
  130. package/dist/text-field.js +8 -6
  131. package/dist/text.js +5 -3
  132. package/dist/toast.js +12 -10
  133. package/dist/tokens/generated/index.d.ts +1 -0
  134. package/dist/tokens/generated/motion.d.ts +153 -0
  135. package/dist/tokens.css +117 -2
  136. package/dist/tokens.js +156 -1
  137. package/dist/tooltip.js +6 -4
  138. package/package.json +63 -1
@@ -0,0 +1,216 @@
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
+ /***/ 6178
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__(1041);
14
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(3274);
15
+ /* harmony import */ var _base_message__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(345);
16
+ var __assign = undefined && undefined.__assign || function () {
17
+ __assign = Object.assign || function (t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __rest = undefined && undefined.__rest || function (s, e) {
27
+ var t = {};
28
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
30
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
31
+ }
32
+ return t;
33
+ };
34
+
35
+
36
+
37
+
38
+ /** 대화 목록. children 은 Message · MessageEvent 다 */
39
+ var MessageThread = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
40
+ var className = props.className,
41
+ restProps = __rest(props, ["className"]);
42
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_message__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, __assign({
43
+ ref: ref,
44
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_2__/* .classNames */ .x)(className, 'message-thread')
45
+ }, restProps));
46
+ });
47
+ MessageThread.displayName = 'MessageThread';
48
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MessageThread);
49
+
50
+ /***/ },
51
+
52
+ /***/ 1041
53
+ (module, __unused_webpack_exports, __nuri_require__) {
54
+
55
+ var x = (y) => {
56
+ var x = {}; __nuri_require__.d(x, y); return x
57
+ }
58
+ var y = (x) => (() => (x))
59
+ module.exports = x({ ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef) });
60
+
61
+ /***/ },
62
+
63
+ /***/ 612
64
+ (module, __unused_webpack_exports, __nuri_require__) {
65
+
66
+ var x = (y) => {
67
+ var x = {}; __nuri_require__.d(x, y); return x
68
+ }
69
+ var y = (x) => (() => (x))
70
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx) });
71
+
72
+ /***/ }
73
+
74
+ /******/ });
75
+ /************************************************************************/
76
+ /******/ // The module cache
77
+ /******/ var __webpack_module_cache__ = {};
78
+ /******/
79
+ /******/ // The require function
80
+ /******/ function __nuri_require__(moduleId) {
81
+ /******/ // Check if module is in cache
82
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
83
+ /******/ if (cachedModule !== undefined) {
84
+ /******/ return cachedModule.exports;
85
+ /******/ }
86
+ /******/ // Create a new module (and put it into the cache)
87
+ /******/ var module = __webpack_module_cache__[moduleId] = {
88
+ /******/ // no module.id needed
89
+ /******/ // no module.loaded needed
90
+ /******/ exports: {}
91
+ /******/ };
92
+ /******/
93
+ /******/ // Execute the module function
94
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
95
+ /******/
96
+ /******/ // Return the exports of the module
97
+ /******/ return module.exports;
98
+ /******/ }
99
+ /******/
100
+ /******/ // expose the modules object (__webpack_modules__)
101
+ /******/ __nuri_require__.m = __webpack_modules__;
102
+ /******/
103
+ /************************************************************************/
104
+ /******/ /* webpack/runtime/chunk loaded */
105
+ /******/ (() => {
106
+ /******/ var deferred = [];
107
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
108
+ /******/ if(chunkIds) {
109
+ /******/ priority = priority || 0;
110
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
111
+ /******/ deferred[i] = [chunkIds, fn, priority];
112
+ /******/ return;
113
+ /******/ }
114
+ /******/ var notFulfilled = Infinity;
115
+ /******/ for (var i = 0; i < deferred.length; i++) {
116
+ /******/ var [chunkIds, fn, priority] = deferred[i];
117
+ /******/ var fulfilled = true;
118
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
119
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
120
+ /******/ chunkIds.splice(j--, 1);
121
+ /******/ } else {
122
+ /******/ fulfilled = false;
123
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
124
+ /******/ }
125
+ /******/ }
126
+ /******/ if(fulfilled) {
127
+ /******/ deferred.splice(i--, 1)
128
+ /******/ var r = fn();
129
+ /******/ if (r !== undefined) result = r;
130
+ /******/ }
131
+ /******/ }
132
+ /******/ return result;
133
+ /******/ };
134
+ /******/ })();
135
+ /******/
136
+ /******/ /* webpack/runtime/define property getters */
137
+ /******/ (() => {
138
+ /******/ // define getter functions for harmony exports
139
+ /******/ __nuri_require__.d = (exports, definition) => {
140
+ /******/ for(var key in definition) {
141
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
142
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
143
+ /******/ }
144
+ /******/ }
145
+ /******/ };
146
+ /******/ })();
147
+ /******/
148
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
149
+ /******/ (() => {
150
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
151
+ /******/ })();
152
+ /******/
153
+ /******/ /* webpack/runtime/export webpack runtime */
154
+ /******/ export { __nuri_require__ };
155
+ /******/
156
+ /******/ /* webpack/runtime/import chunk loading */
157
+ /******/ (() => {
158
+ /******/ // no baseURI
159
+ /******/
160
+ /******/ // object to store loaded and loading chunks
161
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
162
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
163
+ /******/ var installedChunks = {
164
+ /******/ 4089: 0
165
+ /******/ };
166
+ /******/
167
+ /******/ var installChunk = (data) => {
168
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
169
+ /******/ // add "modules" to the modules object,
170
+ /******/ // then flag all "ids" as loaded and fire callback
171
+ /******/ var moduleId, chunkId, i = 0;
172
+ /******/ for(moduleId in __webpack_esm_modules__) {
173
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
174
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
175
+ /******/ }
176
+ /******/ }
177
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
178
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
179
+ /******/ chunkId = __webpack_esm_ids__[i];
180
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
181
+ /******/ installedChunks[chunkId][0]();
182
+ /******/ }
183
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
184
+ /******/ }
185
+ /******/ __nuri_require__.O();
186
+ /******/ }
187
+ /******/
188
+ /******/ // no chunk on demand loading
189
+ /******/
190
+ /******/ // no prefetching
191
+ /******/
192
+ /******/ // no preloaded
193
+ /******/
194
+ /******/ __nuri_require__.C = installChunk;
195
+ /******/
196
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
197
+ /******/ // no HMR
198
+ /******/
199
+ /******/ // no HMR manifest
200
+ /******/ })();
201
+ /******/
202
+ /************************************************************************/
203
+ /******/
204
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
205
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
206
+ /******/ import * as __webpack_chunk_2__ from "./chunk-345.js";
207
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
208
+ /******/
209
+ /******/ // startup
210
+ /******/ // Load entry module and return exports
211
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
212
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,345], () => (__nuri_require__(6178)))
213
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
214
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
215
+ /******/ export { __webpack_exports__default as default };
216
+ /******/
@@ -0,0 +1,271 @@
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
+ /***/ 8154
7
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
8
+
9
+
10
+ // EXPORTS
11
+ __nuri_require__.d(__webpack_exports__, {
12
+ A: () => (/* binding */ message)
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__(1041);
19
+ // EXTERNAL MODULE: ./helpers/utils/classNames.js
20
+ var classNames = __nuri_require__(3274);
21
+ // EXTERNAL MODULE: ./helpers/utils/getMergedProps.ts
22
+ var getMergedProps = __nuri_require__(7335);
23
+ // EXTERNAL MODULE: ./components/message/base-message.tsx
24
+ var base_message = __nuri_require__(345);
25
+ ;// ./components/message/message-props.ts
26
+ /** 말풍선 자리. `end` 는 내가 보낸 메시지다 */
27
+ var side = ['start', 'end'];
28
+ /** 등장 모션 세기(ADR 0008). 방금 보내거나 받은 메시지에만 준다 */
29
+ var motion = ['weak', 'strong'];
30
+ var messageProps = {
31
+ side: {
32
+ type: 'className',
33
+ className: 'side',
34
+ values: side,
35
+ "default": 'start'
36
+ },
37
+ motion: {
38
+ type: 'className',
39
+ className: 'motion',
40
+ values: motion
41
+ }
42
+ };
43
+ ;// ./components/message/message.tsx
44
+ var __assign = undefined && undefined.__assign || function () {
45
+ __assign = Object.assign || function (t) {
46
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
47
+ s = arguments[i];
48
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
49
+ }
50
+ return t;
51
+ };
52
+ return __assign.apply(this, arguments);
53
+ };
54
+ var __rest = undefined && undefined.__rest || function (s, e) {
55
+ var t = {};
56
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
57
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
58
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
59
+ }
60
+ return t;
61
+ };
62
+
63
+
64
+
65
+
66
+
67
+
68
+ /** 말풍선 하나. MessageThread 안에 둔다 */
69
+ var Message = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
70
+ var _a = (0,getMergedProps/* getMergedProps */.p)(props, messageProps),
71
+ className = _a.className,
72
+ name = _a.name,
73
+ time = _a.time,
74
+ dateTime = _a.dateTime,
75
+ media = _a.media,
76
+ children = _a.children,
77
+ restProps = __rest(_a, ["className", "name", "time", "dateTime", "media", "children"]);
78
+ // 글 없이 썸네일만 있으면 안쪽 여백을 줄인다
79
+ var mediaOnly = Boolean(media) && !children;
80
+ return (0,jsx_runtime_.jsxs)(base_message/* default */.A.Item, __assign({
81
+ ref: ref,
82
+ className: (0,classNames/* classNames */.x)(className, 'message')
83
+ }, restProps, {
84
+ children: [name && (0,jsx_runtime_.jsx)("span", {
85
+ className: 'message-name',
86
+ children: name
87
+ }), (0,jsx_runtime_.jsxs)("div", {
88
+ className: 'message-row',
89
+ children: [(0,jsx_runtime_.jsxs)(base_message/* default */.A.Bubble, {
90
+ className: (0,classNames/* classNames */.x)('message-bubble', mediaOnly && 'media-only'),
91
+ children: [children, media]
92
+ }), time && (0,jsx_runtime_.jsx)("time", {
93
+ className: 'message-time',
94
+ dateTime: dateTime,
95
+ children: time
96
+ })]
97
+ })]
98
+ }));
99
+ });
100
+ Message.displayName = 'Message';
101
+ /* harmony default export */ const message = (Message);
102
+
103
+ /***/ },
104
+
105
+ /***/ 1041
106
+ (module, __unused_webpack_exports, __nuri_require__) {
107
+
108
+ var x = (y) => {
109
+ var x = {}; __nuri_require__.d(x, y); return x
110
+ }
111
+ var y = (x) => (() => (x))
112
+ module.exports = x({ ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef) });
113
+
114
+ /***/ },
115
+
116
+ /***/ 612
117
+ (module, __unused_webpack_exports, __nuri_require__) {
118
+
119
+ var x = (y) => {
120
+ var x = {}; __nuri_require__.d(x, y); return x
121
+ }
122
+ var y = (x) => (() => (x))
123
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
124
+
125
+ /***/ }
126
+
127
+ /******/ });
128
+ /************************************************************************/
129
+ /******/ // The module cache
130
+ /******/ var __webpack_module_cache__ = {};
131
+ /******/
132
+ /******/ // The require function
133
+ /******/ function __nuri_require__(moduleId) {
134
+ /******/ // Check if module is in cache
135
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
136
+ /******/ if (cachedModule !== undefined) {
137
+ /******/ return cachedModule.exports;
138
+ /******/ }
139
+ /******/ // Create a new module (and put it into the cache)
140
+ /******/ var module = __webpack_module_cache__[moduleId] = {
141
+ /******/ // no module.id needed
142
+ /******/ // no module.loaded needed
143
+ /******/ exports: {}
144
+ /******/ };
145
+ /******/
146
+ /******/ // Execute the module function
147
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
148
+ /******/
149
+ /******/ // Return the exports of the module
150
+ /******/ return module.exports;
151
+ /******/ }
152
+ /******/
153
+ /******/ // expose the modules object (__webpack_modules__)
154
+ /******/ __nuri_require__.m = __webpack_modules__;
155
+ /******/
156
+ /************************************************************************/
157
+ /******/ /* webpack/runtime/chunk loaded */
158
+ /******/ (() => {
159
+ /******/ var deferred = [];
160
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
161
+ /******/ if(chunkIds) {
162
+ /******/ priority = priority || 0;
163
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
164
+ /******/ deferred[i] = [chunkIds, fn, priority];
165
+ /******/ return;
166
+ /******/ }
167
+ /******/ var notFulfilled = Infinity;
168
+ /******/ for (var i = 0; i < deferred.length; i++) {
169
+ /******/ var [chunkIds, fn, priority] = deferred[i];
170
+ /******/ var fulfilled = true;
171
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
172
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
173
+ /******/ chunkIds.splice(j--, 1);
174
+ /******/ } else {
175
+ /******/ fulfilled = false;
176
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
177
+ /******/ }
178
+ /******/ }
179
+ /******/ if(fulfilled) {
180
+ /******/ deferred.splice(i--, 1)
181
+ /******/ var r = fn();
182
+ /******/ if (r !== undefined) result = r;
183
+ /******/ }
184
+ /******/ }
185
+ /******/ return result;
186
+ /******/ };
187
+ /******/ })();
188
+ /******/
189
+ /******/ /* webpack/runtime/define property getters */
190
+ /******/ (() => {
191
+ /******/ // define getter functions for harmony exports
192
+ /******/ __nuri_require__.d = (exports, definition) => {
193
+ /******/ for(var key in definition) {
194
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
195
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
196
+ /******/ }
197
+ /******/ }
198
+ /******/ };
199
+ /******/ })();
200
+ /******/
201
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
202
+ /******/ (() => {
203
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
204
+ /******/ })();
205
+ /******/
206
+ /******/ /* webpack/runtime/export webpack runtime */
207
+ /******/ export { __nuri_require__ };
208
+ /******/
209
+ /******/ /* webpack/runtime/import chunk loading */
210
+ /******/ (() => {
211
+ /******/ // no baseURI
212
+ /******/
213
+ /******/ // object to store loaded and loading chunks
214
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
215
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
216
+ /******/ var installedChunks = {
217
+ /******/ 7420: 0
218
+ /******/ };
219
+ /******/
220
+ /******/ var installChunk = (data) => {
221
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
222
+ /******/ // add "modules" to the modules object,
223
+ /******/ // then flag all "ids" as loaded and fire callback
224
+ /******/ var moduleId, chunkId, i = 0;
225
+ /******/ for(moduleId in __webpack_esm_modules__) {
226
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
227
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
228
+ /******/ }
229
+ /******/ }
230
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
231
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
232
+ /******/ chunkId = __webpack_esm_ids__[i];
233
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
234
+ /******/ installedChunks[chunkId][0]();
235
+ /******/ }
236
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
237
+ /******/ }
238
+ /******/ __nuri_require__.O();
239
+ /******/ }
240
+ /******/
241
+ /******/ // no chunk on demand loading
242
+ /******/
243
+ /******/ // no prefetching
244
+ /******/
245
+ /******/ // no preloaded
246
+ /******/
247
+ /******/ __nuri_require__.C = installChunk;
248
+ /******/
249
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
250
+ /******/ // no HMR
251
+ /******/
252
+ /******/ // no HMR manifest
253
+ /******/ })();
254
+ /******/
255
+ /************************************************************************/
256
+ /******/
257
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
258
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
259
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
260
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
261
+ /******/ import * as __webpack_chunk_3__ from "./chunk-345.js";
262
+ /******/ __nuri_require__.C(__webpack_chunk_3__);
263
+ /******/
264
+ /******/ // startup
265
+ /******/ // Load entry module and return exports
266
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
267
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,345], () => (__nuri_require__(8154)))
268
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
269
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
270
+ /******/ export { __webpack_exports__default as default };
271
+ /******/
@@ -62,9 +62,28 @@ var GHOST_SIDE = {
62
62
  row: 'left',
63
63
  column: 'right'
64
64
  };
65
+ // Radix 는 Dialog.Trigger 로 열었을 때만 포커스를 돌려준다. 부모가 연 경우를 위해 연 요소를 기억한다
66
+ var useReturnFocus = function useReturnFocus() {
67
+ var opener = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
68
+ var rememberOpener = function rememberOpener() {
69
+ opener.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
70
+ };
71
+ var returnFocus = function returnFocus(event) {
72
+ var _a;
73
+ if (!((_a = opener.current) === null || _a === void 0 ? void 0 : _a.isConnected)) return;
74
+ event.preventDefault();
75
+ opener.current.focus();
76
+ };
77
+ return {
78
+ rememberOpener: rememberOpener,
79
+ returnFocus: returnFocus
80
+ };
81
+ };
65
82
  var ModalWithDoubleButtonBody = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
66
83
  var _a = (0,_helpers_utils_getMergedProps__WEBPACK_IMPORTED_MODULE_4__/* .getMergedProps */ .p)(props, _modal_props__WEBPACK_IMPORTED_MODULE_8__/* .modalWithDoubleButtonProps */ .r4),
67
84
  layout = _a.layout,
85
+ open = _a.open,
86
+ onOpenChange = _a.onOpenChange,
68
87
  content = _a.content,
69
88
  title = _a.title,
70
89
  subTitle = _a.subTitle,
@@ -74,16 +93,32 @@ var ModalWithDoubleButtonBody = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1
74
93
  right = _a.right,
75
94
  className = _a.className;
76
95
  var ghostSide = GHOST_SIDE[layout];
96
+ // open 을 넘기면 Radix 가 열림·포커스·Esc 를 맡는다. 안 넘기면 예전처럼 forceMount 로 늘 보인다.
97
+ var controlled = open !== undefined;
98
+ var _b = useReturnFocus(),
99
+ rememberOpener = _b.rememberOpener,
100
+ returnFocus = _b.returnFocus;
77
101
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A, {
102
+ open: open,
103
+ onOpenChange: onOpenChange,
78
104
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.Container, {
79
105
  ref: ref,
80
106
  className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)(className, 'modal-with-double-button-container'),
81
- forceMount: true,
82
- children: [showCloseIcon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_button_base_button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
107
+ forceMount: controlled ? undefined : true,
108
+ onOpenAutoFocus: controlled ? rememberOpener : undefined,
109
+ onCloseAutoFocus: controlled ? returnFocus : undefined,
110
+ children: [showCloseIcon && (controlled ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.Close, {
111
+ className: 'modal-with-double-button-close-button',
112
+ "aria-label": "\uB2EB\uAE30",
113
+ asChild: true,
114
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_button_base_button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
115
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_assets_icons_multifly_svg__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, {})
116
+ })
117
+ }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_button_base_button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
83
118
  className: 'modal-with-double-button-close-button',
84
119
  asChild: true,
85
120
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_assets_icons_multifly_svg__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, {})
86
- }), titleIcon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.Title, {
121
+ })), titleIcon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_modal__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A.Title, {
87
122
  className: 'modal-with-double-button-title-icon',
88
123
  asChild: true,
89
124
  children: titleIcon
@@ -169,7 +204,7 @@ var x = (y) => {
169
204
  var x = {}; __nuri_require__.d(x, y); return x
170
205
  }
171
206
  var y = (x) => (() => (x))
172
- module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
207
+ module.exports = x({ ["Fragment"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.Fragment), ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
173
208
 
174
209
  /***/ }
175
210
 
@@ -303,33 +338,35 @@ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime
303
338
  /******/
304
339
  /************************************************************************/
305
340
  /******/
306
- /******/ import * as __webpack_chunk_1__ from "./chunk-6364.js";
341
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
307
342
  /******/ __nuri_require__.C(__webpack_chunk_1__);
308
- /******/ import * as __webpack_chunk_2__ from "./chunk-4560.js";
343
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
309
344
  /******/ __nuri_require__.C(__webpack_chunk_2__);
310
- /******/ import * as __webpack_chunk_3__ from "./chunk-2777.js";
345
+ /******/ import * as __webpack_chunk_3__ from "./chunk-4560.js";
311
346
  /******/ __nuri_require__.C(__webpack_chunk_3__);
312
347
  /******/ import * as __webpack_chunk_4__ from "./chunk-7298.js";
313
348
  /******/ __nuri_require__.C(__webpack_chunk_4__);
314
- /******/ import * as __webpack_chunk_5__ from "./chunk-8933.js";
349
+ /******/ import * as __webpack_chunk_5__ from "./chunk-2777.js";
315
350
  /******/ __nuri_require__.C(__webpack_chunk_5__);
316
351
  /******/ import * as __webpack_chunk_6__ from "./chunk-6302.js";
317
352
  /******/ __nuri_require__.C(__webpack_chunk_6__);
318
- /******/ import * as __webpack_chunk_7__ from "./chunk-2496.js";
353
+ /******/ import * as __webpack_chunk_7__ from "./chunk-8933.js";
319
354
  /******/ __nuri_require__.C(__webpack_chunk_7__);
320
- /******/ import * as __webpack_chunk_8__ from "./chunk-6713.js";
355
+ /******/ import * as __webpack_chunk_8__ from "./chunk-2496.js";
321
356
  /******/ __nuri_require__.C(__webpack_chunk_8__);
322
357
  /******/ import * as __webpack_chunk_9__ from "./chunk-5226.js";
323
358
  /******/ __nuri_require__.C(__webpack_chunk_9__);
324
- /******/ import * as __webpack_chunk_10__ from "./chunk-1657.js";
359
+ /******/ import * as __webpack_chunk_10__ from "./chunk-6713.js";
325
360
  /******/ __nuri_require__.C(__webpack_chunk_10__);
326
361
  /******/ import * as __webpack_chunk_11__ from "./chunk-910.js";
327
362
  /******/ __nuri_require__.C(__webpack_chunk_11__);
363
+ /******/ import * as __webpack_chunk_12__ from "./chunk-1657.js";
364
+ /******/ __nuri_require__.C(__webpack_chunk_12__);
328
365
  /******/
329
366
  /******/ // startup
330
367
  /******/ // Load entry module and return exports
331
368
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
332
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [6364,4560,2777,7298,8933,6302,2496,6713,5226,1657,910], () => (__nuri_require__(8949)))
369
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,2777,6302,8933,2496,5226,6713,910,1657], () => (__nuri_require__(8949)))
333
370
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
334
371
  /******/ const __webpack_exports__default = __webpack_exports__.A;
335
372
  /******/ export { __webpack_exports__default as default };
package/dist/modal.js CHANGED
@@ -276,25 +276,27 @@ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime
276
276
  /******/
277
277
  /************************************************************************/
278
278
  /******/
279
- /******/ import * as __webpack_chunk_1__ from "./chunk-6364.js";
279
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
280
280
  /******/ __nuri_require__.C(__webpack_chunk_1__);
281
- /******/ import * as __webpack_chunk_2__ from "./chunk-4560.js";
281
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
282
282
  /******/ __nuri_require__.C(__webpack_chunk_2__);
283
- /******/ import * as __webpack_chunk_3__ from "./chunk-2777.js";
283
+ /******/ import * as __webpack_chunk_3__ from "./chunk-4560.js";
284
284
  /******/ __nuri_require__.C(__webpack_chunk_3__);
285
285
  /******/ import * as __webpack_chunk_4__ from "./chunk-7298.js";
286
286
  /******/ __nuri_require__.C(__webpack_chunk_4__);
287
- /******/ import * as __webpack_chunk_5__ from "./chunk-8933.js";
287
+ /******/ import * as __webpack_chunk_5__ from "./chunk-2777.js";
288
288
  /******/ __nuri_require__.C(__webpack_chunk_5__);
289
- /******/ import * as __webpack_chunk_6__ from "./chunk-6713.js";
289
+ /******/ import * as __webpack_chunk_6__ from "./chunk-8933.js";
290
290
  /******/ __nuri_require__.C(__webpack_chunk_6__);
291
- /******/ import * as __webpack_chunk_7__ from "./chunk-1657.js";
291
+ /******/ import * as __webpack_chunk_7__ from "./chunk-6713.js";
292
292
  /******/ __nuri_require__.C(__webpack_chunk_7__);
293
+ /******/ import * as __webpack_chunk_8__ from "./chunk-1657.js";
294
+ /******/ __nuri_require__.C(__webpack_chunk_8__);
293
295
  /******/
294
296
  /******/ // startup
295
297
  /******/ // Load entry module and return exports
296
298
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
297
- /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [6364,4560,2777,7298,8933,6713,1657], () => (__nuri_require__(4927)))
299
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,2777,8933,6713,1657], () => (__nuri_require__(4927)))
298
300
  /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
299
301
  /******/ const __webpack_exports__default = __webpack_exports__.A;
300
302
  /******/ export { __webpack_exports__default as default };