@nordcode/ui 2.1.5 → 2.1.7

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,20 @@
1
+ ## 2.1.7 (2025-12-18)
2
+
3
+ ### features
4
+
5
+ - add subtle transitions to buttons and clickable cards
6
+ - update old transitions for active buttons and radios and checkboxes
7
+
8
+ ## 2.1.6 (2025-12-12)
9
+
10
+ ### fixes
11
+
12
+ - fix required checkboxes looking broken
13
+
14
+ ### features
15
+
16
+ - add style for required markers
17
+
1
18
  ## 2.1.5 (2025-12-12)
2
19
 
3
20
  ### fixes
package/out/complete.css CHANGED
@@ -1566,7 +1566,7 @@
1566
1566
  font-size: inherit;
1567
1567
  cursor: pointer;
1568
1568
  text-align: center;
1569
- transition: var(--transition-duration-quick-2) var(--ease-2);
1569
+ transition: var(--transition-duration-quick-1) var(--ease-2);
1570
1570
  -webkit-text-decoration: unset;
1571
1571
  text-decoration: unset;
1572
1572
  box-shadow: var(--_button-box-shadow);
@@ -1579,7 +1579,7 @@
1579
1579
  -webkit-touch-callout: none;
1580
1580
  line-height: var(--line-height-base);
1581
1581
  padding-block: 0;
1582
- transition-property: box-shadow, transform;
1582
+ transition-property: box-shadow, transform, scale;
1583
1583
  display: inline-flex;
1584
1584
  position: relative;
1585
1585
  }
@@ -1605,11 +1605,7 @@
1605
1605
  background-color: var(--_button-background-hover);
1606
1606
  color: var(--_button-color-hover);
1607
1607
  border-color: var(--_button-border-color-hover);
1608
- box-shadow: none;
1609
- filter: contrast(1.2) saturate(1.1);
1610
- -webkit-backdrop-filter: contrast(2);
1611
- backdrop-filter: contrast(2);
1612
- transform: none;
1608
+ scale: .98;
1613
1609
  }
1614
1610
 
1615
1611
  :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-outline {
@@ -1821,6 +1817,7 @@
1821
1817
 
1822
1818
  :where(.nc-clickable-card) {
1823
1819
  cursor: pointer;
1820
+ transition: scale var(--transition-duration-quick-2) var(--ease-2);
1824
1821
  position: relative;
1825
1822
  }
1826
1823
 
@@ -1846,6 +1843,10 @@
1846
1843
  :where(.nc-clickable-card) a[data-link="extra"] {
1847
1844
  position: relative;
1848
1845
  }
1846
+
1847
+ :where(.nc-clickable-card):has(a[data-link="main"]:active) {
1848
+ transform: scale(.99);
1849
+ }
1849
1850
  }
1850
1851
 
1851
1852
  @layer components.dialogs {
@@ -2194,10 +2195,6 @@
2194
2195
  background-color: var(--_input-hover-background);
2195
2196
  }
2196
2197
 
2197
- :where(input, textarea, select, .nc-input)[required] {
2198
- border-inline-start-width: var(--border-width-thick);
2199
- }
2200
-
2201
2198
  :where(input, textarea, select, .nc-input)::placeholder {
2202
2199
  color: var(--color-text-subtle);
2203
2200
  }
@@ -2279,11 +2276,11 @@
2279
2276
  align-items: center;
2280
2277
  line-height: 1;
2281
2278
  display: inline-flex;
2282
- transform: scale(.8)translateY(2em);
2279
+ transform: scale(.85)translateX(2em);
2283
2280
  }
2284
2281
 
2285
2282
  :where(input[type="checkbox"], .nc-input-checkbox):checked:before {
2286
- transform: scale(1)translateY(0%);
2283
+ transform: scale(1)translateX(0%);
2287
2284
  }
2288
2285
 
2289
2286
  :where(input[type="radio"], .nc-input-radio) {
@@ -2299,11 +2296,11 @@
2299
2296
  inline-size: 50%;
2300
2297
  transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
2301
2298
  display: inline-flex;
2302
- transform: scale(.8)translateY(2em);
2299
+ transform: scale(.85)translateX(2em);
2303
2300
  }
2304
2301
 
2305
2302
  :where(input[type="radio"], .nc-input-radio):checked:before {
2306
- transform: scale(1)translateY(0%);
2303
+ transform: scale(1)translateX(0%);
2307
2304
  }
2308
2305
 
2309
2306
  :where(input[type="color"], .nc-input-color) {
@@ -2432,6 +2429,11 @@
2432
2429
  :where(.nc-radio-field, .nc-checkbox-field) > :not(:first-child) {
2433
2430
  margin-block-start: var(--control-spacing-far, .75em);
2434
2431
  }
2432
+
2433
+ :where(.nc-input-required-mark) {
2434
+ color: var(--color-status-danger-emphasis);
2435
+ font-size: 1.25em;
2436
+ }
2435
2437
  }
2436
2438
 
2437
2439
  @layer components.inputs-segmented {
@@ -1350,7 +1350,7 @@
1350
1350
  font-size: inherit;
1351
1351
  cursor: pointer;
1352
1352
  text-align: center;
1353
- transition: var(--transition-duration-quick-2) var(--ease-2);
1353
+ transition: var(--transition-duration-quick-1) var(--ease-2);
1354
1354
  -webkit-text-decoration: unset;
1355
1355
  text-decoration: unset;
1356
1356
  box-shadow: var(--_button-box-shadow);
@@ -1363,7 +1363,7 @@
1363
1363
  -webkit-touch-callout: none;
1364
1364
  line-height: var(--line-height-base);
1365
1365
  padding-block: 0;
1366
- transition-property: box-shadow, transform;
1366
+ transition-property: box-shadow, transform, scale;
1367
1367
  display: inline-flex;
1368
1368
  position: relative;
1369
1369
  }
@@ -1389,11 +1389,7 @@
1389
1389
  background-color: var(--_button-background-hover);
1390
1390
  color: var(--_button-color-hover);
1391
1391
  border-color: var(--_button-border-color-hover);
1392
- box-shadow: none;
1393
- filter: contrast(1.2) saturate(1.1);
1394
- -webkit-backdrop-filter: contrast(2);
1395
- backdrop-filter: contrast(2);
1396
- transform: none;
1392
+ scale: .98;
1397
1393
  }
1398
1394
 
1399
1395
  :where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"], .nc-button).-outline {
@@ -1605,6 +1601,7 @@
1605
1601
 
1606
1602
  :where(.nc-clickable-card) {
1607
1603
  cursor: pointer;
1604
+ transition: scale var(--transition-duration-quick-2) var(--ease-2);
1608
1605
  position: relative;
1609
1606
  }
1610
1607
 
@@ -1630,6 +1627,10 @@
1630
1627
  :where(.nc-clickable-card) a[data-link="extra"] {
1631
1628
  position: relative;
1632
1629
  }
1630
+
1631
+ :where(.nc-clickable-card):has(a[data-link="main"]:active) {
1632
+ transform: scale(.99);
1633
+ }
1633
1634
  }
1634
1635
 
1635
1636
  @layer components.dialogs {
@@ -1978,10 +1979,6 @@
1978
1979
  background-color: var(--_input-hover-background);
1979
1980
  }
1980
1981
 
1981
- :where(input, textarea, select, .nc-input)[required] {
1982
- border-inline-start-width: var(--border-width-thick);
1983
- }
1984
-
1985
1982
  :where(input, textarea, select, .nc-input)::placeholder {
1986
1983
  color: var(--color-text-subtle);
1987
1984
  }
@@ -2063,11 +2060,11 @@
2063
2060
  align-items: center;
2064
2061
  line-height: 1;
2065
2062
  display: inline-flex;
2066
- transform: scale(.8)translateY(2em);
2063
+ transform: scale(.85)translateX(2em);
2067
2064
  }
2068
2065
 
2069
2066
  :where(input[type="checkbox"], .nc-input-checkbox):checked:before {
2070
- transform: scale(1)translateY(0%);
2067
+ transform: scale(1)translateX(0%);
2071
2068
  }
2072
2069
 
2073
2070
  :where(input[type="radio"], .nc-input-radio) {
@@ -2083,11 +2080,11 @@
2083
2080
  inline-size: 50%;
2084
2081
  transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
2085
2082
  display: inline-flex;
2086
- transform: scale(.8)translateY(2em);
2083
+ transform: scale(.85)translateX(2em);
2087
2084
  }
2088
2085
 
2089
2086
  :where(input[type="radio"], .nc-input-radio):checked:before {
2090
- transform: scale(1)translateY(0%);
2087
+ transform: scale(1)translateX(0%);
2091
2088
  }
2092
2089
 
2093
2090
  :where(input[type="color"], .nc-input-color) {
@@ -2216,6 +2213,11 @@
2216
2213
  :where(.nc-radio-field, .nc-checkbox-field) > :not(:first-child) {
2217
2214
  margin-block-start: var(--control-spacing-far, .75em);
2218
2215
  }
2216
+
2217
+ :where(.nc-input-required-mark) {
2218
+ color: var(--color-status-danger-emphasis);
2219
+ font-size: 1.25em;
2220
+ }
2219
2221
  }
2220
2222
 
2221
2223
  @layer components.inputs-segmented {
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "type": "git",
13
13
  "url": "https://github.com/nordcode-agency/nordcode/tree/main/packages/ui"
14
14
  },
15
- "version": "2.1.5",
15
+ "version": "2.1.7",
16
16
  "publishConfig": {
17
17
  "access": "public"
18
18
  },
@@ -35,8 +35,8 @@
35
35
  justify-content: center;
36
36
  text-align: center;
37
37
  position: relative;
38
- transition: var(--transition-duration-quick-2) var(--ease-2);
39
- transition-property: box-shadow, transform;
38
+ transition: var(--transition-duration-quick-1) var(--ease-2);
39
+ transition-property: box-shadow, transform, scale;
40
40
  text-decoration: unset;
41
41
  box-shadow: var(--_button-box-shadow);
42
42
  user-select: none;
@@ -69,11 +69,7 @@
69
69
  background-color: var(--_button-background-hover);
70
70
  color: var(--_button-color-hover);
71
71
  border-color: var(--_button-border-color-hover);
72
-
73
- box-shadow: none;
74
- transform: none;
75
- filter: contrast(1.2) saturate(1.1);
76
- backdrop-filter: contrast(2);
72
+ scale: 0.98;
77
73
  }
78
74
 
79
75
  &.-outline {
@@ -56,6 +56,7 @@
56
56
  :where(.nc-clickable-card) {
57
57
  cursor: pointer;
58
58
  position: relative;
59
+ transition: scale var(--transition-duration-quick-2) var(--ease-2);
59
60
 
60
61
  &:focus-within,
61
62
  &:hover {
@@ -82,5 +83,9 @@
82
83
  & a[data-link="extra"] {
83
84
  position: relative;
84
85
  }
86
+
87
+ &:has(a[data-link="main"]:active) {
88
+ transform: scale(0.99);
89
+ }
85
90
  }
86
91
  }
@@ -63,10 +63,6 @@
63
63
  background-color: var(--_input-hover-background);
64
64
  }
65
65
 
66
- &[required] {
67
- border-inline-start-width: var(--border-width-thick);
68
- }
69
-
70
66
  &::placeholder {
71
67
  color: var(--color-text-subtle);
72
68
  }
@@ -147,7 +143,7 @@
147
143
  inline-size: 0.75lh;
148
144
  block-size: 0.75lh;
149
145
  background-color: var(--color-brand-primary-contrast);
150
- transform: scale(0.8) translateY(2em);
146
+ transform: scale(0.85) translateX(2em);
151
147
  transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
152
148
  font-family: var(--font-family-sans);
153
149
  --font-weight: var(--font-weight-active);
@@ -157,7 +153,7 @@
157
153
  }
158
154
 
159
155
  &:checked:before {
160
- transform: scale(1) translateY(0%);
156
+ transform: scale(1) translateX(0%);
161
157
  }
162
158
  }
163
159
 
@@ -171,13 +167,13 @@
171
167
  block-size: 50%;
172
168
  inline-size: 50%;
173
169
  border-radius: var(--border-radius-round);
174
- transform: scale(0.8) translateY(2em);
170
+ transform: scale(0.85) translateX(2em);
175
171
  background-color: var(--color-brand-primary-contrast);
176
172
  transition: transform var(--ease-out-2) var(--transition-duration-quick-1);
177
173
  }
178
174
 
179
175
  &:checked:before {
180
- transform: scale(1) translateY(0%);
176
+ transform: scale(1) translateX(0%);
181
177
  }
182
178
  }
183
179
 
@@ -81,4 +81,9 @@
81
81
  margin-block-start: var(--control-spacing-far, 0.75em);
82
82
  }
83
83
  }
84
+
85
+ :where(.nc-input-required-mark) {
86
+ color: var(--color-status-danger-emphasis);
87
+ font-size: 1.25em;
88
+ }
84
89
  }