@santi020k/lumen 4.2.0 → 4.3.0

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/README.md CHANGED
@@ -352,3 +352,20 @@ media loading, selection, adjustment algorithms, processing, export and persiste
352
352
 
353
353
  Part of [Lumen UI](https://lumen.santi020k.com), created by [Santiago Molina](https://santi020k.com).
354
354
  Licensed under [MIT](https://github.com/santi020k/lumen/blob/main/LICENSE); third-party artwork retains its own notices.
355
+
356
+ ## Tailwind CSS v4 complement
357
+
358
+ Tailwind is optional. For utility-based customization, load these imports once in your global CSS:
359
+
360
+ ```css
361
+ @import "@santi020k/lumen/layers.css";
362
+ @import "tailwindcss";
363
+ @import "@santi020k/lumen/styles.css";
364
+ @import "@santi020k/lumen/tailwind.css";
365
+ ```
366
+
367
+ The optional `tailwind.css` bridge (Lumen 4.3+) maps semantic colors to utilities such as
368
+ `bg-surface`, `text-ink`, and `border-line`. Inline aliases follow root and nested Lumen themes.
369
+ Use component props for behavior and utilities for local presentation. The standalone stylesheet
370
+ does not require Tailwind. See the [Tailwind guide](https://lumen.santi020k.com/docs/web/tailwind)
371
+ for framework examples, source detection, and Preflight choices.
@@ -1 +1 @@
1
- {"version":3,"file":"integration-diagnostics.d.ts","sourceRoot":"","sources":["../src/integration-diagnostics.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,uBAAuB,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,sBAAsB,EAAE,CAAA;IAClC,UAAU,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,EAAE,CAAA;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B;AA6/BD,eAAO,MAAM,uBAAuB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,qBAAqB,CA4D/F,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,qBAAqB,KAAG,MAWtE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,WAAW,OAAO,GAAG,UAAU,GAAG,OAAO,EAAE,kBAAgB,KAAG,MAsC9F,CAAA"}
1
+ {"version":3,"file":"integration-diagnostics.d.ts","sourceRoot":"","sources":["../src/integration-diagnostics.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,uBAAuB,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,sBAAsB,EAAE,CAAA;IAClC,UAAU,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,EAAE,CAAA;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B;AA6/BD,eAAO,MAAM,uBAAuB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,qBAAqB,CA4D/F,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,qBAAqB,KAAG,MAWtE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,WAAW,OAAO,GAAG,UAAU,GAAG,OAAO,EAAE,kBAAgB,KAAG,MAyC9F,CAAA"}
@@ -709,19 +709,22 @@ export const createLumenSetup = (framework, tailwind = false) => {
709
709
  styles: '@import "@santi020k/lumen-astro/styles.css";',
710
710
  tailwind: '@import "@santi020k/lumen-astro/layers.css";\n' +
711
711
  '@import "tailwindcss";\n' +
712
- '@import "@santi020k/lumen-astro/styles.css";'
712
+ '@import "@santi020k/lumen-astro/styles.css";\n' +
713
+ '@import "@santi020k/lumen-astro/tailwind.css";'
713
714
  },
714
715
  elements: {
715
716
  styles: '@import "@santi020k/lumen-elements/styles.css";',
716
717
  tailwind: '@import "@santi020k/lumen-elements/layers.css";\n' +
717
718
  '@import "tailwindcss";\n' +
718
- '@import "@santi020k/lumen-elements/styles.css";'
719
+ '@import "@santi020k/lumen-elements/styles.css";\n' +
720
+ '@import "@santi020k/lumen-elements/tailwind.css";'
719
721
  },
720
722
  react: {
721
723
  styles: '@import "@santi020k/lumen-react/styles.css";',
722
724
  tailwind: '@import "@santi020k/lumen-react/layers.css";\n' +
723
725
  '@import "tailwindcss";\n' +
724
- '@import "@santi020k/lumen-react/styles.css";'
726
+ '@import "@santi020k/lumen-react/styles.css";\n' +
727
+ '@import "@santi020k/lumen-react/tailwind.css";'
725
728
  }
726
729
  };
727
730
  const styles = tailwind ? setupByFramework[framework].tailwind : setupByFramework[framework].styles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@santi020k/lumen",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,7 +11,8 @@
11
11
  "./styles.css",
12
12
  "./styles/critical.css",
13
13
  "./styles/motion.css",
14
- "./styles/world-map.css"
14
+ "./styles/world-map.css",
15
+ "./tailwind.css"
15
16
  ],
16
17
  "main": "./dist/index.js",
17
18
  "module": "./dist/index.js",
@@ -32,7 +33,8 @@
32
33
  "./layers.css": "./layers.css",
33
34
  "./package.json": "./package.json",
34
35
  "./styles/motion.css": "./styles/motion.css",
35
- "./styles/world-map.css": "./styles/world-map.css"
36
+ "./styles/world-map.css": "./styles/world-map.css",
37
+ "./tailwind.css": "./tailwind.css"
36
38
  },
37
39
  "files": [
38
40
  "bin",
@@ -45,13 +47,14 @@
45
47
  "templates",
46
48
  "README.md",
47
49
  "LICENSE",
48
- "v4-migration.json"
50
+ "v4-migration.json",
51
+ "tailwind.css"
49
52
  ],
50
53
  "bin": {
51
54
  "lumen": "./bin/lumen.mjs"
52
55
  },
53
56
  "dependencies": {
54
- "@santi020k/lumen-core": "^4.1.0",
57
+ "@santi020k/lumen-core": "^4.3.0",
55
58
  "semver": "^7.8.5",
56
59
  "typescript": "~6.0.3"
57
60
  },
@@ -6,7 +6,7 @@
6
6
  "com.santi020k:lumen-compose",
7
7
  "com.santi020k:lumen-compose-wear"
8
8
  ],
9
- "version": "4.0.0"
9
+ "version": "4.0.1"
10
10
  },
11
11
  "npm": {
12
12
  "packages": {
@@ -14,17 +14,17 @@
14
14
  "peerDependencies": {
15
15
  "astro": ">=5"
16
16
  },
17
- "version": "4.1.0"
17
+ "version": "4.3.0"
18
18
  },
19
19
  "@santi020k/lumen-core": {
20
20
  "peerDependencies": {
21
21
  "@rive-app/canvas": "^2.44.0"
22
22
  },
23
- "version": "4.1.0"
23
+ "version": "4.3.0"
24
24
  },
25
25
  "@santi020k/lumen-elements": {
26
26
  "peerDependencies": {},
27
- "version": "4.2.0"
27
+ "version": "4.3.0"
28
28
  },
29
29
  "@santi020k/lumen-icons-brand": {
30
30
  "peerDependencies": {},
@@ -34,18 +34,18 @@
34
34
  "peerDependencies": {
35
35
  "react": ">=19"
36
36
  },
37
- "version": "4.2.0"
37
+ "version": "4.3.0"
38
38
  },
39
39
  "@santi020k/lumen-mcp": {
40
40
  "peerDependencies": {},
41
- "version": "4.2.0"
41
+ "version": "4.3.0"
42
42
  },
43
43
  "@santi020k/lumen-react": {
44
44
  "peerDependencies": {
45
45
  "react": ">=19",
46
46
  "motion": "^14.0.0"
47
47
  },
48
- "version": "4.1.0"
48
+ "version": "4.3.0"
49
49
  },
50
50
  "@santi020k/lumen-react-hook-form": {
51
51
  "peerDependencies": {
@@ -62,7 +62,7 @@
62
62
  "react-native": ">=0.86.2",
63
63
  "react-native-svg": ">=12 <16"
64
64
  },
65
- "version": "4.0.1"
65
+ "version": "4.0.2"
66
66
  },
67
67
  "@santi020k/lumen-tokens": {
68
68
  "peerDependencies": {},
@@ -73,9 +73,9 @@
73
73
  "swift": {
74
74
  "package": "https://github.com/santi020k/lumen.git",
75
75
  "revision": null,
76
- "tag": "v4.2.0"
76
+ "tag": "v4.3.0"
77
77
  },
78
- "version": "4.2.0"
78
+ "version": "4.3.0"
79
79
  },
80
80
  "migration": {
81
81
  "codemod": null,
package/styles.css CHANGED
@@ -6674,18 +6674,20 @@ lumen-dialog-close {
6674
6674
 
6675
6675
  .ui-pill {
6676
6676
  display: inline-flex;
6677
+ min-width: 0;
6677
6678
  min-height: 1.75rem;
6678
6679
  max-width: 100%;
6679
6680
  align-items: center;
6680
6681
  border: var(--ui-border-width, 1px) solid hsl(var(--line));
6681
- border-radius: 999px;
6682
+ border-radius: 1.5rem;
6682
6683
  padding: 0.3rem 0.75rem;
6683
6684
  background: hsl(var(--surface-muted));
6684
6685
  color: hsl(var(--ink-soft));
6685
6686
  font-size: 0.875rem;
6686
6687
  font-weight: 600;
6687
- line-height: 1;
6688
- white-space: nowrap;
6688
+ line-height: 1.25;
6689
+ white-space: normal;
6690
+ overflow-wrap: anywhere;
6689
6691
  }
6690
6692
 
6691
6693
  .ui-pill--brand {
@@ -6700,12 +6702,14 @@ lumen-dialog-close {
6700
6702
  }
6701
6703
 
6702
6704
  .ui-pill__count {
6705
+ flex: none;
6706
+ white-space: nowrap;
6703
6707
  margin-left: 0.5rem;
6704
6708
  padding-left: 0.5rem;
6705
6709
  border-left: var(--ui-border-width, 1px) solid hsl(var(--line));
6706
6710
  font-size: 0.75rem;
6707
6711
  line-height: 1;
6708
- color: hsl(var(--ink-muted));
6712
+ color: inherit;
6709
6713
  font-variant-numeric: tabular-nums;
6710
6714
  }
6711
6715
 
@@ -6717,13 +6721,13 @@ a.ui-pill {
6717
6721
 
6718
6722
  a.ui-pill:hover {
6719
6723
  border-color: hsl(var(--brand) / 0.42);
6720
- color: hsl(var(--brand-solid));
6724
+ color: hsl(var(--brand));
6721
6725
  }
6722
6726
 
6723
6727
  a.ui-pill--brand:hover {
6724
6728
  border-color: hsl(var(--brand) / 0.6);
6725
6729
  background: hsl(var(--brand-solid));
6726
- color: hsl(var(--canvas));
6730
+ color: hsl(var(--on-brand));
6727
6731
  }
6728
6732
 
6729
6733
  a.ui-pill:focus-visible {
@@ -7093,7 +7097,7 @@ a.ui-pill:focus-visible {
7093
7097
  padding: 0.25rem 0.75rem;
7094
7098
  margin-left: -2px;
7095
7099
  border-left: 2px solid transparent;
7096
- color: hsl(var(--ink-muted));
7100
+ color: hsl(var(--ink-soft));
7097
7101
  text-decoration: none;
7098
7102
  font-size: 0.875rem;
7099
7103
  }
@@ -7103,7 +7107,7 @@ a.ui-pill:focus-visible {
7103
7107
  }
7104
7108
  .ui-anchor__index,
7105
7109
  .ui-anchor__description {
7106
- color: hsl(var(--ink-muted));
7110
+ color: hsl(var(--ink-soft));
7107
7111
  font-size: var(--ui-text-xs);
7108
7112
  }
7109
7113
  .ui-anchor__index {
package/tailwind.css ADDED
@@ -0,0 +1,23 @@
1
+ /* Optional Tailwind CSS v4 theme bridge. Import after Tailwind and Lumen styles.
2
+ * Inline aliases resolve at the utility element so nested Lumen themes stay in sync.
3
+ * This file does not load Tailwind, Preflight, or Lumen component styles.
4
+ */
5
+ @theme inline {
6
+ --color-canvas: hsl(var(--canvas));
7
+ --color-surface: hsl(var(--surface));
8
+ --color-surface-muted: hsl(var(--surface-muted));
9
+ --color-surface-strong: hsl(var(--surface-strong));
10
+ --color-line: hsl(var(--line));
11
+ --color-ink: hsl(var(--ink));
12
+ --color-ink-soft: hsl(var(--ink-soft));
13
+ --color-ink-muted: hsl(var(--ink-muted));
14
+ --color-brand: hsl(var(--brand));
15
+ --color-brand-solid: hsl(var(--brand-solid));
16
+ --color-brand-soft: hsl(var(--brand-soft));
17
+ --color-on-brand: hsl(var(--on-brand));
18
+ --color-accent: hsl(var(--accent));
19
+ --color-success: hsl(var(--success));
20
+ --color-warning: hsl(var(--warning));
21
+ --color-danger: hsl(var(--danger));
22
+ --color-on-danger: hsl(var(--on-danger));
23
+ }