@nurihaus/web-design-system 3.7.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +15 -4
  2. package/dist/ai/components.md +658 -12
  3. package/dist/ai/motion.md +431 -0
  4. package/dist/ai/tokens.md +93 -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-1176.js +24 -0
  14. package/dist/chunk-3274.js +71 -0
  15. package/dist/chunk-345.js +72 -0
  16. package/dist/chunk-3547.js +56 -0
  17. package/dist/chunk-6459.js +107 -0
  18. package/dist/{chunk-6364.js → chunk-7335.js} +2 -67
  19. package/dist/chunk-7653.js +4 -0
  20. package/dist/chunk-910.js +26 -13
  21. package/dist/chunk-9497.js +66 -0
  22. package/dist/collapsible-menu.js +6 -4
  23. package/dist/components/badge/badge-props.d.ts +4 -4
  24. package/dist/components/badge/badge.stories.d.ts +1 -1
  25. package/dist/components/bottom-bar/base-bottom-bar.d.ts +4 -0
  26. package/dist/components/bottom-bar/bottom-bar-props.d.ts +1 -0
  27. package/dist/components/bottom-bar/bottom-bar-type.d.ts +3 -0
  28. package/dist/components/bottom-bar/bottom-bar.d.ts +6 -0
  29. package/dist/components/bottom-bar/bottom-bar.stories.d.ts +282 -0
  30. package/dist/components/button/button-type.d.ts +3 -1
  31. package/dist/components/button/button.stories.d.ts +1 -0
  32. package/dist/components/card/base-card.d.ts +3 -0
  33. package/dist/components/card/card-props.d.ts +9 -0
  34. package/dist/components/card/card-type.d.ts +8 -0
  35. package/dist/components/card/card.d.ts +5 -0
  36. package/dist/components/card/card.stories.d.ts +24 -0
  37. package/dist/components/description-list/base-description-list.d.ts +4 -0
  38. package/dist/components/description-list/description-list-props.d.ts +1 -0
  39. package/dist/components/description-list/description-list-type.d.ts +13 -0
  40. package/dist/components/description-list/description-list.d.ts +5 -0
  41. package/dist/components/description-list/description-list.stories.d.ts +20 -0
  42. package/dist/components/empty-state/base-empty-state.d.ts +4 -0
  43. package/dist/components/empty-state/empty-state-props.d.ts +10 -0
  44. package/dist/components/empty-state/empty-state-type.d.ts +14 -0
  45. package/dist/components/empty-state/empty-state.d.ts +5 -0
  46. package/dist/components/empty-state/empty-state.stories.d.ts +300 -0
  47. package/dist/components/icon/icon-paths.d.ts +4 -0
  48. package/dist/components/icon/icon.stories.d.ts +1 -1
  49. package/dist/components/icon-button/base-icon-button.d.ts +3 -0
  50. package/dist/components/icon-button/icon-button-props.d.ts +12 -0
  51. package/dist/components/icon-button/icon-button-type.d.ts +16 -0
  52. package/dist/components/icon-button/icon-button.d.ts +5 -0
  53. package/dist/components/icon-button/icon-button.stories.d.ts +31 -0
  54. package/dist/components/list/base-list.d.ts +7 -0
  55. package/dist/components/list/list-group.d.ts +5 -0
  56. package/dist/components/list/list-group.stories.d.ts +14 -0
  57. package/dist/components/list/list-props.d.ts +2 -0
  58. package/dist/components/list/list-row.d.ts +5 -0
  59. package/dist/components/list/list-row.stories.d.ts +304 -0
  60. package/dist/components/list/list-type.d.ts +25 -0
  61. package/dist/components/media/base-media.d.ts +16 -0
  62. package/dist/components/media/media-props.d.ts +5 -0
  63. package/dist/components/media/media-thumbnail.d.ts +4 -0
  64. package/dist/components/media/media-thumbnail.stories.d.ts +34 -0
  65. package/dist/components/media/media-type.d.ts +43 -0
  66. package/dist/components/media/media-viewer.d.ts +4 -0
  67. package/dist/components/media/media-viewer.stories.d.ts +24 -0
  68. package/dist/components/message/base-message.d.ts +11 -0
  69. package/dist/components/message/message-event.d.ts +6 -0
  70. package/dist/components/message/message-props.d.ts +17 -0
  71. package/dist/components/message/message-thread.d.ts +6 -0
  72. package/dist/components/message/message-type.d.ts +21 -0
  73. package/dist/components/message/message.d.ts +5 -0
  74. package/dist/components/message/message.stories.d.ts +313 -0
  75. package/dist/components/message-composer/base-message-composer.d.ts +11 -0
  76. package/dist/components/message-composer/message-composer-props.d.ts +1 -0
  77. package/dist/components/message-composer/message-composer-type.d.ts +31 -0
  78. package/dist/components/message-composer/message-composer.d.ts +5 -0
  79. package/dist/components/message-composer/message-composer.stories.d.ts +46 -0
  80. package/dist/components/motion/motion-provider.d.ts +5 -0
  81. package/dist/components/motion/motion-type.d.ts +6 -0
  82. package/dist/components/motion/motion.d.ts +2 -0
  83. package/dist/components/motion/motion.stories.d.ts +23 -0
  84. package/dist/components/notice/base-notice.d.ts +4 -0
  85. package/dist/components/notice/notice-props.d.ts +16 -0
  86. package/dist/components/notice/notice-type.d.ts +21 -0
  87. package/dist/components/notice/notice.d.ts +5 -0
  88. package/dist/components/notice/notice.stories.d.ts +304 -0
  89. package/dist/components/radio/base-radio.d.ts +2 -1
  90. package/dist/components/radio/radio-props.d.ts +9 -1
  91. package/dist/components/radio/radio-type.d.ts +9 -0
  92. package/dist/components/radio/radio.stories.d.ts +10 -0
  93. package/dist/components/tag/base-tag.d.ts +8 -0
  94. package/dist/components/tag/tag-props.d.ts +1 -0
  95. package/dist/components/tag/tag-type.d.ts +20 -0
  96. package/dist/components/tag/tag.d.ts +4 -0
  97. package/dist/components/tag/tag.stories.d.ts +14 -0
  98. package/dist/components.css +1330 -171
  99. package/dist/cta-button.js +38 -21
  100. package/dist/data-table.js +5 -3
  101. package/dist/description-list.js +274 -0
  102. package/dist/drawer.js +7 -5
  103. package/dist/drop-down.js +8 -6
  104. package/dist/empty-state.js +300 -0
  105. package/dist/helpers/utils/fillLinkChild.d.ts +6 -0
  106. package/dist/icon-button.js +338 -0
  107. package/dist/icon-text-badge.js +11 -9
  108. package/dist/icon-text-option-badge.js +8 -6
  109. package/dist/icon.js +7 -4
  110. package/dist/index.d.ts +30 -2
  111. package/dist/index.js +2482 -223
  112. package/dist/list-group.js +253 -0
  113. package/dist/list-row.js +308 -0
  114. package/dist/loading.js +6 -4
  115. package/dist/media-thumbnail.js +412 -0
  116. package/dist/media-viewer.js +274 -0
  117. package/dist/message-composer.js +399 -0
  118. package/dist/message-event.js +216 -0
  119. package/dist/message-thread.js +216 -0
  120. package/dist/message.js +271 -0
  121. package/dist/modal-with-double-button.js +15 -11
  122. package/dist/modal.js +9 -7
  123. package/dist/motion.js +52 -0
  124. package/dist/notice.js +346 -0
  125. package/dist/option-badge.js +11 -9
  126. package/dist/pagination.js +8 -6
  127. package/dist/radio.js +114 -30
  128. package/dist/skeleton.js +4 -2
  129. package/dist/step-progress.js +4 -2
  130. package/dist/styles.css +1215 -130
  131. package/dist/switch.js +6 -4
  132. package/dist/tabs.js +5 -3
  133. package/dist/tag.js +311 -0
  134. package/dist/text-area.js +8 -6
  135. package/dist/text-field.js +8 -6
  136. package/dist/text.js +5 -3
  137. package/dist/toast.js +15 -11
  138. package/dist/tokens/generated/index.d.ts +1 -0
  139. package/dist/tokens/generated/motion.d.ts +153 -0
  140. package/dist/tokens.css +122 -2
  141. package/dist/tokens.js +156 -1
  142. package/dist/tooltip.js +6 -4
  143. package/package.json +67 -1
@@ -0,0 +1,412 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__ from "radix-ui";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/jsx-runtime";
5
+ /******/ var __webpack_modules__ = ({
6
+
7
+ /***/ 946
8
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
9
+
10
+
11
+ // EXPORTS
12
+ __nuri_require__.d(__webpack_exports__, {
13
+ A: () => (/* binding */ media_thumbnail)
14
+ });
15
+
16
+ // EXTERNAL MODULE: external {"root":"jsx-runtime","commonjs2":"react/jsx-runtime","commonjs":"react/jsx-runtime","amd":"react/jsx-runtime","module":"react/jsx-runtime"}
17
+ var jsx_runtime_ = __nuri_require__(612);
18
+ // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react","module":"react"}
19
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_ = __nuri_require__(1041);
20
+ // EXTERNAL MODULE: ./helpers/hooks/useTrack.ts
21
+ var useTrack = __nuri_require__(4560);
22
+ // EXTERNAL MODULE: ./helpers/utils/classNames.js
23
+ var classNames = __nuri_require__(3274);
24
+ // EXTERNAL MODULE: ./helpers/utils/getMergedProps.ts
25
+ var getMergedProps = __nuri_require__(7335);
26
+ // EXTERNAL MODULE: ./components/button/base-button.tsx
27
+ var base_button = __nuri_require__(8933);
28
+ // EXTERNAL MODULE: ./components/icon/icon.tsx
29
+ var icon = __nuri_require__(3547);
30
+ // EXTERNAL MODULE: ./components/loading/spinner/spinner.tsx + 2 modules
31
+ var spinner = __nuri_require__(6302);
32
+ // EXTERNAL MODULE: ./helpers/props/common-props.ts
33
+ var common_props = __nuri_require__(7298);
34
+ ;// ./components/media/media-props.ts
35
+
36
+ var sizes = ['s', 'm', 'l'];
37
+ var mediaTypes = (/* unused pure expression or super */ null && (['image', 'video']));
38
+ var mediaThumbnailProps = {
39
+ size: (0,common_props/* sizeProp */.lw)(sizes, 'm')
40
+ };
41
+ // EXTERNAL MODULE: ./components/media/media-viewer.tsx
42
+ var media_viewer = __nuri_require__(4268);
43
+ ;// ./components/media/media-thumbnail.tsx
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+ // 버튼 안에 버튼을 둘 수 없어 여는 버튼과 지우기 버튼을 형제로 두고 div 로 감싼다. ref 는 그 div 다.
55
+ var MediaThumbnail = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
56
+ var _a = (0,getMergedProps/* getMergedProps */.p)(props, mediaThumbnailProps),
57
+ src = _a.src,
58
+ _b = _a.type,
59
+ type = _b === void 0 ? 'image' : _b,
60
+ alt = _a.alt,
61
+ viewLabel = _a.viewLabel,
62
+ closeLabel = _a.closeLabel,
63
+ loading = _a.loading,
64
+ invalid = _a.invalid,
65
+ onRemove = _a.onRemove,
66
+ removeLabel = _a.removeLabel,
67
+ className = _a.className,
68
+ style = _a.style,
69
+ track = _a.track,
70
+ trackProps = _a.trackProps;
71
+ var emit = (0,useTrack/* useTrack */.n)('MediaThumbnail', {
72
+ track: track,
73
+ trackProps: trackProps
74
+ });
75
+ return (0,jsx_runtime_.jsxs)("div", {
76
+ ref: ref,
77
+ className: (0,classNames/* classNames */.x)('nuri-theme base-media', className, 'media-thumbnail'),
78
+ style: style,
79
+ children: [(0,jsx_runtime_.jsx)(media_viewer/* default */.A, {
80
+ src: src,
81
+ type: type,
82
+ alt: alt,
83
+ title: alt !== null && alt !== void 0 ? alt : viewLabel,
84
+ closeLabel: closeLabel,
85
+ onOpenChange: function onOpenChange(next) {
86
+ return next && emit('open');
87
+ },
88
+ trigger: (0,jsx_runtime_.jsxs)(base_button/* default */.A, {
89
+ className: 'media-thumbnail-open',
90
+ "aria-label": alt !== null && alt !== void 0 ? alt : viewLabel,
91
+ "aria-busy": loading || undefined,
92
+ disabled: loading || invalid,
93
+ "data-invalid": invalid || undefined,
94
+ children: [type === 'video' ? (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
95
+ children: [(0,jsx_runtime_.jsx)("video", {
96
+ className: 'media-thumbnail-media',
97
+ src: "".concat(src, "#t=0.001"),
98
+ preload: 'metadata',
99
+ muted: true,
100
+ playsInline: true
101
+ }), (0,jsx_runtime_.jsx)("span", {
102
+ className: 'media-thumbnail-play',
103
+ children: (0,jsx_runtime_.jsx)(icon/* default */.A, {
104
+ name: 'play',
105
+ weight: 'fill',
106
+ size: 's'
107
+ })
108
+ })]
109
+ }) : (0,jsx_runtime_.jsx)("img", {
110
+ className: 'media-thumbnail-media',
111
+ src: src,
112
+ alt: '',
113
+ loading: 'lazy'
114
+ }), loading && (0,jsx_runtime_.jsx)("span", {
115
+ className: 'media-thumbnail-loading',
116
+ children: (0,jsx_runtime_.jsx)(spinner/* default */.A, {
117
+ className: 'media-thumbnail-spinner'
118
+ })
119
+ })]
120
+ })
121
+ }), onRemove && (0,jsx_runtime_.jsx)(base_button/* default */.A, {
122
+ className: 'media-thumbnail-remove',
123
+ type: 'button',
124
+ "aria-label": removeLabel,
125
+ onClick: onRemove,
126
+ children: (0,jsx_runtime_.jsx)(icon/* default */.A, {
127
+ name: 'x',
128
+ size: 'xs'
129
+ })
130
+ })]
131
+ });
132
+ });
133
+ MediaThumbnail.displayName = 'MediaThumbnail';
134
+ /* harmony default export */ const media_thumbnail = (MediaThumbnail);
135
+
136
+ /***/ },
137
+
138
+ /***/ 4268
139
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
140
+
141
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
142
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
143
+ /* harmony export */ });
144
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __nuri_require__(612);
145
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __nuri_require__(1041);
146
+ /* harmony import */ var _helpers_hooks_useTrack__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(4560);
147
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(3274);
148
+ /* harmony import */ var _icon_icon__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(3547);
149
+ /* harmony import */ var _base_media__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(6459);
150
+
151
+
152
+
153
+
154
+
155
+
156
+ // ref 는 화면 전체를 덮는 Dialog.Content div 에 붙는다. Root 는 DOM 을 그리지 않는다.
157
+ // 닫히면 Content 가 빠지므로 영상도 함께 빠져 재생이 멈춘다.
158
+ var MediaViewer = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
159
+ var trigger = props.trigger,
160
+ open = props.open,
161
+ defaultOpen = props.defaultOpen,
162
+ _onOpenChange = props.onOpenChange,
163
+ src = props.src,
164
+ _a = props.type,
165
+ type = _a === void 0 ? 'image' : _a,
166
+ alt = props.alt,
167
+ title = props.title,
168
+ closeLabel = props.closeLabel,
169
+ className = props.className,
170
+ style = props.style,
171
+ track = props.track,
172
+ trackProps = props.trackProps;
173
+ var emit = (0,_helpers_hooks_useTrack__WEBPACK_IMPORTED_MODULE_2__/* .useTrack */ .n)('MediaViewer', {
174
+ track: track,
175
+ trackProps: trackProps
176
+ });
177
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
178
+ open: open,
179
+ defaultOpen: defaultOpen,
180
+ onOpenChange: function onOpenChange(next) {
181
+ emit(next ? 'open' : 'close');
182
+ _onOpenChange === null || _onOpenChange === void 0 ? void 0 : _onOpenChange(next);
183
+ },
184
+ children: [trigger && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Trigger, {
185
+ asChild: true,
186
+ children: trigger
187
+ }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Content, {
188
+ ref: ref,
189
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)(className, 'media-viewer'),
190
+ style: style,
191
+ "aria-describedby": undefined,
192
+ children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Title, {
193
+ children: title !== null && title !== void 0 ? title : alt
194
+ }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Close, {
195
+ className: 'media-viewer-close',
196
+ "aria-label": closeLabel,
197
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_icon_icon__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, {
198
+ name: 'x',
199
+ size: 'l'
200
+ })
201
+ }), type === 'video' ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("video", {
202
+ className: 'media-viewer-media',
203
+ src: src,
204
+ controls: true,
205
+ autoPlay: true,
206
+ playsInline: true
207
+ }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", {
208
+ className: 'media-viewer-media',
209
+ src: src,
210
+ alt: alt !== null && alt !== void 0 ? alt : ''
211
+ })]
212
+ })]
213
+ });
214
+ });
215
+ MediaViewer.displayName = 'MediaViewer';
216
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MediaViewer);
217
+
218
+ /***/ },
219
+
220
+ /***/ 0
221
+ (module, __unused_webpack_exports, __nuri_require__) {
222
+
223
+ var x = (y) => {
224
+ var x = {}; __nuri_require__.d(x, y); return x
225
+ }
226
+ var y = (x) => (() => (x))
227
+ module.exports = x({ ["Dialog"]: () => (__WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__.Dialog), ["VisuallyHidden"]: () => (__WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__.VisuallyHidden) });
228
+
229
+ /***/ },
230
+
231
+ /***/ 1041
232
+ (module, __unused_webpack_exports, __nuri_require__) {
233
+
234
+ var x = (y) => {
235
+ var x = {}; __nuri_require__.d(x, y); return x
236
+ }
237
+ var y = (x) => (() => (x))
238
+ module.exports = x({ ["Children"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.Children), ["cloneElement"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.cloneElement), ["createContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.createContext), ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef), ["isValidElement"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.isValidElement), ["useCallback"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useCallback), ["useContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useContext), ["useRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useRef) });
239
+
240
+ /***/ },
241
+
242
+ /***/ 612
243
+ (module, __unused_webpack_exports, __nuri_require__) {
244
+
245
+ var x = (y) => {
246
+ var x = {}; __nuri_require__.d(x, y); return x
247
+ }
248
+ var y = (x) => (() => (x))
249
+ 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) });
250
+
251
+ /***/ }
252
+
253
+ /******/ });
254
+ /************************************************************************/
255
+ /******/ // The module cache
256
+ /******/ var __webpack_module_cache__ = {};
257
+ /******/
258
+ /******/ // The require function
259
+ /******/ function __nuri_require__(moduleId) {
260
+ /******/ // Check if module is in cache
261
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
262
+ /******/ if (cachedModule !== undefined) {
263
+ /******/ return cachedModule.exports;
264
+ /******/ }
265
+ /******/ // Create a new module (and put it into the cache)
266
+ /******/ var module = __webpack_module_cache__[moduleId] = {
267
+ /******/ // no module.id needed
268
+ /******/ // no module.loaded needed
269
+ /******/ exports: {}
270
+ /******/ };
271
+ /******/
272
+ /******/ // Execute the module function
273
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
274
+ /******/
275
+ /******/ // Return the exports of the module
276
+ /******/ return module.exports;
277
+ /******/ }
278
+ /******/
279
+ /******/ // expose the modules object (__webpack_modules__)
280
+ /******/ __nuri_require__.m = __webpack_modules__;
281
+ /******/
282
+ /************************************************************************/
283
+ /******/ /* webpack/runtime/chunk loaded */
284
+ /******/ (() => {
285
+ /******/ var deferred = [];
286
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
287
+ /******/ if(chunkIds) {
288
+ /******/ priority = priority || 0;
289
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
290
+ /******/ deferred[i] = [chunkIds, fn, priority];
291
+ /******/ return;
292
+ /******/ }
293
+ /******/ var notFulfilled = Infinity;
294
+ /******/ for (var i = 0; i < deferred.length; i++) {
295
+ /******/ var [chunkIds, fn, priority] = deferred[i];
296
+ /******/ var fulfilled = true;
297
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
298
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
299
+ /******/ chunkIds.splice(j--, 1);
300
+ /******/ } else {
301
+ /******/ fulfilled = false;
302
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
303
+ /******/ }
304
+ /******/ }
305
+ /******/ if(fulfilled) {
306
+ /******/ deferred.splice(i--, 1)
307
+ /******/ var r = fn();
308
+ /******/ if (r !== undefined) result = r;
309
+ /******/ }
310
+ /******/ }
311
+ /******/ return result;
312
+ /******/ };
313
+ /******/ })();
314
+ /******/
315
+ /******/ /* webpack/runtime/define property getters */
316
+ /******/ (() => {
317
+ /******/ // define getter functions for harmony exports
318
+ /******/ __nuri_require__.d = (exports, definition) => {
319
+ /******/ for(var key in definition) {
320
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
321
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
322
+ /******/ }
323
+ /******/ }
324
+ /******/ };
325
+ /******/ })();
326
+ /******/
327
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
328
+ /******/ (() => {
329
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
330
+ /******/ })();
331
+ /******/
332
+ /******/ /* webpack/runtime/export webpack runtime */
333
+ /******/ export { __nuri_require__ };
334
+ /******/
335
+ /******/ /* webpack/runtime/import chunk loading */
336
+ /******/ (() => {
337
+ /******/ // no baseURI
338
+ /******/
339
+ /******/ // object to store loaded and loading chunks
340
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
341
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
342
+ /******/ var installedChunks = {
343
+ /******/ 7078: 0,
344
+ /******/ 7744: 0
345
+ /******/ };
346
+ /******/
347
+ /******/ var installChunk = (data) => {
348
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
349
+ /******/ // add "modules" to the modules object,
350
+ /******/ // then flag all "ids" as loaded and fire callback
351
+ /******/ var moduleId, chunkId, i = 0;
352
+ /******/ for(moduleId in __webpack_esm_modules__) {
353
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
354
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
355
+ /******/ }
356
+ /******/ }
357
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
358
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
359
+ /******/ chunkId = __webpack_esm_ids__[i];
360
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
361
+ /******/ installedChunks[chunkId][0]();
362
+ /******/ }
363
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
364
+ /******/ }
365
+ /******/ __nuri_require__.O();
366
+ /******/ }
367
+ /******/
368
+ /******/ // no chunk on demand loading
369
+ /******/
370
+ /******/ // no prefetching
371
+ /******/
372
+ /******/ // no preloaded
373
+ /******/
374
+ /******/ __nuri_require__.C = installChunk;
375
+ /******/
376
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
377
+ /******/ // no HMR
378
+ /******/
379
+ /******/ // no HMR manifest
380
+ /******/ })();
381
+ /******/
382
+ /************************************************************************/
383
+ /******/
384
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
385
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
386
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
387
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
388
+ /******/ import * as __webpack_chunk_3__ from "./chunk-4560.js";
389
+ /******/ __nuri_require__.C(__webpack_chunk_3__);
390
+ /******/ import * as __webpack_chunk_4__ from "./chunk-7298.js";
391
+ /******/ __nuri_require__.C(__webpack_chunk_4__);
392
+ /******/ import * as __webpack_chunk_5__ from "./chunk-2777.js";
393
+ /******/ __nuri_require__.C(__webpack_chunk_5__);
394
+ /******/ import * as __webpack_chunk_6__ from "./chunk-7653.js";
395
+ /******/ __nuri_require__.C(__webpack_chunk_6__);
396
+ /******/ import * as __webpack_chunk_7__ from "./chunk-3547.js";
397
+ /******/ __nuri_require__.C(__webpack_chunk_7__);
398
+ /******/ import * as __webpack_chunk_8__ from "./chunk-6302.js";
399
+ /******/ __nuri_require__.C(__webpack_chunk_8__);
400
+ /******/ import * as __webpack_chunk_9__ from "./chunk-8933.js";
401
+ /******/ __nuri_require__.C(__webpack_chunk_9__);
402
+ /******/ import * as __webpack_chunk_10__ from "./chunk-6459.js";
403
+ /******/ __nuri_require__.C(__webpack_chunk_10__);
404
+ /******/
405
+ /******/ // startup
406
+ /******/ // Load entry module and return exports
407
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
408
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,2777,7653,3547,6302,8933,6459], () => (__nuri_require__(946)))
409
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
410
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
411
+ /******/ export { __webpack_exports__default as default };
412
+ /******/
@@ -0,0 +1,274 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__ from "radix-ui";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/jsx-runtime";
5
+ /******/ var __webpack_modules__ = ({
6
+
7
+ /***/ 4268
8
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
9
+
10
+ /* harmony export */ __nuri_require__.d(__webpack_exports__, {
11
+ /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
12
+ /* harmony export */ });
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__(1041);
15
+ /* harmony import */ var _helpers_hooks_useTrack__WEBPACK_IMPORTED_MODULE_2__ = __nuri_require__(4560);
16
+ /* harmony import */ var _helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__ = __nuri_require__(3274);
17
+ /* harmony import */ var _icon_icon__WEBPACK_IMPORTED_MODULE_4__ = __nuri_require__(3547);
18
+ /* harmony import */ var _base_media__WEBPACK_IMPORTED_MODULE_5__ = __nuri_require__(6459);
19
+
20
+
21
+
22
+
23
+
24
+
25
+ // ref 는 화면 전체를 덮는 Dialog.Content div 에 붙는다. Root 는 DOM 을 그리지 않는다.
26
+ // 닫히면 Content 가 빠지므로 영상도 함께 빠져 재생이 멈춘다.
27
+ var MediaViewer = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(function (props, ref) {
28
+ var trigger = props.trigger,
29
+ open = props.open,
30
+ defaultOpen = props.defaultOpen,
31
+ _onOpenChange = props.onOpenChange,
32
+ src = props.src,
33
+ _a = props.type,
34
+ type = _a === void 0 ? 'image' : _a,
35
+ alt = props.alt,
36
+ title = props.title,
37
+ closeLabel = props.closeLabel,
38
+ className = props.className,
39
+ style = props.style,
40
+ track = props.track,
41
+ trackProps = props.trackProps;
42
+ var emit = (0,_helpers_hooks_useTrack__WEBPACK_IMPORTED_MODULE_2__/* .useTrack */ .n)('MediaViewer', {
43
+ track: track,
44
+ trackProps: trackProps
45
+ });
46
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A, {
47
+ open: open,
48
+ defaultOpen: defaultOpen,
49
+ onOpenChange: function onOpenChange(next) {
50
+ emit(next ? 'open' : 'close');
51
+ _onOpenChange === null || _onOpenChange === void 0 ? void 0 : _onOpenChange(next);
52
+ },
53
+ children: [trigger && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Trigger, {
54
+ asChild: true,
55
+ children: trigger
56
+ }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Content, {
57
+ ref: ref,
58
+ className: (0,_helpers_utils_classNames__WEBPACK_IMPORTED_MODULE_3__/* .classNames */ .x)(className, 'media-viewer'),
59
+ style: style,
60
+ "aria-describedby": undefined,
61
+ children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Title, {
62
+ children: title !== null && title !== void 0 ? title : alt
63
+ }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_base_media__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.Close, {
64
+ className: 'media-viewer-close',
65
+ "aria-label": closeLabel,
66
+ children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_icon_icon__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A, {
67
+ name: 'x',
68
+ size: 'l'
69
+ })
70
+ }), type === 'video' ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("video", {
71
+ className: 'media-viewer-media',
72
+ src: src,
73
+ controls: true,
74
+ autoPlay: true,
75
+ playsInline: true
76
+ }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", {
77
+ className: 'media-viewer-media',
78
+ src: src,
79
+ alt: alt !== null && alt !== void 0 ? alt : ''
80
+ })]
81
+ })]
82
+ });
83
+ });
84
+ MediaViewer.displayName = 'MediaViewer';
85
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MediaViewer);
86
+
87
+ /***/ },
88
+
89
+ /***/ 0
90
+ (module, __unused_webpack_exports, __nuri_require__) {
91
+
92
+ var x = (y) => {
93
+ var x = {}; __nuri_require__.d(x, y); return x
94
+ }
95
+ var y = (x) => (() => (x))
96
+ module.exports = x({ ["Dialog"]: () => (__WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__.Dialog), ["VisuallyHidden"]: () => (__WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__.VisuallyHidden) });
97
+
98
+ /***/ },
99
+
100
+ /***/ 1041
101
+ (module, __unused_webpack_exports, __nuri_require__) {
102
+
103
+ var x = (y) => {
104
+ var x = {}; __nuri_require__.d(x, y); return x
105
+ }
106
+ var y = (x) => (() => (x))
107
+ module.exports = x({ ["createContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.createContext), ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef), ["useCallback"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useCallback), ["useContext"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useContext), ["useRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.useRef) });
108
+
109
+ /***/ },
110
+
111
+ /***/ 612
112
+ (module, __unused_webpack_exports, __nuri_require__) {
113
+
114
+ var x = (y) => {
115
+ var x = {}; __nuri_require__.d(x, y); return x
116
+ }
117
+ var y = (x) => (() => (x))
118
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
119
+
120
+ /***/ }
121
+
122
+ /******/ });
123
+ /************************************************************************/
124
+ /******/ // The module cache
125
+ /******/ var __webpack_module_cache__ = {};
126
+ /******/
127
+ /******/ // The require function
128
+ /******/ function __nuri_require__(moduleId) {
129
+ /******/ // Check if module is in cache
130
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
131
+ /******/ if (cachedModule !== undefined) {
132
+ /******/ return cachedModule.exports;
133
+ /******/ }
134
+ /******/ // Create a new module (and put it into the cache)
135
+ /******/ var module = __webpack_module_cache__[moduleId] = {
136
+ /******/ // no module.id needed
137
+ /******/ // no module.loaded needed
138
+ /******/ exports: {}
139
+ /******/ };
140
+ /******/
141
+ /******/ // Execute the module function
142
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
143
+ /******/
144
+ /******/ // Return the exports of the module
145
+ /******/ return module.exports;
146
+ /******/ }
147
+ /******/
148
+ /******/ // expose the modules object (__webpack_modules__)
149
+ /******/ __nuri_require__.m = __webpack_modules__;
150
+ /******/
151
+ /************************************************************************/
152
+ /******/ /* webpack/runtime/chunk loaded */
153
+ /******/ (() => {
154
+ /******/ var deferred = [];
155
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
156
+ /******/ if(chunkIds) {
157
+ /******/ priority = priority || 0;
158
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
159
+ /******/ deferred[i] = [chunkIds, fn, priority];
160
+ /******/ return;
161
+ /******/ }
162
+ /******/ var notFulfilled = Infinity;
163
+ /******/ for (var i = 0; i < deferred.length; i++) {
164
+ /******/ var [chunkIds, fn, priority] = deferred[i];
165
+ /******/ var fulfilled = true;
166
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
167
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
168
+ /******/ chunkIds.splice(j--, 1);
169
+ /******/ } else {
170
+ /******/ fulfilled = false;
171
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
172
+ /******/ }
173
+ /******/ }
174
+ /******/ if(fulfilled) {
175
+ /******/ deferred.splice(i--, 1)
176
+ /******/ var r = fn();
177
+ /******/ if (r !== undefined) result = r;
178
+ /******/ }
179
+ /******/ }
180
+ /******/ return result;
181
+ /******/ };
182
+ /******/ })();
183
+ /******/
184
+ /******/ /* webpack/runtime/define property getters */
185
+ /******/ (() => {
186
+ /******/ // define getter functions for harmony exports
187
+ /******/ __nuri_require__.d = (exports, definition) => {
188
+ /******/ for(var key in definition) {
189
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
190
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
191
+ /******/ }
192
+ /******/ }
193
+ /******/ };
194
+ /******/ })();
195
+ /******/
196
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
197
+ /******/ (() => {
198
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
199
+ /******/ })();
200
+ /******/
201
+ /******/ /* webpack/runtime/export webpack runtime */
202
+ /******/ export { __nuri_require__ };
203
+ /******/
204
+ /******/ /* webpack/runtime/import chunk loading */
205
+ /******/ (() => {
206
+ /******/ // no baseURI
207
+ /******/
208
+ /******/ // object to store loaded and loading chunks
209
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
210
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
211
+ /******/ var installedChunks = {
212
+ /******/ 7744: 0
213
+ /******/ };
214
+ /******/
215
+ /******/ var installChunk = (data) => {
216
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
217
+ /******/ // add "modules" to the modules object,
218
+ /******/ // then flag all "ids" as loaded and fire callback
219
+ /******/ var moduleId, chunkId, i = 0;
220
+ /******/ for(moduleId in __webpack_esm_modules__) {
221
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
222
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
223
+ /******/ }
224
+ /******/ }
225
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
226
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
227
+ /******/ chunkId = __webpack_esm_ids__[i];
228
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
229
+ /******/ installedChunks[chunkId][0]();
230
+ /******/ }
231
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
232
+ /******/ }
233
+ /******/ __nuri_require__.O();
234
+ /******/ }
235
+ /******/
236
+ /******/ // no chunk on demand loading
237
+ /******/
238
+ /******/ // no prefetching
239
+ /******/
240
+ /******/ // no preloaded
241
+ /******/
242
+ /******/ __nuri_require__.C = installChunk;
243
+ /******/
244
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
245
+ /******/ // no HMR
246
+ /******/
247
+ /******/ // no HMR manifest
248
+ /******/ })();
249
+ /******/
250
+ /************************************************************************/
251
+ /******/
252
+ /******/ import * as __webpack_chunk_1__ from "./chunk-3274.js";
253
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
254
+ /******/ import * as __webpack_chunk_2__ from "./chunk-7335.js";
255
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
256
+ /******/ import * as __webpack_chunk_3__ from "./chunk-4560.js";
257
+ /******/ __nuri_require__.C(__webpack_chunk_3__);
258
+ /******/ import * as __webpack_chunk_4__ from "./chunk-7298.js";
259
+ /******/ __nuri_require__.C(__webpack_chunk_4__);
260
+ /******/ import * as __webpack_chunk_5__ from "./chunk-7653.js";
261
+ /******/ __nuri_require__.C(__webpack_chunk_5__);
262
+ /******/ import * as __webpack_chunk_6__ from "./chunk-3547.js";
263
+ /******/ __nuri_require__.C(__webpack_chunk_6__);
264
+ /******/ import * as __webpack_chunk_7__ from "./chunk-6459.js";
265
+ /******/ __nuri_require__.C(__webpack_chunk_7__);
266
+ /******/
267
+ /******/ // startup
268
+ /******/ // Load entry module and return exports
269
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
270
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [3274,7335,4560,7298,7653,3547,6459], () => (__nuri_require__(4268)))
271
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
272
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
273
+ /******/ export { __webpack_exports__default as default };
274
+ /******/