winduum 0.1.18 → 0.2.0-beta.10
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/main-rgb.css +1 -0
- package/dist/main.css +5 -1
- package/dist/tailwind.css +5 -1
- package/package.json +25 -21
- package/src/base/config.css +0 -10
- package/src/base/default.css +23 -10
- package/src/base/icons.css +0 -3
- package/src/base/index.css +2 -0
- package/src/base/keyframes.css +0 -118
- package/src/base/reset.css +24 -17
- package/src/base/tailwind/utilities.css +3 -3
- package/src/base/theme/dark-rgb.css +4 -0
- package/src/base/theme/dark.css +7 -7
- package/src/base/theme/default-rgb.css +13 -0
- package/src/base/theme/default.css +22 -14
- package/src/components/dialog.css +2 -2
- package/src/components/field.css +3 -3
- package/src/libraries/dialog-rgb.css +3 -0
- package/src/libraries/dialog.css +2 -2
- package/src/libraries/dialog.js +7 -9
- package/src/libraries/ripple-rgb.css +3 -0
- package/src/libraries/ripple.css +2 -2
- package/src/libraries/ripple.js +1 -3
- package/src/main-rgb.css +11 -0
- package/src/main.css +1 -1
- package/src/main.js +1 -0
- package/src/ui/badge/bordered-rgb.css +3 -0
- package/src/ui/badge/bordered.css +8 -0
- package/src/ui/badge/circle.css +5 -0
- package/src/ui/badge/default-rgb.css +9 -0
- package/src/ui/badge/default.css +40 -0
- package/src/ui/badge/index.css +7 -0
- package/src/ui/badge/lg.css +3 -0
- package/src/ui/badge/muted.css +3 -0
- package/src/ui/badge/sm.css +4 -0
- package/src/ui/badge/square.css +4 -0
- package/src/ui/badge.css +1 -109
- package/src/ui/btn/bordered-rgb.css +3 -0
- package/src/ui/btn/bordered.css +8 -0
- package/src/ui/btn/circle.css +5 -0
- package/src/ui/btn/default-rgb.css +9 -0
- package/src/ui/btn/default.css +107 -0
- package/src/ui/btn/gradient-bordered-rgb.css +13 -0
- package/src/ui/btn/gradient-bordered.css +28 -0
- package/src/ui/btn/gradient.css +10 -0
- package/src/ui/btn/hover-fill.css +8 -0
- package/src/ui/btn/index.css +13 -0
- package/src/ui/btn/lg.css +4 -0
- package/src/ui/btn/loading.css +27 -0
- package/src/ui/btn/muted.css +4 -0
- package/src/ui/btn/raised.css +8 -0
- package/src/ui/btn/sm.css +4 -0
- package/src/ui/btn/square.css +4 -0
- package/src/ui/btn/wide.css +4 -0
- package/src/ui/btn.css +1 -234
- package/src/ui/check-rgb.css +31 -0
- package/src/ui/check.css +130 -0
- package/src/ui/control/default-rgb.css +24 -0
- package/src/ui/control/default.css +94 -0
- package/src/ui/control/floating-focus.css +8 -0
- package/src/ui/control/floating.css +31 -0
- package/src/ui/control/icon.css +66 -0
- package/src/ui/control/index.css +5 -0
- package/src/ui/control/select.css +28 -0
- package/src/ui/control.css +1 -0
- package/src/ui/group.css +34 -0
- package/src/ui/heading/default.css +12 -0
- package/src/ui/heading/index.css +3 -0
- package/src/ui/heading/lg.css +3 -0
- package/src/ui/heading/sm.css +4 -0
- package/src/ui/heading.css +1 -21
- package/src/ui/image.css +4 -4
- package/src/ui/{+.css → index.css} +4 -5
- package/src/ui/info.css +1 -1
- package/src/ui/label.css +1 -1
- package/src/ui/link/default.css +36 -0
- package/src/ui/link/index.css +2 -0
- package/src/ui/link/underlined.css +50 -0
- package/src/ui/link.css +1 -45
- package/src/ui/notice-rgb.css +6 -0
- package/src/ui/notice.css +9 -22
- package/src/ui/progress/default-rgb.css +3 -0
- package/src/ui/progress/default.css +39 -0
- package/src/ui/progress/index.css +3 -0
- package/src/ui/progress/lg.css +3 -0
- package/src/ui/progress/sm.css +3 -0
- package/src/ui/progress.css +1 -50
- package/src/ui/switch-rgb.css +11 -0
- package/src/ui/switch.css +23 -28
- package/src/ui/text-rgb.css +13 -0
- package/src/ui/text.css +15 -15
- package/src/ui/title/default.css +12 -0
- package/src/ui/title/index.css +3 -0
- package/src/ui/title/lg.css +3 -0
- package/src/ui/title/sm.css +3 -0
- package/src/ui/title.css +1 -20
- package/tailwind.config.cjs +1 -1
- package/utils/tailwind.cjs +54 -28
- package/utils/tailwind.js +48 -24
- package/src/ui/checkbox.css +0 -106
- package/src/ui/input.css +0 -226
- package/src/ui/radio.css +0 -4
- package/src/ui/select.css +0 -27
package/src/base/keyframes.css
CHANGED
|
@@ -18,42 +18,6 @@
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
@keyframes fade-in-left {
|
|
22
|
-
from {
|
|
23
|
-
opacity: 0;
|
|
24
|
-
transform: translateX(-5rem);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
to {
|
|
28
|
-
opacity: 1;
|
|
29
|
-
transform: none;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@keyframes fade-in-right {
|
|
34
|
-
from {
|
|
35
|
-
opacity: 0;
|
|
36
|
-
transform: translateX(5rem);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
to {
|
|
40
|
-
opacity: 1;
|
|
41
|
-
transform: none;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
@keyframes fade-in-up {
|
|
46
|
-
0% {
|
|
47
|
-
opacity: 0;
|
|
48
|
-
transform: translateY(2rem);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
100% {
|
|
52
|
-
opacity: 1;
|
|
53
|
-
transform: translateY(0);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
21
|
@keyframes fade-in-down {
|
|
58
22
|
0% {
|
|
59
23
|
opacity: 0;
|
|
@@ -66,30 +30,6 @@
|
|
|
66
30
|
}
|
|
67
31
|
}
|
|
68
32
|
|
|
69
|
-
@keyframes fade-out-left {
|
|
70
|
-
from {
|
|
71
|
-
opacity: 1;
|
|
72
|
-
transform: none;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
to {
|
|
76
|
-
opacity: 0;
|
|
77
|
-
transform: translateX(-5rem);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
@keyframes fade-out-right {
|
|
82
|
-
from {
|
|
83
|
-
opacity: 1;
|
|
84
|
-
transform: none;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
to {
|
|
88
|
-
opacity: 0;
|
|
89
|
-
transform: translateX(5rem);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
33
|
@keyframes fade-out-up {
|
|
94
34
|
0% {
|
|
95
35
|
opacity: 1;
|
|
@@ -102,18 +42,6 @@
|
|
|
102
42
|
}
|
|
103
43
|
}
|
|
104
44
|
|
|
105
|
-
@keyframes fade-out-down {
|
|
106
|
-
0% {
|
|
107
|
-
opacity: 1;
|
|
108
|
-
transform: translateY(0);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
100% {
|
|
112
|
-
opacity: 0;
|
|
113
|
-
transform: translateY(2rem);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
45
|
@keyframes fade-in {
|
|
118
46
|
from {
|
|
119
47
|
opacity: 0;
|
|
@@ -134,55 +62,9 @@
|
|
|
134
62
|
}
|
|
135
63
|
}
|
|
136
64
|
|
|
137
|
-
@keyframes slide-in-down {
|
|
138
|
-
0% {
|
|
139
|
-
transform: translateY(-100%);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
100% {
|
|
143
|
-
transform: translateY(0);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
@keyframes slide-out-up {
|
|
148
|
-
0% {
|
|
149
|
-
transform: translateY(0);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
100% {
|
|
153
|
-
transform: translateY(-100%);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@keyframes slide-in-up {
|
|
158
|
-
0% {
|
|
159
|
-
transform: translateY(100%);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
100% {
|
|
163
|
-
transform: translateY(0);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
@keyframes slide-out-down {
|
|
168
|
-
0% {
|
|
169
|
-
transform: translateY(0);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
100% {
|
|
173
|
-
transform: translateY(100%);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
65
|
@keyframes ripple {
|
|
178
66
|
100% {
|
|
179
67
|
transform: scale(2.5);
|
|
180
68
|
opacity: 0;
|
|
181
69
|
}
|
|
182
70
|
}
|
|
183
|
-
|
|
184
|
-
@keyframes loading-skeleton {
|
|
185
|
-
100% {
|
|
186
|
-
background-position: 250% 0;
|
|
187
|
-
}
|
|
188
|
-
}
|
package/src/base/reset.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/***
|
|
2
|
-
The new CSS reset - version 1.
|
|
2
|
+
The new CSS reset - version 1.8.4 (last updated 14.2.2023)
|
|
3
3
|
GitHub page: https://github.com/elad2412/the-new-css-reset
|
|
4
4
|
***/
|
|
5
5
|
|
|
@@ -19,42 +19,59 @@
|
|
|
19
19
|
box-sizing: border-box;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/* Reapply the pointer cursor for anchor tags */
|
|
23
|
+
:where(a, button) {
|
|
24
|
+
cursor: revert;
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
/* Remove list styles (bullets/numbers) */
|
|
23
28
|
:where(ol:not([type]), ul, menu) {
|
|
24
29
|
list-style: none;
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
/* For images to not be able to exceed their container */
|
|
28
|
-
img {
|
|
29
|
-
max-
|
|
33
|
+
:where(img) {
|
|
34
|
+
max-inline-size: 100%;
|
|
35
|
+
max-block-size: 100%;
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
/* removes spacing between cells in tables */
|
|
33
|
-
table {
|
|
39
|
+
:where(table) {
|
|
34
40
|
border-collapse: collapse;
|
|
35
41
|
}
|
|
36
42
|
|
|
37
43
|
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
|
|
38
|
-
input, textarea {
|
|
44
|
+
:where(input, textarea) {
|
|
39
45
|
user-select: auto;
|
|
46
|
+
cursor: revert;
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
/* revert the 'white-space' property for textarea elements on Safari */
|
|
43
|
-
textarea {
|
|
50
|
+
:where(textarea) {
|
|
44
51
|
white-space: revert;
|
|
45
52
|
}
|
|
46
53
|
|
|
47
54
|
/* minimum style to allow to style meter element */
|
|
48
|
-
meter {
|
|
55
|
+
:where(meter) {
|
|
49
56
|
-webkit-appearance: revert;
|
|
50
57
|
appearance: revert;
|
|
51
58
|
}
|
|
52
59
|
|
|
60
|
+
/* preformatted text - use only for this feature */
|
|
61
|
+
:where(pre) {
|
|
62
|
+
all: revert;
|
|
63
|
+
}
|
|
64
|
+
|
|
53
65
|
/* reset default text opacity of input placeholder */
|
|
54
66
|
::placeholder {
|
|
55
67
|
color: unset;
|
|
56
68
|
}
|
|
57
69
|
|
|
70
|
+
/* remove default dot (•) sign */
|
|
71
|
+
::marker {
|
|
72
|
+
content: initial;
|
|
73
|
+
}
|
|
74
|
+
|
|
58
75
|
/* fix the feature of 'hidden' attribute.
|
|
59
76
|
display:revert; revert to element instead of attribute */
|
|
60
77
|
:where([hidden]) {
|
|
@@ -77,16 +94,6 @@ meter {
|
|
|
77
94
|
-webkit-user-drag: element;
|
|
78
95
|
}
|
|
79
96
|
|
|
80
|
-
/* apply text cursor */
|
|
81
|
-
:where(input, textarea) {
|
|
82
|
-
cursor: text;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/* apply pointer cursor */
|
|
86
|
-
:where(a[href], button) {
|
|
87
|
-
cursor: pointer;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
97
|
/* fix firefox svg */
|
|
91
98
|
:where(svg, use, path, symbol) {
|
|
92
99
|
all: revert-layer;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
@layer utilities {
|
|
2
|
-
|
|
2
|
+
.animate {
|
|
3
3
|
animation-duration: var(--transition-duration);
|
|
4
4
|
animation-fill-mode: both;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
.container {
|
|
8
8
|
margin-left: auto;
|
|
9
9
|
margin-right: auto;
|
|
10
10
|
padding-left: var(--container-padding);
|
|
11
11
|
padding-right: var(--container-padding);
|
|
12
12
|
max-width: var(--container-width);
|
|
13
13
|
|
|
14
|
-
&:where(.
|
|
14
|
+
&:where(.container-sm) {
|
|
15
15
|
--container-width: var(--container-width-sm);
|
|
16
16
|
}
|
|
17
17
|
}
|
package/src/base/theme/dark.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
:root.dark {
|
|
2
|
-
--color-
|
|
3
|
-
--color-
|
|
4
|
-
--color-secondary:
|
|
5
|
-
--color-
|
|
6
|
-
--color-
|
|
7
|
-
--color-
|
|
8
|
-
--color-
|
|
2
|
+
--color-base-mix: black;
|
|
3
|
+
--color-body-mix: white;
|
|
4
|
+
--color-secondary: rgb(var(--color-secondary-rgb));
|
|
5
|
+
--color-base: rgb(var(--color-base-rgb));
|
|
6
|
+
--color-base-current: var(--color-dark);
|
|
7
|
+
--color-body: rgb(var(--color-body-rgb));
|
|
8
|
+
--color-body-current: var(--color-light);
|
|
9
9
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--color-primary-rgb: 3 138 255;
|
|
3
|
+
--color-base-rgb: 17 19 21;
|
|
4
|
+
--color-body-rgb: 255 255 255;
|
|
5
|
+
--color-success-rgb: 33 154 67;
|
|
6
|
+
--color-error-rgb: 254 50 75;
|
|
7
|
+
--color-warning-rgb: 254 179 53;
|
|
8
|
+
--color-info-rgb: 45 168 234;
|
|
9
|
+
--color-light-rgb: 255 255 255;
|
|
10
|
+
--color-dark-rgb: 17 19 21;
|
|
11
|
+
--color-accent-rgb: var(--color-primary-rgb);
|
|
12
|
+
--color-current-rgb: var(--color-base-rgb);
|
|
13
|
+
}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
:root {
|
|
2
|
+
--color-primary: rgb(var(--color-primary-rgb));
|
|
3
|
+
--color-primary-current: var(--color-light);
|
|
4
|
+
--color-success: rgb(var(--color-success-rgb));
|
|
5
|
+
--color-error: rgb(var(--color-error-rgb));
|
|
6
|
+
--color-warning: rgb(var(--color-warning-rgb));
|
|
7
|
+
--color-info: rgb(var(--color-info-rgb));
|
|
8
|
+
--color-base: var(--color-base-primary);
|
|
9
|
+
--color-base-current: var(--color-light);
|
|
10
|
+
--color-base-mix: white;
|
|
11
|
+
--color-base-primary: rgb(var(--color-base-rgb));
|
|
12
|
+
--color-base-secondary: color-mix(in sRGB, var(--color-base) 75%, var(--color-base-mix));
|
|
13
|
+
--color-base-tertiary: color-mix(in sRGB, var(--color-base) 50%, var(--color-base-mix));
|
|
14
|
+
--color-body: var(--color-body-primary);
|
|
15
|
+
--color-body-current: var(--color-dark);
|
|
16
|
+
--color-body-mix: black;
|
|
17
|
+
--color-body-primary: rgb(var(--color-body-rgb));
|
|
18
|
+
--color-body-secondary: color-mix(in sRGB, var(--color-body) 95%, var(--color-body-mix));
|
|
19
|
+
--color-body-tertiary: color-mix(in sRGB, var(--color-body) 90%, var(--color-body-mix));
|
|
20
|
+
--color-light: rgb(var(--color-light-rgb));
|
|
21
|
+
--color-dark: rgb(var(--color-dark-rgb));
|
|
2
22
|
--color-accent: var(--color-primary);
|
|
3
|
-
--color-current: var(--color-
|
|
4
|
-
--color-
|
|
5
|
-
--color-primary: 3 138 255;
|
|
6
|
-
--color-secondary: 69 71 72;
|
|
7
|
-
--color-light: 255 255 255;
|
|
8
|
-
--color-dark: 17 19 21;
|
|
9
|
-
--color-success: 33 154 67;
|
|
10
|
-
--color-error: 254 50 75;
|
|
11
|
-
--color-warning: 254 179 53;
|
|
12
|
-
--color-info: 45 168 234;
|
|
13
|
-
--color-background: 255 255 255;
|
|
14
|
-
--color-background-100: 249 250 252;
|
|
15
|
-
--color-background-200: 235 235 235;
|
|
16
|
-
--color-background-300: 225 225 225;
|
|
23
|
+
--color-accent-current: var(--color-primary-current, var(--color-light));
|
|
24
|
+
--color-current: var(--color-base);
|
|
17
25
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.c-dialog {
|
|
2
2
|
--c-dialog-py: 1.5rem;
|
|
3
3
|
--c-dialog-px: 1.5rem;
|
|
4
4
|
--c-dialog-width: 35rem;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
position: relative;
|
|
9
9
|
z-index: var(--z-20);
|
|
10
10
|
margin: auto;
|
|
11
|
-
background-color:
|
|
11
|
+
background-color: var(--color-body-primary);
|
|
12
12
|
width: 100%;
|
|
13
13
|
max-width: var(--c-dialog-width);
|
|
14
14
|
border-radius: var(--rounded-md);
|
package/src/components/field.css
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
.c-field {
|
|
2
2
|
--c-field-gap: 0.5rem;
|
|
3
3
|
|
|
4
4
|
display: flex;
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
gap: var(--c-field-gap);
|
|
7
7
|
|
|
8
|
-
.
|
|
8
|
+
.validated &:has(:invalid) {
|
|
9
9
|
& :where(.ui-info[hidden]) {
|
|
10
10
|
display: block;
|
|
11
11
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
&:has([required]) :where(.ui-label) {
|
|
15
15
|
&::after {
|
|
16
|
-
color:
|
|
16
|
+
color: var(--color-error);
|
|
17
17
|
content: " *";
|
|
18
18
|
}
|
|
19
19
|
}
|
package/src/libraries/dialog.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
--lib-ripple-bg:
|
|
1
|
+
.lib-dialog {
|
|
2
|
+
--lib-ripple-bg: color-mix(in sRGB, var(--color-dark) calc(var(--tw-bg-opacity, 0.8) * 100%), transparent);
|
|
3
3
|
--lib-dialog-py: 2rem;
|
|
4
4
|
--lib-dialog-px: 1.5rem;
|
|
5
5
|
--lib-dialog-animation-duration: var(--transition-duration);
|
package/src/libraries/dialog.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const defaultOptions = {
|
|
1
|
+
export const defaultOptions = {
|
|
2
2
|
openClass: 'is-lib-dialog-open',
|
|
3
3
|
scrollbarWidthProperty: '--lib-dialog-scrollbar-width',
|
|
4
4
|
show: {
|
|
@@ -15,7 +15,7 @@ const defaultOptions = {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
const dialogSelector = selector => document.querySelectorAll(selector)[document.querySelectorAll(selector).length - 1]
|
|
18
|
+
export const dialogSelector = selector => document.querySelectorAll(selector)[document.querySelectorAll(selector).length - 1]
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Dismisses a dialog.
|
|
@@ -23,7 +23,7 @@ const dialogSelector = selector => document.querySelectorAll(selector)[document.
|
|
|
23
23
|
* @param selector - The dialog element to dismiss.
|
|
24
24
|
* @param options - The options for closing the dialog.
|
|
25
25
|
*/
|
|
26
|
-
const dismissDialog = async (selector, options = defaultOptions.close) => {
|
|
26
|
+
export const dismissDialog = async (selector, options = defaultOptions.close) => {
|
|
27
27
|
await Promise.allSettled(selector.getAnimations().map(animation => animation.finished))
|
|
28
28
|
selector.setAttribute('inert', '')
|
|
29
29
|
options.remove && selector.remove()
|
|
@@ -39,7 +39,7 @@ const dismissDialog = async (selector, options = defaultOptions.close) => {
|
|
|
39
39
|
* @param selector - The dialog element to show.
|
|
40
40
|
* @param options - The options for showing the dialog.
|
|
41
41
|
*/
|
|
42
|
-
const showDialog = async (selector, options = defaultOptions.show) => {
|
|
42
|
+
export const showDialog = async (selector, options = defaultOptions.show) => {
|
|
43
43
|
options = Object.assign({}, defaultOptions.show, options)
|
|
44
44
|
|
|
45
45
|
document.documentElement.style.setProperty(defaultOptions.scrollbarWidthProperty, `${window.innerWidth - document.body.clientWidth}px`)
|
|
@@ -75,7 +75,7 @@ const showDialog = async (selector, options = defaultOptions.show) => {
|
|
|
75
75
|
* @param selector - The dialog element to dismiss.
|
|
76
76
|
* @param options - The options for closing the dialog.
|
|
77
77
|
*/
|
|
78
|
-
const closeDialog = async (selector, options = defaultOptions.close) => {
|
|
78
|
+
export const closeDialog = async (selector, options = defaultOptions.close) => {
|
|
79
79
|
options = Object.assign({}, defaultOptions.close, options)
|
|
80
80
|
|
|
81
81
|
window.HTMLDialogElement
|
|
@@ -91,7 +91,7 @@ const closeDialog = async (selector, options = defaultOptions.close) => {
|
|
|
91
91
|
* @param content - The HTML content to insert into the dialog.
|
|
92
92
|
* @param options - The options for inserting the dialog.
|
|
93
93
|
*/
|
|
94
|
-
const insertDialog = async (content, options = defaultOptions.insert) => {
|
|
94
|
+
export const insertDialog = async (content, options = defaultOptions.insert) => {
|
|
95
95
|
options = Object.assign({}, defaultOptions.insert, options)
|
|
96
96
|
|
|
97
97
|
if (!dialogSelector(options.selector) || options.append) {
|
|
@@ -109,14 +109,12 @@ const insertDialog = async (content, options = defaultOptions.insert) => {
|
|
|
109
109
|
* @type {typeof import("./dialog").fetchDialog}
|
|
110
110
|
* @param options - The options for fetching and inserting the dialog.
|
|
111
111
|
*/
|
|
112
|
-
const fetchDialog = async ({ url, insertOptions = {} }) => {
|
|
112
|
+
export const fetchDialog = async ({ url, insertOptions = {} }) => {
|
|
113
113
|
await fetch(url, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
|
|
114
114
|
.then(response => response.json())
|
|
115
115
|
.then(async ({ content }) => await insertDialog(content, insertOptions))
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
export { showDialog, closeDialog, insertDialog, fetchDialog, dialogSelector, dismissDialog }
|
|
119
|
-
|
|
120
118
|
export default {
|
|
121
119
|
defaults: defaultOptions,
|
|
122
120
|
dismiss: dismissDialog,
|
package/src/libraries/ripple.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
.lib-ripple {
|
|
2
2
|
--lib-ripple-animation-duration: 1s;
|
|
3
|
-
--lib-ripple-bg:
|
|
3
|
+
--lib-ripple-bg: color-mix(in sRGB, var(--color-body) calc(var(--tw-bg-opacity, 0.4) * 100%), transparent);
|
|
4
4
|
|
|
5
5
|
position: absolute;
|
|
6
6
|
background: var(--lib-ripple-bg);
|
package/src/libraries/ripple.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Shows a ripple effect.
|
|
3
3
|
* @type {typeof import("./ripple").showRipple}
|
|
4
4
|
*/
|
|
5
|
-
const showRipple = ({ currentTarget, layerX, layerY }, selector = currentTarget.querySelector('.lib-ripple')) => {
|
|
5
|
+
export const showRipple = ({ currentTarget, layerX, layerY }, selector = currentTarget.querySelector('.lib-ripple')) => {
|
|
6
6
|
if (!selector) {
|
|
7
7
|
currentTarget.insertAdjacentHTML('beforeend', "<div class='lib-ripple'></div>")
|
|
8
8
|
selector = currentTarget.querySelector('.lib-ripple')
|
|
@@ -22,8 +22,6 @@ const showRipple = ({ currentTarget, layerX, layerY }, selector = currentTarget.
|
|
|
22
22
|
selector.classList.add('animation-ripple')
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export { showRipple }
|
|
26
|
-
|
|
27
25
|
export default {
|
|
28
26
|
show: showRipple
|
|
29
27
|
}
|
package/src/main-rgb.css
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
@import "ui/btn/default-rgb.css";
|
|
2
|
+
@import "ui/btn/bordered-rgb.css";
|
|
3
|
+
@import "ui/btn/gradient-bordered-rgb.css";
|
|
4
|
+
@import "ui/badge/default-rgb.css";
|
|
5
|
+
@import "ui/badge/bordered-rgb.css";
|
|
6
|
+
@import "ui/control/default-rgb.css";
|
|
7
|
+
@import "ui/progress/default-rgb.css";
|
|
8
|
+
@import "ui/check-rgb.css";
|
|
9
|
+
@import "ui/switch-rgb.css";
|
|
10
|
+
@import "ui/notice-rgb.css";
|
|
11
|
+
@import "ui/text-rgb.css";
|
package/src/main.css
CHANGED
package/src/main.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!CSS.supports('selector(:has(*))') && (async () => (await import('css-has-pseudo/browser')).default(document))()
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
.ui-badge:where(.bordered) {
|
|
2
|
+
--ui-badge-border-width: 1px;
|
|
3
|
+
--ui-badge-border-opacity: calc(var(--tw-border-opacity, 1) * 100%);
|
|
4
|
+
|
|
5
|
+
border: var(--ui-badge-border-width) solid color-mix(in sRGB, var(--color-accent) var(--ui-badge-border-opacity), transparent);
|
|
6
|
+
padding-left: calc(var(--ui-badge-px) - var(--ui-badge-border-width));
|
|
7
|
+
padding-right: calc(var(--ui-badge-px) - var(--ui-badge-border-width));
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
.ui-badge {
|
|
2
|
+
--color-current-rgb: var(--color-light-rgb);
|
|
3
|
+
--ui-badge-bg: rgb(var(--color-accent-rgb) / var(--ui-badge-bg-opacity));
|
|
4
|
+
--ui-badge-color: rgb(var(--color-current-rgb) / var(--ui-badge-color-opacity));
|
|
5
|
+
|
|
6
|
+
&:where(.bordered, .muted) {
|
|
7
|
+
--color-current-rgb: var(--color-accent-rgb);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
.ui-badge {
|
|
2
|
+
--color-current: var(--color-accent-current);
|
|
3
|
+
--ui-badge-width: max-content;
|
|
4
|
+
--ui-badge-height: 1.5rem;
|
|
5
|
+
--ui-badge-py: 0;
|
|
6
|
+
--ui-badge-px: 0.5rem;
|
|
7
|
+
--ui-badge-border-radius: var(--rounded-xs);
|
|
8
|
+
--ui-badge-font-size: 0.75rem;
|
|
9
|
+
--ui-badge-font-weight: var(--font-normal);
|
|
10
|
+
--ui-badge-bg: color-mix(in sRGB, var(--color-accent) var(--ui-badge-bg-opacity), var(--ui-badge-bg-mix));
|
|
11
|
+
--ui-badge-bg-mix: transparent;
|
|
12
|
+
--ui-badge-bg-opacity: calc(var(--tw-bg-opacity, 1) * 100%);
|
|
13
|
+
--ui-badge-color: color-mix(in sRGB, var(--color-current) var(--ui-badge-color-opacity), transparent);
|
|
14
|
+
--ui-badge-color-opacity: calc(var(--tw-text-opacity, 1) * 100%);
|
|
15
|
+
--ui-badge-gap: 0.25rem;
|
|
16
|
+
|
|
17
|
+
width: var(--ui-badge-width);
|
|
18
|
+
height: var(--ui-badge-height);
|
|
19
|
+
padding: var(--ui-badge-py) var(--ui-badge-px);
|
|
20
|
+
border-radius: var(--ui-badge-border-radius);
|
|
21
|
+
font-size: var(--ui-badge-font-size);
|
|
22
|
+
font-weight: var(--ui-badge-font-weight);
|
|
23
|
+
background-color: var(--ui-badge-bg);
|
|
24
|
+
color: var(--ui-badge-color);
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
text-align: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
white-space: nowrap;
|
|
30
|
+
flex-shrink: 0;
|
|
31
|
+
position: relative;
|
|
32
|
+
z-index: 0;
|
|
33
|
+
gap: var(--ui-badge-gap);
|
|
34
|
+
transition: var(--transition-opacity);
|
|
35
|
+
|
|
36
|
+
&:where(.bordered, .muted) {
|
|
37
|
+
--color-current: var(--color-accent);
|
|
38
|
+
--ui-badge-bg-opacity: 0%;
|
|
39
|
+
}
|
|
40
|
+
}
|