@atelier-ui/react 0.2.38 → 0.2.39

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,15 @@
1
+ ## 0.2.39 (2026-09-07)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **pagination,stepper:** the active state was bolder than any role allows ([1eea2f0](https://github.com/DominikPieper/atelier-ui/commit/1eea2f0))
6
+ - **breadcrumbs:** the fallback separator named a glyph nothing ships ([910e77c](https://github.com/DominikPieper/atelier-ui/commit/910e77c))
7
+
8
+ ### ❤️ Thank You
9
+
10
+ - Claude Opus 5 (1M context)
11
+ - Dominik Pieper @DominikPieper
12
+
1
13
  ## 0.2.38 (2026-09-07)
2
14
 
3
15
  ### 🩹 Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atelier-ui/react",
3
- "version": "0.2.38",
3
+ "version": "0.2.39",
4
4
  "description": "Atelier component library for React — LLM-optimised, accessible, design-token-driven",
5
5
  "keywords": [
6
6
  "react",
@@ -47,9 +47,17 @@
47
47
  the CSS Generated Content alt-text pair: an explicit empty alternative
48
48
  text, which keeps the glyph out of the accessibility tree in Chromium,
49
49
  Firefox and WebKit alike (verified; a bare `content: '…'` is NOT excluded
50
- by default — it renders as its own accessible text node). See ADR-0100. */
50
+ by default — it renders as its own accessible text node). See ADR-0100.
51
+ The fallback matches the component's own default ('/', not '›'): all
52
+ three adapters always set --atl-separator inline before first paint (in
53
+ SSR-rendered markup, not just post-hydration), so this value is unreached
54
+ in every documented usage — it exists only so a stray '.atl-breadcrumb-
55
+ item::after' rendered without the component (hand-authored markup that
56
+ imports the CSS but skips AtlBreadcrumbs/atl-breadcrumbs/AtlBreadcrumbs.vue)
57
+ degrades to the shipped default rather than to a glyph the spec's
58
+ `separator` option list ('/', '>') never offers. */
51
59
  .atl-breadcrumb-item::after {
52
- content: var(--atl-separator, '') / '';
60
+ content: var(--atl-separator, '/') / '';
53
61
  margin: 0 var(--ui-spacing-2);
54
62
  color: var(--ui-color-border-hover);
55
63
  font-size: var(--ui-font-size-md);
@@ -80,7 +88,15 @@
80
88
  box-shadow: var(--ui-focus-ring);
81
89
  }
82
90
 
83
- /* Current item (plain text) */
91
+ /* Current item (plain text). Deliberately no padding: `.breadcrumb-link`'s
92
+ padding is exactly cancelled by its own negative margin (a hit/hover-area
93
+ enlargement, invisible in the flow), so its text occupies exactly the same
94
+ box a padding-less element would — measured in a real browser, both items'
95
+ rows come out the same height and the link's text starts at the same
96
+ offset within its row as this span's. Adding matching padding here would
97
+ not reproduce that; without a compensating negative margin it would make
98
+ this row taller than a link row, which is the regression this note exists
99
+ to head off. */
84
100
  .atl-breadcrumb-item .breadcrumb-current {
85
101
  color: var(--ui-color-text);
86
102
  font-weight: var(--ui-font-weight-semibold);
@@ -65,12 +65,14 @@
65
65
  box-shadow: var(--ui-focus-ring);
66
66
  }
67
67
 
68
- /* Active (current) page — primary fill */
68
+ /* Active (current) page — primary fill. Weight stays the resting --ui-type-control
69
+ * medium (ADR-0074): the Figma master renders this label Medium in every state, and
70
+ * .atl-tab-group's own .is-active — the other stateful member of the same six-rule
71
+ * consumer list — changes only colour, never weight, on its current item. */
69
72
  .page-btn.is-active {
70
73
  background-color: var(--ui-color-primary);
71
74
  border-color: var(--ui-color-primary);
72
75
  color: var(--ui-color-text-on-primary);
73
- font-weight: var(--ui-font-weight-semibold);
74
76
  }
75
77
 
76
78
  .page-btn.is-active:hover {
@@ -104,14 +104,14 @@
104
104
  .step-description {
105
105
  font-size: var(--ui-font-size-xs);
106
106
  color: var(--ui-color-text-muted);
107
- margin-top: 2px;
107
+ margin-top: var(--ui-spacing-1);
108
108
  }
109
109
 
110
110
  .step-optional {
111
111
  font-size: var(--ui-font-size-xs);
112
112
  color: var(--ui-color-text-muted);
113
113
  font-style: italic;
114
- margin-top: 2px;
114
+ margin-top: var(--ui-spacing-1);
115
115
  }
116
116
 
117
117
  /* ─── Content ─── */
@@ -130,8 +130,11 @@
130
130
  }
131
131
 
132
132
  .step-item.is-active .step-label {
133
+ /* Weight stays the resting --ui-type-control medium (ADR-0074): the Figma master
134
+ * renders this label Medium in every state, and .atl-tab-group's own .is-active —
135
+ * the other stateful member of the same six-rule consumer list — changes only
136
+ * colour, never weight, on its current item. */
133
137
  color: var(--ui-color-text);
134
- font-weight: var(--ui-font-weight-semibold);
135
138
  }
136
139
 
137
140
  /* ─── Completed state ─── */