winduum 0.4.0 → 0.5.0-next.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.css +1 -1
- package/dist/tailwind.css +1 -1
- package/package.json +19 -19
- package/src/base/config/font.css +11 -0
- package/src/base/{icons.css → config/mask.css} +4 -4
- package/src/base/config/rounded.css +14 -0
- package/src/base/config/spacing.css +15 -0
- package/src/base/config/text.css +15 -0
- package/src/base/config/transition.css +19 -0
- package/src/base/config/z.css +7 -0
- package/src/base/config.css +7 -81
- package/src/base/default.css +5 -1
- package/src/base/index.css +0 -3
- package/src/base/reset.css +11 -8
- package/src/base/tailwind/container.css +28 -0
- package/src/base/tailwind/utilities.css +39 -10
- package/src/base/theme/dark-rgb.css +3 -0
- package/src/base/theme/dark.css +3 -4
- package/src/base/theme/default-rgb.css +25 -0
- package/src/base/theme/default.css +21 -22
- package/src/components/dialog.css +4 -9
- package/src/components/field.css +1 -3
- package/src/libraries/dialog.css +14 -15
- package/src/libraries/dialog.d.ts +2 -0
- package/src/libraries/dialog.js +13 -4
- package/src/libraries/ripple.css +2 -5
- package/src/main-rgb.css +2 -0
- package/src/tailwind.css +1 -1
- package/src/ui/badge/bordered-rgb.css +1 -1
- package/src/ui/badge/bordered.css +9 -8
- package/src/ui/badge/circle.css +1 -1
- package/src/ui/badge/default.css +9 -13
- package/src/ui/badge/lg.css +1 -1
- package/src/ui/badge/muted.css +1 -1
- package/src/ui/badge/sm.css +1 -1
- package/src/ui/badge/square.css +1 -1
- package/src/ui/btn/bordered.css +14 -13
- package/src/ui/btn/circle.css +1 -1
- package/src/ui/btn/default.css +13 -58
- package/src/ui/btn/ghosted.css +1 -1
- package/src/ui/btn/gradient-bordered-rgb.css +1 -1
- package/src/ui/btn/gradient-bordered.css +27 -21
- package/src/ui/btn/hover-fill.css +1 -1
- package/src/ui/btn/index.css +1 -0
- package/src/ui/btn/interactive.css +35 -0
- package/src/ui/btn/lg.css +1 -1
- package/src/ui/btn/muted.css +1 -1
- package/src/ui/btn/raised.css +9 -6
- package/src/ui/btn/sm.css +1 -1
- package/src/ui/btn/square.css +1 -1
- package/src/ui/btn/wide.css +1 -2
- package/src/ui/check.css +27 -53
- package/src/ui/control/color.css +5 -8
- package/src/ui/control/default.css +27 -42
- package/src/ui/control/file.css +7 -13
- package/src/ui/control/floating-interactive.css +12 -0
- package/src/ui/control/floating.css +22 -26
- package/src/ui/control/icon.css +4 -5
- package/src/ui/control/index.css +1 -1
- package/src/ui/control/select.css +4 -4
- package/src/ui/heading/default.css +5 -10
- package/src/ui/heading/lg.css +2 -2
- package/src/ui/heading/sm.css +2 -3
- package/src/ui/image.css +8 -19
- package/src/ui/index.css +0 -1
- package/src/ui/info.css +6 -5
- package/src/ui/label.css +6 -5
- package/src/ui/notice.css +7 -15
- package/src/ui/progress/default.css +4 -8
- package/src/ui/progress/lg.css +1 -1
- package/src/ui/progress/sm.css +1 -1
- package/src/ui/switch.css +28 -41
- package/src/ui/text.css +102 -113
- package/src/ui/title/default.css +5 -12
- package/src/ui/title/lg.css +2 -2
- package/src/ui/title/sm.css +2 -2
- package/tailwind.config.js +5 -1
- package/utils/tailwind.cjs +3 -0
- package/utils/tailwind.js +51 -8
- package/src/base/tailwind/gutters.css +0 -343
- package/src/ui/control/floating-focus.css +0 -12
- package/src/ui/link/default.css +0 -39
- package/src/ui/link/index.css +0 -2
- package/src/ui/link/underlined.css +0 -51
- package/src/ui/link.css +0 -1
package/src/base/reset.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/***
|
|
2
|
-
The new CSS reset - version 1.11.
|
|
2
|
+
The new CSS reset - version 1.11.2 (last updated 15.11.2023)
|
|
3
3
|
GitHub page: https://github.com/elad2412/the-new-css-reset
|
|
4
4
|
***/
|
|
5
5
|
|
|
@@ -36,7 +36,7 @@ html {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/* For images to not be able to exceed their container */
|
|
39
|
-
:where(img) {
|
|
39
|
+
:where(img, iframe) {
|
|
40
40
|
max-inline-size: 100%;
|
|
41
41
|
max-block-size: 100%;
|
|
42
42
|
}
|
|
@@ -79,12 +79,6 @@ html {
|
|
|
79
79
|
content: initial;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
/* fix the feature of 'hidden' attribute.
|
|
83
|
-
display:revert; revert to element instead of attribute */
|
|
84
|
-
:where([hidden]) {
|
|
85
|
-
display: none;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
82
|
/* revert for bug in Chromium browsers
|
|
89
83
|
- fix for the content editable attribute will work properly.
|
|
90
84
|
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element */
|
|
@@ -101,7 +95,16 @@ html {
|
|
|
101
95
|
-webkit-user-drag: element;
|
|
102
96
|
}
|
|
103
97
|
|
|
98
|
+
/* Remove details summary webkit styles */
|
|
99
|
+
::-webkit-details-marker {
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
104
103
|
/* fix firefox svg */
|
|
105
104
|
:where(svg, use, path, symbol) {
|
|
106
105
|
all: revert-layer;
|
|
107
106
|
}
|
|
107
|
+
|
|
108
|
+
:where(search) {
|
|
109
|
+
display: block;
|
|
110
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
:root, :host {
|
|
2
|
+
--container: min(100% - (var(--container-padding) * 2), var(--container-width));
|
|
3
|
+
--container-sm: min(100% - (var(--container-padding) * 2), var(--container-sm-width));
|
|
4
|
+
--container-lg: min(100% - (var(--container-padding) * 2), var(--container-lg-width));
|
|
5
|
+
--container-width: 80rem;
|
|
6
|
+
--container-sm-width: 50rem;
|
|
7
|
+
--container-lg-width: 90rem;
|
|
8
|
+
--container-padding: 5vw;
|
|
9
|
+
--container-padding-calc: max(calc(50vw - (var(--container-width) / 2)), var(--container-padding));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@layer components {
|
|
13
|
+
.grid-cols-container {
|
|
14
|
+
display: grid;
|
|
15
|
+
grid-template-columns:
|
|
16
|
+
[container-full-start] minmax(var(--container-padding), 1fr)
|
|
17
|
+
[container-lg-start] minmax(0, calc((var(--container-lg-width) - var(--container-width)) / 2))
|
|
18
|
+
[container-start] minmax(0, calc((var(--container-width) - var(--container-sm-width)) / 2))
|
|
19
|
+
[container-sm-start] min(100% - (var(--container-padding) * 2), var(--container-sm-width)) [container-sm-end]
|
|
20
|
+
minmax(0, calc((var(--container-width) - var(--container-sm-width)) / 2)) [container-end]
|
|
21
|
+
minmax(0, calc((var(--container-lg-width) - var(--container-width)) / 2)) [container-lg-end]
|
|
22
|
+
minmax(var(--container-padding), 1fr) [container-full-end];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:where(.grid-cols-container > *) {
|
|
26
|
+
grid-column: container;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer components {
|
|
2
2
|
.animate {
|
|
3
|
-
animation-duration: var(--
|
|
3
|
+
animation-duration: var(--duration);
|
|
4
4
|
animation-fill-mode: both;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
max-width: var(--container-width);
|
|
7
|
+
.underline {
|
|
8
|
+
text-underline-position: under;
|
|
9
|
+
text-decoration-thickness: max(1px, 0.0625em);
|
|
10
|
+
text-underline-offset: -0.125rem;
|
|
11
|
+
transition: all var(--duration) var(--ease-in-out);
|
|
13
12
|
|
|
14
|
-
&:where(.
|
|
15
|
-
|
|
13
|
+
&:where([href], button, .interactive) {
|
|
14
|
+
&:hover {
|
|
15
|
+
@media (hover: hover) and (pointer: fine) {
|
|
16
|
+
text-decoration-color: var(--color-current);
|
|
17
|
+
text-underline-offset: 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&:focus {
|
|
22
|
+
text-decoration-color: var(--color-current);
|
|
23
|
+
text-underline-offset: 0;
|
|
24
|
+
}
|
|
16
25
|
}
|
|
17
26
|
}
|
|
18
27
|
|
|
@@ -30,4 +39,24 @@
|
|
|
30
39
|
opacity: 0.3;
|
|
31
40
|
transition: opacity 0.3s ease-out;
|
|
32
41
|
}
|
|
42
|
+
|
|
43
|
+
.flex-col {
|
|
44
|
+
display: flex;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.flex-between {
|
|
48
|
+
display: flex;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
gap: var(--spacing-sm);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.flex-center {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
gap: var(--spacing-sm);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[hidden] {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
33
62
|
}
|
package/src/base/theme/dark.css
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
1
|
:root, :host {
|
|
2
|
+
--color-scheme: light;
|
|
3
|
+
--color-current: rgb(var(--color-current-rgb));
|
|
4
|
+
--color-current-fg: rgb(var(--color-current-fg-rgb));
|
|
5
|
+
--color-accent: rgb(var(--color-accent-rgb));
|
|
6
|
+
--color-accent-fg: rgb(var(--color-accent-fg-rgb));
|
|
7
|
+
--color-primary: rgb(var(--color-primary-rgb));
|
|
8
|
+
--color-primary-fg: rgb(var(--color-primary-fg-rgb));
|
|
9
|
+
--color-main: var(--color-main-primary);
|
|
10
|
+
--color-main-fg: rgb(var(--color-main-fg-rgb));
|
|
11
|
+
--color-main-primary: rgb(var(--color-main-rgb));
|
|
12
|
+
--color-main-secondary: color-mix(in sRGB, var(--color-main) 75%, var(--color-main-fg));
|
|
13
|
+
--color-main-tertiary: color-mix(in sRGB, var(--color-main) 50%, var(--color-main-fg));
|
|
14
|
+
--color-body: var(--color-body-primary);
|
|
15
|
+
--color-body-fg: rgb(var(--color-body-fg-rgb));
|
|
16
|
+
--color-body-primary: rgb(var(--color-body-rgb));
|
|
17
|
+
--color-body-secondary: color-mix(in sRGB, var(--color-body) 95%, var(--color-body-fg));
|
|
18
|
+
--color-body-tertiary: color-mix(in sRGB, var(--color-body) 90%, var(--color-body-fg));
|
|
19
|
+
--color-light: rgb(var(--color-light-rgb));
|
|
20
|
+
--color-light-fg: rgb(var(--color-light-fg-rgb));
|
|
21
|
+
--color-dark: rgb(var(--color-dark-rgb));
|
|
22
|
+
--color-dark-fg: rgb(var(--color-dark-fg-rgb));
|
|
23
|
+
--color-success: rgb(var(--color-success-rgb));
|
|
24
|
+
--color-error: rgb(var(--color-error-rgb));
|
|
25
|
+
--color-warning: rgb(var(--color-warning-rgb));
|
|
26
|
+
--color-info: rgb(var(--color-info-rgb));
|
|
2
27
|
--color-current-rgb: var(--color-main-rgb);
|
|
3
28
|
--color-current-fg-rgb: var(--color-main-fg-rgb);
|
|
4
29
|
--color-accent-rgb: var(--color-primary-rgb);
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
:root, :host {
|
|
2
|
-
--color-
|
|
3
|
-
--color-current
|
|
4
|
-
--color-
|
|
5
|
-
--color-accent
|
|
6
|
-
--color-
|
|
7
|
-
--color-primary
|
|
8
|
-
--color-
|
|
9
|
-
--color-main
|
|
10
|
-
--color-main-
|
|
2
|
+
--color-scheme: light;
|
|
3
|
+
--color-current: var(--color-main);
|
|
4
|
+
--color-current-fg: var(--color-main-fg);
|
|
5
|
+
--color-accent: var(--color-primary);
|
|
6
|
+
--color-accent-fg: var(--color-primary-fg);
|
|
7
|
+
--color-primary: rgb(3 138 255);
|
|
8
|
+
--color-primary-fg: var(--color-light);
|
|
9
|
+
--color-main: rgb(17 19 2);
|
|
10
|
+
--color-main-fg: var(--color-body);
|
|
11
|
+
--color-main-primary: var(--color-main);
|
|
11
12
|
--color-main-secondary: color-mix(in sRGB, var(--color-main) 75%, var(--color-main-fg));
|
|
12
13
|
--color-main-tertiary: color-mix(in sRGB, var(--color-main) 50%, var(--color-main-fg));
|
|
13
|
-
--color-body:
|
|
14
|
-
--color-body-fg:
|
|
15
|
-
--color-body-primary:
|
|
14
|
+
--color-body: rgb(255 255 255);
|
|
15
|
+
--color-body-fg: var(--color-main);
|
|
16
|
+
--color-body-primary: var(--color-body);
|
|
16
17
|
--color-body-secondary: color-mix(in sRGB, var(--color-body) 95%, var(--color-body-fg));
|
|
17
18
|
--color-body-tertiary: color-mix(in sRGB, var(--color-body) 90%, var(--color-body-fg));
|
|
18
|
-
--color-light: rgb(
|
|
19
|
-
--color-light-fg:
|
|
20
|
-
--color-dark: rgb(
|
|
21
|
-
--color-dark-fg:
|
|
22
|
-
--color-success: rgb(
|
|
23
|
-
--color-error: rgb(
|
|
24
|
-
--color-warning: rgb(
|
|
25
|
-
--color-info: rgb(
|
|
26
|
-
|
|
27
|
-
color-scheme: light;
|
|
19
|
+
--color-light: rgb(255 255 255);
|
|
20
|
+
--color-light-fg: var(--color-dark);
|
|
21
|
+
--color-dark: rgb(17 19 21);
|
|
22
|
+
--color-dark-fg: var(--color-light);
|
|
23
|
+
--color-success: rgb(33 154 67);
|
|
24
|
+
--color-error: rgb(254 50 75);
|
|
25
|
+
--color-warning: rgb(254 179 53);
|
|
26
|
+
--color-info: rgb(45 168 234);
|
|
28
27
|
}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
.c-dialog {
|
|
2
|
-
--
|
|
3
|
-
--c-dialog-px: 1.5rem;
|
|
4
|
-
--c-dialog-width: 35rem;
|
|
5
|
-
--c-dialog-animation-duration: var(--transition-duration);
|
|
6
|
-
|
|
7
|
-
animation: var(--c-dialog-animation-duration) ease 0s backwards 1 fade-in-down;
|
|
2
|
+
animation: var(--duration) ease 0s backwards 1 fade-in-down;
|
|
8
3
|
position: relative;
|
|
9
4
|
z-index: var(--z-20);
|
|
10
5
|
margin: auto;
|
|
11
6
|
background-color: var(--color-body-primary);
|
|
12
7
|
width: 100%;
|
|
13
|
-
max-width: var(--c-dialog-width);
|
|
8
|
+
max-width: var(--c-dialog-width, 35rem);
|
|
14
9
|
border-radius: var(--rounded-3xl);
|
|
15
|
-
padding: var(--c-dialog-py) var(--c-dialog-px);
|
|
10
|
+
padding: var(--c-dialog-py, 1.5rem) var(--c-dialog-px, 1.5rem);
|
|
16
11
|
|
|
17
12
|
:where(dialog:not([open])) & {
|
|
18
|
-
animation: var(--
|
|
13
|
+
animation: var(--duration) ease 0s forwards 1 fade-out-up;
|
|
19
14
|
}
|
|
20
15
|
}
|
package/src/components/field.css
CHANGED
package/src/libraries/dialog.css
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
.lib-dialog {
|
|
2
|
-
--lib-ripple-bg: color-mix(in sRGB, var(--color-dark) calc(var(--tw-bg-opacity, 0.8) * 100%), transparent);
|
|
3
|
-
--lib-dialog-py: 2rem;
|
|
4
|
-
--lib-dialog-px: 1.5rem;
|
|
5
|
-
--lib-dialog-animation-duration: var(--transition-duration);
|
|
6
|
-
|
|
7
2
|
inset: 0;
|
|
8
3
|
z-index: var(--z-30);
|
|
9
4
|
position: fixed;
|
|
10
5
|
overflow: auto;
|
|
11
6
|
-webkit-overflow-scrolling: touch;
|
|
12
|
-
background-color: var(--lib-ripple-bg);
|
|
7
|
+
background-color: var(--lib-ripple-bg, color-mix(in sRGB, var(--color-dark) calc(var(--tw-bg-opacity, 0.8) * 100%), transparent));
|
|
13
8
|
overscroll-behavior: contain;
|
|
14
9
|
display: flex;
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
padding: var(--lib-dialog-py, 2rem) var(--lib-dialog-px, 1.5rem);
|
|
11
|
+
transition: var(--transition-background);
|
|
17
12
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
pointer-events: none;
|
|
13
|
+
&, &::backdrop {
|
|
14
|
+
visibility: hidden;
|
|
21
15
|
}
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
&:not([open]) {
|
|
18
|
+
background-color: transparent;
|
|
19
|
+
pointer-events: none;
|
|
25
20
|
}
|
|
26
21
|
|
|
27
22
|
.is-lib-dialog-open & {
|
|
@@ -30,6 +25,10 @@
|
|
|
30
25
|
}
|
|
31
26
|
|
|
32
27
|
.is-lib-dialog-open {
|
|
33
|
-
|
|
34
|
-
padding-
|
|
28
|
+
scrollbar-width: none;
|
|
29
|
+
padding-inline-end: var(--lib-dialog-scrollbar-width, 0);
|
|
30
|
+
|
|
31
|
+
&::-webkit-scrollbar {
|
|
32
|
+
display: none;
|
|
33
|
+
}
|
|
35
34
|
}
|
package/src/libraries/dialog.js
CHANGED
|
@@ -2,7 +2,9 @@ export const defaultOptions = {
|
|
|
2
2
|
openClass: 'is-lib-dialog-open',
|
|
3
3
|
scrollbarWidthProperty: '--lib-dialog-scrollbar-width',
|
|
4
4
|
show: {
|
|
5
|
-
closable: true ?? null
|
|
5
|
+
closable: true ?? null,
|
|
6
|
+
onCloseStart: () => null,
|
|
7
|
+
onCloseEnd: () => null
|
|
6
8
|
},
|
|
7
9
|
close: {
|
|
8
10
|
remove: false ?? null
|
|
@@ -29,6 +31,7 @@ export const dismissDialog = async (selector, options = defaultOptions.close) =>
|
|
|
29
31
|
options.remove && selector.remove()
|
|
30
32
|
|
|
31
33
|
if (!document.querySelector('dialog[open]')) {
|
|
34
|
+
document.documentElement.style.removeProperty(defaultOptions.scrollbarWidthProperty)
|
|
32
35
|
document.documentElement.classList.remove(defaultOptions.openClass)
|
|
33
36
|
}
|
|
34
37
|
}
|
|
@@ -47,13 +50,19 @@ export const showDialog = async (selector, options = defaultOptions.show) => {
|
|
|
47
50
|
if (!selector?._dialogHasEvents && options.closable) {
|
|
48
51
|
selector.addEventListener('keydown', async ({ key }) => {
|
|
49
52
|
if (key === 'Escape') {
|
|
50
|
-
setTimeout(() =>
|
|
53
|
+
setTimeout(async () => {
|
|
54
|
+
options.onCloseStart()
|
|
55
|
+
await dismissDialog(selector, options)
|
|
56
|
+
options.onCloseEnd()
|
|
57
|
+
}, 1)
|
|
51
58
|
}
|
|
52
59
|
})
|
|
53
60
|
|
|
54
|
-
selector.addEventListener('click', ({ target }) => {
|
|
61
|
+
selector.addEventListener('click', async ({ target }) => {
|
|
55
62
|
if (target.nodeName === 'DIALOG') {
|
|
56
|
-
|
|
63
|
+
options.onCloseStart()
|
|
64
|
+
await closeDialog(selector, options)
|
|
65
|
+
options.onCloseEnd()
|
|
57
66
|
}
|
|
58
67
|
})
|
|
59
68
|
|
package/src/libraries/ripple.css
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
.lib-ripple {
|
|
2
|
-
--lib-ripple-animation-duration: 1s;
|
|
3
|
-
--lib-ripple-bg: color-mix(in sRGB, var(--color-body) calc(var(--tw-bg-opacity, 0.4) * 100%), transparent);
|
|
4
|
-
|
|
5
2
|
position: absolute;
|
|
6
|
-
background: var(--lib-ripple-bg);
|
|
3
|
+
background: var(--lib-ripple-bg, color-mix(in sRGB, var(--color-body) calc(var(--tw-bg-opacity, 0.4) * 100%), transparent));
|
|
7
4
|
border-radius: 50%;
|
|
8
5
|
transform: scale(0);
|
|
9
|
-
animation-duration: var(--lib-ripple-animation-duration);
|
|
6
|
+
animation-duration: var(--lib-ripple-animation-duration, 1s);
|
|
10
7
|
pointer-events: none;
|
|
11
8
|
}
|
package/src/main-rgb.css
CHANGED
package/src/tailwind.css
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
.ui-badge
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
.ui-badge {
|
|
2
|
+
&:where(.bordered) {
|
|
3
|
+
border: var(--ui-badge-border-width, 1px) solid color-mix(in sRGB, var(--color-accent) var(--ui-badge-border-opacity, calc(var(--tw-border-opacity, 1) * 100%)), transparent);
|
|
4
|
+
padding-inline: calc(var(--ui-badge-px) - var(--ui-badge-border-width, 1px));
|
|
5
|
+
}
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
&:is(.bordered) {
|
|
8
|
+
--color-current: var(--color-accent);
|
|
9
|
+
--ui-badge-bg-opacity: 0%;
|
|
10
|
+
}
|
|
10
11
|
}
|
package/src/ui/badge/circle.css
CHANGED
package/src/ui/badge/default.css
CHANGED
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
.ui-badge {
|
|
2
2
|
--color-current: var(--color-accent-fg);
|
|
3
|
-
--ui-badge-width: fit-content;
|
|
4
3
|
--ui-badge-height: 1.5rem;
|
|
5
4
|
--ui-badge-py: 0;
|
|
6
5
|
--ui-badge-px: 0.5rem;
|
|
7
|
-
--ui-badge-
|
|
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;
|
|
6
|
+
--ui-badge-bg: color-mix(in sRGB, var(--color-accent) var(--ui-badge-bg-opacity), var(--ui-badge-bg-mix, transparent));
|
|
12
7
|
--ui-badge-bg-opacity: calc(var(--tw-bg-opacity, 1) * 100%);
|
|
13
8
|
--ui-badge-color: color-mix(in sRGB, var(--color-current) var(--ui-badge-color-opacity), transparent);
|
|
14
9
|
--ui-badge-color-opacity: calc(var(--tw-text-opacity, 1) * 100%);
|
|
15
|
-
--ui-badge-gap: 0.25rem;
|
|
16
10
|
|
|
17
|
-
width: var(--ui-badge-width);
|
|
11
|
+
width: var(--ui-badge-width, auto);
|
|
18
12
|
height: var(--ui-badge-height);
|
|
19
13
|
padding: var(--ui-badge-py) var(--ui-badge-px);
|
|
20
|
-
border-radius: var(--ui-badge-border-radius);
|
|
21
|
-
font-
|
|
22
|
-
font-weight: var(--ui-badge-font-weight);
|
|
14
|
+
border-radius: var(--ui-badge-border-radius, var(--rounded-lg));
|
|
15
|
+
font-family: var(--ui-badge-font-family, inherit);
|
|
16
|
+
font-weight: var(--ui-badge-font-weight, inherit);
|
|
17
|
+
font-size: var(--ui-badge-font-size, var(--text-xs));
|
|
18
|
+
letter-spacing: var(--ui-badge-letter-spacing, inherit);
|
|
23
19
|
background-color: var(--ui-badge-bg);
|
|
24
20
|
color: var(--ui-badge-color);
|
|
25
21
|
display: inline-flex;
|
|
26
|
-
align-items: center;
|
|
27
22
|
text-align: center;
|
|
23
|
+
align-items: center;
|
|
28
24
|
justify-content: center;
|
|
29
25
|
white-space: nowrap;
|
|
30
26
|
flex-shrink: 0;
|
|
31
27
|
position: relative;
|
|
32
|
-
gap: var(--ui-badge-gap);
|
|
28
|
+
gap: var(--ui-badge-gap, var(--spacing-xs));
|
|
33
29
|
transition: var(--transition-opacity);
|
|
34
30
|
}
|
package/src/ui/badge/lg.css
CHANGED
package/src/ui/badge/muted.css
CHANGED
package/src/ui/badge/sm.css
CHANGED
package/src/ui/badge/square.css
CHANGED
package/src/ui/btn/bordered.css
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
.ui-btn
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
--ui-btn-active-bg-opacity: 20%;
|
|
7
|
-
--ui-btn-focus-outline-offset: -2px;
|
|
8
|
-
--ui-btn-bg-opacity: 0%;
|
|
9
|
-
--ui-btn-border-width: 1px;
|
|
10
|
-
--ui-btn-border-opacity: calc(var(--tw-border-opacity, 0.3) * 100%);
|
|
1
|
+
.ui-btn {
|
|
2
|
+
&:where(.bordered) {
|
|
3
|
+
border: var(--ui-btn-border-width, 1px) solid color-mix(in sRGB, var(--color-accent) var(--ui-btn-border-opacity, calc(var(--tw-border-opacity, 0.3) * 100%)), transparent);
|
|
4
|
+
padding-inline: calc(var(--ui-btn-px) - var(--ui-btn-border-width, 1px));
|
|
5
|
+
}
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
&:is(.bordered) {
|
|
8
|
+
--color-current: var(--color-accent);
|
|
9
|
+
--ui-btn-hover-bg-mix: transparent;
|
|
10
|
+
--ui-btn-hover-bg-opacity: 10%;
|
|
11
|
+
--ui-btn-active-bg-mix: transparent;
|
|
12
|
+
--ui-btn-active-bg-opacity: 20%;
|
|
13
|
+
--ui-btn-focus-outline-offset: -2px;
|
|
14
|
+
--ui-btn-bg-opacity: 0%;
|
|
15
|
+
}
|
|
15
16
|
}
|
package/src/ui/btn/circle.css
CHANGED
package/src/ui/btn/default.css
CHANGED
|
@@ -1,55 +1,34 @@
|
|
|
1
1
|
.ui-btn {
|
|
2
2
|
--color-current: var(--color-accent-fg);
|
|
3
|
-
--ui-btn-width: fit-content;
|
|
4
3
|
--ui-btn-height: 2.25rem;
|
|
5
|
-
--ui-btn-gap: 0.375rem;
|
|
6
4
|
--ui-btn-py: 0.375rem;
|
|
7
5
|
--ui-btn-px: 0.75rem;
|
|
8
|
-
--ui-btn-
|
|
9
|
-
--ui-btn-font-size: 0.875rem;
|
|
10
|
-
--ui-btn-font-weight: var(--font-medium);
|
|
11
|
-
--ui-btn-letter-spacing: 0;
|
|
12
|
-
--ui-btn-bg: color-mix(in sRGB, var(--color-accent) var(--ui-btn-bg-opacity), var(--ui-btn-bg-mix));
|
|
13
|
-
--ui-btn-bg-mix: transparent;
|
|
6
|
+
--ui-btn-bg: color-mix(in sRGB, var(--color-accent) var(--ui-btn-bg-opacity), var(--ui-btn-bg-mix, transparent));
|
|
14
7
|
--ui-btn-bg-opacity: calc(var(--tw-bg-opacity, 1) * 100%);
|
|
15
8
|
--ui-btn-color: color-mix(in sRGB, var(--color-current) var(--ui-btn-color-opacity), transparent);
|
|
16
9
|
--ui-btn-color-opacity: calc(var(--tw-text-opacity, 1) * 100%);
|
|
17
|
-
--ui-btn-outline-width: 2px;
|
|
18
|
-
--ui-btn-hover-color: var(--color-current);
|
|
19
|
-
--ui-btn-hover-bg-mix: black;
|
|
20
|
-
--ui-btn-hover-bg-opacity: 80%;
|
|
21
|
-
--ui-btn-active-color: var(--color-current);
|
|
22
|
-
--ui-btn-active-bg-mix: black;
|
|
23
|
-
--ui-btn-active-bg-opacity: 90%;
|
|
24
|
-
--ui-btn-focus-outline-color-mix: transparent;
|
|
25
|
-
--ui-btn-focus-outline-color-opacity: 50%;
|
|
26
|
-
--ui-btn-focus-outline-offset: 2px;
|
|
27
|
-
--ui-btn-disabled-opacity: 70%;
|
|
28
10
|
|
|
29
|
-
width: var(--ui-btn-width);
|
|
11
|
+
width: var(--ui-btn-width, auto);
|
|
30
12
|
height: var(--ui-btn-height);
|
|
31
13
|
padding: var(--ui-btn-py) var(--ui-btn-px);
|
|
32
|
-
border-radius: var(--ui-btn-border-radius);
|
|
33
|
-
font-size: var(--ui-btn-font-size);
|
|
34
|
-
font-weight: var(--ui-btn-font-weight);
|
|
35
|
-
letter-spacing: var(--ui-btn-letter-spacing);
|
|
14
|
+
border-radius: var(--ui-btn-border-radius, var(--rounded));
|
|
15
|
+
font-size: var(--ui-btn-font-size, 0.875rem);
|
|
16
|
+
font-weight: var(--ui-btn-font-weight, var(--font-medium));
|
|
17
|
+
letter-spacing: var(--ui-btn-letter-spacing, 0);
|
|
36
18
|
background-color: var(--ui-btn-bg);
|
|
37
19
|
color: var(--ui-btn-color);
|
|
38
20
|
user-select: none;
|
|
39
21
|
overflow: hidden;
|
|
40
22
|
display: inline-flex;
|
|
23
|
+
text-align: center;
|
|
41
24
|
align-items: center;
|
|
42
25
|
justify-content: center;
|
|
43
26
|
white-space: nowrap;
|
|
44
|
-
flex-shrink: 0;
|
|
45
27
|
position: relative;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
outline-offset 100ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
51
|
-
gap: var(--ui-btn-gap);
|
|
52
|
-
outline: var(--ui-btn-outline-width) solid transparent;
|
|
28
|
+
flex-shrink: 0;
|
|
29
|
+
z-index: 0;
|
|
30
|
+
gap: var(--ui-btn-gap, 0.375rem);
|
|
31
|
+
outline: var(--ui-btn-outline-width, 2px) solid transparent;
|
|
53
32
|
outline-offset: 0;
|
|
54
33
|
|
|
55
34
|
&:where([class*="accent-main"]) {
|
|
@@ -60,31 +39,7 @@
|
|
|
60
39
|
--ui-btn-hover-bg-mix: var(--color-body-fg);
|
|
61
40
|
}
|
|
62
41
|
|
|
63
|
-
&:
|
|
64
|
-
|
|
65
|
-
opacity: var(--ui-btn-disabled-opacity);
|
|
66
|
-
cursor: not-allowed;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&:not(:disabled) {
|
|
70
|
-
&:hover {
|
|
71
|
-
@media (hover: hover) and (pointer: fine) {
|
|
72
|
-
--ui-btn-color: var(--ui-btn-hover-color);
|
|
73
|
-
--ui-btn-bg-mix: var(--ui-btn-hover-bg-mix);
|
|
74
|
-
--ui-btn-bg-opacity: var(--ui-btn-hover-bg-opacity);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
&:focus {
|
|
79
|
-
outline-color: color-mix(in sRGB, var(--color-accent) var(--ui-btn-focus-outline-color-opacity), var(--ui-btn-focus-outline-color-mix));
|
|
80
|
-
outline-offset: var(--ui-btn-focus-outline-offset);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
&:is(:active, .active) {
|
|
84
|
-
--ui-btn-color: var(--ui-btn-active-color);
|
|
85
|
-
--ui-btn-bg-mix: var(--ui-btn-active-bg-mix);
|
|
86
|
-
--ui-btn-bg-opacity: var(--ui-btn-active-bg-opacity);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
42
|
+
&:where(input)::after {
|
|
43
|
+
content: attr(aria-label);
|
|
89
44
|
}
|
|
90
45
|
}
|
package/src/ui/btn/ghosted.css
CHANGED