@elicecontents/content-ui 0.0.0 → 1.0.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 (122) hide show
  1. package/README.ko.md +117 -0
  2. package/README.md +117 -0
  3. package/cjs/_virtual/_rollupPluginBabelHelpers.js +8 -0
  4. package/cjs/components/button/Button.js +7 -3
  5. package/cjs/components/chat/Chat.js +4 -3
  6. package/cjs/components/dotted-pagination/DottedPagination.js +2 -1
  7. package/cjs/components/icon-button/IconButton.d.ts +5 -1
  8. package/cjs/components/icon-button/IconButton.js +13 -5
  9. package/cjs/components/index.d.ts +1 -0
  10. package/cjs/components/index.js +2 -0
  11. package/cjs/components/layout/Footer/LayoutFooterPaging.d.ts +7 -0
  12. package/cjs/components/layout/Footer/LayoutFooterPaging.js +46 -0
  13. package/cjs/components/layout/Footer/LayoutFooterSubmit.d.ts +3 -0
  14. package/cjs/components/layout/Footer/LayoutFooterSubmit.js +22 -0
  15. package/cjs/components/layout/Footer/index.d.ts +3 -0
  16. package/cjs/components/layout/Footer/index.js +9 -0
  17. package/cjs/components/layout/Header/LayoutHeaderSubTitle.d.ts +6 -0
  18. package/cjs/components/layout/Header/LayoutHeaderSubTitle.js +63 -0
  19. package/cjs/components/layout/Header/LayoutHeaderTitle.d.ts +7 -0
  20. package/cjs/components/layout/Header/LayoutHeaderTitle.js +43 -0
  21. package/cjs/components/layout/Header/index.d.ts +4 -0
  22. package/cjs/components/layout/Header/index.js +9 -0
  23. package/cjs/components/layout/Layout.d.ts +27 -12
  24. package/cjs/components/layout/Layout.js +97 -176
  25. package/cjs/components/layout/layout-pagination/LayoutPagination.d.ts +8 -0
  26. package/cjs/components/layout/layout-pagination/LayoutPagination.js +44 -0
  27. package/cjs/components/layout/layout-pagination/index.d.ts +2 -0
  28. package/cjs/components/layout/layout-pagination/index.js +7 -0
  29. package/cjs/components/pagination-button/PaginationButton.d.ts +9 -0
  30. package/cjs/components/pagination-button/PaginationButton.js +40 -0
  31. package/cjs/components/pagination-button/index.d.ts +1 -0
  32. package/cjs/components/pagination-button/index.js +7 -0
  33. package/cjs/components/selection/Selection.d.ts +2 -1
  34. package/cjs/components/selection/Selection.js +19 -14
  35. package/cjs/components/subtitle-button/SubtitleButton.d.ts +7 -0
  36. package/cjs/components/subtitle-button/SubtitleButton.js +45 -0
  37. package/cjs/components/subtitle-button/index.d.ts +1 -0
  38. package/cjs/components/subtitle-button/index.js +7 -0
  39. package/cjs/components/tokenColorTemporary.js +0 -4
  40. package/cjs/components/tooltip/Tooltip.js +1 -1
  41. package/cjs/hooks/index.d.ts +1 -0
  42. package/cjs/hooks/index.js +4 -0
  43. package/cjs/hooks/useAIDTMediaQuery.d.ts +8 -0
  44. package/cjs/hooks/useAIDTMediaQuery.js +24 -0
  45. package/cjs/icons/ArrowLeft.js +4 -4
  46. package/cjs/icons/ArrowRight.js +6 -13
  47. package/cjs/icons/MoreColumn.d.ts +3 -0
  48. package/cjs/icons/MoreColumn.js +28 -0
  49. package/cjs/icons/QuestionBubble.d.ts +3 -0
  50. package/cjs/icons/QuestionBubble.js +28 -0
  51. package/cjs/icons/SearchIcon.d.ts +3 -0
  52. package/cjs/icons/SearchIcon.js +28 -0
  53. package/cjs/icons/_types.d.ts +4 -0
  54. package/cjs/icons/index.d.ts +3 -0
  55. package/cjs/icons/index.js +6 -0
  56. package/cjs/index.d.ts +2 -0
  57. package/cjs/index.js +29 -0
  58. package/cjs/theme/createAIDTTheme.d.ts +17 -0
  59. package/cjs/tokens/breakpoints/breakpoints.d.ts +1 -1
  60. package/cjs/tokens/breakpoints/breakpoints.js +1 -1
  61. package/cjs/typography/typography.d.ts +24 -112
  62. package/cjs/typography/typography.js +54 -135
  63. package/es/_virtual/_rollupPluginBabelHelpers.js +8 -1
  64. package/es/components/button/Button.js +7 -3
  65. package/es/components/icon-button/IconButton.d.ts +5 -1
  66. package/es/components/icon-button/IconButton.js +13 -5
  67. package/es/components/index.d.ts +1 -0
  68. package/es/components/index.js +2 -1
  69. package/es/components/layout/Footer/LayoutFooterPaging.d.ts +7 -0
  70. package/es/components/layout/Footer/LayoutFooterPaging.js +38 -0
  71. package/es/components/layout/Footer/LayoutFooterSubmit.d.ts +3 -0
  72. package/es/components/layout/Footer/LayoutFooterSubmit.js +18 -0
  73. package/es/components/layout/Footer/index.d.ts +3 -0
  74. package/es/components/layout/Footer/index.js +2 -0
  75. package/es/components/layout/Header/LayoutHeaderSubTitle.d.ts +6 -0
  76. package/es/components/layout/Header/LayoutHeaderSubTitle.js +54 -0
  77. package/es/components/layout/Header/LayoutHeaderTitle.d.ts +7 -0
  78. package/es/components/layout/Header/LayoutHeaderTitle.js +35 -0
  79. package/es/components/layout/Header/index.d.ts +4 -0
  80. package/es/components/layout/Header/index.js +2 -0
  81. package/es/components/layout/Layout.d.ts +27 -12
  82. package/es/components/layout/Layout.js +99 -177
  83. package/es/components/layout/layout-pagination/LayoutPagination.d.ts +8 -0
  84. package/es/components/layout/layout-pagination/LayoutPagination.js +36 -0
  85. package/es/components/layout/layout-pagination/index.d.ts +2 -0
  86. package/es/components/layout/layout-pagination/index.js +1 -0
  87. package/es/components/pagination-button/PaginationButton.d.ts +9 -0
  88. package/es/components/pagination-button/PaginationButton.js +31 -0
  89. package/es/components/pagination-button/index.d.ts +1 -0
  90. package/es/components/pagination-button/index.js +1 -0
  91. package/es/components/selection/Selection.d.ts +2 -1
  92. package/es/components/selection/Selection.js +16 -12
  93. package/es/components/subtitle-button/SubtitleButton.d.ts +7 -0
  94. package/es/components/subtitle-button/SubtitleButton.js +41 -0
  95. package/es/components/subtitle-button/index.d.ts +1 -0
  96. package/es/components/subtitle-button/index.js +1 -0
  97. package/es/components/tokenColorTemporary.js +1 -3
  98. package/es/hooks/index.d.ts +1 -0
  99. package/es/hooks/index.js +1 -0
  100. package/es/hooks/useAIDTMediaQuery.d.ts +8 -0
  101. package/es/hooks/useAIDTMediaQuery.js +20 -0
  102. package/es/icons/ArrowLeft.js +4 -4
  103. package/es/icons/ArrowRight.js +6 -13
  104. package/es/icons/MoreColumn.d.ts +3 -0
  105. package/es/icons/MoreColumn.js +24 -0
  106. package/es/icons/QuestionBubble.d.ts +3 -0
  107. package/es/icons/QuestionBubble.js +24 -0
  108. package/es/icons/SearchIcon.d.ts +3 -0
  109. package/es/icons/SearchIcon.js +24 -0
  110. package/es/icons/_types.d.ts +4 -0
  111. package/es/icons/index.d.ts +3 -0
  112. package/es/icons/index.js +3 -0
  113. package/es/index.d.ts +2 -0
  114. package/es/index.js +14 -0
  115. package/es/theme/createAIDTTheme.d.ts +17 -0
  116. package/es/tokens/breakpoints/breakpoints.d.ts +1 -1
  117. package/es/tokens/breakpoints/breakpoints.js +1 -1
  118. package/es/typography/typography.d.ts +24 -112
  119. package/es/typography/typography.js +54 -135
  120. package/package.json +2 -1
  121. package/cjs/components/layout/bg_pattern.png.js +0 -7
  122. package/es/components/layout/bg_pattern.png.js +0 -3
@@ -1,188 +1,110 @@
1
1
  import _styled from '@emotion/styled/base';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { useIsomorphicLayoutEffect } from 'react-use';
4
- import LoopIcon from '@mui/icons-material/Loop';
5
- import { Stack, Typography, useTheme } from '@mui/material';
6
- import { secondaryColor, gray200Color, main300Color, main400Color, KeyElementaryBg, KeyMiddleBg, KeyHighBg } from '../tokenColorTemporary.js';
7
- import img from './bg_pattern.png.js';
8
- import ArrowLeft from '../../icons/ArrowLeft.js';
9
- import ArrowRight from '../../icons/ArrowRight.js';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { useTheme, Stack } from '@mui/material';
4
+ import useAIDTMediaQuery from '../../hooks/useAIDTMediaQuery.js';
5
+ import LayoutPagination from './layout-pagination/LayoutPagination.js';
6
+ import LayoutHeaderSubTitle from './Header/LayoutHeaderSubTitle.js';
7
+ import LayoutHeaderTitle from './Header/LayoutHeaderTitle.js';
8
+ import LayoutFooterPaging from './Footer/LayoutFooterPaging.js';
9
+ import LayoutFooterSubmit from './Footer/LayoutFooterSubmit.js';
10
10
 
11
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
12
- var StyledContainer = /*#__PURE__*/_styled(Stack, {
13
- target: "efnp08i6"
14
- })("production" === "production" ? {
15
- name: "14skuem",
16
- styles: "display:flex;flex-direction:column;height:100%;width:100%;min-height:10rem;max-height:calc(100vh - 3.5rem);box-sizing:border-box;position:relative;padding:1.5rem 3.125rem"
17
- } : {
18
- name: "14skuem",
19
- styles: "display:flex;flex-direction:column;height:100%;width:100%;min-height:10rem;max-height:calc(100vh - 3.5rem);box-sizing:border-box;position:relative;padding:1.5rem 3.125rem",
20
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
- });
22
- var StyledContentContainer = /*#__PURE__*/_styled(Stack, {
23
- target: "efnp08i5"
24
- })("production" === "production" ? {
25
- name: "1p0a3is",
26
- styles: "display:flex;flex-direction:column;flex-grow:1;gap:0px;position:relative;z-index:2;border-radius:2rem;background-color:rgb(255, 255, 255);overflow:hidden"
27
- } : {
28
- name: "1p0a3is",
29
- styles: "display:flex;flex-direction:column;flex-grow:1;gap:0px;position:relative;z-index:2;border-radius:2rem;background-color:rgb(255, 255, 255);overflow:hidden",
30
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
31
- });
32
- var StyledTitleContainer = /*#__PURE__*/_styled(Stack, {
11
+ var MainContainer = /*#__PURE__*/_styled(Stack, {
33
12
  target: "efnp08i4"
34
- })("background-color:", function (props) {
35
- return props.backgroundColor ? props.backgroundColor : 'rgb(93, 107, 179)';
36
- }, ";z-index:500;flex-shrink:0;height:4.625rem;width:fit-content;min-width:20.875rem;position:relative;top:auto;left:3.125rem;border-radius:0px 0px 1.625rem 1.625rem;padding-top:1rem;box-sizing:border-box;");
37
- var StyledTitle = /*#__PURE__*/_styled(Typography, {
13
+ })("width:100%;height:100%;background:#fff;padding:", function (_ref) {
14
+ var isMiniTablet = _ref.isMiniTablet;
15
+ return isMiniTablet ? "0 20px" : "0 40px";
16
+ }, ";box-sizing:border-box;position:relative;");
17
+ var _HeaderContainer = /*#__PURE__*/_styled(Stack, {
38
18
  target: "efnp08i3"
39
- })("production" === "production" ? {
40
- name: "1gsf9d8",
41
- styles: "border-top:0.125rem dashed rgb(255, 255, 255);height:100%;min-width:100%;text-align:center;font-size:1.375rem;font-weight:700;color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center"
42
- } : {
43
- name: "1gsf9d8",
44
- styles: "border-top:0.125rem dashed rgb(255, 255, 255);height:100%;min-width:100%;text-align:center;font-size:1.375rem;font-weight:700;color:rgb(255, 255, 255);display:flex;align-items:center;justify-content:center",
45
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
46
- });
47
- var StyledScrollBarStack = /*#__PURE__*/_styled(Stack, {
19
+ })("height:", function (_ref2) {
20
+ var height = _ref2.height;
21
+ return height || "74px";
22
+ }, ";width:100%;background:#fff;justify-content:space-between;flex-direction:row;align-items:center;");
23
+ var SubtitleContainer = /*#__PURE__*/_styled(Stack, {
48
24
  target: "efnp08i2"
49
- })("flex-grow:1;position:relative;max-height:100%;overflow-y:scroll;box-sizing:border-box;::-webkit-scrollbar{width:0.5rem;}::-webkit-scrollbar-track{background:", gray200Color, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb{background:", main300Color, ";border-radius:0.5rem;}::-webkit-scrollbar-thumb:hover{background:", main400Color, ";}");
50
- var StyledStepSwitcherContainerStack = /*#__PURE__*/_styled(Stack, {
25
+ })("height:", function (_ref3) {
26
+ var height = _ref3.height;
27
+ return height || "80px";
28
+ }, ";width:100%;padding:20px 40px;background-color:#f7f7f7;margin-top:18px;margin-bottom:14px;display:flex;align-items:center;");
29
+ var ContentContainer = /*#__PURE__*/_styled(Stack, {
51
30
  target: "efnp08i1"
52
- })("production" === "production" ? {
53
- name: "8mh45e",
54
- styles: "flex-direction:row;width:100%;height:4.25rem;justify-content:space-between;align-items:center;padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box;flex-shrink:0"
55
- } : {
56
- name: "8mh45e",
57
- styles: "flex-direction:row;width:100%;height:4.25rem;justify-content:space-between;align-items:center;padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box;flex-shrink:0",
58
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
59
- });
60
- var StyledSwitchStepButton = /*#__PURE__*/_styled(Typography, {
31
+ })("height:", function (_ref4) {
32
+ var height = _ref4.height;
33
+ return height || "100%";
34
+ }, ";width:100%;background-color:#fff;");
35
+ var _FooterContainer = /*#__PURE__*/_styled(Stack, {
61
36
  target: "efnp08i0"
62
- })("production" === "production" ? {
63
- name: "9f748q",
64
- styles: "cursor:pointer;font-size:1.625rem;font-weight:700;height:2.5rem;display:flex;align-items:center"
65
- } : {
66
- name: "9f748q",
67
- styles: "cursor:pointer;font-size:1.625rem;font-weight:700;height:2.5rem;display:flex;align-items:center",
68
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
69
- });
70
- var EliceLayout = function EliceLayout(props) {
71
- var _a;
72
- var _props$levelKey = props.levelKey,
73
- levelKey = _props$levelKey === void 0 ? 'middle' : _props$levelKey,
74
- children = props.children,
75
- sideChildren = props.sideChildren,
76
- _props$title = props.title,
77
- title = _props$title === void 0 ? 'The title' : _props$title,
78
- currentPage = props.currentPage,
79
- totalPage = props.totalPage,
80
- allowNext = props.allowNext,
81
- allowPre = props.allowPre,
82
- onNext = props.onNext,
83
- onPrev = props.onPrev,
84
- onReset = props.onReset;
37
+ })("height:", function (_ref5) {
38
+ var height = _ref5.height;
39
+ return height || "92px";
40
+ }, ";width:100%;background:#fff;padding:18px 0;align-items:center;justify-content:space-between;flex-direction:row;");
41
+ var EliceLayout = Object.assign(function (_ref6) {
42
+ var children = _ref6.children,
43
+ onPrev = _ref6.onPrev,
44
+ onNext = _ref6.onNext,
45
+ allowPrev = _ref6.allowPrev,
46
+ allowNext = _ref6.allowNext;
85
47
  var theme = useTheme();
86
- var renderBgColorByLevelKey = function renderBgColorByLevelKey() {
87
- if (levelKey === 'elementary') {
88
- return KeyElementaryBg;
89
- } else if (levelKey === 'middle') {
90
- return KeyMiddleBg;
91
- } else {
92
- return KeyHighBg;
93
- }
94
- };
95
- useIsomorphicLayoutEffect(function () {
96
- document.documentElement.style.fontSize = '16px';
97
- }, []);
98
- return jsx(StyledContainer, {
99
- style: {
100
- background: "url(".concat(img, ")\n 100vw top repeat,\n ").concat((_a = theme.palette.background["default"]) !== null && _a !== void 0 ? _a : renderBgColorByLevelKey(), " left top repeat")
101
- },
102
- children: jsxs(StyledContentContainer, {
103
- children: [jsx(StyledTitleContainer, {
104
- backgroundColor: theme.palette.primary.main,
105
- children: jsx(StyledTitle, {
106
- children: title
107
- })
108
- }), !!onReset && jsx(Stack, {
109
- style: {
110
- position: 'absolute',
111
- top: 0,
112
- right: 0,
113
- height: '3.5rem',
114
- width: '3.5rem',
115
- transform: 'scaleX(-1)'
116
- },
117
- alignItems: "center",
118
- justifyContent: "center",
119
- children: jsx(LoopIcon, {
120
- onClick: onReset,
121
- style: {
122
- transform: 'rotate(135deg)',
123
- color: secondaryColor,
124
- cursor: 'pointer'
125
- }
126
- })
127
- }), jsxs(Stack, {
128
- direction: "row",
129
- gap: "2rem",
130
- width: "100%",
131
- padding: "0px 3.125rem",
132
- margin: "2rem 0px 1.625rem",
133
- boxSizing: "border-box",
134
- flexGrow: 1,
135
- overflow: "hidden",
136
- children: [jsx(StyledScrollBarStack, {
137
- children: sideChildren
138
- }), jsx(StyledScrollBarStack, {
139
- children: children
140
- })]
141
- }), jsxs(StyledStepSwitcherContainerStack, {
142
- children: [jsxs(StyledSwitchStepButton, {
143
- color: allowPre ? '#0A379B' : '#8F8F8F',
144
- onClick: function onClick() {
145
- if (!allowPre || !onPrev) return;
146
- onPrev();
147
- },
148
- children: [jsx(ArrowLeft, {
149
- size: 24
150
- }), '이전']
151
- }), jsxs(Stack, {
152
- direction: "row",
153
- gap: 0,
154
- alignItems: "center",
155
- children: [jsx(Typography, {
156
- color: "#5D6BB3",
157
- fontSize: "2rem",
158
- fontWeight: 900,
159
- children: currentPage
160
- }), jsx(Stack, {
161
- style: {
162
- border: '0.125rem solid #D8D8E2',
163
- width: '2rem',
164
- height: 0,
165
- transform: 'rotate(-69deg)'
166
- }
167
- }), jsx(Typography, {
168
- color: "#D8D8E2",
169
- fontSize: "2rem",
170
- fontWeight: 900,
171
- children: totalPage
172
- })]
173
- }), jsxs(StyledSwitchStepButton, {
174
- color: allowNext ? '#0A379B' : '#8F8F8F',
175
- onClick: function onClick() {
176
- if (!allowNext || !onNext) return;
177
- onNext();
178
- },
179
- children: ['다음', jsx(ArrowRight, {
180
- size: 24
181
- })]
182
- })]
183
- })]
184
- })
48
+ var _useAIDTMediaQuery = useAIDTMediaQuery(),
49
+ isMiniTablet = _useAIDTMediaQuery.isMiniTablet;
50
+ return jsxs(MainContainer, {
51
+ bgColor: theme.palette.background["default"],
52
+ isMiniTablet: isMiniTablet,
53
+ children: [jsx(LayoutPagination, {
54
+ onPrev: onPrev,
55
+ onNext: onNext,
56
+ allowPrev: allowPrev,
57
+ allowNext: allowNext
58
+ }), children]
185
59
  });
186
- };
60
+ }, {
61
+ // ✅ 헤더 height 조절 가능
62
+ HeaderContainer: function HeaderContainer(_ref7) {
63
+ var children = _ref7.children,
64
+ height = _ref7.height;
65
+ return jsx(_HeaderContainer, {
66
+ height: height,
67
+ children: children
68
+ });
69
+ },
70
+ HeaderTitle: LayoutHeaderTitle,
71
+ HeaderSubTitle: LayoutHeaderSubTitle,
72
+ // ✅ 서브타이틀 height 조절 가능
73
+ Subtitle: function Subtitle(_ref8) {
74
+ var children = _ref8.children,
75
+ height = _ref8.height;
76
+ return jsx(SubtitleContainer, {
77
+ height: height,
78
+ children: children
79
+ });
80
+ },
81
+ // ✅ Content height 조절 가능
82
+ Content: function Content(_ref9) {
83
+ var children = _ref9.children,
84
+ height = _ref9.height;
85
+ var _useAIDTMediaQuery2 = useAIDTMediaQuery(),
86
+ isMobile = _useAIDTMediaQuery2.isMobile,
87
+ isMiniTablet = _useAIDTMediaQuery2.isMiniTablet,
88
+ isTablet = _useAIDTMediaQuery2.isTablet,
89
+ isNotebook = _useAIDTMediaQuery2.isNotebook;
90
+ // ✅ 화면 크기에 따라 기본 Content 높이 설정 (props가 없을 경우)
91
+ var defaultHeight = isMobile ? "473px" : isMiniTablet ? "354px" : isTablet ? "410px" : isNotebook ? "510px" : "610px";
92
+ return jsx(ContentContainer, {
93
+ height: height || defaultHeight,
94
+ children: children
95
+ });
96
+ },
97
+ // ✅ 푸터 height 조절 가능
98
+ FooterContainer: function FooterContainer(_ref10) {
99
+ var children = _ref10.children,
100
+ height = _ref10.height;
101
+ return jsx(_FooterContainer, {
102
+ height: height,
103
+ children: children
104
+ });
105
+ },
106
+ FooterPaging: LayoutFooterPaging,
107
+ FooterSubmit: LayoutFooterSubmit
108
+ });
187
109
 
188
110
  export { EliceLayout as default };
@@ -0,0 +1,8 @@
1
+ export interface LayoutPaginationProps {
2
+ onPrev?: () => void;
3
+ onNext?: () => void;
4
+ allowPrev?: boolean;
5
+ allowNext?: boolean;
6
+ }
7
+ declare const LayoutPagination: ({ onPrev, onNext, allowPrev, allowNext, }: LayoutPaginationProps) => JSX.Element;
8
+ export default LayoutPagination;
@@ -0,0 +1,36 @@
1
+ import _styled from '@emotion/styled/base';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import PaginationButton from '../../pagination-button/PaginationButton.js';
4
+
5
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
6
+ var PaginationWrapper = /*#__PURE__*/_styled("div", {
7
+ target: "e8oep9n0"
8
+ })("production" === "production" ? {
9
+ name: "ekcpux",
10
+ styles: "position:absolute;top:50%;left:10px;width:calc(100% - 20px);display:flex;justify-content:space-between;align-items:center;transform:translateY(-50%)"
11
+ } : {
12
+ name: "ekcpux",
13
+ styles: "position:absolute;top:50%;left:10px;width:calc(100% - 20px);display:flex;justify-content:space-between;align-items:center;transform:translateY(-50%)",
14
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
15
+ });
16
+ var LayoutPagination = function LayoutPagination(_ref) {
17
+ var onPrev = _ref.onPrev,
18
+ onNext = _ref.onNext,
19
+ _ref$allowPrev = _ref.allowPrev,
20
+ allowPrev = _ref$allowPrev === void 0 ? true : _ref$allowPrev,
21
+ _ref$allowNext = _ref.allowNext,
22
+ allowNext = _ref$allowNext === void 0 ? true : _ref$allowNext;
23
+ return jsxs(PaginationWrapper, {
24
+ children: [jsx(PaginationButton, {
25
+ left: true,
26
+ onClick: onPrev,
27
+ disabled: !allowPrev
28
+ }), jsx(PaginationButton, {
29
+ right: true,
30
+ onClick: onNext,
31
+ disabled: !allowNext
32
+ })]
33
+ });
34
+ };
35
+
36
+ export { LayoutPagination as default };
@@ -0,0 +1,2 @@
1
+ export { default as LayoutPagination } from './LayoutPagination';
2
+ export type { LayoutPaginationProps } from './LayoutPagination';
@@ -0,0 +1 @@
1
+ export { default as LayoutPagination } from './LayoutPagination.js';
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface PaginationButtonProps {
3
+ left?: boolean;
4
+ right?: boolean;
5
+ onClick?: () => void;
6
+ disabled?: boolean;
7
+ }
8
+ declare const PaginationButton: React.FC<PaginationButtonProps>;
9
+ export default PaginationButton;
@@ -0,0 +1,31 @@
1
+ import _styled from '@emotion/styled/base';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import ArrowLeft from '../../icons/ArrowLeft.js';
4
+ import ArrowRight from '../../icons/ArrowRight.js';
5
+
6
+ var Button = /*#__PURE__*/_styled("button", {
7
+ target: "e16dnw7i0"
8
+ })("width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:none;background-color:", function (_ref) {
9
+ var disabled = _ref.disabled;
10
+ return disabled ? "#ddd" : "#fff";
11
+ }, ";border-radius:40px;box-shadow:0px 0px 1px 0px rgba(0, 0, 0, 0.40),0px 8px 10px 0px rgba(0, 0, 0, 0.05),0px 8px 30px 0px rgba(0, 0, 0, 0.12);border-radius:40px;cursor:", function (_ref2) {
12
+ var disabled = _ref2.disabled;
13
+ return disabled ? "not-allowed" : "pointer";
14
+ }, ";&:hover{background-color:", function (_ref3) {
15
+ var disabled = _ref3.disabled;
16
+ return disabled ? "#ddd" : "#e0e0e0";
17
+ }, ";}");
18
+ var PaginationButton = function PaginationButton(_ref4) {
19
+ var left = _ref4.left,
20
+ right = _ref4.right,
21
+ onClick = _ref4.onClick,
22
+ _ref4$disabled = _ref4.disabled,
23
+ disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;
24
+ return jsxs(Button, {
25
+ onClick: onClick,
26
+ disabled: disabled,
27
+ children: [left && jsx(ArrowLeft, {}), right && jsx(ArrowRight, {})]
28
+ });
29
+ };
30
+
31
+ export { PaginationButton as default };
@@ -0,0 +1 @@
1
+ export { default as PaginationButton } from './PaginationButton';
@@ -0,0 +1 @@
1
+ export { default as PaginationButton } from './PaginationButton.js';
@@ -8,6 +8,7 @@ export interface EliceSelectionProps extends ToggleButtonGroupProps {
8
8
  }[];
9
9
  value: string[];
10
10
  setValue: Dispatch<SetStateAction<string[]>>;
11
+ limitSelectCount?: number;
11
12
  }
12
- declare const EliceSelection: ({ type, options, value, setValue, orientation, disabled, }: EliceSelectionProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const EliceSelection: ({ type, options, value, setValue, orientation, disabled, limitSelectCount, }: EliceSelectionProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export default EliceSelection;
@@ -1,3 +1,4 @@
1
+ import { toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
2
  import _styled from '@emotion/styled/base';
2
3
  import { jsx, jsxs } from 'react/jsx-runtime';
3
4
  import { ToggleButton, useTheme, ToggleButtonGroup, Stack } from '@mui/material';
@@ -25,23 +26,26 @@ var EliceSelection = function EliceSelection(_ref) {
25
26
  setValue = _ref.setValue,
26
27
  _ref$orientation = _ref.orientation,
27
28
  orientation = _ref$orientation === void 0 ? 'vertical' : _ref$orientation,
28
- disabled = _ref.disabled;
29
+ disabled = _ref.disabled,
30
+ _ref$limitSelectCount = _ref.limitSelectCount,
31
+ limitSelectCount = _ref$limitSelectCount === void 0 ? 1 : _ref$limitSelectCount;
29
32
  var theme = useTheme();
30
33
  var handleSelectionChange = function handleSelectionChange(event, newValue) {
31
34
  if (!newValue || disabled) return;
32
35
  setValue(function (prevState) {
33
- if (type === 'checkbox' && Array.isArray(prevState)) {
34
- var newValuesArray = Array.isArray(newValue) ? newValue : [newValue]; // ✅ newValue가 배열인지 확인
35
- var updatedValues = prevState.filter(function (v) {
36
- return !newValuesArray.includes(v);
37
- }) // 기존 선택된 값에서 제거
38
- .concat(newValuesArray.filter(function (v) {
39
- return !prevState.includes(v);
40
- })); // 새로운 값 추가
41
- return updatedValues;
42
- } else {
43
- return Array.isArray(newValue) ? [newValue[0]] : [newValue]; // ✅ `radio` 모드는 단일 값 변경
36
+ var newValuesArray = Array.isArray(newValue) ? newValue : [newValue];
37
+ var updatedValues = _toConsumableArray(prevState);
38
+ newValuesArray.forEach(function (value) {
39
+ if (!updatedValues.includes(value)) {
40
+ updatedValues.push(value);
41
+ } else {
42
+ updatedValues.splice(updatedValues.indexOf(value), 1);
43
+ }
44
+ });
45
+ if (updatedValues.length > limitSelectCount) {
46
+ return updatedValues.slice(-limitSelectCount);
44
47
  }
48
+ return updatedValues;
45
49
  });
46
50
  };
47
51
  return jsx(ToggleButtonGroup, {
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type ButtonProps } from '@mui/material';
3
+ export interface EliceSubButtonProps extends ButtonProps {
4
+ children?: React.ReactNode;
5
+ }
6
+ declare const EliceSubButton: React.ForwardRefExoticComponent<Omit<EliceSubButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ export default EliceSubButton;
@@ -0,0 +1,41 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { Button, Typography } from '@mui/material';
5
+ import useAIDTMediaQuery from '../../hooks/useAIDTMediaQuery.js';
6
+ import { bluepurple } from '../../tokens/colors/bluepurple.js';
7
+
8
+ var EliceSubButton = forwardRef(function (_a, ref) {
9
+ var children = _a.children,
10
+ _a$variant = _a.variant,
11
+ variant = _a$variant === void 0 ? 'contained' : _a$variant,
12
+ disabled = _a.disabled,
13
+ rest = __rest(_a, ["children", "variant", "disabled"]);
14
+ var _useAIDTMediaQuery = useAIDTMediaQuery(),
15
+ isTablet = _useAIDTMediaQuery.isTablet;
16
+ return jsx(Button, Object.assign({
17
+ ref: ref,
18
+ variant: variant,
19
+ disabled: disabled,
20
+ sx: {
21
+ width: isTablet ? '100%' : 'fit-content',
22
+ height: '56px',
23
+ borderRadius: isTablet ? 0 : '16px',
24
+ padding: '8px 12px',
25
+ backgroundColor: bluepurple[100],
26
+ fontFamily: 'inherit',
27
+ display: 'flex',
28
+ justifyContent: 'flex-start'
29
+ }
30
+ }, rest, {
31
+ children: jsx(Typography, {
32
+ variant: "buttoninput",
33
+ sx: {
34
+ color: "".concat(bluepurple[950], " !important")
35
+ },
36
+ children: children
37
+ })
38
+ }));
39
+ });
40
+
41
+ export { EliceSubButton as default };
@@ -0,0 +1 @@
1
+ export { default as EliceSubButton } from './SubtitleButton';
@@ -0,0 +1 @@
1
+ export { default as EliceSubButton } from './SubtitleButton.js';
@@ -16,7 +16,5 @@ var textTeriaryColor = '#525265';
16
16
  var textQuaternaryColor = '#9FA0B1';
17
17
  var point3Color = '#8F68F6';
18
18
  var KeyElementaryBg = '#9BCAFF';
19
- var KeyMiddleBg = '#B2B2B2';
20
- var KeyHighBg = '#0A379B';
21
19
 
22
- export { KeyElementaryBg, KeyHighBg, KeyMiddleBg, gray100Color, gray200Color, gray300Color, gray400Color, gray50Color, main200Color, main300Color, main400Color, point3Color, secondaryColor, textPrimaryColor, textQuaternaryColor, textSecondaryColor, textTeriaryColor };
20
+ export { KeyElementaryBg, gray100Color, gray200Color, gray300Color, gray400Color, gray50Color, main200Color, main300Color, main400Color, point3Color, secondaryColor, textPrimaryColor, textQuaternaryColor, textSecondaryColor, textTeriaryColor };
@@ -0,0 +1 @@
1
+ export * from './useAIDTMediaQuery';
@@ -0,0 +1 @@
1
+ import '@mui/material';
@@ -0,0 +1,8 @@
1
+ declare const useAIDTMediaQuery: () => {
2
+ isMobile: boolean;
3
+ isMiniTablet: boolean;
4
+ isTablet: boolean;
5
+ isNotebook: boolean;
6
+ isDesktop: boolean;
7
+ };
8
+ export default useAIDTMediaQuery;
@@ -0,0 +1,20 @@
1
+ import { useTheme, useMediaQuery } from '@mui/material';
2
+ import { breakpoints } from '../tokens/breakpoints/breakpoints.js';
3
+
4
+ var useAIDTMediaQuery = function useAIDTMediaQuery() {
5
+ var theme = useTheme();
6
+ var isMobile = useMediaQuery(theme.breakpoints.down(breakpoints.xs)); // 390px 이하
7
+ var isMiniTablet = useMediaQuery(theme.breakpoints.down(breakpoints.sm)); // 512px 이하
8
+ var isTablet = useMediaQuery(theme.breakpoints.down(breakpoints.md)); // 768px 이하
9
+ var isNotebook = useMediaQuery(theme.breakpoints.down(breakpoints.lg)); // 1024px 이하
10
+ var isDesktop = useMediaQuery(theme.breakpoints.up(breakpoints.lg + 1)); // 1025px 이상
11
+ return {
12
+ isMobile: isMobile,
13
+ isMiniTablet: isMiniTablet,
14
+ isTablet: isTablet,
15
+ isNotebook: isNotebook,
16
+ isDesktop: isDesktop
17
+ };
18
+ };
19
+
20
+ export { useAIDTMediaQuery as default };
@@ -3,19 +3,19 @@ import { jsx } from 'react/jsx-runtime';
3
3
 
4
4
  var ArrowLeft = function ArrowLeft(_a) {
5
5
  var _a$size = _a.size,
6
- size = _a$size === void 0 ? 16 : _a$size,
6
+ size = _a$size === void 0 ? 36 : _a$size,
7
7
  _a$color = _a.color,
8
8
  color = _a$color === void 0 ? 'currentColor' : _a$color,
9
9
  other = __rest(_a, ["size", "color"]);
10
10
  return jsx("svg", Object.assign({
11
- height: size,
12
11
  width: size,
13
- viewBox: "0 0 16 16",
12
+ height: size,
13
+ viewBox: "0 0 36 36",
14
14
  fill: "none",
15
15
  xmlns: "http://www.w3.org/2000/svg"
16
16
  }, other, {
17
17
  children: jsx("path", {
18
- d: "M10.4986 2.3535C10.6938 2.15826 11.0104 2.15827 11.2056 2.35352L11.4414 2.58924C11.6366 2.7845 11.6366 3.1011 11.4413 3.29636L6.60933 8.12799L11.4414 12.9599C11.6366 13.1551 11.6366 13.4717 11.4414 13.667L11.2057 13.9027C11.0104 14.0979 10.6938 14.0979 10.4986 13.9027L5.19526 8.59939C4.95494 8.35934 4.93645 7.98118 5.1398 7.71965L5.2 7.65133L10.4986 2.3535Z",
18
+ d: "M22.1673 4.21094L24.2886 6.33226L12.621 17.9989L24.2886 29.6662L22.1673 31.7875L9.43934 19.0596C8.89861 18.5195 8.85702 17.6686 9.31456 17.0802L9.45 16.9264L22.1673 4.21094Z",
19
19
  fill: color
20
20
  })
21
21
  }));
@@ -3,27 +3,20 @@ import { jsx } from 'react/jsx-runtime';
3
3
 
4
4
  var ArrowRight = function ArrowRight(_a) {
5
5
  var _a$size = _a.size,
6
- size = _a$size === void 0 ? 16 : _a$size,
6
+ size = _a$size === void 0 ? 36 : _a$size,
7
7
  _a$color = _a.color,
8
8
  color = _a$color === void 0 ? 'currentColor' : _a$color,
9
9
  other = __rest(_a, ["size", "color"]);
10
10
  return jsx("svg", Object.assign({
11
- height: size,
12
11
  width: size,
13
- viewBox: "0 0 16 16",
12
+ height: size,
13
+ viewBox: "0 0 36 36",
14
14
  fill: "none",
15
15
  xmlns: "http://www.w3.org/2000/svg"
16
16
  }, other, {
17
- children: jsx("svg", {
18
- width: "16",
19
- height: "16",
20
- viewBox: "0 0 16 16",
21
- fill: "none",
22
- xmlns: "http://www.w3.org/2000/svg",
23
- children: jsx("path", {
24
- d: "M5.50144 13.7745C5.30617 13.9697 4.98961 13.9697 4.79436 13.7745L4.55865 13.5387C4.36338 13.3435 4.36338 13.0269 4.55866 12.8316L9.39067 7.99998L4.55864 3.1681C4.36338 2.97284 4.36337 2.65625 4.55864 2.46098L4.79433 2.22529C4.9896 2.03003 5.30618 2.03003 5.50144 2.22529L10.8047 7.52859C11.0451 7.76864 11.0635 8.14679 10.8602 8.40832L10.8 8.47665L5.50144 13.7745Z",
25
- fill: color
26
- })
17
+ children: jsx("path", {
18
+ d: "M13.8323 31.7875L11.7109 29.6662L23.3785 17.9995L11.7109 6.33226L13.8323 4.21094L26.5602 16.9389C27.1009 17.479 27.1425 18.3298 26.685 18.9183L26.5495 19.072L13.8323 31.7875Z",
19
+ fill: color
27
20
  })
28
21
  }));
29
22
  };
@@ -0,0 +1,3 @@
1
+ import { IconProps } from "./_types";
2
+ declare const MoreColumn: ({ size, color, ...other }: IconProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default MoreColumn;
@@ -0,0 +1,24 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ var MoreColumn = function MoreColumn(_a) {
5
+ var _a$size = _a.size,
6
+ size = _a$size === void 0 ? 6 : _a$size,
7
+ _a$color = _a.color,
8
+ color = _a$color === void 0 ? '#072567' : _a$color,
9
+ other = __rest(_a, ["size", "color"]);
10
+ return jsx("svg", Object.assign({
11
+ width: size,
12
+ height: size * (18 / 6),
13
+ viewBox: "0 0 6 18",
14
+ fill: "none",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, other, {
17
+ children: jsx("path", {
18
+ d: "M3 13.5625C3.78125 13.5625 4.48438 13.9922 4.875 14.6562C5.26562 15.3594 5.26562 16.1797 4.875 16.8438C4.48438 17.5469 3.78125 17.9375 3 17.9375C2.17969 17.9375 1.47656 17.5469 1.08594 16.8438C0.695312 16.1797 0.695312 15.3594 1.08594 14.6562C1.47656 13.9922 2.17969 13.5625 3 13.5625ZM3 7.3125C3.78125 7.3125 4.48438 7.74219 4.875 8.40625C5.26562 9.10938 5.26562 9.92969 4.875 10.5938C4.48438 11.2969 3.78125 11.6875 3 11.6875C2.17969 11.6875 1.47656 11.2969 1.08594 10.5938C0.695312 9.92969 0.695312 9.10938 1.08594 8.40625C1.47656 7.74219 2.17969 7.3125 3 7.3125ZM5.1875 3.25C5.1875 4.07031 4.75781 4.77344 4.09375 5.16406C3.39062 5.55469 2.57031 5.55469 1.90625 5.16406C1.20312 4.77344 0.8125 4.07031 0.8125 3.25C0.8125 2.46875 1.20312 1.76562 1.90625 1.375C2.57031 0.984375 3.39062 0.984375 4.09375 1.375C4.75781 1.76562 5.1875 2.46875 5.1875 3.25Z",
19
+ fill: color
20
+ })
21
+ }));
22
+ };
23
+
24
+ export { MoreColumn as default };