@liujip0/components 0.0.0 → 0.1.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.md +2 -68
- package/dist/Input.module-D9zadJal.js +13 -0
- package/dist/assets/Button.css +1 -1
- package/dist/assets/Counter.css +1 -0
- package/dist/assets/Dialog.css +1 -0
- package/dist/assets/Divider.css +1 -0
- package/dist/assets/IconButton.css +1 -1
- package/dist/assets/Input.css +1 -0
- package/dist/assets/Radio.css +1 -0
- package/dist/assets/RadioGroup.css +1 -0
- package/dist/assets/Select.css +1 -0
- package/dist/assets/Snackbar.css +1 -0
- package/dist/assets/TabBar.css +1 -0
- package/dist/assets/Table.css +1 -0
- package/dist/assets/Tabs.css +1 -0
- package/dist/assets/ToggleButton.css +1 -1
- package/dist/assets/ToggleButtonGroup.css +1 -1
- package/dist/assets/Tooltip.css +1 -0
- package/dist/assets/main.css +1 -0
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/Button/IconButton/IconButton.js +4 -4
- package/dist/components/Button/ToggleButton/ToggleButton.js +15 -15
- package/dist/components/Button/ToggleButton/ToggleButtonGroup.js +14 -14
- package/dist/components/Dialog/Dialog.d.ts +19 -0
- package/dist/components/Dialog/Dialog.js +44 -0
- package/dist/components/Divider/Divider.d.ts +5 -0
- package/dist/components/Divider/Divider.js +17 -0
- package/dist/components/Input/Checkbox/Checkbox.d.ts +9 -0
- package/dist/components/Input/Checkbox/Checkbox.js +51 -0
- package/dist/components/Input/Counter/Counter.d.ts +11 -0
- package/dist/components/Input/Counter/Counter.js +57 -0
- package/dist/components/Input/Input.d.ts +17 -0
- package/dist/components/Input/Input.js +63 -0
- package/dist/components/Input/Radio/Radio.d.ts +10 -0
- package/dist/components/Input/Radio/Radio.js +53 -0
- package/dist/components/Input/Radio/RadioGroup.d.ts +13 -0
- package/dist/components/Input/Radio/RadioGroup.js +41 -0
- package/dist/components/Input/Select/Select.d.ts +14 -0
- package/dist/components/Input/Select/Select.js +63 -0
- package/dist/components/Input/TextArea.d.ts +15 -0
- package/dist/components/Input/TextArea.js +56 -0
- package/dist/components/Snackbar/Snackbar.d.ts +9 -0
- package/dist/components/Snackbar/Snackbar.js +28 -0
- package/dist/components/Table/Table.d.ts +18 -0
- package/dist/components/Table/Table.js +25 -0
- package/dist/components/Tabs/TabBar.d.ts +7 -0
- package/dist/components/Tabs/TabBar.js +22 -0
- package/dist/components/Tabs/Tabs.d.ts +5 -0
- package/dist/components/Tabs/Tabs.js +26 -0
- package/dist/components/Tooltip/Tooltip.d.ts +7 -0
- package/dist/components/Tooltip/Tooltip.js +42 -0
- package/dist/main.d.ts +14 -0
- package/dist/main.js +43 -9
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1,69 +1,3 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @liujip0/components
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Currently, two official plugins are available:
|
|
6
|
-
|
|
7
|
-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
|
|
8
|
-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
|
|
9
|
-
|
|
10
|
-
## Expanding the ESLint configuration
|
|
11
|
-
|
|
12
|
-
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
|
|
13
|
-
|
|
14
|
-
```js
|
|
15
|
-
export default tseslint.config([
|
|
16
|
-
globalIgnores(['dist']),
|
|
17
|
-
{
|
|
18
|
-
files: ['**/*.{ts,tsx}'],
|
|
19
|
-
extends: [
|
|
20
|
-
// Other configs...
|
|
21
|
-
|
|
22
|
-
// Remove tseslint.configs.recommended and replace with this
|
|
23
|
-
...tseslint.configs.recommendedTypeChecked,
|
|
24
|
-
// Alternatively, use this for stricter rules
|
|
25
|
-
...tseslint.configs.strictTypeChecked,
|
|
26
|
-
// Optionally, add this for stylistic rules
|
|
27
|
-
...tseslint.configs.stylisticTypeChecked,
|
|
28
|
-
|
|
29
|
-
// Other configs...
|
|
30
|
-
],
|
|
31
|
-
languageOptions: {
|
|
32
|
-
parserOptions: {
|
|
33
|
-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
34
|
-
tsconfigRootDir: import.meta.dirname,
|
|
35
|
-
},
|
|
36
|
-
// other options...
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
])
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
|
|
43
|
-
|
|
44
|
-
```js
|
|
45
|
-
// eslint.config.js
|
|
46
|
-
import reactX from 'eslint-plugin-react-x'
|
|
47
|
-
import reactDom from 'eslint-plugin-react-dom'
|
|
48
|
-
|
|
49
|
-
export default tseslint.config([
|
|
50
|
-
globalIgnores(['dist']),
|
|
51
|
-
{
|
|
52
|
-
files: ['**/*.{ts,tsx}'],
|
|
53
|
-
extends: [
|
|
54
|
-
// Other configs...
|
|
55
|
-
// Enable lint rules for React
|
|
56
|
-
reactX.configs['recommended-typescript'],
|
|
57
|
-
// Enable lint rules for React DOM
|
|
58
|
-
reactDom.configs.recommended,
|
|
59
|
-
],
|
|
60
|
-
languageOptions: {
|
|
61
|
-
parserOptions: {
|
|
62
|
-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
63
|
-
tsconfigRootDir: import.meta.dirname,
|
|
64
|
-
},
|
|
65
|
-
// other options...
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
])
|
|
69
|
-
```
|
|
3
|
+
Just a simple components library for my own personal use!
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import './assets/Input.css';const e = "_container_82euj_1", t = "_outline_82euj_6", r = "_errorOutline_82euj_18", n = "_input_82euj_22", _ = "_inputDisabled_82euj_38", l = "_helperText_82euj_42", o = "_helperTextError_82euj_49", u = "_label_82euj_53", i = {
|
|
2
|
+
container: e,
|
|
3
|
+
outline: t,
|
|
4
|
+
errorOutline: r,
|
|
5
|
+
input: n,
|
|
6
|
+
inputDisabled: _,
|
|
7
|
+
helperText: l,
|
|
8
|
+
helperTextError: o,
|
|
9
|
+
label: u
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
i as s
|
|
13
|
+
};
|
package/dist/assets/Button.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_7qhy4_1{min-width:64px;padding:6px 16px;border:none;border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;gap:4px;font-size:1.25rem;font-family:var(--text-font-family);text-transform:uppercase;font-weight:500;line-height:1.75;letter-spacing:.02857em;cursor:pointer}._button_7qhy4_1:hover{filter:var(--hover-dim)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_whykh_1{display:flex;align-items:flex-end}._button_whykh_6{height:var(--input-height);width:var(--input-height);min-width:0;min-height:0;background-color:var(--color-primary);color:var(--color-primary-contrastText);border:none}._buttonDisabled_whykh_16{background-color:color-mix(in srgb,var(--color-primary) 50%,#888);cursor:default}._buttonDisabled_whykh_16:hover{filter:none}._input_whykh_24{flex:1}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._screenDarken_17c5i_1{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:var(--z-index-modal)}._dialog_17c5i_16{max-width:80vw;max-height:80vh;display:flex;flex-direction:column;padding:24px;background-color:var(--color-paper-background);border-radius:var(--border-radius);border:var(--button-border-width) solid var(--color-primary)}._dialogTitle_17c5i_28{margin-bottom:16px;font-family:var(--text-font-family);font-size:var(--text-h2-size)}._dialogContent_17c5i_35{flex:1;overflow-y:auto}._dialogActions_17c5i_40{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._divider_nvu4k_1{border-width:.5px;border-style:solid;border-color:var(--color-primary);margin:8px}._horizontalDivider_nvu4k_8{width:100%;height:0}._verticalDivider_nvu4k_13{height:100%;width:0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_rs8jj_1{display:flex;align-items:center;justify-content:center;padding:6px;border:none;color:var(--color-primary);background-color:var(--color-background);cursor:pointer;clip-path:circle(50%)}._button_rs8jj_1:hover{filter:var(--hover-dim)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_82euj_1{display:flex;flex-direction:column}._outline_82euj_6{display:flex;padding:4px 8px;gap:4px;align-items:center;width:100%;border-width:var(--button-border-width);border-style:solid;border-color:var(--color-primary);border-radius:var(--border-radius)}._errorOutline_82euj_18{border-color:var(--color-error)}._input_82euj_22{min-width:1em;flex:1;padding:6px;width:100%;height:100%;border:none;background-color:transparent;color:var(--color-background-contrastText);font-family:var(--text-font-family);font-size:var(--text-body-size)}._input_82euj_22:focus{outline:none}._inputDisabled_82euj_38{color:color-mix(in srgb,var(--color-background-contrastText) 50%,#888)}._helperText_82euj_42{margin:4px 8px;font-family:var(--text-font-family);font-size:.75em;color:var(--color-primary)}._helperTextError_82euj_49{color:var(--color-error)}._label_82euj_53{font-family:var(--text-font-family);font-size:var(--text-label-size)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_bc6cu_1{display:flex;align-items:center;gap:8px}._label_bc6cu_7{font-family:var(--text-font-family);font-size:var(--text-body-size);cursor:pointer}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_qo0l5_1{display:flex;flex-direction:column}._outline_qo0l5_6{display:flex;flex-direction:column;gap:4px}._label_qo0l5_12{font-family:var(--text-font-family);font-size:var(--text-label-size)}._helperText_qo0l5_17{margin:4px 8px;font-family:var(--text-font-family);font-size:.75em;color:var(--color-primary)}._helperTextError_qo0l5_24{color:var(--color-error)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_6qy7m_1{display:flex;flex-direction:column}._outline_6qy7m_6{display:flex;padding:4px 8px;gap:4px;align-items:center;width:100%;border-width:1px;border-style:solid;border-color:var(--color-primary);border-radius:var(--border-radius)}._errorOutline_6qy7m_18{border-color:var(--color-error)}._select_6qy7m_22{min-width:1em;flex:1;padding:6px;border:none;background-color:transparent;color:var(--color-background-contrastText);font-family:var(--text-font-family);font-size:var(--text-body-size)}._select_6qy7m_22:focus{outline:none}._selectDisabled_6qy7m_36{color:color-mix(in srgb,var(--color-background-contrastText) 50%,#888)}._helperText_6qy7m_40{margin:4px 8px;font-family:var(--text-font-family);font-size:.75em;color:var(--color-primary)}._helperTextError_6qy7m_47{color:var(--color-error)}._label_6qy7m_51{font-family:var(--text-font-family);font-size:var(--text-label-size)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._snackbar_b5ton_1{position:fixed;bottom:16px;left:16px;display:flex;gap:16px;padding:8px 16px;align-items:center;max-width:500px;z-index:var(--z-index-snackbar);background-color:var(--color-paper-background);border:var(--button-border-width) solid var(--color-primary);border-radius:var(--border-radius)}._message_b5ton_17{font-family:var(--text-font-family);font-size:var(--text-label-size);color:var(--color-paper-background-contrastText)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._tabBar_1gpqs_1{display:flex;width:100%}._tab_1gpqs_1{padding:.5em;cursor:pointer;color:var(--color-primary);font-family:var(--text-font-family);font-size:var(--text-body-size);text-transform:uppercase;font-weight:500;background-color:var(--color-background)}._tab_1gpqs_1:hover{filter:var(--hover-dim)}._activeTab_1gpqs_20{font-weight:700;border-bottom:4px solid var(--color-primary)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._table_1sfmn_1{--table-cell-padding: 8px;--table-border-width: 3px;--table-cell-border-width: 2px;border-collapse:separate;border:var(--table-border-width) solid var(--color-primary);border-spacing:0}._tableHead_1sfmn_11{position:sticky;top:var(--table-cell-border-width);z-index:1;background-color:var(--color-background);outline:var(--table-cell-border-width) solid var(--color-primary)}._th_1sfmn_20{padding:var(--table-cell-padding);font-family:var(--text-font-family);font-size:var(--text-body-size);font-weight:700;border-style:solid;border-color:var(--color-primary);border-width:var(--table-border-width) var(--table-cell-border-width)}._td_1sfmn_31{padding:var(--table-cell-padding);font-family:var(--text-font-family);font-size:var(--text-body-size);border:var(--table-cell-border-width) solid var(--color-primary)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_1q694_1{display:flex;flex-direction:column}._contentContainer_1q694_6{flex-grow:1}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._buttonFalse_1ssvl_1{color:var(--color-primary);border:var(--button-border-width) solid var(--color-primary);background-color:var(--color-background)}._buttonTrue_1ssvl_7{color:var(--color-primary-contrastText);border:none;background-color:var(--color-primary)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._container_12l5n_1{display:flex;flex-direction:column}._outline_12l5n_6{display:flex;gap:4px}._label_12l5n_11{font-family:var(--text-font-family);font-size:var(--text-label-size)}._helperText_12l5n_16{margin:4px 8px;font-family:var(--text-font-family);font-size:.75em;color:var(--color-primary)}._helperTextError_12l5n_23{color:var(--color-error)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._container_1rv9k_1{display:inline;position:static}._tooltipContainer_1rv9k_7{position:fixed;transform:translate(-50%)}._tooltip_1rv9k_7{position:absolute;padding:4px;left:-50%;background-color:#000;opacity:.8;z-index:var(--z-index-tooltip);border-radius:var(--border-radius);font-size:var(--text-label-size)}._tooltip_1rv9k_7:after{content:"";position:absolute}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.material-symbols-outlined{font-variation-settings:"FILL" 1}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import '../../../assets/IconButton.css';const u = "
|
|
2
|
+
import '../../../assets/IconButton.css';const u = "_button_rs8jj_1", r = {
|
|
3
3
|
button: u
|
|
4
4
|
};
|
|
5
|
-
function
|
|
5
|
+
function c({ children: t, className: o, ...n }) {
|
|
6
6
|
return /* @__PURE__ */ s(
|
|
7
7
|
"button",
|
|
8
8
|
{
|
|
9
|
-
className:
|
|
9
|
+
className: r.button + " " + (o || ""),
|
|
10
10
|
...n,
|
|
11
11
|
children: t
|
|
12
12
|
}
|
|
13
13
|
);
|
|
14
14
|
}
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
c as IconButton
|
|
17
17
|
};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Button as
|
|
3
|
-
import '../../../assets/ToggleButton.css';const
|
|
4
|
-
buttonFalse:
|
|
5
|
-
buttonTrue:
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { Button as b } from "../Button.js";
|
|
3
|
+
import '../../../assets/ToggleButton.css';const C = "_buttonFalse_1ssvl_1", _ = "_buttonTrue_1ssvl_7", e = {
|
|
4
|
+
buttonFalse: C,
|
|
5
|
+
buttonTrue: _
|
|
6
6
|
};
|
|
7
7
|
function m({
|
|
8
8
|
value: n,
|
|
9
9
|
children: o,
|
|
10
|
-
className:
|
|
11
|
-
classNameTrue:
|
|
12
|
-
classNameFalse:
|
|
13
|
-
disabled:
|
|
14
|
-
ref:
|
|
10
|
+
className: l,
|
|
11
|
+
classNameTrue: u,
|
|
12
|
+
classNameFalse: i,
|
|
13
|
+
disabled: s,
|
|
14
|
+
ref: c,
|
|
15
15
|
...t
|
|
16
16
|
}) {
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
-
|
|
17
|
+
return /* @__PURE__ */ a(
|
|
18
|
+
b,
|
|
19
19
|
{
|
|
20
|
-
ref:
|
|
21
|
-
className: (("selected" in t ? t.selected : n) ? e.buttonTrue + " " + (
|
|
20
|
+
ref: c,
|
|
21
|
+
className: (("selected" in t ? t.selected : n) ? e.buttonTrue + " " + (u || "") : e.buttonFalse + " " + (i || "")) + " " + (l || ""),
|
|
22
22
|
onClick: () => {
|
|
23
23
|
"onChange" in t && t.onChange !== void 0 ? t.onChange(!n) : "onClick" in t && t.onClick !== void 0 && t.onClick();
|
|
24
24
|
},
|
|
25
|
-
disabled:
|
|
25
|
+
disabled: s,
|
|
26
26
|
children: o
|
|
27
27
|
}
|
|
28
28
|
);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import '../../../assets/ToggleButtonGroup.css';const m = "
|
|
1
|
+
import { jsxs as u, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import n from "react";
|
|
3
|
+
import '../../../assets/ToggleButtonGroup.css';const m = "_container_12l5n_1", x = "_outline_12l5n_6", h = "_label_12l5n_11", T = "_helperText_12l5n_16", E = "_helperTextError_12l5n_23", r = {
|
|
4
4
|
container: m,
|
|
5
5
|
outline: x,
|
|
6
|
-
label:
|
|
7
|
-
helperText:
|
|
8
|
-
helperTextError:
|
|
6
|
+
label: h,
|
|
7
|
+
helperText: T,
|
|
8
|
+
helperTextError: E
|
|
9
9
|
};
|
|
10
|
-
function
|
|
11
|
-
value:
|
|
10
|
+
function v({
|
|
11
|
+
value: t,
|
|
12
12
|
onChange: o,
|
|
13
13
|
children: c,
|
|
14
14
|
label: s,
|
|
@@ -16,15 +16,15 @@ function f({
|
|
|
16
16
|
helperText: p,
|
|
17
17
|
className: a
|
|
18
18
|
}) {
|
|
19
|
-
const
|
|
20
|
-
selected:
|
|
19
|
+
const _ = n.Children.map(c, (e) => n.isValidElement(e) ? n.cloneElement(e, {
|
|
20
|
+
selected: t === e.props.value,
|
|
21
21
|
onClick: () => {
|
|
22
|
-
|
|
22
|
+
t === e.props.value ? o("") : o(e.props.value);
|
|
23
23
|
}
|
|
24
24
|
}) : e);
|
|
25
|
-
return /* @__PURE__ */
|
|
25
|
+
return /* @__PURE__ */ u("div", { className: r.container + " " + (a || ""), children: [
|
|
26
26
|
s && /* @__PURE__ */ l("p", { className: r.label, children: s }),
|
|
27
|
-
/* @__PURE__ */ l("div", { className: r.outline, children:
|
|
27
|
+
/* @__PURE__ */ l("div", { className: r.outline, children: _ }),
|
|
28
28
|
p && /* @__PURE__ */ l(
|
|
29
29
|
"p",
|
|
30
30
|
{
|
|
@@ -35,5 +35,5 @@ function f({
|
|
|
35
35
|
] });
|
|
36
36
|
}
|
|
37
37
|
export {
|
|
38
|
-
|
|
38
|
+
v as ToggleButtonGroup
|
|
39
39
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type DialogProps = {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onClose?: () => void;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare function Dialog({ open, onClose, children }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
type DialogTitleProps = {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
};
|
|
10
|
+
export declare function DialogTitle({ children }: DialogTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
type DialogContentProps = {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
};
|
|
14
|
+
export declare function DialogContent({ children }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
type DialogActionsProps = {
|
|
16
|
+
children: React.ReactNode;
|
|
17
|
+
};
|
|
18
|
+
export declare function DialogActions({ children }: DialogActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as o, Fragment as l } from "react/jsx-runtime";
|
|
2
|
+
import '../../assets/Dialog.css';const c = "_screenDarken_17c5i_1", s = "_dialog_17c5i_16", g = "_dialogTitle_17c5i_28", r = "_dialogContent_17c5i_35", d = "_dialogActions_17c5i_40", n = {
|
|
3
|
+
screenDarken: c,
|
|
4
|
+
dialog: s,
|
|
5
|
+
dialogTitle: g,
|
|
6
|
+
dialogContent: r,
|
|
7
|
+
dialogActions: d
|
|
8
|
+
};
|
|
9
|
+
function m({ open: i, onClose: t, children: a }) {
|
|
10
|
+
return i ? /* @__PURE__ */ o(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
className: n.screenDarken,
|
|
14
|
+
onClick: () => {
|
|
15
|
+
t && t();
|
|
16
|
+
},
|
|
17
|
+
children: /* @__PURE__ */ o(
|
|
18
|
+
"div",
|
|
19
|
+
{
|
|
20
|
+
className: n.dialog,
|
|
21
|
+
onClick: (e) => {
|
|
22
|
+
e.stopPropagation();
|
|
23
|
+
},
|
|
24
|
+
children: a
|
|
25
|
+
}
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
) : /* @__PURE__ */ o(l, {});
|
|
29
|
+
}
|
|
30
|
+
function u({ children: i }) {
|
|
31
|
+
return /* @__PURE__ */ o("h2", { className: n.dialogTitle, children: i });
|
|
32
|
+
}
|
|
33
|
+
function D({ children: i }) {
|
|
34
|
+
return /* @__PURE__ */ o("div", { className: n.dialogContent, children: i });
|
|
35
|
+
}
|
|
36
|
+
function f({ children: i }) {
|
|
37
|
+
return /* @__PURE__ */ o("div", { className: n.dialogActions, children: i });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
m as Dialog,
|
|
41
|
+
f as DialogActions,
|
|
42
|
+
D as DialogContent,
|
|
43
|
+
u as DialogTitle
|
|
44
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import '../../assets/Divider.css';const v = "_divider_nvu4k_1", d = "_horizontalDivider_nvu4k_8", t = "_verticalDivider_nvu4k_13", i = {
|
|
3
|
+
divider: v,
|
|
4
|
+
horizontalDivider: d,
|
|
5
|
+
verticalDivider: t
|
|
6
|
+
};
|
|
7
|
+
function n({ orientation: r }) {
|
|
8
|
+
return /* @__PURE__ */ e(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: i.divider + " " + (i[r] + "Divider")
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
n as Divider
|
|
17
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type CheckboxProps = {
|
|
2
|
+
value: boolean;
|
|
3
|
+
onChange: (value: boolean) => void;
|
|
4
|
+
id: string;
|
|
5
|
+
label?: string | React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function Checkbox({ value, onChange, id, label, className, }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { IconButton as i } from "../../Button/IconButton/IconButton.js";
|
|
3
|
+
import '../../../assets/Radio.css';const b = "_container_bc6cu_1", h = "_label_bc6cu_7", r = {
|
|
4
|
+
container: b,
|
|
5
|
+
label: h
|
|
6
|
+
};
|
|
7
|
+
function _({
|
|
8
|
+
value: c,
|
|
9
|
+
onChange: n,
|
|
10
|
+
id: l,
|
|
11
|
+
label: o,
|
|
12
|
+
className: a
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ t("div", { className: r.container, children: [
|
|
15
|
+
/* @__PURE__ */ t(
|
|
16
|
+
i,
|
|
17
|
+
{
|
|
18
|
+
className: a,
|
|
19
|
+
onClick: () => {
|
|
20
|
+
n(!c);
|
|
21
|
+
},
|
|
22
|
+
children: [
|
|
23
|
+
c ? /* @__PURE__ */ e("span", { className: "material-symbols-outlined", children: "check_box" }) : /* @__PURE__ */ e("span", { className: "material-symbols-outlined", children: "check_box_outline_blank" }),
|
|
24
|
+
/* @__PURE__ */ e(
|
|
25
|
+
"input",
|
|
26
|
+
{
|
|
27
|
+
type: "checkbox",
|
|
28
|
+
id: l,
|
|
29
|
+
checked: c,
|
|
30
|
+
onChange: (s) => {
|
|
31
|
+
n(s.currentTarget.checked);
|
|
32
|
+
},
|
|
33
|
+
hidden: !0
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
o && /* @__PURE__ */ e(
|
|
40
|
+
"label",
|
|
41
|
+
{
|
|
42
|
+
htmlFor: l,
|
|
43
|
+
className: r.label,
|
|
44
|
+
children: o
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
] });
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
_ as Checkbox
|
|
51
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type CounterProps = {
|
|
2
|
+
value: number;
|
|
3
|
+
id: string;
|
|
4
|
+
increment: () => void;
|
|
5
|
+
decrement: () => void;
|
|
6
|
+
label: string;
|
|
7
|
+
max?: number;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare function Counter({ value, id, increment, decrement, label, max, disabled, }: CounterProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsxs as u, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { Button as e } from "../../Button/Button.js";
|
|
3
|
+
import { Input as m } from "../Input.js";
|
|
4
|
+
import '../../../assets/Counter.css';const b = "_container_whykh_1", h = "_button_whykh_6", p = "_buttonDisabled_whykh_16", _ = "_input_whykh_24", t = {
|
|
5
|
+
container: b,
|
|
6
|
+
button: h,
|
|
7
|
+
buttonDisabled: p,
|
|
8
|
+
input: _
|
|
9
|
+
};
|
|
10
|
+
function k({
|
|
11
|
+
value: s,
|
|
12
|
+
id: c,
|
|
13
|
+
increment: r,
|
|
14
|
+
decrement: a,
|
|
15
|
+
label: l,
|
|
16
|
+
max: i,
|
|
17
|
+
disabled: n = !1
|
|
18
|
+
}) {
|
|
19
|
+
return /* @__PURE__ */ u("div", { className: t.container, children: [
|
|
20
|
+
/* @__PURE__ */ o(
|
|
21
|
+
e,
|
|
22
|
+
{
|
|
23
|
+
className: t.button + " " + (n ? t.buttonDisabled : ""),
|
|
24
|
+
onClick: () => {
|
|
25
|
+
s > 0 && a();
|
|
26
|
+
},
|
|
27
|
+
disabled: n,
|
|
28
|
+
children: /* @__PURE__ */ o("span", { className: "material-symbols-outlined", children: "remove" })
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
/* @__PURE__ */ o(
|
|
32
|
+
m,
|
|
33
|
+
{
|
|
34
|
+
id: c,
|
|
35
|
+
value: s,
|
|
36
|
+
label: l,
|
|
37
|
+
disabled: n,
|
|
38
|
+
className: t.input,
|
|
39
|
+
type: "number"
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ o(
|
|
43
|
+
e,
|
|
44
|
+
{
|
|
45
|
+
className: t.button + " " + (n ? t.buttonDisabled : ""),
|
|
46
|
+
onClick: () => {
|
|
47
|
+
(i === void 0 || s < i) && r();
|
|
48
|
+
},
|
|
49
|
+
disabled: n,
|
|
50
|
+
children: /* @__PURE__ */ o("span", { className: "material-symbols-outlined", children: "add" })
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
k as Counter
|
|
57
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type InputProps = {
|
|
2
|
+
value: string | number;
|
|
3
|
+
onChange?: (event: string) => void;
|
|
4
|
+
type?: "text" | "password" | "email" | "number" | "search";
|
|
5
|
+
id: string;
|
|
6
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
7
|
+
startIcon?: React.ReactNode;
|
|
8
|
+
endIcon?: React.ReactNode;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
error?: boolean;
|
|
12
|
+
helperText?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
className?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function Input({ value, onChange, type, id, onKeyDown, startIcon, endIcon, placeholder, label, error, helperText, disabled, className, }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsxs as c, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { s as e } from "../../Input.module-D9zadJal.js";
|
|
3
|
+
function j({
|
|
4
|
+
value: m,
|
|
5
|
+
onChange: t,
|
|
6
|
+
type: o = "text",
|
|
7
|
+
id: l,
|
|
8
|
+
onKeyDown: u,
|
|
9
|
+
startIcon: p,
|
|
10
|
+
endIcon: h,
|
|
11
|
+
placeholder: x,
|
|
12
|
+
label: s,
|
|
13
|
+
error: n,
|
|
14
|
+
helperText: a,
|
|
15
|
+
disabled: i,
|
|
16
|
+
className: N
|
|
17
|
+
}) {
|
|
18
|
+
return /* @__PURE__ */ c("div", { className: e.container + " " + (N || ""), children: [
|
|
19
|
+
s && /* @__PURE__ */ r(
|
|
20
|
+
"label",
|
|
21
|
+
{
|
|
22
|
+
htmlFor: l,
|
|
23
|
+
className: e.label,
|
|
24
|
+
children: s
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
/* @__PURE__ */ c(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
className: e.outline + " " + (n ? e.errorOutline : ""),
|
|
31
|
+
children: [
|
|
32
|
+
p,
|
|
33
|
+
/* @__PURE__ */ r(
|
|
34
|
+
"input",
|
|
35
|
+
{
|
|
36
|
+
className: e.input + " " + (i ? e.inputDisabled : ""),
|
|
37
|
+
value: m,
|
|
38
|
+
onChange: (d) => {
|
|
39
|
+
t && t(d.currentTarget.value);
|
|
40
|
+
},
|
|
41
|
+
type: o,
|
|
42
|
+
id: l,
|
|
43
|
+
onKeyDown: u,
|
|
44
|
+
placeholder: x,
|
|
45
|
+
disabled: i
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
h
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
a && /* @__PURE__ */ r(
|
|
53
|
+
"p",
|
|
54
|
+
{
|
|
55
|
+
className: e.helperText + " " + (n ? e.helperTextError : ""),
|
|
56
|
+
children: a
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
] });
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
j as Input
|
|
63
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type RadioProps = {
|
|
2
|
+
selected?: boolean;
|
|
3
|
+
onChange?: (value: boolean) => void;
|
|
4
|
+
id: string;
|
|
5
|
+
value: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
label?: string | React.ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function Radio({ selected, onChange, name, id, label, className, }: RadioProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { IconButton as d } from "../../Button/IconButton/IconButton.js";
|
|
3
|
+
import '../../../assets/Radio.css';const m = "_container_bc6cu_1", u = "_label_bc6cu_7", i = {
|
|
4
|
+
container: m,
|
|
5
|
+
label: u
|
|
6
|
+
};
|
|
7
|
+
function h({
|
|
8
|
+
selected: n,
|
|
9
|
+
onChange: c,
|
|
10
|
+
name: o,
|
|
11
|
+
id: t,
|
|
12
|
+
label: r,
|
|
13
|
+
className: l
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ a("div", { className: i.container, children: [
|
|
16
|
+
/* @__PURE__ */ a(
|
|
17
|
+
d,
|
|
18
|
+
{
|
|
19
|
+
className: l,
|
|
20
|
+
onClick: () => {
|
|
21
|
+
c && c(!n);
|
|
22
|
+
},
|
|
23
|
+
children: [
|
|
24
|
+
n ? /* @__PURE__ */ e("span", { className: "material-symbols-outlined", children: "radio_button_checked" }) : /* @__PURE__ */ e("span", { className: "material-symbols-outlined", children: "radio_button_unchecked" }),
|
|
25
|
+
/* @__PURE__ */ e(
|
|
26
|
+
"input",
|
|
27
|
+
{
|
|
28
|
+
type: "radio",
|
|
29
|
+
name: o,
|
|
30
|
+
id: t,
|
|
31
|
+
checked: n,
|
|
32
|
+
onChange: (s) => {
|
|
33
|
+
c && c(s.currentTarget.checked);
|
|
34
|
+
},
|
|
35
|
+
hidden: !0
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
),
|
|
41
|
+
r && /* @__PURE__ */ e(
|
|
42
|
+
"label",
|
|
43
|
+
{
|
|
44
|
+
htmlFor: t,
|
|
45
|
+
className: i.label,
|
|
46
|
+
children: r
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
] });
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
h as Radio
|
|
53
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
type RadioGroupProps = {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
name: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
helperText?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
value: string;
|
|
10
|
+
onChange: (value: string) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare function RadioGroup({ children, name, label, error, helperText, className, value, onChange, }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsxs as h, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import o from "react";
|
|
3
|
+
import '../../../assets/RadioGroup.css';const x = "_container_qo0l5_1", d = "_outline_qo0l5_6", T = "_label_qo0l5_12", E = "_helperText_qo0l5_17", f = "_helperTextError_qo0l5_24", r = {
|
|
4
|
+
container: x,
|
|
5
|
+
outline: d,
|
|
6
|
+
label: T,
|
|
7
|
+
helperText: E,
|
|
8
|
+
helperTextError: f
|
|
9
|
+
};
|
|
10
|
+
function N({
|
|
11
|
+
children: a,
|
|
12
|
+
name: i,
|
|
13
|
+
label: t,
|
|
14
|
+
error: c,
|
|
15
|
+
helperText: n,
|
|
16
|
+
className: p,
|
|
17
|
+
value: _,
|
|
18
|
+
onChange: s
|
|
19
|
+
}) {
|
|
20
|
+
const m = o.Children.map(a, (e) => o.isValidElement(e) ? o.cloneElement(e, {
|
|
21
|
+
name: i,
|
|
22
|
+
selected: _ === e.props.value,
|
|
23
|
+
onChange: (u) => {
|
|
24
|
+
s(u ? e.props.value : "");
|
|
25
|
+
}
|
|
26
|
+
}) : e);
|
|
27
|
+
return /* @__PURE__ */ h("div", { className: r.container + " " + (p || ""), children: [
|
|
28
|
+
t && /* @__PURE__ */ l("p", { className: r.label, children: t }),
|
|
29
|
+
/* @__PURE__ */ l("div", { className: r.outline, children: m }),
|
|
30
|
+
n && /* @__PURE__ */ l(
|
|
31
|
+
"p",
|
|
32
|
+
{
|
|
33
|
+
className: r.helperText + " " + (c ? r.helperTextError : ""),
|
|
34
|
+
children: n
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
N as RadioGroup
|
|
41
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
type SelectProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
value: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
onChange?: (value: string) => void;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
helperText?: string;
|
|
11
|
+
error?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function Select({ id, value, children, className, label, onChange, disabled, helperText, error, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsxs as h, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import '../../../assets/Select.css';const p = "_container_6qy7m_1", u = "_outline_6qy7m_6", x = "_errorOutline_6qy7m_18", y = "_select_6qy7m_22", q = "_selectDisabled_6qy7m_36", b = "_helperText_6qy7m_40", d = "_helperTextError_6qy7m_47", T = "_label_6qy7m_51", e = {
|
|
4
|
+
container: p,
|
|
5
|
+
outline: u,
|
|
6
|
+
errorOutline: x,
|
|
7
|
+
select: y,
|
|
8
|
+
selectDisabled: q,
|
|
9
|
+
helperText: b,
|
|
10
|
+
helperTextError: d,
|
|
11
|
+
label: T
|
|
12
|
+
};
|
|
13
|
+
function E({
|
|
14
|
+
id: t,
|
|
15
|
+
value: i,
|
|
16
|
+
children: _,
|
|
17
|
+
className: a,
|
|
18
|
+
label: r,
|
|
19
|
+
onChange: s,
|
|
20
|
+
disabled: c,
|
|
21
|
+
helperText: n,
|
|
22
|
+
error: o
|
|
23
|
+
}) {
|
|
24
|
+
return /* @__PURE__ */ h("div", { className: e.container + " " + (a || ""), children: [
|
|
25
|
+
r && /* @__PURE__ */ l(
|
|
26
|
+
"label",
|
|
27
|
+
{
|
|
28
|
+
htmlFor: t,
|
|
29
|
+
className: e.label,
|
|
30
|
+
children: r
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
/* @__PURE__ */ l(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
className: e.outline + " " + (o ? e.errorOutline : ""),
|
|
37
|
+
children: /* @__PURE__ */ l(
|
|
38
|
+
"select",
|
|
39
|
+
{
|
|
40
|
+
id: t,
|
|
41
|
+
className: e.select + " " + (c ? e.selectDisabled : ""),
|
|
42
|
+
value: i,
|
|
43
|
+
onChange: (m) => {
|
|
44
|
+
s && s(m.target.value);
|
|
45
|
+
},
|
|
46
|
+
disabled: c,
|
|
47
|
+
children: _
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
n && /* @__PURE__ */ l(
|
|
53
|
+
"p",
|
|
54
|
+
{
|
|
55
|
+
className: e.helperText + " " + (o ? e.helperTextError : ""),
|
|
56
|
+
children: n
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
] });
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
E as Select
|
|
63
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type TextAreaProps = {
|
|
2
|
+
value: string | number;
|
|
3
|
+
onChange?: (event: string) => void;
|
|
4
|
+
id: string;
|
|
5
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
error?: boolean;
|
|
9
|
+
helperText?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
outlineClassName?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function TextArea({ value, onChange, id, onKeyDown, placeholder, label, error, helperText, disabled, className, outlineClassName, }: TextAreaProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs as x, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { s as e } from "../../Input.module-D9zadJal.js";
|
|
3
|
+
function f({
|
|
4
|
+
value: c,
|
|
5
|
+
onChange: a,
|
|
6
|
+
id: t,
|
|
7
|
+
onKeyDown: m,
|
|
8
|
+
placeholder: o,
|
|
9
|
+
label: l,
|
|
10
|
+
error: s,
|
|
11
|
+
helperText: i,
|
|
12
|
+
disabled: n,
|
|
13
|
+
className: u,
|
|
14
|
+
outlineClassName: p
|
|
15
|
+
}) {
|
|
16
|
+
return /* @__PURE__ */ x("div", { className: e.container + " " + (u || ""), children: [
|
|
17
|
+
l && /* @__PURE__ */ r(
|
|
18
|
+
"label",
|
|
19
|
+
{
|
|
20
|
+
htmlFor: t,
|
|
21
|
+
className: e.label,
|
|
22
|
+
children: l
|
|
23
|
+
}
|
|
24
|
+
),
|
|
25
|
+
/* @__PURE__ */ r(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: e.outline + " " + (s ? e.errorOutline : "") + " " + (p || ""),
|
|
29
|
+
children: /* @__PURE__ */ r(
|
|
30
|
+
"textarea",
|
|
31
|
+
{
|
|
32
|
+
className: e.input + " " + (n ? e.inputDisabled : ""),
|
|
33
|
+
value: c,
|
|
34
|
+
onChange: (h) => {
|
|
35
|
+
a && a(h.currentTarget.value);
|
|
36
|
+
},
|
|
37
|
+
id: t,
|
|
38
|
+
onKeyDown: m,
|
|
39
|
+
placeholder: o,
|
|
40
|
+
disabled: n
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
i && /* @__PURE__ */ r(
|
|
46
|
+
"p",
|
|
47
|
+
{
|
|
48
|
+
className: e.helperText + " " + (s ? e.helperTextError : ""),
|
|
49
|
+
children: i
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
f as TextArea
|
|
56
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type SnackbarProps = {
|
|
2
|
+
open: boolean;
|
|
3
|
+
autoHideDuration?: number;
|
|
4
|
+
onClose?: () => void;
|
|
5
|
+
message?: string;
|
|
6
|
+
action?: React.ReactNode;
|
|
7
|
+
};
|
|
8
|
+
export declare function Snackbar({ open, autoHideDuration, onClose, message, action, }: SnackbarProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsxs as i, jsx as c, Fragment as b } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as f } from "react";
|
|
3
|
+
import '../../assets/Snackbar.css';const _ = "_snackbar_b5ton_1", g = "_message_b5ton_17", a = {
|
|
4
|
+
snackbar: _,
|
|
5
|
+
message: g
|
|
6
|
+
};
|
|
7
|
+
function o({
|
|
8
|
+
open: s,
|
|
9
|
+
autoHideDuration: e,
|
|
10
|
+
onClose: r,
|
|
11
|
+
message: t,
|
|
12
|
+
action: m
|
|
13
|
+
}) {
|
|
14
|
+
return f(() => {
|
|
15
|
+
if (s && e && r) {
|
|
16
|
+
const n = setTimeout(() => {
|
|
17
|
+
r();
|
|
18
|
+
}, e);
|
|
19
|
+
return () => clearTimeout(n);
|
|
20
|
+
}
|
|
21
|
+
}, [s, e, r]), s ? /* @__PURE__ */ i("div", { className: a.snackbar, children: [
|
|
22
|
+
/* @__PURE__ */ c("p", { className: a.message, children: t }),
|
|
23
|
+
/* @__PURE__ */ c("div", { children: m })
|
|
24
|
+
] }) : /* @__PURE__ */ c(b, {});
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
o as Snackbar
|
|
28
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type TableProps = {
|
|
2
|
+
children?: React.ReactNode;
|
|
3
|
+
className?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function Table({ children, className }: TableProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
type TableHeadProps = {
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export declare function TableHead({ children }: TableHeadProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
type ThProps = {
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
};
|
|
13
|
+
export declare function Th({ children }: ThProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
type TdProps = {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
};
|
|
17
|
+
export declare function Td({ children }: TdProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import '../../assets/Table.css';const s = "_table_1sfmn_1", l = "_tableHead_1sfmn_11", c = "_th_1sfmn_20", d = "_td_1sfmn_31", a = {
|
|
3
|
+
table: s,
|
|
4
|
+
tableHead: l,
|
|
5
|
+
th: c,
|
|
6
|
+
td: d
|
|
7
|
+
};
|
|
8
|
+
function _({ children: t, className: n }) {
|
|
9
|
+
return /* @__PURE__ */ e("table", { className: a.table + " " + (n || ""), children: t });
|
|
10
|
+
}
|
|
11
|
+
function b({ children: t }) {
|
|
12
|
+
return /* @__PURE__ */ e("thead", { className: a.tableHead, children: t });
|
|
13
|
+
}
|
|
14
|
+
function r({ children: t }) {
|
|
15
|
+
return /* @__PURE__ */ e("th", { className: a.th, children: t });
|
|
16
|
+
}
|
|
17
|
+
function m({ children: t }) {
|
|
18
|
+
return /* @__PURE__ */ e("td", { className: a.td, children: t });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
_ as Table,
|
|
22
|
+
b as TableHead,
|
|
23
|
+
m as Td,
|
|
24
|
+
r as Th
|
|
25
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import '../../assets/TabBar.css';const i = "_tabBar_1gpqs_1", b = "_tab_1gpqs_1", n = "_activeTab_1gpqs_20", t = {
|
|
3
|
+
tabBar: i,
|
|
4
|
+
tab: b,
|
|
5
|
+
activeTab: n
|
|
6
|
+
};
|
|
7
|
+
function _({ value: s, onChange: r, tabs: e }) {
|
|
8
|
+
return /* @__PURE__ */ c("div", { className: t.tabBar, children: e.map((a) => /* @__PURE__ */ c(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: t.tab + " " + (a === s ? t.activeTab : ""),
|
|
12
|
+
onClick: () => {
|
|
13
|
+
r(a);
|
|
14
|
+
},
|
|
15
|
+
children: a
|
|
16
|
+
},
|
|
17
|
+
a
|
|
18
|
+
)) });
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
_ as TabBar
|
|
22
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as s } from "react";
|
|
3
|
+
import { TabBar as i } from "./TabBar.js";
|
|
4
|
+
import '../../assets/Tabs.css';const m = "_container_1q694_1", l = "_contentContainer_1q694_6", o = {
|
|
5
|
+
container: m,
|
|
6
|
+
contentContainer: l
|
|
7
|
+
};
|
|
8
|
+
function b({ tabs: n }) {
|
|
9
|
+
const [t, r] = s(Object.keys(n)[0]);
|
|
10
|
+
return /* @__PURE__ */ a("div", { className: o.container, children: [
|
|
11
|
+
/* @__PURE__ */ e(
|
|
12
|
+
i,
|
|
13
|
+
{
|
|
14
|
+
value: t,
|
|
15
|
+
onChange: (c) => {
|
|
16
|
+
r(c);
|
|
17
|
+
},
|
|
18
|
+
tabs: Object.keys(n)
|
|
19
|
+
}
|
|
20
|
+
),
|
|
21
|
+
/* @__PURE__ */ e("div", { className: o.contentContainer, children: n[t] })
|
|
22
|
+
] });
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
b as Tabs
|
|
26
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs as v, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import i from "react";
|
|
3
|
+
import '../../assets/Tooltip.css';const _ = "_container_1rv9k_1", m = "_tooltipContainer_1rv9k_7", f = "_tooltip_1rv9k_7", t = {
|
|
4
|
+
container: _,
|
|
5
|
+
tooltipContainer: m,
|
|
6
|
+
tooltip: f
|
|
7
|
+
};
|
|
8
|
+
function y({ content: s, children: l }) {
|
|
9
|
+
const [r, o] = i.useState(!1), [a, c] = i.useState(
|
|
10
|
+
{}
|
|
11
|
+
), p = (d) => {
|
|
12
|
+
const e = d.currentTarget.getBoundingClientRect();
|
|
13
|
+
c({
|
|
14
|
+
top: e.bottom,
|
|
15
|
+
left: e.left
|
|
16
|
+
}), o(!0);
|
|
17
|
+
}, u = () => {
|
|
18
|
+
o(!1);
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ v(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
className: t.container,
|
|
24
|
+
onMouseEnter: p,
|
|
25
|
+
onMouseLeave: u,
|
|
26
|
+
children: [
|
|
27
|
+
l,
|
|
28
|
+
r && /* @__PURE__ */ n(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
className: t.tooltipContainer,
|
|
32
|
+
style: a,
|
|
33
|
+
children: /* @__PURE__ */ n("div", { className: t.tooltip, children: s })
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
y as Tooltip
|
|
42
|
+
};
|
package/dist/main.d.ts
CHANGED
|
@@ -2,3 +2,17 @@ export { Button } from './components/Button/Button.tsx';
|
|
|
2
2
|
export { IconButton } from './components/Button/IconButton/IconButton.tsx';
|
|
3
3
|
export { ToggleButton } from './components/Button/ToggleButton/ToggleButton.tsx';
|
|
4
4
|
export { ToggleButtonGroup } from './components/Button/ToggleButton/ToggleButtonGroup.tsx';
|
|
5
|
+
export { Dialog, DialogActions, DialogContent, DialogTitle, } from './components/Dialog/Dialog.tsx';
|
|
6
|
+
export { Divider } from './components/Divider/Divider.tsx';
|
|
7
|
+
export { Input } from './components/Input/Input.tsx';
|
|
8
|
+
export { TextArea } from './components/Input/TextArea.tsx';
|
|
9
|
+
export { Checkbox } from './components/Input/Checkbox/Checkbox.tsx';
|
|
10
|
+
export { Counter } from './components/Input/Counter/Counter.tsx';
|
|
11
|
+
export { Radio } from './components/Input/Radio/Radio.tsx';
|
|
12
|
+
export { RadioGroup } from './components/Input/Radio/RadioGroup.tsx';
|
|
13
|
+
export { Select } from './components/Input/Select/Select.tsx';
|
|
14
|
+
export { Snackbar } from './components/Snackbar/Snackbar.tsx';
|
|
15
|
+
export { Table, TableHead, Td, Th } from './components/Table/Table.tsx';
|
|
16
|
+
export { TabBar } from './components/Tabs/TabBar.tsx';
|
|
17
|
+
export { Tabs } from './components/Tabs/Tabs.tsx';
|
|
18
|
+
export { Tooltip } from './components/Tooltip/Tooltip.tsx';
|
package/dist/main.js
CHANGED
|
@@ -1,10 +1,44 @@
|
|
|
1
|
-
import { Button as
|
|
2
|
-
import { IconButton as
|
|
3
|
-
import { ToggleButton as
|
|
4
|
-
import { ToggleButtonGroup as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Button as t } from "./components/Button/Button.js";
|
|
2
|
+
import { IconButton as p } from "./components/Button/IconButton/IconButton.js";
|
|
3
|
+
import { ToggleButton as f } from "./components/Button/ToggleButton/ToggleButton.js";
|
|
4
|
+
import { ToggleButtonGroup as a } from "./components/Button/ToggleButton/ToggleButtonGroup.js";
|
|
5
|
+
import { Dialog as l, DialogActions as n, DialogContent as T, DialogTitle as g } from "./components/Dialog/Dialog.js";
|
|
6
|
+
import { Divider as b } from "./components/Divider/Divider.js";
|
|
7
|
+
import { Input as d } from "./components/Input/Input.js";
|
|
8
|
+
import { TextArea as D } from "./components/Input/TextArea.js";
|
|
9
|
+
import { Checkbox as h } from "./components/Input/Checkbox/Checkbox.js";
|
|
10
|
+
import { Counter as s } from "./components/Input/Counter/Counter.js";
|
|
11
|
+
import { Radio as G } from "./components/Input/Radio/Radio.js";
|
|
12
|
+
import { RadioGroup as R } from "./components/Input/Radio/RadioGroup.js";
|
|
13
|
+
import { Select as v } from "./components/Input/Select/Select.js";
|
|
14
|
+
import { Snackbar as j } from "./components/Snackbar/Snackbar.js";
|
|
15
|
+
import { Table as w, TableHead as y, Td as z, Th as E } from "./components/Table/Table.js";
|
|
16
|
+
import { TabBar as J } from "./components/Tabs/TabBar.js";
|
|
17
|
+
import { Tabs as L } from "./components/Tabs/Tabs.js";
|
|
18
|
+
import { Tooltip as N } from "./components/Tooltip/Tooltip.js";
|
|
19
|
+
import './assets/main.css';export {
|
|
20
|
+
t as Button,
|
|
21
|
+
h as Checkbox,
|
|
22
|
+
s as Counter,
|
|
23
|
+
l as Dialog,
|
|
24
|
+
n as DialogActions,
|
|
25
|
+
T as DialogContent,
|
|
26
|
+
g as DialogTitle,
|
|
27
|
+
b as Divider,
|
|
28
|
+
p as IconButton,
|
|
29
|
+
d as Input,
|
|
30
|
+
G as Radio,
|
|
31
|
+
R as RadioGroup,
|
|
32
|
+
v as Select,
|
|
33
|
+
j as Snackbar,
|
|
34
|
+
J as TabBar,
|
|
35
|
+
w as Table,
|
|
36
|
+
y as TableHead,
|
|
37
|
+
L as Tabs,
|
|
38
|
+
z as Td,
|
|
39
|
+
D as TextArea,
|
|
40
|
+
E as Th,
|
|
41
|
+
f as ToggleButton,
|
|
42
|
+
a as ToggleButtonGroup,
|
|
43
|
+
N as Tooltip
|
|
10
44
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liujip0/components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|
|
7
7
|
"types": "dist/main.d.ts",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"peerDependencies": {
|
|
12
|
+
"@material-symbols/font-400": "^0.33.0",
|
|
12
13
|
"react": "^19.1.0",
|
|
13
14
|
"react-dom": "^19.1.0"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
16
|
-
"react": "^19.1.0",
|
|
17
|
-
"react-dom": "^19.1.0",
|
|
18
17
|
"@eslint/js": "^9.30.1",
|
|
18
|
+
"@material-symbols/font-400": "^0.33.0",
|
|
19
19
|
"@types/node": "^24.1.0",
|
|
20
20
|
"@types/react": "^19.1.8",
|
|
21
21
|
"@types/react-dom": "^19.1.6",
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
"glob": "^11.0.3",
|
|
27
27
|
"globals": "^16.3.0",
|
|
28
28
|
"prettier": "^3.6.2",
|
|
29
|
+
"react": "^19.1.0",
|
|
30
|
+
"react-dom": "^19.1.0",
|
|
29
31
|
"typescript": "~5.8.3",
|
|
30
32
|
"typescript-eslint": "^8.35.1",
|
|
31
33
|
"vite": "^7.0.4",
|