@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
package/README.ko.md ADDED
@@ -0,0 +1,117 @@
1
+ # AIDT 디자인 시스템
2
+
3
+ 이 문서는 AIDT 디자인 시스템를 통해 학습자료를 규격에 맞게 개발하는 것에 대한 가이드 라인을 제공합니다.
4
+
5
+ 요구사항이 있는 경우 Elice에 문의해주세요
6
+
7
+ ## 설치 방법
8
+
9
+ 외부 학습 설치방법은 npm package를 설치하는 방법을 권장드립니다. 해당 패키지는 웹 환경에서만 사용 가능합니다.
10
+
11
+ ```shell
12
+ # npm
13
+ npm install @elicecontents/content-ui --save
14
+
15
+ # yarn
16
+ yarn add @elicecontents/content-ui
17
+ ```
18
+
19
+ ## 📌 필수 Peer Dependencies
20
+
21
+ 이 패키지를 정상적으로 사용하려면 아래 **Peer Dependencies**가 프로젝트에 설치되어 있어야 합니다.
22
+ 패키지를 사용하기 전에 반드시 해당 의존성이 설치되어 있는지 확인하세요.
23
+
24
+ ```json
25
+ "peerDependencies": {
26
+ "@base-ui-components/react": "^1.0.0-alpha.6",
27
+ "@emotion/react": "^11.10.0",
28
+ "@emotion/styled": "^11.10.0",
29
+ "@mui/icons-material": "^5.14.10",
30
+ "@mui/material": "^5.14.10",
31
+ "@mui/x-data-grid": "^6.7.0",
32
+ "@mui/x-date-pickers": "^6.7.0",
33
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
34
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
35
+ }
36
+ ```
37
+
38
+ ## Peer Dependencies 설치 방법
39
+
40
+ 아래 명령어를 실행하여 필요한 의존성을 설치할 수 있습니다.
41
+
42
+ ```shell
43
+ # npm 사용 시
44
+ npm install @base-ui-components/react @emotion/react @emotion/styled \
45
+ @mui/icons-material @mui/material @mui/x-data-grid @mui/x-date-pickers \
46
+ react react-dom --save
47
+
48
+ # yarn 사용 시
49
+ yarn add @base-ui-components/react @emotion/react @emotion/styled \
50
+ @mui/icons-material @mui/material @mui/x-data-grid @mui/x-date-pickers \
51
+ react react-dom
52
+ ```
53
+ ### 📌 참고 사항
54
+ - 이 패키지를 설치할 때, **peerDependencies는 자동으로 설치되지 않습니다**.
55
+ - 프로젝트에서 필요한 의존성이 모두 설치되어 있는지 확인하세요.
56
+ - 기존 프로젝트에 `react` 또는 `@mui/material`과 같은 라이브러리가 이미 설치되어 있다면 **버전 호환성을 확인한 후 설치**하는 것이 좋습니다.
57
+
58
+ ## 기본적인 테마 설정
59
+
60
+ AIDT 디자인 시스템은 기본적인 디자인 틀을 갖고 있지만, 색상에 대한 기능이 따로 제공되어있습니다.
61
+
62
+
63
+ ### 📖 AIDT Theme 사용 가이드
64
+ createAIDTTheme는 AIDT 디자인 시스템에 맞춰 MUI(Material-UI) 테마를 동적으로 생성하는 함수입니다.
65
+ 이 문서는 createAIDTTheme의 사용 방법과 예제 컴포넌트(Layout)을 설명합니다.
66
+ MUI에서 ThemeProvider를 사용하여 createAIDTTheme를 적용할 수 있습니다
67
+
68
+ ```ts
69
+ // createAIDTTheme 사용 예제
70
+ import React from "react";
71
+ import { ThemeProvider, CssBaseline } from "@mui/material";
72
+ import { createAIDTTheme } from "@elicecontents/content-ui";
73
+
74
+ const theme = createAIDTTheme({
75
+ paletteMode: "light", // 테마 모드
76
+ palettePublisher: "elice", // 브랜드
77
+ paletteSubject: "korean", // 과목
78
+ paletteLevel: "elementary", // 교육 단계 ('elementary', 'middle', 'high')
79
+ typographyFontFamily: "pretendard", // 기본 글꼴
80
+ });
81
+
82
+ const App = () => (
83
+ <ThemeProvider theme={theme}>
84
+ <CssBaseline />
85
+ <h1>Hello, AIDT Theme!</h1>
86
+ </ThemeProvider>
87
+ );
88
+
89
+ export default App;
90
+ ```
91
+
92
+ 위 코드가 적용되면, MUI의 기본 스타일이 AIDT 테마에 맞춰 변경됩니다.
93
+
94
+ 아래는 AIDT 테마를 적용한 기본적인 Layout 컴포넌트 예제입니다.
95
+ 기본적으로 `EliceLayout`은 합성 컴포넌트 방식으로 사용할 수 있습니다. 이를 통해 기본적인 UI의 틀을 구성할 수 있습니다.
96
+
97
+ ```ts
98
+ // Layout 컴포넌트 예제
99
+ <EliceLayout>
100
+ <EliceLayout.HeaderContainer>
101
+ <EliceLayout.HeaderTitle>제목</EliceLayout.HeaderTitle>
102
+ <EliceLayout.HeaderSubTitle>
103
+ ...
104
+ </EliceLayout.HeaderSubTitle>
105
+ </EliceLayout.HeaderContainer>
106
+
107
+ <EliceLayout.Content>
108
+ <Typography>내용 영역</Typography>
109
+ </EliceLayout.Content>
110
+
111
+ <EliceLayout.FooterContainer>
112
+ <EliceLayout.FooterPaging />
113
+ <EliceLayout.FooterSubmit />
114
+ </EliceLayout.FooterContainer>
115
+ </EliceLayout>
116
+
117
+ ```
package/README.md ADDED
@@ -0,0 +1,117 @@
1
+ # AIDT Design System
2
+
3
+ This document provides guidelines for developing learning materials according to the AIDT design system.
4
+
5
+ For any requirements, please contact Elice.
6
+
7
+ ## Installation
8
+
9
+ For external learning material installation, we recommend installing the package via npm.
10
+ This package is intended for use in web environments only.
11
+
12
+ ```shell
13
+ # npm
14
+ npm install @elicecontents/content-ui --save
15
+
16
+ # yarn
17
+ yarn add @elicecontents/content-ui
18
+ ```
19
+ ## Peer Dependencies
20
+
21
+ To ensure proper functionality, this package requires the following **peer dependencies** to be installed in your project.
22
+ Please make sure you have them installed before using the package.
23
+
24
+ ```json
25
+ "peerDependencies": {
26
+ "@base-ui-components/react": "^1.0.0-alpha.6",
27
+ "@emotion/react": "^11.10.0",
28
+ "@emotion/styled": "^11.10.0",
29
+ "@mui/icons-material": "^5.14.10",
30
+ "@mui/material": "^5.14.10",
31
+ "@mui/x-data-grid": "^6.7.0",
32
+ "@mui/x-date-pickers": "^6.7.0",
33
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
34
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
35
+ }
36
+ ```
37
+
38
+ ## Installing Peer Dependencies
39
+ If these dependencies are not already installed in your project, you can install them with the following command:
40
+
41
+ ```shell
42
+ # Using npm
43
+ npm install @base-ui-components/react @emotion/react @emotion/styled \
44
+ @mui/icons-material @mui/material @mui/x-data-grid @mui/x-date-pickers \
45
+ react react-dom --save
46
+
47
+ # Using yarn
48
+ yarn add @base-ui-components/react @emotion/react @emotion/styled \
49
+ @mui/icons-material @mui/material @mui/x-data-grid @mui/x-date-pickers \
50
+ react react-dom
51
+
52
+ ```
53
+
54
+ ### 📌 Note:
55
+ - These dependencies are not automatically installed when you install this package.
56
+ - Ensure they are installed in your project to avoid compatibility issues.
57
+ - If your project already has a different version of react or @mui/material, check for compatibility before installing.
58
+
59
+ ## Basic Theme Configuration
60
+
61
+ The AIDT design system provides a fundamental design framework and supports custom color configurations.
62
+
63
+ ### 📖 AIDT Theme Usage Guide
64
+
65
+ `createAIDTTheme` dynamically generates a Material-UI (MUI) theme that aligns with the AIDT design system.
66
+ This guide explains how to use `createAIDTTheme` and provides a component example (`Layout`).
67
+
68
+ To apply `createAIDTTheme`, use `ThemeProvider` from MUI:
69
+
70
+ ```ts
71
+ // Example usage of createAIDTTheme
72
+ import React from "react";
73
+ import { ThemeProvider, CssBaseline } from "@mui/material";
74
+ import { createAIDTTheme } from "@elicecontents/content-ui";
75
+
76
+ const theme = createAIDTTheme({
77
+ paletteMode: "light", // Theme mode
78
+ palettePublisher: "elice", // Brand
79
+ paletteSubject: "korean", // Subject
80
+ paletteLevel: "elementary", // Education level ('elementary', 'middle', 'high')
81
+ typographyFontFamily: "pretendard", // Default font
82
+ });
83
+
84
+ const App = () => (
85
+ <ThemeProvider theme={theme}>
86
+ <CssBaseline />
87
+ <h1>Hello, AIDT Theme!</h1>
88
+ </ThemeProvider>
89
+ );
90
+
91
+ export default App;
92
+ ```
93
+
94
+ Once applied, MUI's default styles will be adapted to the AIDT theme.
95
+
96
+ Below is an example of a basic `Layout` component with the AIDT theme.
97
+ `EliceLayout` follows a **composable component structure**, allowing for flexible UI composition.
98
+
99
+ ```ts
100
+ // Layout component example
101
+ <EliceLayout>
102
+ <EliceLayout.HeaderContainer>
103
+ <EliceLayout.HeaderTitle>Title</EliceLayout.HeaderTitle>
104
+ <EliceLayout.HeaderSubTitle>
105
+ ...
106
+ </EliceLayout.HeaderSubTitle>
107
+ </EliceLayout.HeaderContainer>
108
+
109
+ <EliceLayout.Content>
110
+ <Typography>Content area</Typography>
111
+ </EliceLayout.Content>
112
+
113
+ <EliceLayout.FooterContainer>
114
+ <EliceLayout.FooterPaging />
115
+ <EliceLayout.FooterSubmit />
116
+ </EliceLayout.FooterContainer>
117
+ </EliceLayout>
@@ -55,6 +55,13 @@ function _nonIterableSpread() {
55
55
  function _slicedToArray(r, e) {
56
56
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
57
57
  }
58
+ function _taggedTemplateLiteral(e, t) {
59
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
60
+ raw: {
61
+ value: Object.freeze(t)
62
+ }
63
+ }));
64
+ }
58
65
  function _toConsumableArray(r) {
59
66
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
60
67
  }
@@ -89,6 +96,7 @@ exports.iterableToArrayLimit = _iterableToArrayLimit;
89
96
  exports.nonIterableRest = _nonIterableRest;
90
97
  exports.nonIterableSpread = _nonIterableSpread;
91
98
  exports.slicedToArray = _slicedToArray;
99
+ exports.taggedTemplateLiteral = _taggedTemplateLiteral;
92
100
  exports.toConsumableArray = _toConsumableArray;
93
101
  exports.toPrimitive = _toPrimitive;
94
102
  exports.toPropertyKey = _toPropertyKey;
@@ -6,6 +6,7 @@ var tslib = require('tslib');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var React = require('react');
8
8
  var material = require('@mui/material');
9
+ var useAIDTMediaQuery = require('../../hooks/useAIDTMediaQuery.js');
9
10
 
10
11
  var EliceButton = React.forwardRef(function (_a, ref) {
11
12
  var children = _a.children,
@@ -14,21 +15,24 @@ var EliceButton = React.forwardRef(function (_a, ref) {
14
15
  disabled = _a.disabled,
15
16
  rest = tslib.__rest(_a, ["children", "variant", "disabled"]);
16
17
  var theme = material.useTheme();
18
+ var _useAIDTMediaQuery = useAIDTMediaQuery.default(),
19
+ isMiniTablet = _useAIDTMediaQuery.isMiniTablet;
17
20
  return jsxRuntime.jsx(material.Button, Object.assign({
18
21
  ref: ref,
19
22
  variant: variant,
20
23
  disabled: disabled,
21
24
  sx: {
22
25
  width: 'fit-content',
23
- borderRadius: '1rem',
24
- padding: '0.75rem 1.25rem',
26
+ height: isMiniTablet ? '42px' : '56px',
27
+ borderRadius: isMiniTablet ? '12px' : '16px',
28
+ padding: isMiniTablet ? '8px 12px' : '12px 20px',
25
29
  color: disabled ? theme.palette.text.disabled : variant === 'outlined' ? theme.palette.primary.main : theme.palette.common.white,
26
30
  backgroundColor: variant === 'outlined' ? theme.palette.common.white : disabled ? theme.palette.grey[300] : theme.palette.primary.main,
27
31
  fontFamily: 'inherit'
28
32
  }
29
33
  }, rest, {
30
34
  children: jsxRuntime.jsx(material.Typography, {
31
- variant: "subtitle1",
35
+ variant: "buttoninput",
32
36
  children: children
33
37
  })
34
38
  }));
@@ -7,13 +7,14 @@ var _styled = require('@emotion/styled/base');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
9
  var material = require('@mui/material');
10
+ require('tslib');
11
+ var Micro = require('../../icons/Micro.js');
12
+ var Reset = require('../../icons/Reset.js');
13
+ var Send = require('../../icons/Send.js');
10
14
  var IconButton = require('../icon-button/IconButton.js');
11
15
  var tokenColorTemporary = require('../tokenColorTemporary.js');
12
16
  var AssistantAvatar = require('./AssistantAvatar.js');
13
17
  var UserAvatar = require('./UserAvatar.js');
14
- var Micro = require('../../icons/Micro.js');
15
- var Reset = require('../../icons/Reset.js');
16
- var Send = require('../../icons/Send.js');
17
18
 
18
19
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
19
20
 
@@ -4,9 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var material = require('@mui/material');
7
- var tokenColorTemporary = require('../tokenColorTemporary.js');
8
7
  var ArrowLeft = require('../../icons/ArrowLeft.js');
9
8
  var ArrowRight = require('../../icons/ArrowRight.js');
9
+ require('tslib');
10
+ var tokenColorTemporary = require('../tokenColorTemporary.js');
10
11
 
11
12
  var EliceDottedPagination = function EliceDottedPagination(props) {
12
13
  var _props$currentPage = props.currentPage,
@@ -2,6 +2,10 @@ import { type IconButtonProps } from '@mui/material';
2
2
  import type { ReactNode } from 'react';
3
3
  export interface EliceIconButtonProps extends IconButtonProps {
4
4
  children: ReactNode;
5
+ backgroundColor?: string;
6
+ width?: number;
7
+ height?: number;
8
+ borderRadius?: number;
5
9
  }
6
- declare const EliceIconButton: ({ children, disabled, ...rest }: EliceIconButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const EliceIconButton: ({ children, disabled, backgroundColor, width, height, borderRadius, ...rest }: EliceIconButtonProps) => import("react/jsx-runtime").JSX.Element;
7
11
  export default EliceIconButton;
@@ -6,21 +6,29 @@ var tslib = require('tslib');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var material = require('@mui/material');
8
8
  var tokenColorTemporary = require('../tokenColorTemporary.js');
9
+ var useAIDTMediaQuery = require('../../hooks/useAIDTMediaQuery.js');
9
10
 
10
11
  var EliceIconButton = function EliceIconButton(_a) {
11
12
  var children = _a.children,
12
13
  disabled = _a.disabled,
13
- rest = tslib.__rest(_a, ["children", "disabled"]);
14
+ backgroundColor = _a.backgroundColor,
15
+ width = _a.width,
16
+ height = _a.height,
17
+ borderRadius = _a.borderRadius,
18
+ rest = tslib.__rest(_a, ["children", "disabled", "backgroundColor", "width", "height", "borderRadius"]);
14
19
  var theme = material.useTheme();
20
+ var _useAIDTMediaQuery = useAIDTMediaQuery.default(),
21
+ isMiniTablet = _useAIDTMediaQuery.isMiniTablet;
15
22
  return jsxRuntime.jsx(material.IconButton, Object.assign({
16
23
  disabled: disabled,
17
24
  style: {
18
25
  flexShrink: 0,
19
- height: '3.5rem',
20
- width: '3.5rem',
26
+ height: height !== null && height !== void 0 ? height : '3.5rem',
27
+ width: width !== null && width !== void 0 ? width : '3.5rem',
21
28
  boxSizing: 'border-box',
22
- backgroundColor: disabled ? tokenColorTemporary.gray300Color : theme.palette.primary.main,
23
- borderRadius: '1rem',
29
+ backgroundColor: disabled ? tokenColorTemporary.gray300Color : backgroundColor ? backgroundColor : theme.palette.primary.main,
30
+ borderRadius: borderRadius !== null && borderRadius !== void 0 ? borderRadius : '1rem',
31
+ padding: isMiniTablet ? 8 : 10,
24
32
  color: disabled ? tokenColorTemporary.gray400Color : theme.palette.primary.light
25
33
  }
26
34
  }, rest, {
@@ -16,3 +16,4 @@ export * from './textarea';
16
16
  export * from './tooltip';
17
17
  export * from './AIDTTypography';
18
18
  export * from './AdaptiveImage';
19
+ export * from './subtitle-button';
@@ -16,6 +16,7 @@ var Textarea = require('./textarea/Textarea.js');
16
16
  var Tooltip = require('./tooltip/Tooltip.js');
17
17
  var AIDTTypography = require('./AIDTTypography/AIDTTypography.js');
18
18
  var AdaptiveImage = require('./AdaptiveImage/AdaptiveImage.js');
19
+ var SubtitleButton = require('./subtitle-button/SubtitleButton.js');
19
20
 
20
21
 
21
22
 
@@ -35,3 +36,4 @@ exports.EliceTextarea = Textarea.default;
35
36
  exports.EliceTooltip = Tooltip.default;
36
37
  exports.AIDTTypography = AIDTTypography.default;
37
38
  exports.EliceImage = AdaptiveImage.default;
39
+ exports.EliceSubButton = SubtitleButton.default;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export interface LayoutFooterPagingProps {
3
+ currentPage: number;
4
+ totalPage: number;
5
+ }
6
+ declare const LayoutFooterPaging: React.FC<LayoutFooterPagingProps>;
7
+ export default LayoutFooterPaging;
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _styled = require('@emotion/styled/base');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var material = require('@mui/material');
8
+
9
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
+
11
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
12
+
13
+ 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)."; }
14
+ var FooterPagination = /*#__PURE__*/_styled__default.default(material.Typography, {
15
+ target: "ecog5a41"
16
+ })("production" === "production" ? {
17
+ name: "17qwk4",
18
+ styles: "padding:0 32px"
19
+ } : {
20
+ name: "17qwk4",
21
+ styles: "padding:0 32px",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ });
24
+ var StyledCurrentPage = /*#__PURE__*/_styled__default.default("span", {
25
+ target: "ecog5a40"
26
+ })("color:", function (_ref) {
27
+ var fontColor = _ref.fontColor;
28
+ return fontColor;
29
+ }, ";");
30
+ var LayoutFooterPaging = function LayoutFooterPaging(_ref2) {
31
+ var currentPage = _ref2.currentPage,
32
+ totalPage = _ref2.totalPage;
33
+ var theme = material.useTheme();
34
+ return jsxRuntime.jsxs(FooterPagination, {
35
+ variant: "pagination",
36
+ sx: {
37
+ color: "#D8D8E2"
38
+ },
39
+ children: [jsxRuntime.jsx(StyledCurrentPage, {
40
+ fontColor: theme.palette.primary.main,
41
+ children: currentPage
42
+ }), " ", "/ ", totalPage]
43
+ });
44
+ };
45
+
46
+ exports.default = LayoutFooterPaging;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const LayoutFooterSubmit: React.FC;
3
+ export default LayoutFooterSubmit;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var material = require('@mui/material');
7
+ var Button = require('../../button/Button.js');
8
+
9
+ var LayoutFooterSubmit = function LayoutFooterSubmit() {
10
+ return jsxRuntime.jsxs(material.Stack, {
11
+ direction: "row",
12
+ spacing: 1,
13
+ children: [jsxRuntime.jsx(Button.default, {
14
+ variant: "outlined",
15
+ children: "\uB2E4\uC2DC\uD558\uAE30"
16
+ }), jsxRuntime.jsx(Button.default, {
17
+ children: "\uC81C\uCD9C\uD558\uAE30"
18
+ })]
19
+ });
20
+ };
21
+
22
+ exports.default = LayoutFooterSubmit;
@@ -0,0 +1,3 @@
1
+ export { default as LayoutFooterPaging } from './LayoutFooterPaging';
2
+ export { default as LayoutFooterSubmit } from './LayoutFooterSubmit';
3
+ export type { LayoutFooterPagingProps } from './LayoutFooterPaging';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var LayoutFooterPaging = require('./LayoutFooterPaging.js');
4
+ var LayoutFooterSubmit = require('./LayoutFooterSubmit.js');
5
+
6
+
7
+
8
+ exports.LayoutFooterPaging = LayoutFooterPaging.default;
9
+ exports.LayoutFooterSubmit = LayoutFooterSubmit.default;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface LayoutHeaderSubTitleProps {
3
+ children: React.ReactNode;
4
+ }
5
+ declare const LayoutHeaderSubTitle: ({ children }: LayoutHeaderSubTitleProps) => JSX.Element;
6
+ export default LayoutHeaderSubTitle;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ var menu = require('@base-ui-components/react/menu');
9
+ var material = require('@mui/material');
10
+ var IconButton = require('../../icon-button/IconButton.js');
11
+ require('tslib');
12
+ var MoreColumn = require('../../../icons/MoreColumn.js');
13
+ var bluepurple = require('../../../tokens/colors/bluepurple.js');
14
+ var useAIDTMediaQuery = require('../../../hooks/useAIDTMediaQuery.js');
15
+
16
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
+
20
+ var _templateObject, _templateObject2, _templateObject3;
21
+ var StyledPopup = material.styled(menu.Menu.Popup)(_templateObject || (_templateObject = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n min-width: 150px;\n background: transparent;\n padding-top: 10px;\n border-radius: 8px;\n"])));
22
+ var StyledMenuItem = material.styled(menu.Menu.Item)(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: column;\n"])));
23
+ var StyledMoreTrigger = material.styled(menu.Menu.Trigger)(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers.taggedTemplateLiteral(["\n border: none;\n background-color: #fff;\n padding: 0;\n"])));
24
+ var LayoutHeaderSubTitle = function LayoutHeaderSubTitle(_ref) {
25
+ var children = _ref.children;
26
+ var _useState = React.useState(false),
27
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
28
+ menuOpen = _useState2[0],
29
+ setMenuOpen = _useState2[1];
30
+ var _useAIDTMediaQuery = useAIDTMediaQuery.default(),
31
+ isTablet = _useAIDTMediaQuery.isTablet; // ✅ 반응형 적용
32
+ return jsxRuntime.jsx(material.Stack, {
33
+ direction: "row",
34
+ spacing: 2,
35
+ alignItems: "center",
36
+ children: isTablet ? jsxRuntime.jsxs(menu.Menu.Root, {
37
+ open: menuOpen,
38
+ onOpenChange: setMenuOpen,
39
+ children: [jsxRuntime.jsx(StyledMoreTrigger, {
40
+ children: jsxRuntime.jsx(IconButton.default, {
41
+ width: 48,
42
+ height: 48,
43
+ backgroundColor: bluepurple.bluepurple[100],
44
+ borderRadius: 12,
45
+ children: jsxRuntime.jsx(MoreColumn.default, {})
46
+ })
47
+ }), jsxRuntime.jsx(menu.Menu.Portal, {
48
+ children: jsxRuntime.jsx(menu.Menu.Positioner, {
49
+ align: "start",
50
+ children: jsxRuntime.jsxs(StyledPopup, {
51
+ children: [jsxRuntime.jsx(menu.Menu.Arrow, {}), React__default.default.Children.map(children, function (child, index) {
52
+ return jsxRuntime.jsx(StyledMenuItem, {
53
+ children: child
54
+ }, index);
55
+ })]
56
+ })
57
+ })
58
+ })]
59
+ }) : children
60
+ });
61
+ };
62
+
63
+ exports.default = LayoutHeaderSubTitle;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export interface LayoutHeaderTitleProps {
3
+ children?: React.ReactNode;
4
+ titleComponent?: React.ReactNode;
5
+ }
6
+ declare const LayoutHeaderTitle: ({ children, titleComponent }: LayoutHeaderTitleProps) => JSX.Element;
7
+ export default LayoutHeaderTitle;
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _styled = require('@emotion/styled/base');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var material = require('@mui/material');
8
+
9
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
+
11
+ var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
12
+
13
+ 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)."; }
14
+ var StyledTitle = /*#__PURE__*/_styled__default.default(material.Stack, {
15
+ target: "e1to23d41"
16
+ })("flex-shrink:0;width:fit-content;background-color:", function (_ref) {
17
+ var bgColor = _ref.bgColor;
18
+ return bgColor;
19
+ }, ";position:relative;top:auto;box-sizing:border-box;padding-top:17px;border-radius:0 0 26px 26px;");
20
+ var Title = /*#__PURE__*/_styled__default.default(material.Typography, {
21
+ target: "e1to23d40"
22
+ })("production" === "production" ? {
23
+ name: "v13ytb",
24
+ styles: "border-top:1px dashed #fff;height:100%;display:flex;justify-content:center;padding:11px 24px;text-align:center;color:#fff"
25
+ } : {
26
+ name: "v13ytb",
27
+ styles: "border-top:1px dashed #fff;height:100%;display:flex;justify-content:center;padding:11px 24px;text-align:center;color:#fff",
28
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
+ });
30
+ var LayoutHeaderTitle = function LayoutHeaderTitle(_ref2) {
31
+ var children = _ref2.children,
32
+ titleComponent = _ref2.titleComponent;
33
+ var theme = material.useTheme();
34
+ return jsxRuntime.jsx(StyledTitle, {
35
+ bgColor: theme.palette.secondary.main,
36
+ children: titleComponent ? titleComponent : typeof children === "string" ? jsxRuntime.jsx(Title, {
37
+ variant: "h1",
38
+ children: children
39
+ }) : children
40
+ });
41
+ };
42
+
43
+ exports.default = LayoutHeaderTitle;
@@ -0,0 +1,4 @@
1
+ export { default as LayoutHeaderSubTitle } from './LayoutHeaderSubTitle';
2
+ export { default as LayoutHeaderTitle } from './LayoutHeaderTitle';
3
+ export type { LayoutHeaderSubTitleProps } from './LayoutHeaderSubTitle';
4
+ export type { LayoutHeaderTitleProps } from './LayoutHeaderTitle';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var LayoutHeaderSubTitle = require('./LayoutHeaderSubTitle.js');
4
+ var LayoutHeaderTitle = require('./LayoutHeaderTitle.js');
5
+
6
+
7
+
8
+ exports.LayoutHeaderSubTitle = LayoutHeaderSubTitle.default;
9
+ exports.LayoutHeaderTitle = LayoutHeaderTitle.default;