@ptlm-azulejo/themes 1.3.0 → 1.3.1-alpha.89

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 ADDED
@@ -0,0 +1,86 @@
1
+ # @ptlm-azulejo/themes
2
+
3
+ ## 1.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - edbe6d9: Presets no longer bundle the scoped UA preflight that reset `button` / `input` / `select` / `textarea` under `.preset-lm` / `.preset-adeo`. Token and preset imports are unchanged.
8
+
9
+ ## 1.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - dda8cdb: Add a scoped UA preflight to themes (bundled with every preset) so Azulejo
14
+ controls don't depend on the host running Tailwind Preflight. Drop the
15
+ per-segment button-reset utilities from SegmentedControl. Re-export
16
+ `SegmentedControlItem`, `SegmentedControlSize`, and `SegmentedControlUi`
17
+ from the package entry so consumers can import the types again.
18
+
19
+ ## 1.2.1
20
+
21
+ ### Patch Changes
22
+
23
+ - e5341cd: Documentation. Every package README now spells out both brands end to end instead
24
+ of showing one snippet with an "or" comment: which preset stylesheet to import,
25
+ which `.preset-*` class goes on `<html>` to select the theme at runtime,
26
+ `data-theme` for light/dark, and which font package the project needs (Leroy
27
+ Merlin → `@ptlm-azulejo/fonts-leroy-merlin`, Adeo → `@ptlm-azulejo/fonts-adeo`).
28
+
29
+ No component behaviour, prop or token changed. The patch bump exists because npm
30
+ ships `README.md` inside the tarball and renders it as the package page, so the
31
+ corrected instructions only reach consumers on a release.
32
+
33
+ ## 1.2.0
34
+
35
+ ### Minor Changes
36
+
37
+ - eb0b0f8: Make components follow the brand typeface, add the medium (500) font weight, and
38
+ expose stable `data-testid` hooks.
39
+
40
+ - Each preset now names its brand's typeface in `--font-family`
41
+ (`presets/leroy-merlin.css` → LeroyMerlin, `presets/adeo.css` → Roboto), with
42
+ `Arial, sans-serif` as the fallback stack.
43
+ - Components apply that typeface on their root, so they follow the active brand
44
+ instead of inheriting the host page's font. Opt out per component by setting
45
+ `--font-family: inherit` on it.
46
+ - `base.css` adds `--font-weight-medium: 500`, alongside the existing regular
47
+ (400), semi-bold (600) and bold (700) weights.
48
+ - Every component now exposes `data-testid` on its root and on meaningful
49
+ sub-parts (`button` / `button-spinner`, `loader` / `loader-text`,
50
+ `datepicker` / `datepicker-clear`, `segmented-control` /
51
+ `segmented-control-segment`), so tests can target them without depending on
52
+ CSS class names.
53
+
54
+ As with upstream Mozaic, the presets **name** the typeface but ship no
55
+ `@font-face` and no font binaries — loading the files stays the app's job, so you
56
+ keep control of hosting, subsetting and preload. Until you load them the fallback
57
+ stack renders and nothing breaks. Install the font package matching your brand
58
+ alongside the preset:
59
+
60
+ ```bash
61
+ # Leroy Merlin
62
+ yarn add @ptlm-azulejo/themes @ptlm-azulejo/fonts-leroy-merlin
63
+ # Adeo
64
+ yarn add @ptlm-azulejo/themes @ptlm-azulejo/fonts-adeo
65
+ ```
66
+
67
+ See the Fonts section of `packages/themes/README.md` for the full recipe.
68
+
69
+ ## 1.1.0
70
+
71
+ ### Minor Changes
72
+
73
+ - 53000f7: Add Mozaic-aligned multi-brand theming support.
74
+
75
+ - New `@ptlm-azulejo/themes` package with structural/status tokens in `base.css`
76
+ and brand presets selected by a root class (`presets/leroy-merlin.css`,
77
+ `presets/adeo.css`), via `.preset-lm` / `.preset-adeo` and `data-theme` for
78
+ light/dark.
79
+ - `AzButton` now consumes theme tokens through utilities mapped in
80
+ `@theme inline`, working across both brands and in light/dark.
81
+
82
+ **BREAKING:** components no longer bake brand colors. The consumer must now
83
+ import `@ptlm-azulejo/themes/base.css` + a preset and apply the
84
+ `.preset-lm`/`.preset-adeo` class (and optional `data-theme="dark"`) on the root
85
+ element; otherwise components render uncolored. See the migration notes in
86
+ `packages/themes/README.md`.
package/base.css CHANGED
@@ -16,8 +16,6 @@
16
16
  * // <html class="preset-lm" data-theme="dark"> (dark)
17
17
  */
18
18
 
19
- @import "./preflight.css";
20
-
21
19
  :root {
22
20
  /* ── Tailwind base scale (shipped to the consumer) ───────────
23
21
  Utilities like px-4, gap-2, w-4 compile to calc(var(--spacing)*N).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ptlm-azulejo/themes",
3
- "version": "1.3.0",
3
+ "version": "1.3.1-alpha.89",
4
4
  "description": "Multi-brand theme tokens (Leroy Merlin, Adeo) for the @ptlm-azulejo components, aligned with the Mozaic Design System.",
5
5
  "type": "module",
6
6
  "exports": {
package/preflight.css DELETED
@@ -1,48 +0,0 @@
1
- /**
2
- * @ptlm-azulejo/themes — preflight.css
3
- *
4
- * Minimal UA wipe for hosts that activate an Azulejo brand preset.
5
- * Scoped to `.preset-lm` / `.preset-adeo` (the same root class consumers already
6
- * apply). Storybook also runs full Tailwind Preflight via root `tailwind.css`;
7
- * this file is what bare consumers get when they only import a preset +
8
- * component `style.css`.
9
- *
10
- * Uses `:where(…)` so component utilities (e.g. `border`, `bg-accent`,
11
- * `cursor-not-allowed`) keep winning on specificity.
12
- *
13
- * Bundled from `base.css` — do not import this file on its own unless you know
14
- * you need the wipe without tokens.
15
- */
16
-
17
- :is(.preset-lm, .preset-adeo),
18
- :is(.preset-lm, .preset-adeo) :where(*, *::before, *::after) {
19
- box-sizing: border-box;
20
- }
21
-
22
- :is(.preset-lm, .preset-adeo)
23
- :where(button, input, select, textarea, optgroup) {
24
- font: inherit;
25
- letter-spacing: inherit;
26
- color: inherit;
27
- margin: 0;
28
- padding: 0;
29
- border: 0 solid transparent;
30
- border-radius: 0;
31
- background-color: transparent;
32
- appearance: none;
33
- }
34
-
35
- :is(.preset-lm, .preset-adeo)
36
- :where(button, [type="button"], [type="reset"], [type="submit"]) {
37
- cursor: pointer;
38
- }
39
-
40
- :is(.preset-lm, .preset-adeo)
41
- :where(
42
- button:disabled,
43
- [type="button"]:disabled,
44
- [type="reset"]:disabled,
45
- [type="submit"]:disabled
46
- ) {
47
- cursor: default;
48
- }