@praxisui/core 10.0.0-rc.0 → 10.0.0-rc.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/core",
3
- "version": "10.0.0-rc.0",
3
+ "version": "10.0.0-rc.10",
4
4
  "description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "^21.0.0",
@@ -19,6 +19,12 @@
19
19
  "license": "Apache-2.0",
20
20
  "exports": {
21
21
  "./theme-bridge.css": "./theme-bridge.css",
22
+ "./theming": {
23
+ "sass": "./theming/_theming.scss",
24
+ "style": "./theming/_theming.scss",
25
+ "default": "./theming/_theming.scss"
26
+ },
27
+ "./theming/*": "./theming/*",
22
28
  "./package.json": {
23
29
  "default": "./package.json"
24
30
  },
@@ -26,6 +32,10 @@
26
32
  "types": "./types/praxisui-core.d.ts",
27
33
  "default": "./fesm2022/praxisui-core.mjs"
28
34
  },
35
+ "./schema": {
36
+ "types": "./types/praxisui-core-schema.d.ts",
37
+ "default": "./fesm2022/praxisui-core-schema.mjs"
38
+ },
29
39
  "./ai/component-registry.json": {
30
40
  "default": "./ai/component-registry.json"
31
41
  }
@@ -41,11 +51,13 @@
41
51
  "core",
42
52
  "design-system",
43
53
  "tokens",
54
+ "theming",
44
55
  "widgets",
45
56
  "configuration"
46
57
  ],
47
58
  "sideEffects": [
48
- "./theme-bridge.css"
59
+ "./theme-bridge.css",
60
+ "./theming/**"
49
61
  ],
50
62
  "module": "fesm2022/praxisui-core.mjs",
51
63
  "typings": "types/praxisui-core.d.ts",
package/theme-bridge.css CHANGED
@@ -32,6 +32,15 @@
32
32
  --md-sys-color-surface-variant: var(--mat-sys-surface-variant, #dae5e3);
33
33
  --md-sys-color-on-surface: var(--mat-sys-on-surface, #191c1c);
34
34
  --md-sys-color-on-surface-variant: var(--mat-sys-on-surface-variant, #3f4948);
35
+ --md-sys-color-inverse-surface: var(--mat-sys-inverse-surface, #313033);
36
+ --md-sys-color-inverse-on-surface: var(--mat-sys-inverse-on-surface, #f4f0f4);
37
+ --mat-sys-inverse-surface: var(--md-sys-color-inverse-surface, #313033);
38
+ --mat-sys-inverse-on-surface: var(--md-sys-color-inverse-on-surface, #f4f0f4);
39
+ --mat-sys-corner-extra-small: var(--radius-sm, 6px);
40
+ --mat-sys-body-small-font: var(--md-sys-typescale-body-small-font, inherit);
41
+ --mat-sys-body-small-size: 12px;
42
+ --mat-sys-body-small-weight: 500;
43
+ --mat-sys-body-small-line-height: 16px;
35
44
  --md-sys-color-outline: var(--mat-sys-outline, #6f7978);
36
45
  --md-sys-color-outline-variant: var(--mat-sys-outline-variant, #bec9c7);
37
46
  --md-sys-color-shadow: var(--mat-sys-shadow, #000000);
@@ -50,6 +59,15 @@
50
59
  --pdx-overlay-on-surface: var(--pdx-material-on-surface);
51
60
  --pdx-overlay-on-surface-muted: var(--pdx-material-on-surface-muted);
52
61
  --pdx-overlay-state-layer: var(--md-sys-color-surface-container-high);
62
+
63
+ /* Angular Material Tooltip Component Tokens */
64
+ --mat-tooltip-container-color: var(--mat-sys-inverse-surface);
65
+ --mat-tooltip-supporting-text-color: var(--mat-sys-inverse-on-surface);
66
+ --mat-tooltip-container-shape: var(--mat-sys-corner-extra-small);
67
+ --mat-tooltip-supporting-text-font: var(--mat-sys-body-small-font);
68
+ --mat-tooltip-supporting-text-size: var(--mat-sys-body-small-size);
69
+ --mat-tooltip-supporting-text-weight: var(--mat-sys-body-small-weight);
70
+ --mat-tooltip-supporting-text-line-height: var(--mat-sys-body-small-line-height);
53
71
  }
54
72
 
55
73
  .material-icons,
@@ -138,9 +156,10 @@ mat-icon.material-symbols-sharp {
138
156
  background: var(--pdx-overlay-state-layer);
139
157
  }
140
158
 
141
- .cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface {
142
- background: var(--md-sys-color-inverse-surface, #2d3131);
143
- color: var(--md-sys-color-inverse-on-surface, #eff1f0);
159
+ .cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface,
160
+ .cdk-overlay-container .mat-mdc-tooltip-surface {
161
+ background: var(--mat-tooltip-container-color, var(--md-sys-color-inverse-surface, #313033));
162
+ color: var(--mat-tooltip-supporting-text-color, var(--md-sys-color-inverse-on-surface, #f4f0f4));
144
163
  }
145
164
 
146
165
  /* Tooltips are descriptive overlays and must never block the control beneath
@@ -0,0 +1,63 @@
1
+ # @praxisui/core - Canonical SCSS Theming & Design Token Bridge
2
+
3
+ This module provides the official Sass mixins and design token bridge for integrating Praxis UI with host applications, design systems (Material Design 3, Tailwind, shadcn/ui, OKLCH tokens), and custom enterprise palettes.
4
+
5
+ ## Features
6
+
7
+ - **Material Design 3 & Angular Material M3 Bridge**: Automatically derives `--md-sys-color-*` and `--mat-sys-*` tokens.
8
+ - **Praxis Platform Tokens**: Full bridge for `--pdx-material-*`, `--pdx-overlay-*`, `--pdx-page-*`, `--pdx-shell-*`, and `--prx-rich-*`.
9
+ - **Dynamic Color Mixing**: Utilizes modern native CSS `color-mix(in oklab, ...)` for predictable perceptual container/state tinting.
10
+ - **Enterprise Dark Mode**: Declarative `@mixin praxis-dark-theme-overrides` for high-contrast, polished dark surfaces.
11
+ - **Widget Shell & Tooltip Refinements**: Built-in responsive full-screen UX behaviors, solid non-bleeding surfaces, and enterprise-grade tooltip styling.
12
+
13
+ ## Quick Start
14
+
15
+ ### 1. Bundle (All-in-One)
16
+
17
+ In your global styles (`styles.scss`):
18
+
19
+ ```scss
20
+ @use '@praxisui/core/theming' as praxis;
21
+
22
+ @include praxis.praxis-theme-bundle();
23
+ ```
24
+
25
+ ### 2. Granular / Custom Configuration
26
+
27
+ If your host defines custom CSS variables or design tokens:
28
+
29
+ ```scss
30
+ @use '@praxisui/core/theming' as praxis;
31
+
32
+ :root {
33
+ @include praxis.define-praxis-theme((
34
+ 'primary': var(--primary),
35
+ 'secondary': var(--secondary),
36
+ 'surface': var(--card),
37
+ 'background': var(--background),
38
+ 'foreground': var(--foreground),
39
+ 'border': var(--border),
40
+ 'radius-lg': var(--radius-lg, 12px)
41
+ ));
42
+ }
43
+
44
+ .dark {
45
+ @include praxis.praxis-dark-theme-overrides((
46
+ 'primary': var(--primary),
47
+ 'surface': var(--card),
48
+ 'border': var(--border)
49
+ ));
50
+ }
51
+
52
+ // Include UX enhancements for shell dialogs and Material tooltips:
53
+ @include praxis.praxis-shell-styles();
54
+ @include praxis.praxis-tooltip-styles();
55
+ ```
56
+
57
+ ## Available Mixins
58
+
59
+ - `define-praxis-theme($config: ())`: Emits root / light CSS variables.
60
+ - `praxis-dark-theme-overrides($config: ())`: Emits dark mode CSS variable overrides.
61
+ - `praxis-shell-styles()`: Emits fullscreen, backdrop, and expanded widget shell rules.
62
+ - `praxis-tooltip-styles()`: Emits solid surface and high-contrast refinements for Angular Material tooltips.
63
+ - `praxis-theme-bundle($config: (), $dark-config: (), $dark-selector: '.dark')`: Bundles all the above in one declaration.