diff --git a/lib/utilities/README.md b/lib/utilities/README.md
index 1e1ba60569..6d7bf6975d 100755
--- a/lib/utilities/README.md
+++ b/lib/utilities/README.md
@@ -34,6 +34,8 @@
+
+
```
### Solid
@@ -41,7 +43,6 @@
#### Accent
```html:example: blocks
-
@@ -61,7 +62,6 @@
#### Grays
```html:example: blocks
-
@@ -71,9 +71,7 @@
-
-
@@ -83,7 +81,6 @@
-
```
### Ghost
@@ -161,7 +158,6 @@
-
Accent State
@@ -181,7 +177,6 @@
-
```
## Text Colors
diff --git a/lib/utilities/src/interactivity/state.css b/lib/utilities/src/interactivity/state.css
index ee8fa01d3f..0b671e8804 100755
--- a/lib/utilities/src/interactivity/state.css
+++ b/lib/utilities/src/interactivity/state.css
@@ -12,22 +12,27 @@
transform: scale(var(--state-scale));
transition-property: opacity, transform, box-shadow;
}
- .-state:hover::before,
- .-state:active::before,
- .-state:focus-visible::before {
- @apply -opacity-100 -scale-100;
- }
.-state:focus-visible {
@apply -outline-none;
}
+ .-state:hover::before,
+ .-state:active::before,
.-state:focus-visible::before {
- background: var(--state-focus-color);
- @apply -ring -ring-focus;
+ @apply -scale-100;
+ }
+ .-state:hover::before {
+ opacity: var(--state-hover-opacity, 1);
}
.-state:active::before {
- background: var(--state-active-color);
+ background: var(--state-active-color, var(--state-color));
+ opacity: var(--state-active-opacity, .6);
--tw-ring-color: var(--state-ring-color, currentColor);
- @apply -ring -duration-700 -opacity-80;
+ @apply -ring -duration-700;
+ }
+ .-state:focus-visible::before {
+ background: var(--state-focus-color, var(--state-color));
+ opacity: var(--state-focus-opacity, 1);
+ @apply -ring -ring-focus;
}
.-state[disabled]::before,
.-state.disabled::before {
diff --git a/lib/utilities/src/main.ts b/lib/utilities/src/main.ts
index f98cafd168..5fb05196e3 100755
--- a/lib/utilities/src/main.ts
+++ b/lib/utilities/src/main.ts
@@ -3,7 +3,7 @@ import './interactivity/index.css';
import './layout/index.css';
import './spacing/index.css';
import './sizing/index.css';
-import './skin';
+import './skin/index.css';
import './typography/index.css';
import './backgrounds/index.css';
import './borders/index.css';
diff --git a/lib/utilities/src/skin/ghost.css b/lib/utilities/src/skin/ghost.css
index 593924b341..e6f1eed882 100644
--- a/lib/utilities/src/skin/ghost.css
+++ b/lib/utilities/src/skin/ghost.css
@@ -7,34 +7,37 @@
.important-ghost,
.special-ghost {
@apply -skin;
- --skin-ring-opacity: 0;
+ --tw-ring-opacity: 0;
--tw-bg-opacity: 0;
- --skin-text: var(--skin-color, var(--color-fore-rgb));
- --skin-hover-bg: var(--skin-color);
- --skin-hover-bg-opacity: .1;
- --state-color: transparent;
+ --skin-text: var(--skin-color, inherit);
+ --skin-bg: transparent;
+ --skin-ring: transparent;
+
+ --skin-color: rgba(var(--skin-ghost-rgb), 1);
+ --state-color: rgba(var(--skin-ghost-rgb), .1);
}
.ghost {
- --skin-hover-bg: var(--color-gray-500-rgb);
+ --skin-ghost-rgb: var(--color-fore-rgb);
+ --skin-text: inherit;
}
.primary-ghost {
- --skin-color: var(--color-primary-500-rgb);
+ --skin-ghost-rgb: var(--color-primary-500-rgb);
}
.secondary-ghost {
- --skin-color: var(--color-secondary-500-rgb);
+ --skin-ghost-rgb: var(--color-secondary-500-rgb);
}
.success-ghost {
- --skin-color: var(--color-success-500-rgb);
+ --skin-ghost-rgb: var(--color-success-500-rgb);
}
.warning-ghost {
- --skin-color: var(--color-warning-500-rgb);
+ --skin-ghost-rgb: var(--color-warning-500-rgb);
}
.danger-ghost {
- --skin-color: var(--color-danger-500-rgb);
+ --skin-ghost-rgb: var(--color-danger-500-rgb);
}
.important-ghost {
- --skin-color: var(--color-important-500-rgb);
+ --skin-ghost-rgb: var(--color-important-500-rgb);
}
.special-ghost {
- --skin-color: var(--color-special-500-rgb);
+ --skin-ghost-rgb: var(--color-special-500-rgb);
}
diff --git a/lib/utilities/src/skin/index.css b/lib/utilities/src/skin/index.css
new file mode 100644
index 0000000000..85f664b645
--- /dev/null
+++ b/lib/utilities/src/skin/index.css
@@ -0,0 +1,6 @@
+@import './surface.css';
+@import './skin.css';
+@import './solid.css';
+@import './pale.css';
+@import './outline.css';
+@import './ghost.css';
diff --git a/lib/utilities/src/skin/index.ts b/lib/utilities/src/skin/index.ts
deleted file mode 100644
index 9cb101a5d8..0000000000
--- a/lib/utilities/src/skin/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import './surface.css';
-import './skin.css';
-import './solid.css';
-import './pale.css';
-import './outline.css';
-import './ghost.css';
diff --git a/lib/utilities/src/skin/outline.css b/lib/utilities/src/skin/outline.css
index 966149dd87..07090cf227 100755
--- a/lib/utilities/src/skin/outline.css
+++ b/lib/utilities/src/skin/outline.css
@@ -6,58 +6,47 @@
.danger-outline,
.important-outline,
.special-outline,
-.white-outline,
-.bright-outline,
-.lightest-outline,
-.lighter-outline,
.light-gray-outline,
.gray-outline,
-.dark-gray-outline,
-.darker-outline,
-.darkest-outline,
-.inky-outline,
-.black-outline {
+.dark-gray-outline {
@apply -skin;
- --tw-bg-opacity: 0.01;
- --tw-ring-color: currentColor;
- --skin-ring-opacity: 1;
- --skin-text: var(--skin-color);
- --skin-bg: var(--skin-color);
- --skin-hover-bg-opacity: .1;
- --state-color: transparent;
+ --skin-text: var(--skin-color, inherit);
+ --skin-bg: transparent;
+ --skin-color: rgba(var(--skin-outline-rgb), 1);
+ --state-color: rgba(var(--skin-outline-rgb), .1);
}
.outline {
- --skin-hover-bg: var(--color-gray-500-rgb);
+ --skin-outline-rgb: var(--color-fore-500-rgb);
}
.primary-outline {
- --skin-color: var(--color-primary-500-rgb);
+ --skin-outline-rgb: var(--color-primary-500-rgb);
}
.secondary-outline {
- --skin-color: var(--color-secondary-500-rgb);
+ --skin-outline-rgb: var(--color-secondary-500-rgb);
}
.success-outline {
- --skin-color: var(--color-success-500-rgb);
+ --skin-outline-rgb: var(--color-success-500-rgb);
}
.warning-outline {
- --skin-color: var(--color-warning-500-rgb);
+ --skin-outline-rgb: var(--color-warning-500-rgb);
}
.danger-outline {
- --skin-color: var(--color-danger-500-rgb);
+ --skin-outline-rgb: var(--color-danger-500-rgb);
}
.important-outline {
- --skin-color: var(--color-important-500-rgb);
+ --skin-outline-rgb: var(--color-important-500-rgb);
}
.special-outline {
- --skin-color: var(--color-special-500-rgb);
+ --skin-outline-rgb: var(--color-special-500-rgb);
}
.light-gray-outline {
- --skin-text: var(--color-gray-400-rgb);
+ --skin-outline-rgb: var(--color-gray-400-rgb);
}
.gray-outline {
- --skin-text: var(--color-gray-500-rgb);
+ --skin-outline-rgb: var(--color-gray-500-rgb);
}
.dark-gray-outline {
- --skin-text: var(--color-gray-600-rgb);
+ --skin-outline-rgb: var(--color-gray-600-rgb);
}
diff --git a/lib/utilities/src/skin/pale.css b/lib/utilities/src/skin/pale.css
index 6540db9bfb..d765eececc 100755
--- a/lib/utilities/src/skin/pale.css
+++ b/lib/utilities/src/skin/pale.css
@@ -6,7 +6,6 @@
.danger-pale,
.important-pale,
.special-pale,
-.white-pale,
.bright-pale,
.lightest-pale,
.lighter-pale,
@@ -15,73 +14,66 @@
.dark-gray-pale,
.darker-pale,
.darkest-pale,
-.inky-pale,
-.black-pale {
+.inky-pale {
@apply -skin;
- --tw-bg-opacity: 0.1;
- --skin-ring-opacity: 1;
- --skin-text: var(--skin-color);
- --skin-bg: var(--skin-color);
- --skin-hover-bg-opacity: .1;
+
+ --skin-color: rgba(var(--skin-pale-rgb), .1);
+ --skin-text: rgba(var(--skin-pale-rgb), 1);
}
.pale {
- --skin-hover-bg: var(--color-gray-500-rgb);
+ --skin-pale-rgb: var(--color-gray-500-rgb);
}
.primary-pale {
- --skin-color: var(--color-primary-500-rgb);
+ --skin-pale-rgb: var(--color-primary-500-rgb);
}
.secondary-pale {
- --skin-color: var(--color-secondary-500-rgb);
+ --skin-pale-rgb: var(--color-secondary-500-rgb);
}
.success-pale {
- --skin-color: var(--color-success-500-rgb);
+ --skin-pale-rgb: var(--color-success-500-rgb);
}
.warning-pale {
- --skin-color: var(--color-warning-500-rgb);
+ --skin-pale-rgb: var(--color-warning-500-rgb);
}
.danger-pale {
- --skin-color: var(--color-danger-500-rgb);
+ --skin-pale-rgb: var(--color-danger-500-rgb);
}
.important-pale {
- --skin-color: var(--color-important-500-rgb);
+ --skin-pale-rgb: var(--color-important-500-rgb);
}
.special-pale {
- --skin-color: var(--color-special-500-rgb);
+ --skin-pale-rgb: var(--color-special-500-rgb);
}
-
.bright-pale {
- --skin-color: var(--color-gray-100-rgb);
+ --skin-pale-rgb: var(--color-gray-100-rgb);
--skin-text: var(--color-gray-400-rgb);
}
.lightest-pale {
- --skin-color: var(--color-gray-200-rgb);
+ --skin-pale-rgb: var(--color-gray-200-rgb);
--skin-text: var(--color-gray-400-rgb);
}
.lighter-pale {
- --skin-color: var(--color-gray-300-rgb);
+ --skin-pale-rgb: var(--color-gray-300-rgb);
--skin-text: var(--color-gray-500-rgb);
}
.light-gray-pale {
- --skin-color: var(--color-gray-400-rgb);
+ --skin-pale-rgb: var(--color-gray-400-rgb);
--skin-text: var(--color-gray-500-rgb);
}
.gray-pale {
- --skin-color: var(--color-gray-500-rgb);
+ --skin-pale-rgb: var(--color-gray-500-rgb);
}
.dark-gray-pale {
- --skin-color: var(--color-gray-600-rgb);
+ --skin-pale-rgb: var(--color-gray-600-rgb);
}
.darker-pale {
- --skin-color: var(--color-gray-700-rgb);
+ --skin-pale-rgb: var(--color-gray-700-rgb);
}
.darkest-pale {
- --skin-color: var(--color-gray-800-rgb);
+ --skin-pale-rgb: var(--color-gray-800-rgb);
}
.inky-pale {
- --skin-color: var(--color-gray-900-rgb);
-}
-.black-pale {
- --skin-color: var(--color-black-rgb);
+ --skin-pale-rgb: var(--color-gray-900-rgb);
}
diff --git a/lib/utilities/src/skin/skin.css b/lib/utilities/src/skin/skin.css
index 72f2e3e321..36181d18b8 100644
--- a/lib/utilities/src/skin/skin.css
+++ b/lib/utilities/src/skin/skin.css
@@ -2,22 +2,31 @@
@layer utilities {
.-skin {
- --skin-bg: var(--skin-color);
- --tw-ring-color: rgba(var(--skin-ring), var(--skin-ring-opacity));
+ /* --skin-color: unset; /* Default colors. */
+ /* --skin-text: unset; /* Text colors. */
+ --skin-bg: var(--skin-color); /* Background colors. */
+ --skin-ring: var(--skin-color); /* Ring colors. */
+ --skin-border: var(--skin-color);
+
+ --skin-hover-text: var(--skin-text);
+ --skin-hover-bg: var(--skin-bg);
+
+ --tw-ring-color: var(--skin-ring);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
- --color-link-hover-rgb: var(--skin-text);
- background-color: rgba(var(--skin-bg), var(--tw-bg-opacity));
- background-image: var(--skin-bg-img);
- color: rgba(var(--skin-text), var(--tw-text-opacity));
- border: var(--skin-border-width) var(--skin-border-style) rgba(var(--skin-border, var(--skin-bg)), var(--tw-border-opacity));
+ --color-link-hover: var(--skin-text);
+
+ background-color: var(--skin-bg);
+ color: var(--skin-text);
+ border-color: var(--skin-border);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
@apply -transition-[color,background-color,border-color,text-decoration-color,box-shadow];
}
.-skin:hover {
- background-color: rgba(var(--skin-hover-bg, var(--skin-bg)), var(--skin-hover-bg-opacity, var(--tw-bg-opacity)))!important;
+ background-color: var(--skin-hover-bg);
+ color: var(--skin-hover-text);
}
}
diff --git a/lib/utilities/src/skin/solid.css b/lib/utilities/src/skin/solid.css
index f8cab789a4..52ad575c6a 100755
--- a/lib/utilities/src/skin/solid.css
+++ b/lib/utilities/src/skin/solid.css
@@ -5,7 +5,6 @@
.danger,
.important,
.special,
-.white,
.bright,
.lightest,
.lighter,
@@ -16,75 +15,66 @@
.dark-gray,
.darker,
.darkest,
-.inky,
-.black {
+.inky {
@apply -skin;
- --skin-text: var(--color-white-rgb);
- --state-ring-color: rgb(var(--skin-color));
+ --skin-text: var(--color-fore-in-dark);
+ --state-ring-color: var(--skin-color);
}
.primary {
- --skin-color: var(--color-primary-500-rgb);
+ --skin-color: var(--color-primary-500);
}
.secondary {
- --skin-color: var(--color-secondary-500-rgb);
+ --skin-color: var(--color-secondary-500);
}
.success {
- --skin-color: var(--color-success-500-rgb);
+ --skin-color: var(--color-success-500);
}
.warning {
- --skin-color: var(--color-warning-500-rgb);
+ --skin-color: var(--color-warning-500);
}
.danger {
- --skin-color: var(--color-danger-500-rgb);
+ --skin-color: var(--color-danger-500);
}
.important {
- --skin-color: var(--color-important-500-rgb);
+ --skin-color: var(--color-important-500);
}
.special {
- --skin-color: var(--color-special-500-rgb);
+ --skin-color: var(--color-special-500);
}
-.white {
- --skin-color: var(--color-white-rgb);
- --skin-text: var(--color-fore-light-rgb);
- --state-ring-color: rgb(var(--skin-text));
-}
.bright {
- --skin-color: var(--color-gray-100-rgb);
- --skin-text: var(--color-fore-rgb);
- --state-ring-color: rgb(var(--skin-text));
+ --skin-color: var(--color-gray-100);
+ --skin-text: var(--color-fore);
+ --state-ring-color: var(--skin-text);
}
.lightest {
- --skin-color: var(--color-gray-200-rgb);
- --skin-text: var(--color-fore-rgb);
- --state-ring-color: rgb(var(--skin-text));
+ --skin-color: var(--color-gray-200);
+ --skin-text: var(--color-fore);
+ --state-ring-color: var(--skin-text);
}
.lighter {
- --skin-color: var(--color-gray-300-rgb);
- --skin-text: var(--color-fore-rgb);
- --state-ring-color: rgb(var(--skin-text));
+ --skin-color: var(--color-gray-300);
+ --skin-text: var(--color-fore);
+ --state-ring-color: var(--skin-text);
}
.light-gray,
.lighten /* .lighten is deprecated */ {
- --skin-color: var(--color-gray-400-rgb);
+ --skin-color: var(--color-gray-400);
}
.gray {
- --skin-color: var(--color-gray-500-rgb);
+ --skin-color: var(--color-gray-500);
}
.dark-gray,
.darken /* .darken is deprecated */ {
- --skin-color: var(--color-gray-600-rgb);
+ --skin-color: var(--color-gray-600);
}
.darker {
- --skin-color: var(--color-gray-700-rgb);
+ --skin-color: var(--color-gray-700);
}
.darkest {
- --skin-color: var(--color-gray-800-rgb);
+ --skin-color: var(--color-gray-800);
}
.inky {
- --skin-color: var(--color-gray-900-rgb);
-}
-.black {
- --skin-color: var(--color-black-rgb);
+ --skin-color: var(--color-gray-900);
}
diff --git a/lib/utilities/src/skin/surface.css b/lib/utilities/src/skin/surface.css
index e8f726b35b..b9ff8b63fc 100644
--- a/lib/utilities/src/skin/surface.css
+++ b/lib/utilities/src/skin/surface.css
@@ -19,3 +19,9 @@
.inverse {
@apply -bg-inverse -text-canvas;
}
+.white {
+ @apply -bg-white -text-fore-in-light -ring-white;
+}
+.black {
+ @apply -bg-black -text-fore-in-dark -ring-black;
+}
diff --git a/lib/utilities/src/vars.css b/lib/utilities/src/vars.css
index 13c4340f26..8b2c6d60f4 100755
--- a/lib/utilities/src/vars.css
+++ b/lib/utilities/src/vars.css
@@ -1,8 +1,6 @@
:root {
--state-color: rgba(0,0,0,.05);
--state-scale: .9;
- --state-active-color: rgba(0,0,0,.1);
- --state-focus-color: rgba(0,0,0,.125);
--opacity-disabled: .65;
--opacity-muted: .5;
}