@nordcode/ui 2.0.6 → 2.1.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## 2.1.1 (2025-11-15)
2
+
3
+ ### changes
4
+
5
+ - properly disable animations for users who prefer reduced motion
6
+
7
+ ## 2.1.0 (2025-11-15)
8
+
9
+ ### changes
10
+
11
+ - remove not([class]) from buttons and inputs to slim down CSS, increase CSS performance and simplify stylings
12
+
13
+ ### improvements
14
+
15
+ - add `-validate` class to automatically style inputs using :user-valid & :user-invalid pseudo classes
16
+ - Add `--border-radius-cond-*` tokens for conditional border-radius
17
+ - Update transition timings
18
+
1
19
  ## 2.0.5 (2025-10-11)
2
20
 
3
21
  ### fixes
package/README.md CHANGED
@@ -8,18 +8,7 @@ It's a collection of base styles, components and utilities, that can be imported
8
8
  **Note**: We only processed the exported in `/compiled`. The other files may use cutting edge CSS features, so be sure to process them to your desired target.
9
9
  You can use this browserlist config to target the Baseline Widely Adapted standard:
10
10
 
11
- ```json
12
- [
13
- "Chrome > 0 and last 2.5 years",
14
- "ChromeAndroid > 0 and last 2.5 years",
15
- "Edge > 0 and last 2.5 years",
16
- "Firefox > 0 and last 2.5 years",
17
- "FirefoxAndroid > 0 and last 2.5 years",
18
- "Safari > 0 and last 2.5 years",
19
- "iOS > 0 and last 2.5 years",
20
- "not dead"
21
- ]
22
- ```
11
+ https://github.com/web-platform-dx/browserslist-config-baseline
23
12
 
24
13
  ## Usecase examples
25
14
 
package/out/bundle.css CHANGED
@@ -307,14 +307,8 @@
307
307
  border-width: 0;
308
308
  }
309
309
 
310
- @media (prefers-reduced-motion: no-preference) {
311
- :where(:focus-visible) {
312
- transition: outline-offset var(--transition-duration-short) var(--ease-2);
313
- }
314
-
315
- :where(:not(:active):focus-visible) {
316
- transition-duration: var(--transition-duration-base);
317
- }
310
+ :where(:focus-visible) {
311
+ transition: outline-offset var(--transition-duration-quick-1) var(--ease-2);
318
312
  }
319
313
 
320
314
  :where(:not(:active):focus-visible) {
@@ -1193,21 +1187,37 @@
1193
1187
  --ease-bounce-3: linear(0, .004, .016, .035, .062, .098, .141 11.4%, .25, .39, .562, .764, 1 30.3%, .847 34.8%, .787, .737, .699, .672, .655, .65, .656, .672, .699, .738, .787, .847 61.7%, 1 66.2%, .946, .908, .885 74.2%, .879, .878, .879, .885 79.5%, .908, .946, 1 87.4%, .981, .968, .96, .957, .96, .968, .981, 1);
1194
1188
  --ease-bounce-4: linear(0, .004, .016 3%, .062, .141, .25, .391, .562 18.2%, 1 24.3%, .81, .676 32.3%, .629, .595, .575, .568, .575, .595, .629, .676 48.2%, .811, 1 56.2%, .918, .86, .825, .814, .825, .86, .918, 1 77.2%, .94 80.6%, .925, .92, .925, .94 87.5%, 1 90.9%, .974, .965, .974, 1);
1195
1189
  --ease-bounce-5: linear(0, .004, .016 2.5%, .063, .141, .25 10.1%, .562, 1 20.2%, .783, .627, .534 30.9%, .511, .503, .511, .534 38%, .627, .782, 1 48.7%, .892, .815, .769 56.3%, .757, .753, .757, .769 61.3%, .815, .892, 1 68.8%, .908 72.4%, .885, .878, .885, .908 79.4%, 1 83%, .954 85.5%, .943, .939, .943, .954 90.5%, 1 93%, .977, .97, .977, 1);
1190
+ --easing-entry: cubic-bezier(.1, 0, 0, 1);
1191
+ --easing-exit: cubic-bezier(.3, 0, 1, .8);
1196
1192
  --transition-duration-instant: 0s;
1197
- --transition-duration-short: .1s;
1198
- --transition-duration-base: .2s;
1199
- --transition-duration-long: .3s;
1193
+ --transition-duration-quick-1: 80ms;
1194
+ --transition-duration-quick-2: .12s;
1195
+ --transition-duration-moderate-1: .18s;
1196
+ --transition-duration-moderate-2: .26s;
1197
+ --transition-duration-gentle-1: .32s;
1198
+ --transition-duration-gentle-2: .42s;
1199
+ --transition-duration-short: var(--transition-duration-quick-1);
1200
+ --transition-duration-base: var(--transition-duration-moderate-1);
1201
+ --transition-duration-long: var(--transition-duration-gentle-1);
1200
1202
  --transition-duration-entry: 0s;
1201
1203
  --transition-duration-exit: 0s;
1202
1204
  --transition-target-scale: .9;
1205
+ --animated-element-distance: 0;
1206
+ --animated-element-width: 0;
1207
+ --animated-element-height: 0;
1208
+ --transition-duration-calculated: calc(( .5 * var(--animated-element-distance, 0) + .35 * var(--animated-element-width, 0) + .3 * var(--animated-element-height, 0)) * 1ms);
1203
1209
  }
1204
1210
 
1205
1211
  @media (prefers-reduced-motion: reduce) {
1206
1212
  :where(html) {
1213
+ --transition-duration-quick-1: 80ms;
1214
+ --transition-duration-quick-2: .12s;
1215
+ --transition-duration-moderate-1: .18s;
1216
+ --transition-duration-moderate-2: .26s;
1217
+ --transition-duration-gentle-1: .32s;
1218
+ --transition-duration-gentle-2: .42s;
1219
+ --transition-duration-calculated: 0;
1207
1220
  --transition-duration-instant: 0s;
1208
- --transition-duration-short: 0s;
1209
- --transition-duration-base: 0s;
1210
- --transition-duration-long: 0s;
1211
1221
  --transition-duration-entry: 0s;
1212
1222
  --transition-duration-exit: 0s;
1213
1223
  }
@@ -1330,6 +1340,14 @@
1330
1340
  }
1331
1341
  }
1332
1342
 
1343
+ @layer helpers.conditionalRadius {
1344
+ :where(html) {
1345
+ --border-radius-cond-small: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-small));
1346
+ --border-radius-cond-medium: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-medium));
1347
+ --border-radius-cond-large: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-large));
1348
+ }
1349
+ }
1350
+
1333
1351
  :where(.text-assistive, .sr-only) {
1334
1352
  clip: rect(0 0 0 0);
1335
1353
  white-space: nowrap;
@@ -99,14 +99,8 @@
99
99
  border-width: 0;
100
100
  }
101
101
 
102
- @media (prefers-reduced-motion: no-preference) {
103
- :where(:focus-visible) {
104
- transition: outline-offset var(--transition-duration-short) var(--ease-2);
105
- }
106
-
107
- :where(:not(:active):focus-visible) {
108
- transition-duration: var(--transition-duration-base);
109
- }
102
+ :where(:focus-visible) {
103
+ transition: outline-offset var(--transition-duration-quick-1) var(--ease-2);
110
104
  }
111
105
 
112
106
  :where(:not(:active):focus-visible) {
@@ -985,21 +979,37 @@
985
979
  --ease-bounce-3: linear(0, .004, .016, .035, .062, .098, .141 11.4%, .25, .39, .562, .764, 1 30.3%, .847 34.8%, .787, .737, .699, .672, .655, .65, .656, .672, .699, .738, .787, .847 61.7%, 1 66.2%, .946, .908, .885 74.2%, .879, .878, .879, .885 79.5%, .908, .946, 1 87.4%, .981, .968, .96, .957, .96, .968, .981, 1);
986
980
  --ease-bounce-4: linear(0, .004, .016 3%, .062, .141, .25, .391, .562 18.2%, 1 24.3%, .81, .676 32.3%, .629, .595, .575, .568, .575, .595, .629, .676 48.2%, .811, 1 56.2%, .918, .86, .825, .814, .825, .86, .918, 1 77.2%, .94 80.6%, .925, .92, .925, .94 87.5%, 1 90.9%, .974, .965, .974, 1);
987
981
  --ease-bounce-5: linear(0, .004, .016 2.5%, .063, .141, .25 10.1%, .562, 1 20.2%, .783, .627, .534 30.9%, .511, .503, .511, .534 38%, .627, .782, 1 48.7%, .892, .815, .769 56.3%, .757, .753, .757, .769 61.3%, .815, .892, 1 68.8%, .908 72.4%, .885, .878, .885, .908 79.4%, 1 83%, .954 85.5%, .943, .939, .943, .954 90.5%, 1 93%, .977, .97, .977, 1);
982
+ --easing-entry: cubic-bezier(.1, 0, 0, 1);
983
+ --easing-exit: cubic-bezier(.3, 0, 1, .8);
988
984
  --transition-duration-instant: 0s;
989
- --transition-duration-short: .1s;
990
- --transition-duration-base: .2s;
991
- --transition-duration-long: .3s;
985
+ --transition-duration-quick-1: 80ms;
986
+ --transition-duration-quick-2: .12s;
987
+ --transition-duration-moderate-1: .18s;
988
+ --transition-duration-moderate-2: .26s;
989
+ --transition-duration-gentle-1: .32s;
990
+ --transition-duration-gentle-2: .42s;
991
+ --transition-duration-short: var(--transition-duration-quick-1);
992
+ --transition-duration-base: var(--transition-duration-moderate-1);
993
+ --transition-duration-long: var(--transition-duration-gentle-1);
992
994
  --transition-duration-entry: 0s;
993
995
  --transition-duration-exit: 0s;
994
996
  --transition-target-scale: .9;
997
+ --animated-element-distance: 0;
998
+ --animated-element-width: 0;
999
+ --animated-element-height: 0;
1000
+ --transition-duration-calculated: calc(( .5 * var(--animated-element-distance, 0) + .35 * var(--animated-element-width, 0) + .3 * var(--animated-element-height, 0)) * 1ms);
995
1001
  }
996
1002
 
997
1003
  @media (prefers-reduced-motion: reduce) {
998
1004
  :where(html) {
1005
+ --transition-duration-quick-1: 80ms;
1006
+ --transition-duration-quick-2: .12s;
1007
+ --transition-duration-moderate-1: .18s;
1008
+ --transition-duration-moderate-2: .26s;
1009
+ --transition-duration-gentle-1: .32s;
1010
+ --transition-duration-gentle-2: .42s;
1011
+ --transition-duration-calculated: 0;
999
1012
  --transition-duration-instant: 0s;
1000
- --transition-duration-short: 0s;
1001
- --transition-duration-base: 0s;
1002
- --transition-duration-long: 0s;
1003
1013
  --transition-duration-entry: 0s;
1004
1014
  --transition-duration-exit: 0s;
1005
1015
  }
@@ -1122,6 +1132,14 @@
1122
1132
  }
1123
1133
  }
1124
1134
 
1135
+ @layer helpers.conditionalRadius {
1136
+ :where(html) {
1137
+ --border-radius-cond-small: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-small));
1138
+ --border-radius-cond-medium: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-medium));
1139
+ --border-radius-cond-large: clamp(0px, calc(100vw - 100%) * 100000, var(--border-radius-large));
1140
+ }
1141
+ }
1142
+
1125
1143
  :where(.text-assistive, .sr-only) {
1126
1144
  clip: rect(0 0 0 0);
1127
1145
  white-space: nowrap;