@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.
- package/README.ko.md +117 -0
- package/README.md +117 -0
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +8 -0
- package/cjs/components/button/Button.js +7 -3
- package/cjs/components/chat/Chat.js +4 -3
- package/cjs/components/dotted-pagination/DottedPagination.js +2 -1
- package/cjs/components/icon-button/IconButton.d.ts +5 -1
- package/cjs/components/icon-button/IconButton.js +13 -5
- package/cjs/components/index.d.ts +1 -0
- package/cjs/components/index.js +2 -0
- package/cjs/components/layout/Footer/LayoutFooterPaging.d.ts +7 -0
- package/cjs/components/layout/Footer/LayoutFooterPaging.js +46 -0
- package/cjs/components/layout/Footer/LayoutFooterSubmit.d.ts +3 -0
- package/cjs/components/layout/Footer/LayoutFooterSubmit.js +22 -0
- package/cjs/components/layout/Footer/index.d.ts +3 -0
- package/cjs/components/layout/Footer/index.js +9 -0
- package/cjs/components/layout/Header/LayoutHeaderSubTitle.d.ts +6 -0
- package/cjs/components/layout/Header/LayoutHeaderSubTitle.js +63 -0
- package/cjs/components/layout/Header/LayoutHeaderTitle.d.ts +7 -0
- package/cjs/components/layout/Header/LayoutHeaderTitle.js +43 -0
- package/cjs/components/layout/Header/index.d.ts +4 -0
- package/cjs/components/layout/Header/index.js +9 -0
- package/cjs/components/layout/Layout.d.ts +27 -12
- package/cjs/components/layout/Layout.js +97 -176
- package/cjs/components/layout/layout-pagination/LayoutPagination.d.ts +8 -0
- package/cjs/components/layout/layout-pagination/LayoutPagination.js +44 -0
- package/cjs/components/layout/layout-pagination/index.d.ts +2 -0
- package/cjs/components/layout/layout-pagination/index.js +7 -0
- package/cjs/components/pagination-button/PaginationButton.d.ts +9 -0
- package/cjs/components/pagination-button/PaginationButton.js +40 -0
- package/cjs/components/pagination-button/index.d.ts +1 -0
- package/cjs/components/pagination-button/index.js +7 -0
- package/cjs/components/selection/Selection.d.ts +2 -1
- package/cjs/components/selection/Selection.js +19 -14
- package/cjs/components/subtitle-button/SubtitleButton.d.ts +7 -0
- package/cjs/components/subtitle-button/SubtitleButton.js +45 -0
- package/cjs/components/subtitle-button/index.d.ts +1 -0
- package/cjs/components/subtitle-button/index.js +7 -0
- package/cjs/components/tokenColorTemporary.js +0 -4
- package/cjs/components/tooltip/Tooltip.js +1 -1
- package/cjs/hooks/index.d.ts +1 -0
- package/cjs/hooks/index.js +4 -0
- package/cjs/hooks/useAIDTMediaQuery.d.ts +8 -0
- package/cjs/hooks/useAIDTMediaQuery.js +24 -0
- package/cjs/icons/ArrowLeft.js +4 -4
- package/cjs/icons/ArrowRight.js +6 -13
- package/cjs/icons/MoreColumn.d.ts +3 -0
- package/cjs/icons/MoreColumn.js +28 -0
- package/cjs/icons/QuestionBubble.d.ts +3 -0
- package/cjs/icons/QuestionBubble.js +28 -0
- package/cjs/icons/SearchIcon.d.ts +3 -0
- package/cjs/icons/SearchIcon.js +28 -0
- package/cjs/icons/_types.d.ts +4 -0
- package/cjs/icons/index.d.ts +3 -0
- package/cjs/icons/index.js +6 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +29 -0
- package/cjs/theme/createAIDTTheme.d.ts +17 -0
- package/cjs/tokens/breakpoints/breakpoints.d.ts +1 -1
- package/cjs/tokens/breakpoints/breakpoints.js +1 -1
- package/cjs/typography/typography.d.ts +24 -112
- package/cjs/typography/typography.js +54 -135
- package/es/_virtual/_rollupPluginBabelHelpers.js +8 -1
- package/es/components/button/Button.js +7 -3
- package/es/components/icon-button/IconButton.d.ts +5 -1
- package/es/components/icon-button/IconButton.js +13 -5
- package/es/components/index.d.ts +1 -0
- package/es/components/index.js +2 -1
- package/es/components/layout/Footer/LayoutFooterPaging.d.ts +7 -0
- package/es/components/layout/Footer/LayoutFooterPaging.js +38 -0
- package/es/components/layout/Footer/LayoutFooterSubmit.d.ts +3 -0
- package/es/components/layout/Footer/LayoutFooterSubmit.js +18 -0
- package/es/components/layout/Footer/index.d.ts +3 -0
- package/es/components/layout/Footer/index.js +2 -0
- package/es/components/layout/Header/LayoutHeaderSubTitle.d.ts +6 -0
- package/es/components/layout/Header/LayoutHeaderSubTitle.js +54 -0
- package/es/components/layout/Header/LayoutHeaderTitle.d.ts +7 -0
- package/es/components/layout/Header/LayoutHeaderTitle.js +35 -0
- package/es/components/layout/Header/index.d.ts +4 -0
- package/es/components/layout/Header/index.js +2 -0
- package/es/components/layout/Layout.d.ts +27 -12
- package/es/components/layout/Layout.js +99 -177
- package/es/components/layout/layout-pagination/LayoutPagination.d.ts +8 -0
- package/es/components/layout/layout-pagination/LayoutPagination.js +36 -0
- package/es/components/layout/layout-pagination/index.d.ts +2 -0
- package/es/components/layout/layout-pagination/index.js +1 -0
- package/es/components/pagination-button/PaginationButton.d.ts +9 -0
- package/es/components/pagination-button/PaginationButton.js +31 -0
- package/es/components/pagination-button/index.d.ts +1 -0
- package/es/components/pagination-button/index.js +1 -0
- package/es/components/selection/Selection.d.ts +2 -1
- package/es/components/selection/Selection.js +16 -12
- package/es/components/subtitle-button/SubtitleButton.d.ts +7 -0
- package/es/components/subtitle-button/SubtitleButton.js +41 -0
- package/es/components/subtitle-button/index.d.ts +1 -0
- package/es/components/subtitle-button/index.js +1 -0
- package/es/components/tokenColorTemporary.js +1 -3
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.js +1 -0
- package/es/hooks/useAIDTMediaQuery.d.ts +8 -0
- package/es/hooks/useAIDTMediaQuery.js +20 -0
- package/es/icons/ArrowLeft.js +4 -4
- package/es/icons/ArrowRight.js +6 -13
- package/es/icons/MoreColumn.d.ts +3 -0
- package/es/icons/MoreColumn.js +24 -0
- package/es/icons/QuestionBubble.d.ts +3 -0
- package/es/icons/QuestionBubble.js +24 -0
- package/es/icons/SearchIcon.d.ts +3 -0
- package/es/icons/SearchIcon.js +24 -0
- package/es/icons/_types.d.ts +4 -0
- package/es/icons/index.d.ts +3 -0
- package/es/icons/index.js +3 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +14 -0
- package/es/theme/createAIDTTheme.d.ts +17 -0
- package/es/tokens/breakpoints/breakpoints.d.ts +1 -1
- package/es/tokens/breakpoints/breakpoints.js +1 -1
- package/es/typography/typography.d.ts +24 -112
- package/es/typography/typography.js +54 -135
- package/package.json +2 -1
- package/cjs/components/layout/bg_pattern.png.js +0 -7
- 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
|
-
|
|
24
|
-
|
|
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: "
|
|
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
|
-
|
|
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, {
|
package/cjs/components/index.js
CHANGED
|
@@ -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,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,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,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,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;
|