@elicecontents/content-ui 1.0.13 → 1.0.14-rc.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.
@@ -1,4 +1,7 @@
1
+ import React from 'react';
1
2
  import type { EliceTooltipProps } from '../tooltip';
2
- export type EliceAIFeedbackProps = Omit<EliceTooltipProps, 'children'>;
3
- declare const EliceAIFeedback: ({ title, placement, ...rest }: EliceAIFeedbackProps) => import("react/jsx-runtime").JSX.Element;
3
+ export type EliceAIFeedbackProps = Omit<EliceTooltipProps, 'children'> & {
4
+ CustomAvatar?: React.ReactNode;
5
+ };
6
+ declare const EliceAIFeedback: ({ title, placement, CustomAvatar, ...rest }: EliceAIFeedbackProps) => import("react/jsx-runtime").JSX.Element;
4
7
  export default EliceAIFeedback;
@@ -12,23 +12,24 @@ var EliceAIFeedback = function EliceAIFeedback(_a) {
12
12
  var title = _a.title,
13
13
  _a$placement = _a.placement,
14
14
  placement = _a$placement === void 0 ? 'left' : _a$placement,
15
- rest = tslib.__rest(_a, ["title", "placement"]);
15
+ CustomAvatar = _a.CustomAvatar,
16
+ rest = tslib.__rest(_a, ["title", "placement", "CustomAvatar"]);
16
17
  return jsxRuntime.jsx(Tooltip.default, Object.assign({
17
18
  title: title,
18
19
  placement: placement
19
20
  }, rest, {
20
21
  isControl: true,
21
22
  triggerAction: "click",
22
- children: jsxRuntime.jsx(material.Stack, {
23
+ children: jsxRuntime.jsxs(material.Stack, {
23
24
  position: "relative",
24
25
  width: "fit-content",
25
26
  height: "fit-content",
26
27
  maxWidth: "100%",
27
28
  maxHeight: "100%",
28
- children: jsxRuntime.jsx("img", {
29
+ children: [CustomAvatar !== null && CustomAvatar !== void 0 ? CustomAvatar : jsxRuntime.jsx("img", {
29
30
  src: AIAvatar.default,
30
- alt: ""
31
- })
31
+ alt: "AI Avatar"
32
+ }), " "]
32
33
  })
33
34
  }));
34
35
  };
@@ -1,4 +1,5 @@
1
- interface EliceImageProps {
1
+ import React from 'react';
2
+ interface AdaptiveImageProps {
2
3
  src: string;
3
4
  alt: string;
4
5
  fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
@@ -6,6 +7,8 @@ interface EliceImageProps {
6
7
  height?: number;
7
8
  loading?: boolean;
8
9
  sx?: object;
10
+ icon?: React.ReactNode;
11
+ responsiveBreakpoint?: number;
9
12
  }
10
- declare const EliceImage: ({ src, alt, fit, width, height, loading, sx, }: EliceImageProps) => import("react/jsx-runtime").JSX.Element;
11
- export default EliceImage;
13
+ declare const AdaptiveImage: ({ src, alt, fit, width, height, loading, sx, icon, responsiveBreakpoint, }: AdaptiveImageProps) => import("react/jsx-runtime").JSX.Element;
14
+ export default AdaptiveImage;
@@ -6,12 +6,15 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var React = require('react');
8
8
  var material = require('@mui/material');
9
+ var ZoomInIcon = require('@mui/icons-material/ZoomIn');
10
+ var useAIDTMediaQuery = require('../../hooks/useAIDTMediaQuery.js');
9
11
 
10
12
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
13
 
12
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
+ var ZoomInIcon__default = /*#__PURE__*/_interopDefaultCompat(ZoomInIcon);
13
16
 
14
- var EliceImage = function EliceImage(_ref) {
17
+ var AdaptiveImage = function AdaptiveImage(_ref) {
15
18
  var src = _ref.src,
16
19
  alt = _ref.alt,
17
20
  _ref$fit = _ref.fit,
@@ -22,43 +25,112 @@ var EliceImage = function EliceImage(_ref) {
22
25
  height = _ref$height === void 0 ? 300 : _ref$height,
23
26
  _ref$loading = _ref.loading,
24
27
  loading = _ref$loading === void 0 ? false : _ref$loading,
25
- sx = _ref.sx;
28
+ sx = _ref.sx,
29
+ _ref$icon = _ref.icon,
30
+ icon = _ref$icon === void 0 ? jsxRuntime.jsx(ZoomInIcon__default.default, {
31
+ fontSize: "large"
32
+ }) : _ref$icon,
33
+ _ref$responsiveBreakp = _ref.responsiveBreakpoint,
34
+ responsiveBreakpoint = _ref$responsiveBreakp === void 0 ? 600 : _ref$responsiveBreakp;
26
35
  var _React$useState = React__default.default.useState(false),
27
36
  _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
28
37
  imageLoaded = _React$useState2[0],
29
- setImageLoaded = _React$useState2[1]; // 이미지 로드 상태 관리
38
+ setImageLoaded = _React$useState2[1];
39
+ var _React$useState3 = React__default.default.useState(false),
40
+ _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
41
+ open = _React$useState4[0],
42
+ setOpen = _React$useState4[1];
30
43
  var handleImageLoad = function handleImageLoad() {
31
44
  return setImageLoaded(true);
32
- }; // 이미지 로드 완료 시 로드 상태 변경
33
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
34
- children: jsxRuntime.jsxs(material.Box, {
35
- sx: Object.assign({
36
- position: 'relative',
37
- width: '100%',
38
- maxWidth: width,
39
- minWidth: '50%',
40
- height: height
41
- }, sx),
42
- children: [jsxRuntime.jsx("img", {
43
- src: src,
44
- alt: alt,
45
- style: {
46
- objectFit: fit,
45
+ };
46
+ var _useAIDTMediaQuery = useAIDTMediaQuery.default(),
47
+ isTablet = _useAIDTMediaQuery.isTablet;
48
+ var isSmall = material.useMediaQuery("(max-width:".concat(responsiveBreakpoint, "px)")) || material.useMediaQuery("(max-height:".concat(responsiveBreakpoint, "px)")) || isTablet;
49
+ var handleOpen = function handleOpen() {
50
+ return setOpen(true);
51
+ };
52
+ var handleClose = function handleClose() {
53
+ return setOpen(false);
54
+ };
55
+ if (isSmall) {
56
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
57
+ children: [jsxRuntime.jsx(material.Box, {
58
+ sx: Object.assign({
59
+ display: 'flex',
60
+ justifyContent: 'center',
61
+ alignItems: 'center',
47
62
  width: '100%',
48
- height: '100%'
49
- },
50
- onLoad: handleImageLoad
51
- }), loading && !imageLoaded && jsxRuntime.jsx(material.CircularProgress, {
52
- size: 24,
53
- sx: {
54
- position: 'absolute',
55
- top: '50%',
56
- left: '50%',
57
- transform: 'translate(-50%, -50%)'
58
- }
63
+ height: 'auto',
64
+ minHeight: 48
65
+ }, sx),
66
+ children: jsxRuntime.jsx(material.IconButton, {
67
+ onClick: handleOpen,
68
+ children: icon
69
+ })
70
+ }), jsxRuntime.jsx(material.Dialog, {
71
+ open: open,
72
+ onClose: handleClose,
73
+ maxWidth: "md",
74
+ fullWidth: true,
75
+ children: jsxRuntime.jsxs(material.DialogContent, {
76
+ sx: {
77
+ display: 'flex',
78
+ justifyContent: 'center',
79
+ alignItems: 'center',
80
+ p: 2,
81
+ position: 'relative',
82
+ minHeight: 200
83
+ },
84
+ children: [!imageLoaded && jsxRuntime.jsx(material.CircularProgress, {
85
+ size: 24,
86
+ sx: {
87
+ position: 'absolute',
88
+ top: '50%',
89
+ left: '50%',
90
+ transform: 'translate(-50%, -50%)'
91
+ }
92
+ }), jsxRuntime.jsx("img", {
93
+ src: src,
94
+ alt: alt,
95
+ style: {
96
+ maxWidth: '100%',
97
+ maxHeight: '80vh',
98
+ objectFit: fit,
99
+ display: imageLoaded ? 'block' : 'none'
100
+ },
101
+ onLoad: handleImageLoad
102
+ })]
103
+ })
59
104
  })]
60
- })
105
+ });
106
+ }
107
+ return jsxRuntime.jsxs(material.Box, {
108
+ sx: Object.assign({
109
+ position: 'relative',
110
+ width: '100%',
111
+ maxWidth: width,
112
+ minWidth: '50%',
113
+ height: height
114
+ }, sx),
115
+ children: [jsxRuntime.jsx("img", {
116
+ src: src,
117
+ alt: alt,
118
+ style: {
119
+ objectFit: fit,
120
+ width: '100%',
121
+ height: '100%'
122
+ },
123
+ onLoad: handleImageLoad
124
+ }), loading && !imageLoaded && jsxRuntime.jsx(material.CircularProgress, {
125
+ size: 24,
126
+ sx: {
127
+ position: 'absolute',
128
+ top: '50%',
129
+ left: '50%',
130
+ transform: 'translate(-50%, -50%)'
131
+ }
132
+ })]
61
133
  });
62
134
  };
63
135
 
64
- exports.default = EliceImage;
136
+ exports.default = AdaptiveImage;
@@ -20,13 +20,14 @@ export interface EliceChatProps {
20
20
  isDisabled?: boolean;
21
21
  backgroundImage?: string;
22
22
  CustomAssistantAvatar?: React.ReactNode;
23
+ CustomUserAvatar?: React.ReactNode;
23
24
  type?: string;
24
25
  recorderType?: RecorderType;
25
26
  isOnlyRecord: boolean;
26
27
  }
27
28
  declare const EliceChat: {
28
29
  (props: React.ComponentProps<typeof EliceChatContainer>): import("react/jsx-runtime").JSX.Element;
29
- MessageList({ messages, isLoadingMessage, scrollRef, height, CustomAssistantAvatar, }: {
30
+ MessageList({ messages, isLoadingMessage, scrollRef, height, CustomAssistantAvatar, CustomUserAvatar, }: {
30
31
  messages: {
31
32
  role: "system" | "user" | "assistant";
32
33
  content: string;
@@ -35,6 +36,7 @@ declare const EliceChat: {
35
36
  scrollRef: React.RefObject<HTMLDivElement>;
36
37
  height?: string | undefined;
37
38
  CustomAssistantAvatar: React.ReactNode;
39
+ CustomUserAvatar: React.ReactNode;
38
40
  }): import("react/jsx-runtime").JSX.Element;
39
41
  InputArea({ placeHolder, value, isDisabled, onChange, onSend, onReset, onRecord, onTranscribingChange, isOnlyRecord, }: {
40
42
  placeHolder: string;
@@ -51,5 +53,5 @@ declare const EliceChat: {
51
53
  isOnlyRecord: boolean;
52
54
  }): import("react/jsx-runtime").JSX.Element;
53
55
  };
54
- declare const EliceChatContainer: ({ placeholder, messages, content, onReset, onSend, onChange, onRecord, onTranscribingChange, setAudioFile, onTransform, isLoadingMessage, CustomAssistantAvatar, isDisabled, backgroundImage, height, recorderType, isOnlyRecord }: EliceChatProps) => import("react/jsx-runtime").JSX.Element;
56
+ declare const EliceChatContainer: ({ placeholder, messages, content, onReset, onSend, onChange, onRecord, onTranscribingChange, setAudioFile, onTransform, isLoadingMessage, CustomAssistantAvatar, CustomUserAvatar, isDisabled, backgroundImage, height, recorderType, isOnlyRecord }: EliceChatProps) => import("react/jsx-runtime").JSX.Element;
55
57
  export default EliceChat;
@@ -6,6 +6,7 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
6
6
  var _styled = require('@emotion/styled/base');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
+ var useAIDTMediaQuery = require('../../hooks/useAIDTMediaQuery.js');
9
10
  var material = require('@mui/material');
10
11
  require('tslib');
11
12
  var Micro = require('../../icons/Micro.js');
@@ -46,6 +47,7 @@ var EliceChatContainer = function EliceChatContainer(_ref) {
46
47
  onTransform = _ref.onTransform,
47
48
  isLoadingMessage = _ref.isLoadingMessage,
48
49
  CustomAssistantAvatar = _ref.CustomAssistantAvatar,
50
+ CustomUserAvatar = _ref.CustomUserAvatar,
49
51
  _ref$isDisabled = _ref.isDisabled,
50
52
  isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
51
53
  backgroundImage = _ref.backgroundImage,
@@ -108,7 +110,8 @@ var EliceChatContainer = function EliceChatContainer(_ref) {
108
110
  messages: messages,
109
111
  isLoadingMessage: isLoadingMessage,
110
112
  scrollRef: scrollRef,
111
- CustomAssistantAvatar: CustomAssistantAvatar
113
+ CustomAssistantAvatar: CustomAssistantAvatar,
114
+ CustomUserAvatar: CustomUserAvatar
112
115
  }), jsxRuntime.jsx(EliceChat.InputArea, {
113
116
  placeHolder: placeholder,
114
117
  value: inputValue,
@@ -135,7 +138,8 @@ EliceChat.MessageList = function (_ref2) {
135
138
  scrollRef = _ref2.scrollRef,
136
139
  _ref2$height = _ref2.height,
137
140
  height = _ref2$height === void 0 ? "100%" : _ref2$height,
138
- CustomAssistantAvatar = _ref2.CustomAssistantAvatar;
141
+ CustomAssistantAvatar = _ref2.CustomAssistantAvatar,
142
+ CustomUserAvatar = _ref2.CustomUserAvatar;
139
143
  var theme = material.useTheme();
140
144
  return jsxRuntime.jsx(StyledScrollBarStack, {
141
145
  theme: theme,
@@ -159,7 +163,7 @@ EliceChat.MessageList = function (_ref2) {
159
163
  alignItems: "center",
160
164
  children: [jsxRuntime.jsx(material.Stack, {
161
165
  flexShrink: 0,
162
- children: isAssistant ? CustomAssistantAvatar !== null && CustomAssistantAvatar !== void 0 ? CustomAssistantAvatar : jsxRuntime.jsx(AssistantAvatar.default, {}) : jsxRuntime.jsx(UserAvatar.default, {})
166
+ children: isAssistant ? CustomAssistantAvatar !== null && CustomAssistantAvatar !== void 0 ? CustomAssistantAvatar : jsxRuntime.jsx(AssistantAvatar.default, {}) : CustomUserAvatar !== null && CustomUserAvatar !== void 0 ? CustomUserAvatar : jsxRuntime.jsx(UserAvatar.default, {})
163
167
  }), jsxRuntime.jsx(StyledMessage, {
164
168
  isAssistant: isAssistant,
165
169
  theme: theme,
@@ -186,9 +190,11 @@ EliceChat.InputArea = function (_ref3) {
186
190
  var _useRecorder2 = RecorderContext.useRecorder(),
187
191
  recorderState = _useRecorder2.state,
188
192
  setIsRecording = _useRecorder2.setIsRecording;
193
+ var _useAIDTMediaQuery = useAIDTMediaQuery.default(),
194
+ isTablet = _useAIDTMediaQuery.isTablet,
195
+ isMiniTablet = _useAIDTMediaQuery.isMiniTablet;
189
196
  return jsxRuntime.jsx(material.Stack, {
190
- direction: "row",
191
- minHeight: "3.875rem",
197
+ direction: isMiniTablet ? "column" : "row",
192
198
  display: recorderState.isRecording ? "none" : "",
193
199
  bgcolor: theme.palette.grey[50],
194
200
  borderRadius: "1.125rem",
@@ -209,6 +215,7 @@ EliceChat.InputArea = function (_ref3) {
209
215
  flexGrow: 1,
210
216
  maxHeight: "14.625rem",
211
217
  children: jsxRuntime.jsx(StyledInput, {
218
+ isTablet: isTablet,
212
219
  disabled: isDisabled,
213
220
  value: value,
214
221
  onChange: onChange,
@@ -216,26 +223,39 @@ EliceChat.InputArea = function (_ref3) {
216
223
  theme: theme,
217
224
  multiline: true
218
225
  })
219
- }), onRecord && jsxRuntime.jsx(IconButton.default, {
220
- onClick: function onClick() {
221
- onRecord();
222
- setIsRecording(true);
223
- onTranscribingChange === null || onTranscribingChange === void 0 ? void 0 : onTranscribingChange(true);
224
- },
225
- children: jsxRuntime.jsx(Micro.default, {
226
- color: theme.palette.secondary.main
227
- })
228
- }), jsxRuntime.jsx(IconButton.default, {
229
- onClick: onReset,
230
- children: jsxRuntime.jsx(Reset.default, {
231
- color: theme.palette.secondary.main
232
- })
233
- }), jsxRuntime.jsx(IconButton.default, {
234
- onClick: onSend,
235
- disabled: !value.trim(),
236
- children: jsxRuntime.jsx(SendArrow.default, {
237
- color: theme.palette.secondary.main
238
- })
226
+ }), jsxRuntime.jsxs(material.Stack, {
227
+ direction: "row",
228
+ display: "flex",
229
+ justifyContent: isMiniTablet ? 'flex-end' : 'center',
230
+ gap: '0.625rem',
231
+ height: isTablet ? '3rem' : '3.5rem',
232
+ children: [onRecord && jsxRuntime.jsx(IconButton.default, {
233
+ width: isTablet ? '3rem' : '3.5rem',
234
+ height: isTablet ? '3rem' : '3.5rem',
235
+ onClick: function onClick() {
236
+ onRecord();
237
+ setIsRecording(true);
238
+ onTranscribingChange === null || onTranscribingChange === void 0 ? void 0 : onTranscribingChange(true);
239
+ },
240
+ children: jsxRuntime.jsx(Micro.default, {
241
+ color: theme.palette.secondary.main
242
+ })
243
+ }), jsxRuntime.jsx(IconButton.default, {
244
+ onClick: onReset,
245
+ width: isTablet ? '3rem' : '3.5rem',
246
+ height: isTablet ? '3rem' : '3.5rem',
247
+ children: jsxRuntime.jsx(Reset.default, {
248
+ color: theme.palette.secondary.main
249
+ })
250
+ }), jsxRuntime.jsx(IconButton.default, {
251
+ onClick: onSend,
252
+ width: isTablet ? '3rem' : '3.5rem',
253
+ height: isTablet ? '3rem' : '3.5rem',
254
+ disabled: !value.trim(),
255
+ children: jsxRuntime.jsx(SendArrow.default, {
256
+ color: theme.palette.secondary.main
257
+ })
258
+ })]
239
259
  })]
240
260
  })
241
261
  });
@@ -245,7 +265,7 @@ var StyledChatContainer = /*#__PURE__*/_styled__default.default(material.Stack,
245
265
  })("position:relative;max-height:100%;height:", function (_ref4) {
246
266
  var height = _ref4.height;
247
267
  return height !== null && height !== void 0 ? height : 'fit-content';
248
- }, ";min-width:30rem;max-width:100%;border:2px solid ", function (_ref5) {
268
+ }, ";max-width:100%;border:2px solid ", function (_ref5) {
249
269
  var theme = _ref5.theme;
250
270
  return theme.palette.grey[300];
251
271
  }, ";border-radius:1.5rem;padding:1.5rem;gap:1.75rem;", function (_ref6) {
@@ -266,34 +286,43 @@ var StyledScrollBarStack = /*#__PURE__*/_styled__default.default(material.Stack,
266
286
  }, ";}");
267
287
  var StyledInput = /*#__PURE__*/_styled__default.default(material.Input, {
268
288
  target: "e1i7zt6"
269
- })("width:100%;height:100%;border:none!important;background-color:transparent;font-size:1.375rem;font-weight:700;outline:none;resize:none;color:", function (_ref10) {
270
- var theme = _ref10.theme;
289
+ })("width:100%;height:100%;border:none!important;background-color:transparent;font-size:", function (_ref10) {
290
+ var isTablet = _ref10.isTablet;
291
+ return isTablet ? '0.5rem' : '1.2rem';
292
+ }, ";font-weight:", function (_ref11) {
293
+ var isTablet = _ref11.isTablet;
294
+ return isTablet ? 500 : 700;
295
+ }, ";outline:none;resize:none;max-height:67px;color:", function (_ref12) {
296
+ var theme = _ref12.theme;
271
297
  return theme.palette.secondary.main;
272
- }, ";::placeholder{color:", function (_ref11) {
273
- var theme = _ref11.theme;
298
+ }, ";::placeholder{color:", function (_ref13) {
299
+ var theme = _ref13.theme;
274
300
  return theme.palette.grey[300];
275
- }, ";}::before{border:none;}:hover{::before{border:none;}}::after{border-bottom:none!important;}::-webkit-scrollbar{width:0.25rem;}::-webkit-scrollbar-track{background:", function (_ref12) {
276
- var theme = _ref12.theme;
301
+ }, ";}::before{border:none;}:hover{::before{border:none;}}::after{border-bottom:none!important;}::-webkit-scrollbar{width:0.25rem;}::-webkit-scrollbar-track{background:", function (_ref14) {
302
+ var theme = _ref14.theme;
277
303
  return theme.palette.grey[200];
278
- }, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb{background:", function (_ref13) {
279
- var theme = _ref13.theme;
304
+ }, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb{background:", function (_ref15) {
305
+ var theme = _ref15.theme;
280
306
  return theme.palette.primary.main;
281
- }, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb:hover{background:", function (_ref14) {
282
- var theme = _ref14.theme;
307
+ }, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb:hover{background:", function (_ref16) {
308
+ var theme = _ref16.theme;
283
309
  return theme.palette.secondary.main;
284
310
  }, ";}");
285
311
  var StyledMessage = /*#__PURE__*/_styled__default.default(material.Typography, {
286
312
  target: "e1i7zt5"
287
- })("color:", function (_ref15) {
288
- var isAssistant = _ref15.isAssistant,
289
- theme = _ref15.theme;
290
- return isAssistant ? theme.palette.text.secondary : theme.palette.secondary.main;
291
- }, ";font-size:1rem;font-weight:", function (_ref16) {
292
- var isAssistant = _ref16.isAssistant;
293
- return isAssistant ? 500 : 700;
294
- }, ";background-color:", function (_ref17) {
313
+ })("color:", function (_ref17) {
295
314
  var isAssistant = _ref17.isAssistant,
296
315
  theme = _ref17.theme;
316
+ return isAssistant ? theme.palette.text.secondary : theme.palette.secondary.main;
317
+ }, ";font-size:", function (_ref18) {
318
+ var theme = _ref18.theme;
319
+ return theme.typography.body1.fontSize;
320
+ }, ";font-weight:", function (_ref19) {
321
+ var isAssistant = _ref19.isAssistant;
322
+ return isAssistant ? 500 : 700;
323
+ }, ";background-color:", function (_ref20) {
324
+ var isAssistant = _ref20.isAssistant,
325
+ theme = _ref20.theme;
297
326
  return isAssistant ? theme.palette.grey[50] : theme.palette.primary.light;
298
327
  }, ";border-radius:1rem;white-space:pre-wrap;padding:0.75rem;margin-bottom:16px;");
299
328
  var EmptyMessageContainer = /*#__PURE__*/_styled__default.default(material.Stack, {
@@ -309,11 +338,11 @@ var EmptyMessageContainer = /*#__PURE__*/_styled__default.default(material.Stack
309
338
  var AIAvatarImage = /*#__PURE__*/_styled__default.default("img", {
310
339
  target: "e1i7zt3"
311
340
  })("production" === "production" ? {
312
- name: "1l4h0oe",
313
- styles: "width:120px;height:120px;flex-shrink:0"
341
+ name: "95o42w",
342
+ styles: "width:10rem;height:10rem;aspect-ratio:1/1;flex-shrink:0"
314
343
  } : {
315
- name: "1l4h0oe",
316
- styles: "width:120px;height:120px;flex-shrink:0",
344
+ name: "95o42w",
345
+ styles: "width:10rem;height:10rem;aspect-ratio:1/1;flex-shrink:0",
317
346
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
318
347
  });
319
348
  var RecordingOverlay = /*#__PURE__*/_styled__default.default(material.Box, {
@@ -338,17 +367,17 @@ var OverlayContent = /*#__PURE__*/_styled__default.default(material.Box, {
338
367
  });
339
368
  var OnlyRecordButton = /*#__PURE__*/_styled__default.default(material.Stack, {
340
369
  target: "e1i7zt0"
341
- })("color:", function (_ref18) {
342
- var theme = _ref18.theme;
370
+ })("color:", function (_ref21) {
371
+ var theme = _ref21.theme;
343
372
  return theme.palette.common.white;
344
- }, ";background:", function (_ref19) {
345
- var theme = _ref19.theme;
373
+ }, ";background:", function (_ref22) {
374
+ var theme = _ref22.theme;
346
375
  return theme.palette.common.red[900];
347
- }, ";&:hover{background:", function (_ref20) {
348
- var theme = _ref20.theme;
376
+ }, ";width:100%;flex-direction:row;display:flex;justify-content:center;align-items:center;border-radius:16px;height:55px;gap:8px;&:hover{background:", function (_ref23) {
377
+ var theme = _ref23.theme;
349
378
  return theme.palette.common.red[600];
350
- }, ";color:", function (_ref21) {
351
- var theme = _ref21.theme;
379
+ }, ";color:", function (_ref24) {
380
+ var theme = _ref24.theme;
352
381
  return theme.palette.common.red[900];
353
382
  }, ";}");
354
383
 
@@ -3,8 +3,8 @@ import type { ReactNode } from 'react';
3
3
  export interface EliceIconButtonProps extends IconButtonProps {
4
4
  children: ReactNode;
5
5
  backgroundColor?: string;
6
- width?: number;
7
- height?: number;
6
+ width?: number | string;
7
+ height?: number | string;
8
8
  borderRadius?: number;
9
9
  }
10
10
  declare const EliceIconButton: ({ children, disabled, backgroundColor, width, height, borderRadius, ...rest }: EliceIconButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,10 +9,11 @@ export interface EliceLayoutProps {
9
9
  allowPrev?: boolean;
10
10
  allowNext?: boolean;
11
11
  onlyPage?: boolean;
12
+ enableScrollTracking?: boolean;
12
13
  sx?: SxProps<Theme>;
13
14
  }
14
15
  type Alignment = "left" | "center" | "right";
15
- declare const EliceLayout: (({ children, onPrev, onNext, allowPrev, allowNext, backgroundImage, backgroundColor, onlyPage, sx }: EliceLayoutProps) => import("react/jsx-runtime").JSX.Element) & {
16
+ declare const EliceLayout: (({ children, onPrev, onNext, allowPrev, allowNext, backgroundImage, backgroundColor, onlyPage, enableScrollTracking, sx }: EliceLayoutProps) => import("react/jsx-runtime").JSX.Element) & {
16
17
  HeaderContainer: ({ children, sx }: {
17
18
  children: React.ReactNode;
18
19
  sx?: SxProps<Theme> | undefined;