@nattstack/ui 0.0.85 → 0.0.87
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/dist/components/button/button-spinner.css +97 -0
- package/dist/components/button/button-spinner.js +14 -0
- package/dist/components/button/button-spinner.module.js +8 -0
- package/dist/components/button/button.css +191 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/button.js +54 -0
- package/dist/components/button/button.module.js +21 -0
- package/dist/components/button-link/button-link.d.ts +18 -0
- package/dist/components/button-link/button-link.js +23 -0
- package/dist/components/checkbox/checkbox-icon.js +22 -0
- package/dist/components/checkbox/checkbox.css +55 -0
- package/dist/components/checkbox/checkbox.d.ts +8 -0
- package/dist/components/checkbox/checkbox.js +21 -0
- package/dist/components/checkbox/checkbox.module.js +9 -0
- package/dist/components/column/column.css +6 -0
- package/dist/components/column/column.d.ts +16 -0
- package/dist/components/column/column.js +23 -0
- package/dist/components/column/column.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive-backdrop.css +28 -0
- package/dist/components/dialog-responsive/dialog-responsive-backdrop.js +17 -0
- package/dist/components/dialog-responsive/dialog-responsive-backdrop.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive-bar.css +16 -0
- package/dist/components/dialog-responsive/dialog-responsive-bar.js +15 -0
- package/dist/components/dialog-responsive/dialog-responsive-bar.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive-popup.css +56 -0
- package/dist/components/dialog-responsive/dialog-responsive-popup.d.ts +8 -0
- package/dist/components/dialog-responsive/dialog-responsive-popup.js +22 -0
- package/dist/components/dialog-responsive/dialog-responsive-popup.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive-portal.css +7 -0
- package/dist/components/dialog-responsive/dialog-responsive-portal.js +17 -0
- package/dist/components/dialog-responsive/dialog-responsive-portal.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive-trigger.d.ts +7 -0
- package/dist/components/dialog-responsive/dialog-responsive-trigger.js +12 -0
- package/dist/components/dialog-responsive/dialog-responsive-viewport.css +18 -0
- package/dist/components/dialog-responsive/dialog-responsive-viewport.js +17 -0
- package/dist/components/dialog-responsive/dialog-responsive-viewport.module.js +5 -0
- package/dist/components/dialog-responsive/dialog-responsive.d.ts +10 -0
- package/dist/components/dialog-responsive/dialog-responsive.js +15 -0
- package/dist/components/icon-button/icon-button.css +21 -0
- package/dist/components/icon-button/icon-button.d.ts +12 -0
- package/dist/components/icon-button/icon-button.js +34 -0
- package/dist/components/icon-button/icon-button.module.js +11 -0
- package/dist/components/index.d.ts +46 -359
- package/dist/components/index.js +46 -1034
- package/dist/components/input/input.css +84 -0
- package/dist/components/input/input.d.ts +22 -0
- package/dist/components/input/input.js +44 -0
- package/dist/components/input/input.module.js +14 -0
- package/dist/components/label/label.css +8 -0
- package/dist/components/label/label.d.ts +7 -0
- package/dist/components/label/label.js +16 -0
- package/dist/components/label/label.module.js +5 -0
- package/dist/components/menu/menu-checkbox-item.d.ts +14 -0
- package/dist/components/menu/menu-checkbox-item.js +44 -0
- package/dist/components/menu/menu-class-names.d.ts +23 -0
- package/dist/components/menu/menu-class-names.js +24 -0
- package/dist/components/menu/menu-content.d.ts +11 -0
- package/dist/components/menu/menu-content.js +38 -0
- package/dist/components/menu/menu-group-label.d.ts +9 -0
- package/dist/components/menu/menu-group-label.js +16 -0
- package/dist/components/menu/menu-group.d.ts +9 -0
- package/dist/components/menu/menu-group.js +16 -0
- package/dist/components/menu/menu-item.d.ts +10 -0
- package/dist/components/menu/menu-item.js +18 -0
- package/dist/components/menu/menu-link-item.d.ts +7 -0
- package/dist/components/menu/menu-link-item.js +13 -0
- package/dist/components/menu/menu-radio-group.d.ts +10 -0
- package/dist/components/menu/menu-radio-group.js +17 -0
- package/dist/components/menu/menu-radio-item.d.ts +12 -0
- package/dist/components/menu/menu-radio-item.js +43 -0
- package/dist/components/menu/menu-separator.d.ts +9 -0
- package/dist/components/menu/menu-separator.js +16 -0
- package/dist/components/menu/menu-submenu-trigger.d.ts +7 -0
- package/dist/components/menu/menu-submenu-trigger.js +13 -0
- package/dist/components/menu/menu-submenu.d.ts +11 -0
- package/dist/components/menu/menu-submenu.js +15 -0
- package/dist/components/menu/menu-trigger.d.ts +7 -0
- package/dist/components/menu/menu-trigger.js +12 -0
- package/dist/components/menu/menu-viewport.d.ts +9 -0
- package/dist/components/menu/menu-viewport.js +16 -0
- package/dist/components/menu/menu.css +209 -0
- package/dist/components/menu/menu.d.ts +12 -0
- package/dist/components/menu/menu.js +16 -0
- package/dist/components/menu/menu.module.js +24 -0
- package/dist/components/otp-field/otp-field-input.css +33 -0
- package/dist/components/otp-field/otp-field-input.d.ts +8 -0
- package/dist/components/otp-field/otp-field-input.js +16 -0
- package/dist/components/otp-field/otp-field-input.module.js +5 -0
- package/dist/components/otp-field/otp-field.css +13 -0
- package/dist/components/otp-field/otp-field.d.ts +13 -0
- package/dist/components/otp-field/otp-field.js +27 -0
- package/dist/components/otp-field/otp-field.module.js +8 -0
- package/dist/components/row/row.css +6 -0
- package/dist/components/row/row.d.ts +16 -0
- package/dist/components/row/row.js +23 -0
- package/dist/components/row/row.module.js +5 -0
- package/dist/components/spacer/spacer.css +5 -0
- package/dist/components/spacer/spacer.d.ts +10 -0
- package/dist/components/spacer/spacer.js +19 -0
- package/dist/components/spacer/spacer.module.js +5 -0
- package/dist/components/switch/switch.css +54 -0
- package/dist/components/switch/switch.d.ts +19 -0
- package/dist/components/switch/switch.js +31 -0
- package/dist/components/switch/switch.module.js +10 -0
- package/dist/components/tabs/tabs-panel.css +14 -0
- package/dist/components/tabs/tabs-panel.d.ts +8 -0
- package/dist/components/tabs/tabs-panel.js +17 -0
- package/dist/components/tabs/tabs-panel.module.js +5 -0
- package/dist/components/tabs/tabs.css +6 -0
- package/dist/components/tabs/tabs.d.ts +8 -0
- package/dist/components/tabs/tabs.js +17 -0
- package/dist/components/tabs/tabs.module.js +5 -0
- package/dist/components/tabs-pill/tabs-pill-indicator.css +14 -0
- package/dist/components/tabs-pill/tabs-pill-indicator.js +18 -0
- package/dist/components/tabs-pill/tabs-pill-indicator.module.js +5 -0
- package/dist/components/tabs-pill/tabs-pill-list.css +9 -0
- package/dist/components/tabs-pill/tabs-pill-list.d.ts +8 -0
- package/dist/components/tabs-pill/tabs-pill-list.js +19 -0
- package/dist/components/tabs-pill/tabs-pill-list.module.js +5 -0
- package/dist/components/tabs-pill/tabs-pill-tab.css +66 -0
- package/dist/components/tabs-pill/tabs-pill-tab.d.ts +10 -0
- package/dist/components/tabs-pill/tabs-pill-tab.js +21 -0
- package/dist/components/tabs-pill/tabs-pill-tab.module.js +9 -0
- package/dist/components/tabs-segmented/tabs-segmented-indicator.css +14 -0
- package/dist/components/tabs-segmented/tabs-segmented-indicator.js +18 -0
- package/dist/components/tabs-segmented/tabs-segmented-indicator.module.js +5 -0
- package/dist/components/tabs-segmented/tabs-segmented-list.css +13 -0
- package/dist/components/tabs-segmented/tabs-segmented-list.d.ts +8 -0
- package/dist/components/tabs-segmented/tabs-segmented-list.js +19 -0
- package/dist/components/tabs-segmented/tabs-segmented-list.module.js +5 -0
- package/dist/components/tabs-segmented/tabs-segmented-tab.css +37 -0
- package/dist/components/tabs-segmented/tabs-segmented-tab.d.ts +10 -0
- package/dist/components/tabs-segmented/tabs-segmented-tab.js +18 -0
- package/dist/components/tabs-segmented/tabs-segmented-tab.module.js +5 -0
- package/dist/components/tabs-underline/tabs-underline-indicator.css +12 -0
- package/dist/components/tabs-underline/tabs-underline-indicator.js +18 -0
- package/dist/components/tabs-underline/tabs-underline-indicator.module.js +5 -0
- package/dist/components/tabs-underline/tabs-underline-list.css +10 -0
- package/dist/components/tabs-underline/tabs-underline-list.d.ts +8 -0
- package/dist/components/tabs-underline/tabs-underline-list.js +19 -0
- package/dist/components/tabs-underline/tabs-underline-list.module.js +5 -0
- package/dist/components/tabs-underline/tabs-underline-tab.css +36 -0
- package/dist/components/tabs-underline/tabs-underline-tab.d.ts +10 -0
- package/dist/components/tabs-underline/tabs-underline-tab.js +18 -0
- package/dist/components/tabs-underline/tabs-underline-tab.module.js +5 -0
- package/dist/components/textarea/textarea.css +9 -0
- package/dist/components/textarea/textarea.d.ts +17 -0
- package/dist/components/textarea/textarea.js +31 -0
- package/dist/components/textarea/textarea.module.js +5 -0
- package/dist/components/toggle-group/toggle-group-item.css +47 -0
- package/dist/components/toggle-group/toggle-group-item.d.ts +11 -0
- package/dist/components/toggle-group/toggle-group-item.js +18 -0
- package/dist/components/toggle-group/toggle-group-item.module.js +5 -0
- package/dist/components/toggle-group/toggle-group.css +7 -0
- package/dist/components/toggle-group/toggle-group.d.ts +12 -0
- package/dist/components/toggle-group/toggle-group.js +19 -0
- package/dist/components/toggle-group/toggle-group.module.js +5 -0
- package/dist/components/tooltip/tooltip-popup.css +32 -0
- package/dist/components/tooltip/tooltip-popup.d.ts +8 -0
- package/dist/components/tooltip/tooltip-popup.js +25 -0
- package/dist/components/tooltip/tooltip-popup.module.js +8 -0
- package/dist/components/tooltip/tooltip-provider.d.ts +7 -0
- package/dist/components/tooltip/tooltip-provider.js +12 -0
- package/dist/components/tooltip/tooltip-trigger.d.ts +7 -0
- package/dist/components/tooltip/tooltip-trigger.js +12 -0
- package/dist/components/tooltip/tooltip.d.ts +10 -0
- package/dist/components/tooltip/tooltip.js +14 -0
- package/package.json +6 -3
- package/dist/components/style.css +0 -1182
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.button-spinner-module_base_UApLZa {
|
|
3
|
+
height: var(--size);
|
|
4
|
+
width: var(--size);
|
|
5
|
+
animation: 1s steps(12, end) infinite button-spinner-module_spinner_UApLZa;
|
|
6
|
+
position: absolute;
|
|
7
|
+
scale: -1 1;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@keyframes button-spinner-module_spinner_UApLZa {
|
|
11
|
+
to {
|
|
12
|
+
rotate: 1turn;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.button-spinner-module_base_UApLZa > div {
|
|
17
|
+
height: calc(var(--size) / 12);
|
|
18
|
+
pointer-events: none;
|
|
19
|
+
transform-origin: 0;
|
|
20
|
+
width: calc(var(--size) / 2);
|
|
21
|
+
transition: all .15s;
|
|
22
|
+
position: absolute;
|
|
23
|
+
top: 50%;
|
|
24
|
+
right: 0;
|
|
25
|
+
translate: 0 -50%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.button-spinner-module_base_UApLZa > div:after {
|
|
29
|
+
content: "";
|
|
30
|
+
background-color: currentColor;
|
|
31
|
+
border-radius: 9999px;
|
|
32
|
+
width: 50%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
position: absolute;
|
|
35
|
+
right: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.button-spinner-module_base_UApLZa > div:first-child {
|
|
39
|
+
opacity: 1;
|
|
40
|
+
rotate: 0deg;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.button-spinner-module_base_UApLZa > div:nth-child(2) {
|
|
44
|
+
opacity: .925;
|
|
45
|
+
rotate: 30deg;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.button-spinner-module_base_UApLZa > div:nth-child(3) {
|
|
49
|
+
opacity: .85;
|
|
50
|
+
rotate: 60deg;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.button-spinner-module_base_UApLZa > div:nth-child(4) {
|
|
54
|
+
opacity: .775;
|
|
55
|
+
rotate: 90deg;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.button-spinner-module_base_UApLZa > div:nth-child(5) {
|
|
59
|
+
opacity: .7;
|
|
60
|
+
rotate: 120deg;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.button-spinner-module_base_UApLZa > div:nth-child(6) {
|
|
64
|
+
opacity: .625;
|
|
65
|
+
rotate: 150deg;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.button-spinner-module_base_UApLZa > div:nth-child(7) {
|
|
69
|
+
opacity: .55;
|
|
70
|
+
rotate: 180deg;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.button-spinner-module_base_UApLZa > div:nth-child(8) {
|
|
74
|
+
opacity: .475;
|
|
75
|
+
rotate: 210deg;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.button-spinner-module_base_UApLZa > div:nth-child(9) {
|
|
79
|
+
opacity: .4;
|
|
80
|
+
rotate: 240deg;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.button-spinner-module_base_UApLZa > div:nth-child(10) {
|
|
84
|
+
opacity: .325;
|
|
85
|
+
rotate: 270deg;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.button-spinner-module_base_UApLZa > div:nth-child(11) {
|
|
89
|
+
opacity: .25;
|
|
90
|
+
rotate: 300deg;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.button-spinner-module_base_UApLZa > div:nth-child(12) {
|
|
94
|
+
opacity: .15;
|
|
95
|
+
rotate: 330deg;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import button_spinner_module_default from "./button-spinner.module.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/button/button-spinner.tsx
|
|
4
|
+
const SIZE = 18;
|
|
5
|
+
function ButtonSpinner() {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", {
|
|
7
|
+
className: button_spinner_module_default.base,
|
|
8
|
+
"data-slot": "button-spinner",
|
|
9
|
+
style: { "--size": `${SIZE}px` },
|
|
10
|
+
children: Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ jsx("div", {}, index))
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ButtonSpinner };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './button-spinner.css';
|
|
2
|
+
//#region src/components/button/button-spinner.module.css
|
|
3
|
+
var button_spinner_module_default = {
|
|
4
|
+
"base": "button-spinner-module_base_UApLZa",
|
|
5
|
+
"spinner": "button-spinner-module_spinner_UApLZa"
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { button_spinner_module_default as default };
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.button-module_base_4nLWdW {
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
outline-offset: 2px;
|
|
5
|
+
user-select: none;
|
|
6
|
+
outline: 2px solid #0000;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
align-items: center;
|
|
9
|
+
column-gap: 8px;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
font-weight: 500;
|
|
12
|
+
transition-property: background-color, box-shadow, translate;
|
|
13
|
+
transition-duration: .15s;
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
position: relative;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.button-module_base_4nLWdW:active:not(:disabled) {
|
|
20
|
+
translate: 0 1px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.button-module_base_4nLWdW:focus-visible {
|
|
24
|
+
outline-color: var(--color-outline);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.button-module_disabled_4nLWdW, .button-module_loading_4nLWdW {
|
|
28
|
+
cursor: not-allowed;
|
|
29
|
+
opacity: .5;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.button-module_loading_4nLWdW > :not([data-slot="button-spinner"]) {
|
|
33
|
+
color: #0000;
|
|
34
|
+
text-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.button-module_rounded_base_4nLWdW.button-module_size_32_4nLWdW {
|
|
38
|
+
border-radius: 8px;
|
|
39
|
+
padding: 0 12px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.button-module_rounded_base_4nLWdW.button-module_size_36_4nLWdW {
|
|
43
|
+
border-radius: 9px;
|
|
44
|
+
padding: 0 14px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.button-module_rounded_base_4nLWdW.button-module_size_40_4nLWdW {
|
|
48
|
+
border-radius: 10px;
|
|
49
|
+
padding: 0 16px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.button-module_rounded_base_4nLWdW.button-module_size_44_4nLWdW {
|
|
53
|
+
border-radius: 11px;
|
|
54
|
+
padding: 0 18px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.button-module_rounded_base_4nLWdW.button-module_size_48_4nLWdW {
|
|
58
|
+
border-radius: 12px;
|
|
59
|
+
padding: 0 20px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.button-module_rounded_full_4nLWdW.button-module_size_32_4nLWdW {
|
|
63
|
+
border-radius: 16px;
|
|
64
|
+
padding: 0 12px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.button-module_rounded_full_4nLWdW.button-module_size_36_4nLWdW {
|
|
68
|
+
border-radius: 18px;
|
|
69
|
+
padding: 0 17px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.button-module_rounded_full_4nLWdW.button-module_size_40_4nLWdW {
|
|
73
|
+
border-radius: 20px;
|
|
74
|
+
padding: 0 20px;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.button-module_rounded_full_4nLWdW.button-module_size_44_4nLWdW {
|
|
78
|
+
border-radius: 22px;
|
|
79
|
+
padding: 0 23px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.button-module_rounded_full_4nLWdW.button-module_size_48_4nLWdW {
|
|
83
|
+
border-radius: 24px;
|
|
84
|
+
padding: 0 28px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.button-module_size_32_4nLWdW {
|
|
88
|
+
height: 32px;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.button-module_size_36_4nLWdW {
|
|
92
|
+
height: 36px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.button-module_size_40_4nLWdW {
|
|
96
|
+
height: 40px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.button-module_size_44_4nLWdW {
|
|
100
|
+
height: 44px;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.button-module_size_48_4nLWdW {
|
|
104
|
+
height: 48px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.button-module_variant_ghost_4nLWdW {
|
|
108
|
+
color: #000;
|
|
109
|
+
background-color: #0000;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.button-module_variant_ghost_4nLWdW:hover:not(:disabled) {
|
|
113
|
+
background-color: var(--color-gray-4);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.dark .button-module_variant_ghost_4nLWdW {
|
|
117
|
+
color: #fff;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.button-module_variant_primary_4nLWdW {
|
|
121
|
+
background-color: var(--color-primary);
|
|
122
|
+
box-shadow: inset 0 0 0 1px var(--color-primary),
|
|
123
|
+
inset 0 1px 0 1px #ffffff40;
|
|
124
|
+
color: #fff;
|
|
125
|
+
isolation: isolate;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.button-module_variant_primary_4nLWdW:after {
|
|
129
|
+
content: "";
|
|
130
|
+
mix-blend-mode: overlay;
|
|
131
|
+
pointer-events: none;
|
|
132
|
+
transition-duration: inherit;
|
|
133
|
+
background-image: radial-gradient(75% 100% at 50% -50%, #ffffff40, #0000);
|
|
134
|
+
transition-property: opacity;
|
|
135
|
+
position: absolute;
|
|
136
|
+
inset: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.button-module_variant_primary_4nLWdW:hover:not(:disabled):after {
|
|
140
|
+
opacity: 0;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.dark .button-module_variant_primary_4nLWdW {
|
|
144
|
+
box-shadow: inset 0 1px #ffffff40;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.button-module_variant_primary_4nLWdW:hover:not(:disabled) {
|
|
148
|
+
--color-mixed: #000;
|
|
149
|
+
background-color: color-mix(in oklab, var(--color-primary) 100%, var(--color-mixed) 10%);
|
|
150
|
+
box-shadow: none;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.dark .button-module_variant_primary_4nLWdW:hover:not(:disabled) {
|
|
154
|
+
--color-mixed: #fff;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.button-module_variant_primary_4nLWdW > * {
|
|
158
|
+
--opacity: .25;
|
|
159
|
+
filter: drop-shadow(0 1px 1px hsla(0, 0%, 0%, var(--opacity)));
|
|
160
|
+
transition-duration: inherit;
|
|
161
|
+
transition-property: filter;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.button-module_variant_primary_4nLWdW:hover:not(:disabled) > * {
|
|
165
|
+
--opacity: 0;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.button-module_variant_secondary_4nLWdW {
|
|
169
|
+
--color-text: #000;
|
|
170
|
+
background-color: var(--color-bg-shell-outer);
|
|
171
|
+
box-shadow: inset 0 0 0 1px var(--color-border);
|
|
172
|
+
color: var(--color-text);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.dark .button-module_variant_secondary_4nLWdW {
|
|
176
|
+
--color-text: #fff;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.button-module_variant_secondary_4nLWdW:hover:not(:disabled) {
|
|
180
|
+
background-color: var(--color-gray-4);
|
|
181
|
+
box-shadow: none;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.button-module_width_base_4nLWdW {
|
|
185
|
+
width: fit-content;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.button-module_width_full_4nLWdW {
|
|
189
|
+
width: stretch;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { ComponentProps, JSX, ReactNode } from "react";
|
|
3
|
+
//#region src/components/button/button.d.ts
|
|
4
|
+
interface ButtonProps extends Omit<ComponentProps<"button">, "children" | "disabled"> {
|
|
5
|
+
iconEnd?: ReactNode;
|
|
6
|
+
iconStart?: ReactNode;
|
|
7
|
+
isDisabled?: ComponentProps<"button">["disabled"];
|
|
8
|
+
isFullWidth?: VariantProps<typeof button>["isFullWidth"];
|
|
9
|
+
isLoading?: ComponentProps<"button">["disabled"];
|
|
10
|
+
isRounded?: VariantProps<typeof button>["isRounded"];
|
|
11
|
+
label?: number | number[] | string | string[];
|
|
12
|
+
size?: VariantProps<typeof button>["size"];
|
|
13
|
+
variant?: VariantProps<typeof button>["variant"];
|
|
14
|
+
}
|
|
15
|
+
declare function Button(props: ButtonProps): JSX.Element;
|
|
16
|
+
declare const button: (props?: ({
|
|
17
|
+
isDisabled?: boolean | null | undefined;
|
|
18
|
+
isFullWidth?: boolean | null | undefined;
|
|
19
|
+
isLoading?: boolean | null | undefined;
|
|
20
|
+
isRounded?: boolean | null | undefined;
|
|
21
|
+
size?: 32 | 36 | 40 | 44 | 48 | null | undefined;
|
|
22
|
+
variant?: "ghost" | "primary" | "secondary" | null | undefined;
|
|
23
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Button, ButtonProps, button };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ButtonSpinner } from "./button-spinner.js";
|
|
2
|
+
import button_module_default from "./button.module.js";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/button/button.tsx
|
|
6
|
+
function Button(props) {
|
|
7
|
+
const { className = "", isDisabled = false, iconStart = "", iconEnd = "", isFullWidth = false, isLoading = false, isRounded = false, label = "", variant = "primary", size = 40, ...rest } = props;
|
|
8
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
9
|
+
className: button({
|
|
10
|
+
className,
|
|
11
|
+
isDisabled,
|
|
12
|
+
isFullWidth,
|
|
13
|
+
isLoading,
|
|
14
|
+
isRounded,
|
|
15
|
+
size,
|
|
16
|
+
variant
|
|
17
|
+
}),
|
|
18
|
+
disabled: isDisabled || isLoading,
|
|
19
|
+
type: "button",
|
|
20
|
+
...rest,
|
|
21
|
+
children: [
|
|
22
|
+
isLoading && /* @__PURE__ */ jsx(ButtonSpinner, {}),
|
|
23
|
+
iconStart,
|
|
24
|
+
label !== "" && /* @__PURE__ */ jsx("span", { children: label }),
|
|
25
|
+
iconEnd
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const button = cva(button_module_default.base, { variants: {
|
|
30
|
+
isDisabled: { true: button_module_default.disabled },
|
|
31
|
+
isFullWidth: {
|
|
32
|
+
false: button_module_default.width_base,
|
|
33
|
+
true: button_module_default.width_full
|
|
34
|
+
},
|
|
35
|
+
isLoading: { true: button_module_default.loading },
|
|
36
|
+
isRounded: {
|
|
37
|
+
false: button_module_default.rounded_base,
|
|
38
|
+
true: button_module_default.rounded_full
|
|
39
|
+
},
|
|
40
|
+
size: {
|
|
41
|
+
32: button_module_default.size_32,
|
|
42
|
+
36: button_module_default.size_36,
|
|
43
|
+
40: button_module_default.size_40,
|
|
44
|
+
44: button_module_default.size_44,
|
|
45
|
+
48: button_module_default.size_48
|
|
46
|
+
},
|
|
47
|
+
variant: {
|
|
48
|
+
ghost: button_module_default.variant_ghost,
|
|
49
|
+
primary: button_module_default.variant_primary,
|
|
50
|
+
secondary: button_module_default.variant_secondary
|
|
51
|
+
}
|
|
52
|
+
} });
|
|
53
|
+
//#endregion
|
|
54
|
+
export { Button, button };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import './button.css';
|
|
2
|
+
//#region src/components/button/button.module.css
|
|
3
|
+
var button_module_default = {
|
|
4
|
+
"base": "button-module_base_4nLWdW",
|
|
5
|
+
"disabled": "button-module_disabled_4nLWdW",
|
|
6
|
+
"loading": "button-module_loading_4nLWdW",
|
|
7
|
+
"rounded_base": "button-module_rounded_base_4nLWdW",
|
|
8
|
+
"rounded_full": "button-module_rounded_full_4nLWdW",
|
|
9
|
+
"size_32": "button-module_size_32_4nLWdW",
|
|
10
|
+
"size_36": "button-module_size_36_4nLWdW",
|
|
11
|
+
"size_40": "button-module_size_40_4nLWdW",
|
|
12
|
+
"size_44": "button-module_size_44_4nLWdW",
|
|
13
|
+
"size_48": "button-module_size_48_4nLWdW",
|
|
14
|
+
"variant_ghost": "button-module_variant_ghost_4nLWdW",
|
|
15
|
+
"variant_primary": "button-module_variant_primary_4nLWdW",
|
|
16
|
+
"variant_secondary": "button-module_variant_secondary_4nLWdW",
|
|
17
|
+
"width_base": "button-module_width_base_4nLWdW",
|
|
18
|
+
"width_full": "button-module_width_full_4nLWdW"
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { button_module_default as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { button } from "../button/button.js";
|
|
2
|
+
import { VariantProps } from "class-variance-authority";
|
|
3
|
+
import { ComponentProps, ElementType, JSX, ReactNode } from "react";
|
|
4
|
+
//#region src/components/button-link/button-link.d.ts
|
|
5
|
+
type ButtonLinkProps<ComponentType extends ElementType = "a"> = ButtonLinkInternalProps<ComponentType> & Omit<ComponentProps<ComponentType>, "children" | keyof ButtonLinkInternalProps>;
|
|
6
|
+
interface ButtonLinkInternalProps<ComponentType extends ElementType = "a"> {
|
|
7
|
+
as?: ComponentType;
|
|
8
|
+
iconEnd?: ReactNode;
|
|
9
|
+
iconStart?: ReactNode;
|
|
10
|
+
isFullWidth?: VariantProps<typeof button>["isFullWidth"];
|
|
11
|
+
isRounded?: VariantProps<typeof button>["isRounded"];
|
|
12
|
+
label?: number | number[] | string | string[];
|
|
13
|
+
size?: VariantProps<typeof button>["size"];
|
|
14
|
+
variant?: VariantProps<typeof button>["variant"];
|
|
15
|
+
}
|
|
16
|
+
declare function ButtonLink<ComponentType extends ElementType = "a">(props: ButtonLinkProps<ComponentType>): JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ButtonLink, ButtonLinkProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { button } from "../button/button.js";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/button-link/button-link.tsx
|
|
4
|
+
function ButtonLink(props) {
|
|
5
|
+
const { as: Component = "a", className = "", iconStart = "", iconEnd = "", isFullWidth = false, isRounded = false, label = "", size = 40, variant = "primary", ...rest } = props;
|
|
6
|
+
return /* @__PURE__ */ jsxs(Component, {
|
|
7
|
+
className: button({
|
|
8
|
+
className,
|
|
9
|
+
isFullWidth,
|
|
10
|
+
isRounded,
|
|
11
|
+
size,
|
|
12
|
+
variant
|
|
13
|
+
}),
|
|
14
|
+
...rest,
|
|
15
|
+
children: [
|
|
16
|
+
iconStart,
|
|
17
|
+
label !== "" && /* @__PURE__ */ jsx("span", { children: label }),
|
|
18
|
+
iconEnd
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ButtonLink };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
//#region src/components/checkbox/checkbox-icon.tsx
|
|
3
|
+
function CheckboxIcon(props) {
|
|
4
|
+
const { ...rest } = props;
|
|
5
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
6
|
+
fill: "none",
|
|
7
|
+
height: "24",
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
width: "24",
|
|
10
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11
|
+
...rest,
|
|
12
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
13
|
+
d: "M5 13.875L9.2 18L19 7",
|
|
14
|
+
stroke: "black",
|
|
15
|
+
strokeLinecap: "round",
|
|
16
|
+
strokeLinejoin: "round",
|
|
17
|
+
strokeWidth: "1.5"
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { CheckboxIcon };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.checkbox-module_checkbox_tQ0i7W {
|
|
3
|
+
--size: 16px;
|
|
4
|
+
background-color: var(--color-bg-shell-inner);
|
|
5
|
+
border: 1px solid var(--color-border);
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
height: var(--size);
|
|
8
|
+
outline-color: var(--color-primary);
|
|
9
|
+
outline-offset: 2px;
|
|
10
|
+
width: var(--size);
|
|
11
|
+
border-radius: 4px;
|
|
12
|
+
outline-width: 0;
|
|
13
|
+
outline-style: solid;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
align-items: center;
|
|
16
|
+
transition-property: background-color, border-color;
|
|
17
|
+
transition-duration: .15s;
|
|
18
|
+
display: flex;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.checkbox-module_checkbox_tQ0i7W:focus-visible {
|
|
22
|
+
outline-width: 2px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.checkbox-module_checkbox_tQ0i7W:hover {
|
|
26
|
+
background-color: var(--color-gray-3);
|
|
27
|
+
border-color: var(--color-gray-6);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.checkbox-module_checkbox_tQ0i7W[data-checked] {
|
|
31
|
+
background-color: var(--color-primary);
|
|
32
|
+
border-color: #0000;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.checkbox-module_indicator_tQ0i7W {
|
|
36
|
+
opacity: 0;
|
|
37
|
+
transition-property: opacity;
|
|
38
|
+
transition-duration: .15s;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.checkbox-module_indicator_tQ0i7W[data-checked] {
|
|
42
|
+
opacity: 1;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.checkbox-module_icon_tQ0i7W {
|
|
46
|
+
--size: 12px;
|
|
47
|
+
height: var(--size);
|
|
48
|
+
width: var(--size);
|
|
49
|
+
|
|
50
|
+
& > path {
|
|
51
|
+
stroke-width: 3px;
|
|
52
|
+
stroke: #fff;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Checkbox } from "@base-ui/react";
|
|
2
|
+
import { ComponentProps, JSX } from "react";
|
|
3
|
+
//#region src/components/checkbox/checkbox.d.ts
|
|
4
|
+
interface CheckboxProps extends ComponentProps<typeof Checkbox.Root> {}
|
|
5
|
+
declare function Checkbox$1(props: CheckboxProps): JSX.Element;
|
|
6
|
+
declare const checkboxVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { Checkbox$1 as Checkbox, CheckboxProps, checkboxVariants };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CheckboxIcon } from "./checkbox-icon.js";
|
|
2
|
+
import checkbox_module_default from "./checkbox.module.js";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Checkbox } from "@base-ui/react";
|
|
6
|
+
//#region src/components/checkbox/checkbox.tsx
|
|
7
|
+
function Checkbox$1(props) {
|
|
8
|
+
const { children = void 0, className: customClassName = "", ...rest } = props;
|
|
9
|
+
const combinedClassName = checkboxVariants({ className: customClassName });
|
|
10
|
+
return /* @__PURE__ */ jsx(Checkbox.Root, {
|
|
11
|
+
className: combinedClassName,
|
|
12
|
+
...rest,
|
|
13
|
+
children: /* @__PURE__ */ jsx(Checkbox.Indicator, {
|
|
14
|
+
className: checkbox_module_default.indicator,
|
|
15
|
+
children: children ?? /* @__PURE__ */ jsx(CheckboxIcon, { className: checkbox_module_default.icon })
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
const checkboxVariants = cva(checkbox_module_default.checkbox);
|
|
20
|
+
//#endregion
|
|
21
|
+
export { Checkbox$1 as Checkbox, checkboxVariants };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import './checkbox.css';
|
|
2
|
+
//#region src/components/checkbox/checkbox.module.css
|
|
3
|
+
var checkbox_module_default = {
|
|
4
|
+
"checkbox": "checkbox-module_checkbox_tQ0i7W",
|
|
5
|
+
"icon": "checkbox-module_icon_tQ0i7W",
|
|
6
|
+
"indicator": "checkbox-module_indicator_tQ0i7W"
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { checkbox_module_default as default };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CSSProperties, ComponentProps, ElementType, JSX } from "react";
|
|
2
|
+
//#region src/components/column/column.d.ts
|
|
3
|
+
type ColumnProps<ComponentType extends ElementType = "div"> = ColumnInternalProps & ComponentProps<ComponentType>;
|
|
4
|
+
interface ColumnInternalProps {
|
|
5
|
+
alignItems?: CSSProperties["alignItems"];
|
|
6
|
+
as?: keyof JSX.IntrinsicElements;
|
|
7
|
+
flexWrap?: CSSProperties["flexWrap"];
|
|
8
|
+
gap?: CSSProperties["gap"];
|
|
9
|
+
gapX?: CSSProperties["columnGap"];
|
|
10
|
+
gapY?: CSSProperties["rowGap"];
|
|
11
|
+
justifyContent?: CSSProperties["justifyContent"];
|
|
12
|
+
}
|
|
13
|
+
declare function Column(props: ColumnProps): JSX.Element;
|
|
14
|
+
declare const columnVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { Column, ColumnProps, columnVariants };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import column_module_default from "./column.module.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { createElement } from "react";
|
|
4
|
+
//#region src/components/column/column.tsx
|
|
5
|
+
function Column(props) {
|
|
6
|
+
const { alignItems = void 0, as = "div", className: customClassName = "", flexWrap = void 0, gap = void 0, gapX = void 0, gapY = void 0, justifyContent = void 0, style: customStyle, ...rest } = props;
|
|
7
|
+
return createElement(as, {
|
|
8
|
+
className: columnVariants({ className: customClassName }),
|
|
9
|
+
style: {
|
|
10
|
+
...customStyle,
|
|
11
|
+
...gap === void 0 ? {} : { gap },
|
|
12
|
+
...gapX === void 0 ? {} : { columnGap: gapX },
|
|
13
|
+
...gapY === void 0 ? {} : { rowGap: gapY },
|
|
14
|
+
...flexWrap === void 0 ? {} : { flexWrap },
|
|
15
|
+
...alignItems === void 0 ? {} : { alignItems },
|
|
16
|
+
...justifyContent === void 0 ? {} : { justifyContent }
|
|
17
|
+
},
|
|
18
|
+
...rest
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const columnVariants = cva(column_module_default.column);
|
|
22
|
+
//#endregion
|
|
23
|
+
export { Column, columnVariants };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq {
|
|
3
|
+
--backdrop-opacity: .25;
|
|
4
|
+
opacity: calc(var(--backdrop-opacity) * (1 - var(--drawer-swipe-progress)));
|
|
5
|
+
outline-color: var(--color-primary-9);
|
|
6
|
+
background-color: #000;
|
|
7
|
+
transition-property: opacity;
|
|
8
|
+
transition-duration: .15s;
|
|
9
|
+
position: fixed;
|
|
10
|
+
inset: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq[data-ending-style], .dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq[data-starting-style] {
|
|
14
|
+
opacity: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq[data-ending-style] {
|
|
18
|
+
transition-duration: calc(var(--drawer-swipe-strength) * .4s);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq[data-swiping] {
|
|
22
|
+
transition-duration: 0s;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dark .dialog-responsive-backdrop-module_dialog_responsive_backdrop_-X7FOq {
|
|
26
|
+
--backdrop-opacity: .75;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import dialog_responsive_backdrop_module_default from "./dialog-responsive-backdrop.module.js";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Drawer } from "@base-ui/react";
|
|
5
|
+
//#region src/components/dialog-responsive/dialog-responsive-backdrop.tsx
|
|
6
|
+
function DialogResponsiveBackdrop(props) {
|
|
7
|
+
const { className: customClassName = "", ...rest } = props;
|
|
8
|
+
const combinedClassName = dialogResponsiveBackdropVariants({ className: customClassName });
|
|
9
|
+
return /* @__PURE__ */ jsx(Drawer.Backdrop, {
|
|
10
|
+
className: combinedClassName,
|
|
11
|
+
"data-slot": "dialog-responsive-backdrop",
|
|
12
|
+
...rest
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const dialogResponsiveBackdropVariants = cva(dialog_responsive_backdrop_module_default.dialog_responsive_backdrop);
|
|
16
|
+
//#endregion
|
|
17
|
+
export { DialogResponsiveBackdrop, dialogResponsiveBackdropVariants };
|