@adia-ai/web-components 0.0.23 → 0.0.24

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.
@@ -1,7 +1,9 @@
1
- /* Safari 17.x bug: `:scope[attr]:hover` inside `@scope` doesn't match the
2
- scope root. Plain selectors outside the @scope work — custom-property
3
- tokens still resolve via inheritance. Specificity (0,1,1 / 0,2,1) is
4
- preserved. See docs/BROWSER-COMPAT.md §3a. */
1
+ /* Safari 17.x bug: `:scope:state` and `:scope[attr]:state` inside `@scope`
2
+ don't match the scope root. Plain selectors outside the @scope work —
3
+ custom-property tokens still resolve via inheritance. Specificity
4
+ (0,1,1 / 0,2,1) is preserved. See docs/BROWSER-COMPAT.md §3a. */
5
+ button-ui:active { transform: scale(0.97); }
6
+
5
7
  button-ui:not([disabled]):hover,
6
8
  button-ui[variant="primary"]:not([disabled]):hover {
7
9
  --button-bg: var(--button-bg-hover);
@@ -118,7 +120,7 @@ button-ui[color="danger"]:not([disabled]):hover {
118
120
  line-height: 1;
119
121
  }
120
122
 
121
- :scope:active { transform: scale(0.97); }
123
+ /* :scope:active moved outside @scope — see Safari 17.x bug note at top. */
122
124
  :scope:focus-visible { outline: none; box-shadow: var(--button-focus-ring); }
123
125
 
124
126
  /* ── Variants (rest state) ── */
@@ -1,7 +1,8 @@
1
- /* Safari 17.x bug: `:scope*:hover` inside `@scope` doesn't match the
2
- scope root. The `:scope:hover [slot="box"]` shape `:hover` on the
3
- scope root, descendant selector is also affected; the entire selector
4
- moves out together. See docs/BROWSER-COMPAT.md §3a. */
1
+ /* Safari 17.x bug: `:scope*:hover` and `:scope[dyn-attr]` inside `@scope`
2
+ don't match (Flavor A) or don't restyle on attribute removal (Flavor B).
3
+ For [checked] / [indeterminate], when JS toggles the attribute off,
4
+ Safari leaves the visual stuck selectors moved out as plain
5
+ `tagname[attr]` rules. See docs/BROWSER-COMPAT.md §3a. */
5
6
  check-ui:not([disabled]):hover [slot="box"] {
6
7
  border-color: var(--check-border-hover);
7
8
  background: var(--check-bg-hover);
@@ -11,6 +12,23 @@ check-ui[indeterminate]:not([disabled]):hover [slot="box"] {
11
12
  background: var(--check-bg-checked-hover);
12
13
  border-color: var(--check-bg-checked-hover);
13
14
  }
15
+ check-ui[checked] [slot="box"],
16
+ check-ui[indeterminate] [slot="box"] {
17
+ background: var(--check-bg-checked);
18
+ border-color: var(--check-border-checked);
19
+ }
20
+ check-ui[checked] {
21
+ --_icon-w: calc(var(--check-size) * 0.3);
22
+ --_icon-h: calc(var(--check-size) * 0.55);
23
+ --_icon-border: solid var(--check-fg-checked);
24
+ --_icon-bw: 0 calc(var(--check-size) * 0.12) calc(var(--check-size) * 0.12) 0;
25
+ --_icon-transform: rotate(45deg) translate(-1px, -1px);
26
+ }
27
+ check-ui[indeterminate] {
28
+ --_dash-bg: var(--check-fg-checked);
29
+ --_icon-w: calc(var(--check-size) * 0.5);
30
+ --_icon-h: calc(var(--check-size) * 0.12);
31
+ }
14
32
 
15
33
  @scope (check-ui) {
16
34
  :where(:scope) {
@@ -97,29 +115,8 @@ check-ui[indeterminate]:not([disabled]):hover [slot="box"] {
97
115
  background: var(--_dash-bg);
98
116
  }
99
117
 
100
- /* hover rules moved outside @scope — see Safari 17.x bug note at top. */
101
-
102
- /* Checked — CSS border checkmark */
103
- :scope[checked] [slot="box"],
104
- :scope[indeterminate] [slot="box"] {
105
- background: var(--check-bg-checked);
106
- border-color: var(--check-border-checked);
107
- }
108
-
109
- :scope[checked] {
110
- --_icon-w: calc(var(--check-size) * 0.3);
111
- --_icon-h: calc(var(--check-size) * 0.55);
112
- --_icon-border: solid var(--check-fg-checked);
113
- --_icon-bw: 0 calc(var(--check-size) * 0.12) calc(var(--check-size) * 0.12) 0;
114
- --_icon-transform: rotate(45deg) translate(-1px, -1px);
115
- }
116
-
117
- /* Indeterminate — horizontal dash */
118
- :scope[indeterminate] {
119
- --_dash-bg: var(--check-fg-checked);
120
- --_icon-w: calc(var(--check-size) * 0.5);
121
- --_icon-h: calc(var(--check-size) * 0.12);
122
- }
118
+ /* hover rules + [checked]/[indeterminate] state rules moved outside @scope —
119
+ see Safari 17.x bug note at top. */
123
120
 
124
121
  /* Label */
125
122
  :scope[label]::after { content: attr(label); }