@viax.io/uxm 4.39.0 → 4.40.1

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.
Files changed (122) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +33 -44
  4. package/dist/hooks/index.cjs.map +1 -1
  5. package/dist/hooks/index.d.ts +1 -1
  6. package/dist/hooks/index.js.map +1 -1
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.ts +3 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/previews/index.cjs.map +1 -1
  11. package/dist/previews/index.d.ts +2 -2
  12. package/dist/previews/index.js.map +1 -1
  13. package/dist/studio/index.cjs.map +1 -1
  14. package/dist/studio/index.d.ts +2 -2
  15. package/dist/studio/index.js.map +1 -1
  16. package/dist/studio/lib/registry/buttons.cjs +2 -2
  17. package/dist/studio/lib/registry/buttons.cjs.map +1 -1
  18. package/dist/studio/lib/registry/buttons.js +2 -2
  19. package/dist/studio/lib/registry/buttons.js.map +1 -1
  20. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs +1 -1
  21. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs.map +1 -1
  22. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js +1 -1
  23. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js.map +1 -1
  24. package/dist/studio/lib/registry/diagram.cjs +1 -1
  25. package/dist/studio/lib/registry/diagram.cjs.map +1 -1
  26. package/dist/studio/lib/registry/diagram.js +1 -1
  27. package/dist/studio/lib/registry/diagram.js.map +1 -1
  28. package/dist/studio/lib/registry/display.cjs +2 -2
  29. package/dist/studio/lib/registry/display.cjs.map +1 -1
  30. package/dist/studio/lib/registry/display.js +2 -2
  31. package/dist/studio/lib/registry/display.js.map +1 -1
  32. package/dist/studio/lib/registry/feedback.cjs +3 -3
  33. package/dist/studio/lib/registry/feedback.cjs.map +1 -1
  34. package/dist/studio/lib/registry/feedback.js +3 -3
  35. package/dist/studio/lib/registry/feedback.js.map +1 -1
  36. package/dist/studio/lib/registry/inputs/color-input.cjs +1 -1
  37. package/dist/studio/lib/registry/inputs/color-input.cjs.map +1 -1
  38. package/dist/studio/lib/registry/inputs/color-input.js +1 -1
  39. package/dist/studio/lib/registry/inputs/color-input.js.map +1 -1
  40. package/dist/studio/lib/registry/inputs/currency-input.cjs +1 -1
  41. package/dist/studio/lib/registry/inputs/currency-input.cjs.map +1 -1
  42. package/dist/studio/lib/registry/inputs/currency-input.js +1 -1
  43. package/dist/studio/lib/registry/inputs/currency-input.js.map +1 -1
  44. package/dist/studio/lib/registry/inputs/editable-cell.cjs +1 -1
  45. package/dist/studio/lib/registry/inputs/editable-cell.cjs.map +1 -1
  46. package/dist/studio/lib/registry/inputs/editable-cell.js +1 -1
  47. package/dist/studio/lib/registry/inputs/editable-cell.js.map +1 -1
  48. package/dist/studio/lib/registry/inputs/file-upload.cjs +1 -1
  49. package/dist/studio/lib/registry/inputs/file-upload.cjs.map +1 -1
  50. package/dist/studio/lib/registry/inputs/file-upload.js +1 -1
  51. package/dist/studio/lib/registry/inputs/file-upload.js.map +1 -1
  52. package/dist/studio/lib/registry/inputs/input-text.cjs +1 -1
  53. package/dist/studio/lib/registry/inputs/input-text.cjs.map +1 -1
  54. package/dist/studio/lib/registry/inputs/input-text.js +1 -1
  55. package/dist/studio/lib/registry/inputs/input-text.js.map +1 -1
  56. package/dist/studio/lib/registry/inputs/listbox.cjs +1 -1
  57. package/dist/studio/lib/registry/inputs/listbox.cjs.map +1 -1
  58. package/dist/studio/lib/registry/inputs/listbox.js +1 -1
  59. package/dist/studio/lib/registry/inputs/listbox.js.map +1 -1
  60. package/dist/studio/lib/registry/inputs/menu.cjs +1 -1
  61. package/dist/studio/lib/registry/inputs/menu.cjs.map +1 -1
  62. package/dist/studio/lib/registry/inputs/menu.js +1 -1
  63. package/dist/studio/lib/registry/inputs/menu.js.map +1 -1
  64. package/dist/studio/lib/registry/inputs/number-input.cjs +1 -1
  65. package/dist/studio/lib/registry/inputs/number-input.cjs.map +1 -1
  66. package/dist/studio/lib/registry/inputs/number-input.js +1 -1
  67. package/dist/studio/lib/registry/inputs/number-input.js.map +1 -1
  68. package/dist/studio/lib/registry/inputs/password-input.cjs +1 -1
  69. package/dist/studio/lib/registry/inputs/password-input.cjs.map +1 -1
  70. package/dist/studio/lib/registry/inputs/password-input.js +1 -1
  71. package/dist/studio/lib/registry/inputs/password-input.js.map +1 -1
  72. package/dist/studio/lib/registry/inputs/phone-input.cjs +1 -1
  73. package/dist/studio/lib/registry/inputs/phone-input.cjs.map +1 -1
  74. package/dist/studio/lib/registry/inputs/phone-input.js +1 -1
  75. package/dist/studio/lib/registry/inputs/phone-input.js.map +1 -1
  76. package/dist/studio/lib/registry/inputs/slider.cjs +1 -1
  77. package/dist/studio/lib/registry/inputs/slider.cjs.map +1 -1
  78. package/dist/studio/lib/registry/inputs/slider.js +1 -1
  79. package/dist/studio/lib/registry/inputs/slider.js.map +1 -1
  80. package/dist/studio/lib/registry/inputs/time-input.cjs +1 -1
  81. package/dist/studio/lib/registry/inputs/time-input.cjs.map +1 -1
  82. package/dist/studio/lib/registry/inputs/time-input.js +1 -1
  83. package/dist/studio/lib/registry/inputs/time-input.js.map +1 -1
  84. package/dist/studio/lib/types.cjs.map +1 -1
  85. package/dist/studio/persistence/generate-css.cjs.map +1 -1
  86. package/dist/studio/persistence/generate-css.js.map +1 -1
  87. package/dist/ui/editable-cell/editable-cell-date.cjs +226 -0
  88. package/dist/ui/editable-cell/editable-cell-date.cjs.map +1 -0
  89. package/dist/ui/editable-cell/editable-cell-date.d.ts +4 -0
  90. package/dist/ui/editable-cell/editable-cell-date.d.ts.map +1 -0
  91. package/dist/ui/editable-cell/editable-cell-date.js +202 -0
  92. package/dist/ui/editable-cell/editable-cell-date.js.map +1 -0
  93. package/dist/ui/editable-cell/editable-cell-select.cjs +297 -0
  94. package/dist/ui/editable-cell/editable-cell-select.cjs.map +1 -0
  95. package/dist/ui/editable-cell/editable-cell-select.d.ts +4 -0
  96. package/dist/ui/editable-cell/editable-cell-select.d.ts.map +1 -0
  97. package/dist/ui/editable-cell/editable-cell-select.js +273 -0
  98. package/dist/ui/editable-cell/editable-cell-select.js.map +1 -0
  99. package/dist/ui/editable-cell/editable-cell-text.cjs +175 -0
  100. package/dist/ui/editable-cell/editable-cell-text.cjs.map +1 -0
  101. package/dist/ui/editable-cell/editable-cell-text.d.ts +4 -0
  102. package/dist/ui/editable-cell/editable-cell-text.d.ts.map +1 -0
  103. package/dist/ui/editable-cell/editable-cell-text.js +151 -0
  104. package/dist/ui/editable-cell/editable-cell-text.js.map +1 -0
  105. package/dist/ui/editable-cell/editable-cell.cjs +27 -705
  106. package/dist/ui/editable-cell/editable-cell.cjs.map +1 -1
  107. package/dist/ui/editable-cell/editable-cell.d.ts +1 -1
  108. package/dist/ui/editable-cell/editable-cell.d.ts.map +1 -1
  109. package/dist/ui/editable-cell/editable-cell.js +28 -706
  110. package/dist/ui/editable-cell/editable-cell.js.map +1 -1
  111. package/dist/ui/editable-cell/use-editable-cell.cjs +284 -0
  112. package/dist/ui/editable-cell/use-editable-cell.cjs.map +1 -0
  113. package/dist/ui/editable-cell/use-editable-cell.d.ts +51 -0
  114. package/dist/ui/editable-cell/use-editable-cell.d.ts.map +1 -0
  115. package/dist/ui/editable-cell/use-editable-cell.js +260 -0
  116. package/dist/ui/editable-cell/use-editable-cell.js.map +1 -0
  117. package/dist/ui/page-shell/page-shell.cjs.map +1 -1
  118. package/dist/ui/page-shell/page-shell.d.ts +1 -1
  119. package/dist/ui/page-shell/page-shell.d.ts.map +1 -1
  120. package/dist/ui/page-shell/page-shell.js.map +1 -1
  121. package/dist/ui/styles.css +1 -1
  122. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## [4.40.1](https://github.com/viax-io/uxm/compare/v4.40.0...v4.40.1) (2026-09-08)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ci:** reduce the release announcement to two links ([7165ab2](https://github.com/viax-io/uxm/commit/7165ab2b0c9ed512c36662fdd53ddb2532d716cf))
7
+ * **ci:** run the Slack announcement as its own rerunnable job ([0b134bb](https://github.com/viax-io/uxm/commit/0b134bb2b6cbf5124819de3ebfb6ef8e8e10706d))
8
+
9
+ # [4.40.0](https://github.com/viax-io/uxm/compare/v4.39.0...v4.40.0) (2026-09-08)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * declare the MIT license in package.json and README ([290eead](https://github.com/viax-io/uxm/commit/290eead178aa94e096e3abee503ae8c8885d8668))
15
+
16
+
17
+ ### Features
18
+
19
+ * **ci:** announce npm releases in Slack ([559fc0b](https://github.com/viax-io/uxm/commit/559fc0b8964ad1b53a23d0bc6af8cd9a99c1d632))
20
+
1
21
  # [4.39.0](https://gitlab.viax.tech/services-viax/uxm/compare/v4.38.0...v4.39.0) (2026-09-08)
2
22
 
3
23
 
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 viax.io
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @viax/uxm
1
+ # @viax.io/uxm
2
2
 
3
3
  **React 19 UI primitives, design tokens, and theming previews — packaged as a standalone library.**
4
4
 
@@ -8,22 +8,22 @@ The package ships **no `"use client"` / `"use server"` directives** by design: c
8
8
 
9
9
  ## What's in this package
10
10
 
11
- - **UI primitives** (`@viax/uxm/ui`) — BEM-classed React 19 components.
12
- - **Icon registry** (`@viax/uxm/ui`) — `ICONS`, `ICON_OPTIONS`, `getIcon`, `IconDef` for tooling that enumerates the bundled icon set.
13
- - **Design tokens** (`@viax/uxm/tokens`) — the canonical `themeTokens` array plus helpers (`findToken`, `resolveHex`, `isTokenValue`) and the `ThemeToken` type.
14
- - **Themable previews** (`@viax/uxm/previews`) — preview components (one per atom, plus composite previews) used by host shells like MODO's brand-settings editor to render live, knob-driven theme exploration.
15
- - **WCAG / contrast helpers** (`@viax/uxm`) — `contrastRatio`, `parseColor`, `rgbToHex`, `suggestAccessibleColor`, `suggestAccessibleToken`, `wcagLevel`, plus `RGB` and `TokenCandidate` types.
16
- - **Default stylesheets** — `@viax/uxm/ui.css` (component primitive defaults) and `@viax/uxm/tokens.css` (token declarations).
11
+ - **UI primitives** (`@viax.io/uxm/ui`) — BEM-classed React 19 components.
12
+ - **Icon registry** (`@viax.io/uxm/ui`) — `ICONS`, `ICON_OPTIONS`, `getIcon`, `IconDef` for tooling that enumerates the bundled icon set.
13
+ - **Design tokens** (`@viax.io/uxm/tokens`) — the canonical `themeTokens` array plus helpers (`findToken`, `resolveHex`, `isTokenValue`) and the `ThemeToken` type.
14
+ - **Themable previews** (`@viax.io/uxm/previews`) — preview components (one per atom, plus composite previews) used by host shells like MODO's brand-settings editor to render live, knob-driven theme exploration.
15
+ - **WCAG / contrast helpers** (`@viax.io/uxm`) — `contrastRatio`, `parseColor`, `rgbToHex`, `suggestAccessibleColor`, `suggestAccessibleToken`, `wcagLevel`, plus `RGB` and `TokenCandidate` types.
16
+ - **Default stylesheets** — `@viax.io/uxm/ui.css` (component primitive defaults) and `@viax.io/uxm/tokens.css` (token declarations).
17
17
 
18
18
  ## Install
19
19
 
20
20
  ```bash
21
- npm install @viax/uxm
21
+ npm install @viax.io/uxm
22
22
  ```
23
23
 
24
24
  Peer deps: `react@^19`, `react-dom@^19`. Node `>=20` for local dev.
25
25
 
26
- The package is published to the private Viax Nexus npm registry; see [Configure the registry](#configure-the-registry) below.
26
+ Published publicly on npm no registry configuration, credentials or VPN required.
27
27
 
28
28
  ## Quick start
29
29
 
@@ -31,14 +31,14 @@ Import both stylesheets once, at your application entry point:
31
31
 
32
32
  ```ts
33
33
  // e.g. src/main.tsx
34
- import '@viax/uxm/tokens.css';
35
- import '@viax/uxm/ui.css';
34
+ import '@viax.io/uxm/tokens.css';
35
+ import '@viax.io/uxm/ui.css';
36
36
  ```
37
37
 
38
38
  Then use the primitives anywhere:
39
39
 
40
40
  ```tsx
41
- import { ButtonPrimary, Icon } from '@viax/uxm/ui';
41
+ import { ButtonPrimary, Icon } from '@viax.io/uxm/ui';
42
42
 
43
43
  export function Page() {
44
44
  return (
@@ -52,7 +52,7 @@ export function Page() {
52
52
  Consume tokens programmatically:
53
53
 
54
54
  ```ts
55
- import { themeTokens, findToken, resolveHex } from '@viax/uxm/tokens';
55
+ import { themeTokens, findToken, resolveHex } from '@viax.io/uxm/tokens';
56
56
 
57
57
  const accent = findToken('--color-accent-bold');
58
58
  const hex = resolveHex(accent?.cssVar ?? '#000');
@@ -61,20 +61,20 @@ const hex = resolveHex(accent?.cssVar ?? '#000');
61
61
  Both primary entry points are also re-exported from the root:
62
62
 
63
63
  ```ts
64
- import { ButtonPrimary, themeTokens } from '@viax/uxm';
64
+ import { ButtonPrimary, themeTokens } from '@viax.io/uxm';
65
65
  ```
66
66
 
67
67
  ## Subpath exports
68
68
 
69
69
  | Entry | Purpose |
70
70
  |-------|---------|
71
- | `@viax/uxm` | Root barrel — re-exports `ui` + `tokens` + WCAG helpers. |
72
- | `@viax/uxm/ui` | All UI primitives + icon registry. Tree-shake-friendly per-component imports. |
73
- | `@viax/uxm/ui.css` | Compiled component stylesheet — required for visual output. |
74
- | `@viax/uxm/tokens` | `themeTokens` array + `findToken` / `resolveHex` / `isTokenValue` + `ThemeToken` type. |
75
- | `@viax/uxm/tokens.css` | `--color-*` declarations on `:root`. |
76
- | `@viax/uxm/hooks` | The behaviour hooks the atoms are built on — `useDismiss`, `useFocusTrap`, `useFocusOnMount`, `useRovingTabIndex`, `useScrollLock`, `usePortal`, `useToastStore` — for hosts composing their own floating layers or keyboard widgets. Pure React, no atom imports. |
77
- | `@viax/uxm/previews` | Preview components for host shells building theme editors. **No preview symbol leaks into `/ui`** — see the tree-shake guarantee below. |
71
+ | `@viax.io/uxm` | Root barrel — re-exports `ui` + `tokens` + WCAG helpers. |
72
+ | `@viax.io/uxm/ui` | All UI primitives + icon registry. Tree-shake-friendly per-component imports. |
73
+ | `@viax.io/uxm/ui.css` | Compiled component stylesheet — required for visual output. |
74
+ | `@viax.io/uxm/tokens` | `themeTokens` array + `findToken` / `resolveHex` / `isTokenValue` + `ThemeToken` type. |
75
+ | `@viax.io/uxm/tokens.css` | `--color-*` declarations on `:root`. |
76
+ | `@viax.io/uxm/hooks` | The behaviour hooks the atoms are built on — `useDismiss`, `useFocusTrap`, `useFocusOnMount`, `useRovingTabIndex`, `useScrollLock`, `usePortal`, `useToastStore` — for hosts composing their own floating layers or keyboard widgets. Pure React, no atom imports. |
77
+ | `@viax.io/uxm/previews` | Preview components for host shells building theme editors. **No preview symbol leaks into `/ui`** — see the tree-shake guarantee below. |
78
78
 
79
79
  ## Component catalog
80
80
 
@@ -127,7 +127,7 @@ The canonical token catalogue lives in `src/tokens/index.ts` as the `themeTokens
127
127
  - `group` — one of `surfaces` · `text` · `borders` · `accent` · `highlights` · `categories` · `semantic`
128
128
 
129
129
  ```ts
130
- import { themeTokens, findToken } from '@viax/uxm/tokens';
130
+ import { themeTokens, findToken } from '@viax.io/uxm/tokens';
131
131
 
132
132
  themeTokens.forEach((t) => {
133
133
  console.log(`${t.group}/${t.name} → ${t.cssVar} = ${t.hex} (dark: ${t.darkHex})`);
@@ -141,14 +141,14 @@ Each component README's **Design tokens (MODO-configurable)** section names ever
141
141
 
142
142
  ## Localisation
143
143
 
144
- **The library formats; you translate.** `@viax/uxm` ships no i18n engine — no message catalogue, no translation runtime — because a primitives library that owns translation forces its choice of engine onto every consuming app. Localisation splits in two:
144
+ **The library formats; you translate.** `@viax.io/uxm` ships no i18n engine — no message catalogue, no translation runtime — because a primitives library that owns translation forces its choice of engine onto every consuming app. Localisation splits in two:
145
145
 
146
146
  **Copy is yours, and arrives as props.** Every user-visible string a component can render or announce has a prop with an English default — `clearLabel`, `closeLabel`, `emptyState`, `requiredMessage`, `placeholder`, or a grouped `labels={{ … }}` object where a component owns several. Translate in your app and pass the result down. A string you cannot reach from props is a bug — [open an issue](#contributing).
147
147
 
148
148
  **Formatting is ours, and follows one locale.** Month names, decimal separators, and byte units come from `Intl` and can't be expressed as a prop string, so the components that need them read a locale instead. Mount [`UxmLocaleProvider`](src/ui/locale/README.md) once at the app root:
149
149
 
150
150
  ```tsx
151
- import { UxmLocaleProvider } from '@viax/uxm';
151
+ import { UxmLocaleProvider } from '@viax.io/uxm';
152
152
 
153
153
  <UxmLocaleProvider locale="uk-UA">
154
154
  <App />
@@ -178,14 +178,14 @@ Labels that interpolate a value take a **function**, not a prefix — `removeFil
178
178
 
179
179
  ## Previews
180
180
 
181
- Previews live under `@viax/uxm/previews` and are designed for **host shells building theme editors**. Each preview:
181
+ Previews live under `@viax.io/uxm/previews` and are designed for **host shells building theme editors**. Each preview:
182
182
 
183
183
  - Accepts a uniform `PreviewProps = { componentId, styles, variants, shell? }` signature.
184
184
  - Reads `styles` (slider/colorpicker knob values) and projects them as inline CSS variables on the component instance, exercising the production CSS path so what designers see is what consumers ship.
185
185
  - Optionally reads `shell` (host-provided context: brand, theme, `uploadAsset`) to integrate with the editor's broader state — e.g. `LoginPagePreview` and `BrandSettingsPreview` use `shell.uploadAsset` for logo uploads.
186
186
 
187
187
  ```tsx
188
- import { ButtonPreview, type PreviewShellContext } from '@viax/uxm/previews';
188
+ import { ButtonPreview, type PreviewShellContext } from '@viax.io/uxm/previews';
189
189
 
190
190
  <ButtonPreview
191
191
  componentId="button-primary"
@@ -195,43 +195,32 @@ import { ButtonPreview, type PreviewShellContext } from '@viax/uxm/previews';
195
195
  />;
196
196
  ```
197
197
 
198
- **Tree-shake guarantee**: no preview symbols leak into `@viax/uxm/ui`, so consumers that only import primitives never pay for preview code. This is **upheld by convention, not enforced by the build** — nothing fails if a barrel breaks it. When you touch `src/ui/index.ts` or any `src/ui/*/index.ts`, check by hand that no `*-preview` module is re-exported; after a build, `grep "Preview" dist/ui/index.js` should return nothing.
198
+ **Tree-shake guarantee**: no preview symbols leak into `@viax.io/uxm/ui`, so consumers that only import primitives never pay for preview code. This is **upheld by convention, not enforced by the build** — nothing fails if a barrel breaks it. When you touch `src/ui/index.ts` or any `src/ui/*/index.ts`, check by hand that no `*-preview` module is re-exported; after a build, `grep "Preview" dist/ui/index.js` should return nothing.
199
199
 
200
200
  ## Architecture
201
201
 
202
202
  ```
203
203
  ┌─────────────────────────────────────────────────┐
204
- │ @viax/uxm/previews │ ← host editors (MODO brand-settings)
204
+ │ @viax.io/uxm/previews │ ← host editors (MODO brand-settings)
205
205
  │ themable, shell-aware preview components │
206
206
  └────────────────┬────────────────────────────────┘
207
207
  │ consumes
208
208
 
209
209
  ┌─────────────────────────────────────────────────┐
210
- │ @viax/uxm/ui │ ← application code
210
+ │ @viax.io/uxm/ui │ ← application code
211
211
  │ BEM-classed React components │
212
212
  │ + Icon registry (ICONS, getIcon, …) │
213
213
  └────────────────┬────────────────────────────────┘
214
214
  │ reads fallbacks
215
215
 
216
216
  ┌─────────────────────────────────────────────────┐
217
- │ @viax/uxm/tokens (+ tokens.css) │ ← MODO brand-settings edits this
217
+ │ @viax.io/uxm/tokens (+ tokens.css) │ ← MODO brand-settings edits this
218
218
  │ themeTokens array + --color-* declarations │
219
219
  └─────────────────────────────────────────────────┘
220
220
  ```
221
221
 
222
222
  Every layer is independently importable; every layer has its own type declarations and own CSS bundle.
223
223
 
224
- ## Configure the registry
225
-
226
- This package is private and hosted on the Viax **Nexus** npm registry — not on public npm and not on GitLab Packages. Point npm at it in your project's `.npmrc` or `~/.npmrc`:
227
-
228
- ```ini
229
- registry=https://nexus.viax.tech/repository/viax-npm/
230
- //nexus.viax.tech/repository/viax-npm/:_auth=<BASE64_NEXUS_TOKEN>
231
- ```
232
-
233
- Two Nexus repositories are involved: CI **publishes** to `npm-private` (see `publishConfig` in `package.json`), while `viax-npm` is the registry both CI and this repo's own `.npmrc` **install** from. Authenticate against whichever you need — CI authenticates against both.
234
-
235
224
  ## Build & develop
236
225
 
237
226
  ```bash
@@ -289,7 +278,7 @@ To iterate on the components themselves rather than on the integration, prefer `
289
278
 
290
279
  ## Releases
291
280
 
292
- **Releases are fully automated — never publish by hand.** Merging to `master` runs semantic-release in CI, which derives the version bump from the Conventional Commit types, writes `CHANGELOG.md`, stamps the AI-skill version markers, publishes to Nexus, and creates the GitLab release.
281
+ **Releases are fully automated — never publish by hand.** Merging to `master` runs semantic-release in CI, which derives the version bump from the Conventional Commit types, writes `CHANGELOG.md`, stamps the AI-skill version markers, publishes to npm, and creates the GitHub release.
293
282
 
294
283
  This makes commit types carry semver meaning: `fix` → PATCH, `feat` → MINOR, a `BREAKING CHANGE:` footer → MAJOR. Running `npm version` or `npm publish` locally would desynchronise the tags from what CI has already released.
295
284
 
@@ -300,8 +289,8 @@ This makes commit types carry semver meaning: `fix` → PATCH, `feat` → MINOR,
300
289
  - **Add a preview**: create `{name}-preview.tsx` next to the component — previews live beside their component, not in `src/previews/`. Use `PreviewProps` and project knob values as inline CSS vars so production CSS rules paint them. Never re-export a preview from a `src/ui/` barrel (see the tree-shake guarantee above).
301
290
  - **Add a token**: add an entry to `themeTokens` in `src/tokens/index.ts` and declare the `--color-*` variable in `src/tokens/index.css`. Reference it from component SCSS via `var(--uxm-foo-bar, var(--color-new-token))` — never hardcode a colour, spacing, or radius.
302
291
  - Commits follow conventional-commit format (`commitizen` + `commitlint` enforced via `husky`); `npm run commit` walks you through it. Commit types drive the released version — see [Releases](#releases).
303
- - Run `npm run lint && npm run typecheck && npm run build` before opening a merge request.
292
+ - Run `npm run lint && npm run typecheck && npm test && npm run build` before opening a pull request.
304
293
 
305
294
  ## License
306
295
 
307
- UNLICENSED internal Viax use.
296
+ [MIT](LICENSE.md) © viax.io
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["/**\n * @viax/uxm/hooks — the behaviour hooks the atoms are built on, for hosts\n * that compose their own floating layers or keyboard widgets on top of the\n * library's primitives. Pure React; no atom or studio imports (enforced by the\n * layer rules in eslint.config.mjs).\n */\nexport { useDismiss } from './use-dismiss';\nexport type { UseDismissOptions } from './use-dismiss';\nexport { useFocusOnMount } from './use-focus-on-mount';\nexport type { UseFocusOnMountOptions } from './use-focus-on-mount';\nexport { useFocusTrap } from './use-focus-trap';\nexport type { UseFocusTrapOptions } from './use-focus-trap';\nexport { usePortal } from './use-portal';\nexport { useRovingTabIndex } from './use-roving-tab-index';\nexport type {\n RovingTabIndexOrientation,\n UseRovingTabIndexOptions,\n UseRovingTabIndexResult,\n} from './use-roving-tab-index';\nexport { useScrollLock } from './use-scroll-lock';\nexport { toastStore, useToastStore } from './use-toast-store';\nexport type { ToastAction, ToastItem, ToastOptions, ToastVariant } from './use-toast-store';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA2B;AAE3B,gCAAgC;AAEhC,4BAA6B;AAE7B,wBAA0B;AAC1B,kCAAkC;AAMlC,6BAA8B;AAC9B,6BAA0C;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm/hooks — the behaviour hooks the atoms are built on, for hosts\n * that compose their own floating layers or keyboard widgets on top of the\n * library's primitives. Pure React; no atom or studio imports (enforced by the\n * layer rules in eslint.config.mjs).\n */\nexport { useDismiss } from './use-dismiss';\nexport type { UseDismissOptions } from './use-dismiss';\nexport { useFocusOnMount } from './use-focus-on-mount';\nexport type { UseFocusOnMountOptions } from './use-focus-on-mount';\nexport { useFocusTrap } from './use-focus-trap';\nexport type { UseFocusTrapOptions } from './use-focus-trap';\nexport { usePortal } from './use-portal';\nexport { useRovingTabIndex } from './use-roving-tab-index';\nexport type {\n RovingTabIndexOrientation,\n UseRovingTabIndexOptions,\n UseRovingTabIndexResult,\n} from './use-roving-tab-index';\nexport { useScrollLock } from './use-scroll-lock';\nexport { toastStore, useToastStore } from './use-toast-store';\nexport type { ToastAction, ToastItem, ToastOptions, ToastVariant } from './use-toast-store';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA2B;AAE3B,gCAAgC;AAEhC,4BAA6B;AAE7B,wBAA0B;AAC1B,kCAAkC;AAMlC,6BAA8B;AAC9B,6BAA0C;","names":[]}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @viax/uxm/hooks — the behaviour hooks the atoms are built on, for hosts
2
+ * @viax.io/uxm/hooks — the behaviour hooks the atoms are built on, for hosts
3
3
  * that compose their own floating layers or keyboard widgets on top of the
4
4
  * library's primitives. Pure React; no atom or studio imports (enforced by the
5
5
  * layer rules in eslint.config.mjs).
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["/**\n * @viax/uxm/hooks — the behaviour hooks the atoms are built on, for hosts\n * that compose their own floating layers or keyboard widgets on top of the\n * library's primitives. Pure React; no atom or studio imports (enforced by the\n * layer rules in eslint.config.mjs).\n */\nexport { useDismiss } from './use-dismiss';\nexport type { UseDismissOptions } from './use-dismiss';\nexport { useFocusOnMount } from './use-focus-on-mount';\nexport type { UseFocusOnMountOptions } from './use-focus-on-mount';\nexport { useFocusTrap } from './use-focus-trap';\nexport type { UseFocusTrapOptions } from './use-focus-trap';\nexport { usePortal } from './use-portal';\nexport { useRovingTabIndex } from './use-roving-tab-index';\nexport type {\n RovingTabIndexOrientation,\n UseRovingTabIndexOptions,\n UseRovingTabIndexResult,\n} from './use-roving-tab-index';\nexport { useScrollLock } from './use-scroll-lock';\nexport { toastStore, useToastStore } from './use-toast-store';\nexport type { ToastAction, ToastItem, ToastOptions, ToastVariant } from './use-toast-store';\n"],"mappings":"AAMA,SAAS,kBAAkB;AAE3B,SAAS,uBAAuB;AAEhC,SAAS,oBAAoB;AAE7B,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAMlC,SAAS,qBAAqB;AAC9B,SAAS,YAAY,qBAAqB;","names":[]}
1
+ {"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm/hooks — the behaviour hooks the atoms are built on, for hosts\n * that compose their own floating layers or keyboard widgets on top of the\n * library's primitives. Pure React; no atom or studio imports (enforced by the\n * layer rules in eslint.config.mjs).\n */\nexport { useDismiss } from './use-dismiss';\nexport type { UseDismissOptions } from './use-dismiss';\nexport { useFocusOnMount } from './use-focus-on-mount';\nexport type { UseFocusOnMountOptions } from './use-focus-on-mount';\nexport { useFocusTrap } from './use-focus-trap';\nexport type { UseFocusTrapOptions } from './use-focus-trap';\nexport { usePortal } from './use-portal';\nexport { useRovingTabIndex } from './use-roving-tab-index';\nexport type {\n RovingTabIndexOrientation,\n UseRovingTabIndexOptions,\n UseRovingTabIndexResult,\n} from './use-roving-tab-index';\nexport { useScrollLock } from './use-scroll-lock';\nexport { toastStore, useToastStore } from './use-toast-store';\nexport type { ToastAction, ToastItem, ToastOptions, ToastVariant } from './use-toast-store';\n"],"mappings":"AAMA,SAAS,kBAAkB;AAE3B,SAAS,uBAAuB;AAEhC,SAAS,oBAAoB;AAE7B,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAMlC,SAAS,qBAAqB;AAC9B,SAAS,YAAY,qBAAqB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @viax/uxm — public entry.\n *\n * Re-exports the UI primitive barrel and the design-token API so consumers\n * can do `import { Button } from \"@viax/uxm\"` for convenience, while the\n * subpath entries (`@viax/uxm/ui`, `@viax/uxm/tokens`) remain available for\n * tree-shaking-friendly, granular consumption.\n */\nexport * from './ui';\nexport * from './tokens';\n// WCAG/contrast helpers — useful for tooling that needs to audit token pairs.\nexport * from './lib/contrast';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAQA,0BAAc,iBARd;AASA,0BAAc,qBATd;AAWA,0BAAc,2BAXd;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm — public entry.\n *\n * Re-exports the UI primitive barrel and the design-token API so consumers\n * can do `import { Button } from \"@viax.io/uxm\"` for convenience, while the\n * subpath entries (`@viax.io/uxm/ui`, `@viax.io/uxm/tokens`) remain available for\n * tree-shaking-friendly, granular consumption.\n */\nexport * from './ui';\nexport * from './tokens';\n// WCAG/contrast helpers — useful for tooling that needs to audit token pairs.\nexport * from './lib/contrast';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAQA,0BAAc,iBARd;AASA,0BAAc,qBATd;AAWA,0BAAc,2BAXd;","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @viax/uxm — public entry.
2
+ * @viax.io/uxm — public entry.
3
3
  *
4
4
  * Re-exports the UI primitive barrel and the design-token API so consumers
5
- * can do `import { Button } from "@viax/uxm"` for convenience, while the
6
- * subpath entries (`@viax/uxm/ui`, `@viax/uxm/tokens`) remain available for
5
+ * can do `import { Button } from "@viax.io/uxm"` for convenience, while the
6
+ * subpath entries (`@viax.io/uxm/ui`, `@viax.io/uxm/tokens`) remain available for
7
7
  * tree-shaking-friendly, granular consumption.
8
8
  */
9
9
  export * from './ui/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @viax/uxm — public entry.\n *\n * Re-exports the UI primitive barrel and the design-token API so consumers\n * can do `import { Button } from \"@viax/uxm\"` for convenience, while the\n * subpath entries (`@viax/uxm/ui`, `@viax/uxm/tokens`) remain available for\n * tree-shaking-friendly, granular consumption.\n */\nexport * from './ui';\nexport * from './tokens';\n// WCAG/contrast helpers — useful for tooling that needs to audit token pairs.\nexport * from './lib/contrast';\n"],"mappings":"AAQA,cAAc;AACd,cAAc;AAEd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm — public entry.\n *\n * Re-exports the UI primitive barrel and the design-token API so consumers\n * can do `import { Button } from \"@viax.io/uxm\"` for convenience, while the\n * subpath entries (`@viax.io/uxm/ui`, `@viax.io/uxm/tokens`) remain available for\n * tree-shaking-friendly, granular consumption.\n */\nexport * from './ui';\nexport * from './tokens';\n// WCAG/contrast helpers — useful for tooling that needs to audit token pairs.\nexport * from './lib/contrast';\n"],"mappings":"AAQA,cAAc;AACd,cAAc;AAEd,cAAc;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/previews/index.ts"],"sourcesContent":["/**\n * Public barrel for @viax/uxm/previews.\n *\n * Re-exports every canvas preview component, plus the shared preview-side\n * types. Imported by the modo uxm-shell to render the registry-driven\n * editor canvas. Tree-shakable: hosts that import only `@viax/uxm/ui` do\n * not pull preview code through this entry.\n */\n\n// ── Atom + sub-component previews (live next to their component) ──\nexport { AppSidebarPreview } from '@/ui/app-sidebar/app-sidebar-preview';\nexport { AppTopBarPreview } from '@/ui/app-top-bar/app-top-bar-preview';\nexport { AvatarPreview } from '@/ui/avatar/avatar-preview';\nexport { BackLinkPreview } from '@/ui/back-link/back-link-preview';\nexport { BadgePreview } from '@/ui/badge/badge-preview';\nexport { BannerPreview } from '@/ui/banner/banner-preview';\nexport { BreadcrumbPreview } from '@/ui/breadcrumb/breadcrumb-preview';\nexport { BulkActionBarPreview } from '@/ui/bulk-action-bar/bulk-action-bar-preview';\nexport { ButtonPreview } from '@/ui/button/button-preview';\nexport { ButtonGroupPreview } from '@/ui/button-group/button-group-preview';\nexport { ButtonWithIconPreview } from '@/ui/button-with-icon/button-with-icon-preview';\nexport { CalendarPreview } from '@/ui/calendar/calendar-preview';\nexport { CardPreview } from '@/ui/card/card-preview';\nexport { CheckboxPreview } from '@/ui/checkbox/checkbox-preview';\nexport { ChipPreview } from '@/ui/chip/chip-preview';\nexport { ClusterPreview } from '@/ui/cluster/cluster-preview';\nexport { CodeEditorPreview } from '@/ui/code-editor/code-editor-preview';\nexport { ColorInputPreview } from '@/ui/color-input/color-input-preview';\nexport { ComponentRowPreview } from '@/ui/component-row/component-row-preview';\nexport { ConfigComponentRowPreview } from '@/ui/config-component-row/config-component-row-preview';\nexport { ConfigSegmentItemPreview } from '@/ui/config-segment-item/config-segment-item-preview';\nexport { ContentTooltipPreview } from '@/ui/tooltip/content-tooltip-preview';\nexport { CurrencyInputPreview } from '@/ui/currency-input/currency-input-preview';\nexport { DataTablePreview } from '@/ui/data-table/data-table-preview';\nexport { DateInputPreview } from '@/ui/date-input/date-input-preview';\nexport { DetailSectionPreview } from '@/ui/detail-section/detail-section-preview';\nexport { DisclosurePreview } from '@/ui/disclosure/disclosure-preview';\nexport { DividerPreview } from '@/ui/divider/divider-preview';\nexport { EditableCellPreview } from '@/ui/editable-cell/editable-cell-preview';\nexport { EmptyStatePreview } from '@/ui/empty-state/empty-state-preview';\nexport { ErrorPagePreview } from '@/ui/error-page/error-page-preview';\nexport { ExplorerListItemPreview } from '@/ui/explorer-list-item/explorer-list-item-preview';\nexport { ExplorerSectionPreview } from '@/ui/explorer-section/explorer-section-preview';\nexport { FileUploadPreview } from '@/ui/file-upload/file-upload-preview';\nexport { FilterTabsPreview } from '@/ui/filter-tabs/filter-tabs-preview';\nexport { FormFieldPreview } from '@/ui/form-field/form-field-preview';\nexport { IconPreview } from '@/ui/icon/icon-preview';\nexport { IconButtonPreview } from '@/ui/icon-button/icon-button-preview';\nexport { IconTilePreview } from '@/ui/icon-tile/icon-tile-preview';\nexport { InlineActionPreview } from '@/ui/inline-action/inline-action-preview';\nexport { InlineFilterPreview } from '@/ui/inline-filter/inline-filter-preview';\nexport { InputPreview } from '@/ui/input/input-preview';\nexport { InputWithIconPreview } from '@/ui/input-with-icon/input-with-icon-preview';\nexport { LanguageSwitcherPreview } from '@/ui/language-switcher/language-switcher-preview';\nexport { LifecycleConnectorPreview } from '@/ui/lifecycle-connector/lifecycle-connector-preview';\nexport { LifecycleDropSlotPreview } from '@/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview';\nexport { LifecycleEdgeLabelPreview } from '@/ui/lifecycle-edge-label/lifecycle-edge-label-preview';\nexport { LifecycleGroupBoxPreview } from '@/ui/lifecycle-group-box/lifecycle-group-box-preview';\nexport { LifecycleMinimapPreview } from '@/ui/lifecycle-minimap/lifecycle-minimap-preview';\nexport { LifecycleNodeCardPreview } from '@/ui/lifecycle-node-card/lifecycle-node-card-preview';\nexport { LifecycleTerminalPreview } from '@/ui/lifecycle-terminal/lifecycle-terminal-preview';\nexport { LifecycleZoomControlPreview } from '@/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview';\nexport { LinkPreview } from '@/ui/link/link-preview';\nexport { ListItemPreview } from '@/ui/list/list-item-preview';\nexport { ListboxPreview } from '@/ui/listbox/listbox-preview';\nexport { LoaderPreview } from '@/ui/loader/loader-preview';\nexport { MenuPreview } from '@/ui/menu/menu-preview';\nexport { MetaRowPreview } from '@/ui/meta-row/meta-row-preview';\nexport { ModalPreview } from '@/ui/modal/modal-preview';\nexport { NumberStepperPreview } from '@/ui/number-stepper/number-stepper-preview';\nexport { NumberInputPreview } from '@/ui/number-input/number-input-preview';\nexport { OptionListPreview } from '@/ui/option-list/option-list-preview';\nexport { PageHeaderPreview } from '@/ui/page-header/page-header-preview';\nexport { PageShellPreview } from '@/ui/page-shell/page-shell-preview';\nexport { PasswordInputPreview } from '@/ui/password-input/password-input-preview';\nexport { PhoneInputPreview } from '@/ui/phone-input/phone-input-preview';\nexport { PillSelectPreview } from '@/ui/pill-select/pill-select-preview';\nexport { ProgressBarPreview } from '@/ui/progress-bar/progress-bar-preview';\nexport { PropertyFieldPreview } from '@/ui/property-field/property-field-preview';\nexport { PropertyGridPreview } from '@/ui/property-field/property-grid-preview';\nexport { RadioGroupPreview } from '@/ui/radio-group/radio-group-preview';\nexport { ResponsiveGridPreview } from '@/ui/responsive-grid/responsive-grid-preview';\nexport { SearchDropdownPreview } from '@/ui/search-dropdown/search-dropdown-preview';\nexport { SectionHeaderPreview } from '@/ui/section-header/section-header-preview';\nexport { SegmentCardPreview } from '@/ui/segment-card/segment-card-preview';\nexport { SegmentRowPreview } from '@/ui/segment-row/segment-row-preview';\nexport { SelectPreview } from '@/ui/input/select-preview';\nexport { SideFlexpanePreview } from '@/ui/side-flexpane/side-flexpane-preview';\nexport { SidebarNavItemPreview } from '@/ui/sidebar-nav-item/sidebar-nav-item-preview';\nexport { SidebarNavTriggerPreview } from '@/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview';\nexport { SliderPreview } from '@/ui/slider/slider-preview';\nexport { StackPreview } from '@/ui/stack/stack-preview';\nexport { StatCardPreview } from '@/ui/stat-card/stat-card-preview';\nexport { TabsPreview } from '@/ui/tabs/tabs-preview';\nexport { TabsUnderlinePreview } from '@/ui/tabs-underline/tabs-underline-preview';\nexport { TagPreview } from '@/ui/tag/tag-preview';\nexport { TextareaPreview } from '@/ui/input/textarea-preview';\nexport { ThumbnailPreview } from '@/ui/thumbnail/thumbnail-preview';\nexport { TimeInputPreview } from '@/ui/time-input/time-input-preview';\nexport { TimelineEntryPreview } from '@/ui/timeline-entry/timeline-entry-preview';\nexport { ToastPreview } from '@/ui/toast/toast-preview';\nexport { TogglePreview } from '@/ui/toggle-switch/toggle-preview';\nexport { TooltipPreview } from '@/ui/tooltip/tooltip-preview';\nexport { TypeOverviewCardPreview } from '@/ui/type-overview-card/type-overview-card-preview';\nexport { ViewSwitcherPreview } from '@/ui/view-switcher/view-switcher-preview';\n\n// ── Composite / showcase previews (no 1:1 component) ──\nexport { BrandSettingsPreview } from '@/previews/composite/brand-settings-preview';\nexport { FormPreview } from '@/previews/composite/form-preview';\nexport { LifecycleActionRowPreview } from '@/previews/composite/lifecycle-action-row-preview';\nexport { LifecycleConnectorKnobsPreview } from '@/previews/composite/lifecycle-connector-knobs-preview';\nexport { LifecyclePlusButtonPreview } from '@/previews/composite/lifecycle-plus-button-preview';\nexport { LoginPagePreview } from '@/previews/composite/login-page-preview';\nexport { MultirowFormPreview } from '@/previews/composite/multirow-form-preview';\n\n// ── Shared preview-side types ──\nexport type { PreviewProps, PreviewShellContext, Theme } from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,iCAAkC;AAClC,iCAAiC;AACjC,4BAA8B;AAC9B,+BAAgC;AAChC,2BAA6B;AAC7B,4BAA8B;AAC9B,gCAAkC;AAClC,qCAAqC;AACrC,4BAA8B;AAC9B,kCAAmC;AACnC,sCAAsC;AACtC,8BAAgC;AAChC,0BAA4B;AAC5B,8BAAgC;AAChC,0BAA4B;AAC5B,6BAA+B;AAC/B,iCAAkC;AAClC,iCAAkC;AAClC,mCAAoC;AACpC,0CAA0C;AAC1C,yCAAyC;AACzC,qCAAsC;AACtC,oCAAqC;AACrC,gCAAiC;AACjC,gCAAiC;AACjC,oCAAqC;AACrC,gCAAkC;AAClC,6BAA+B;AAC/B,mCAAoC;AACpC,iCAAkC;AAClC,gCAAiC;AACjC,wCAAwC;AACxC,sCAAuC;AACvC,iCAAkC;AAClC,iCAAkC;AAClC,gCAAiC;AACjC,0BAA4B;AAC5B,iCAAkC;AAClC,+BAAgC;AAChC,mCAAoC;AACpC,mCAAoC;AACpC,2BAA6B;AAC7B,qCAAqC;AACrC,uCAAwC;AACxC,yCAA0C;AAC1C,yCAAyC;AACzC,0CAA0C;AAC1C,yCAAyC;AACzC,uCAAwC;AACxC,yCAAyC;AACzC,wCAAyC;AACzC,4CAA4C;AAC5C,0BAA4B;AAC5B,+BAAgC;AAChC,6BAA+B;AAC/B,4BAA8B;AAC9B,0BAA4B;AAC5B,8BAA+B;AAC/B,2BAA6B;AAC7B,oCAAqC;AACrC,kCAAmC;AACnC,iCAAkC;AAClC,iCAAkC;AAClC,gCAAiC;AACjC,oCAAqC;AACrC,iCAAkC;AAClC,iCAAkC;AAClC,kCAAmC;AACnC,oCAAqC;AACrC,mCAAoC;AACpC,iCAAkC;AAClC,qCAAsC;AACtC,qCAAsC;AACtC,oCAAqC;AACrC,kCAAmC;AACnC,iCAAkC;AAClC,4BAA8B;AAC9B,mCAAoC;AACpC,sCAAsC;AACtC,yCAAyC;AACzC,4BAA8B;AAC9B,2BAA6B;AAC7B,+BAAgC;AAChC,0BAA4B;AAC5B,oCAAqC;AACrC,yBAA2B;AAC3B,8BAAgC;AAChC,+BAAiC;AACjC,gCAAiC;AACjC,oCAAqC;AACrC,2BAA6B;AAC7B,4BAA8B;AAC9B,6BAA+B;AAC/B,wCAAwC;AACxC,mCAAoC;AAGpC,oCAAqC;AACrC,0BAA4B;AAC5B,0CAA0C;AAC1C,+CAA+C;AAC/C,2CAA2C;AAC3C,gCAAiC;AACjC,mCAAoC;","names":[]}
1
+ {"version":3,"sources":["../../src/previews/index.ts"],"sourcesContent":["/**\n * Public barrel for @viax.io/uxm/previews.\n *\n * Re-exports every canvas preview component, plus the shared preview-side\n * types. Imported by the modo uxm-shell to render the registry-driven\n * editor canvas. Tree-shakable: hosts that import only `@viax.io/uxm/ui` do\n * not pull preview code through this entry.\n */\n\n// ── Atom + sub-component previews (live next to their component) ──\nexport { AppSidebarPreview } from '@/ui/app-sidebar/app-sidebar-preview';\nexport { AppTopBarPreview } from '@/ui/app-top-bar/app-top-bar-preview';\nexport { AvatarPreview } from '@/ui/avatar/avatar-preview';\nexport { BackLinkPreview } from '@/ui/back-link/back-link-preview';\nexport { BadgePreview } from '@/ui/badge/badge-preview';\nexport { BannerPreview } from '@/ui/banner/banner-preview';\nexport { BreadcrumbPreview } from '@/ui/breadcrumb/breadcrumb-preview';\nexport { BulkActionBarPreview } from '@/ui/bulk-action-bar/bulk-action-bar-preview';\nexport { ButtonPreview } from '@/ui/button/button-preview';\nexport { ButtonGroupPreview } from '@/ui/button-group/button-group-preview';\nexport { ButtonWithIconPreview } from '@/ui/button-with-icon/button-with-icon-preview';\nexport { CalendarPreview } from '@/ui/calendar/calendar-preview';\nexport { CardPreview } from '@/ui/card/card-preview';\nexport { CheckboxPreview } from '@/ui/checkbox/checkbox-preview';\nexport { ChipPreview } from '@/ui/chip/chip-preview';\nexport { ClusterPreview } from '@/ui/cluster/cluster-preview';\nexport { CodeEditorPreview } from '@/ui/code-editor/code-editor-preview';\nexport { ColorInputPreview } from '@/ui/color-input/color-input-preview';\nexport { ComponentRowPreview } from '@/ui/component-row/component-row-preview';\nexport { ConfigComponentRowPreview } from '@/ui/config-component-row/config-component-row-preview';\nexport { ConfigSegmentItemPreview } from '@/ui/config-segment-item/config-segment-item-preview';\nexport { ContentTooltipPreview } from '@/ui/tooltip/content-tooltip-preview';\nexport { CurrencyInputPreview } from '@/ui/currency-input/currency-input-preview';\nexport { DataTablePreview } from '@/ui/data-table/data-table-preview';\nexport { DateInputPreview } from '@/ui/date-input/date-input-preview';\nexport { DetailSectionPreview } from '@/ui/detail-section/detail-section-preview';\nexport { DisclosurePreview } from '@/ui/disclosure/disclosure-preview';\nexport { DividerPreview } from '@/ui/divider/divider-preview';\nexport { EditableCellPreview } from '@/ui/editable-cell/editable-cell-preview';\nexport { EmptyStatePreview } from '@/ui/empty-state/empty-state-preview';\nexport { ErrorPagePreview } from '@/ui/error-page/error-page-preview';\nexport { ExplorerListItemPreview } from '@/ui/explorer-list-item/explorer-list-item-preview';\nexport { ExplorerSectionPreview } from '@/ui/explorer-section/explorer-section-preview';\nexport { FileUploadPreview } from '@/ui/file-upload/file-upload-preview';\nexport { FilterTabsPreview } from '@/ui/filter-tabs/filter-tabs-preview';\nexport { FormFieldPreview } from '@/ui/form-field/form-field-preview';\nexport { IconPreview } from '@/ui/icon/icon-preview';\nexport { IconButtonPreview } from '@/ui/icon-button/icon-button-preview';\nexport { IconTilePreview } from '@/ui/icon-tile/icon-tile-preview';\nexport { InlineActionPreview } from '@/ui/inline-action/inline-action-preview';\nexport { InlineFilterPreview } from '@/ui/inline-filter/inline-filter-preview';\nexport { InputPreview } from '@/ui/input/input-preview';\nexport { InputWithIconPreview } from '@/ui/input-with-icon/input-with-icon-preview';\nexport { LanguageSwitcherPreview } from '@/ui/language-switcher/language-switcher-preview';\nexport { LifecycleConnectorPreview } from '@/ui/lifecycle-connector/lifecycle-connector-preview';\nexport { LifecycleDropSlotPreview } from '@/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview';\nexport { LifecycleEdgeLabelPreview } from '@/ui/lifecycle-edge-label/lifecycle-edge-label-preview';\nexport { LifecycleGroupBoxPreview } from '@/ui/lifecycle-group-box/lifecycle-group-box-preview';\nexport { LifecycleMinimapPreview } from '@/ui/lifecycle-minimap/lifecycle-minimap-preview';\nexport { LifecycleNodeCardPreview } from '@/ui/lifecycle-node-card/lifecycle-node-card-preview';\nexport { LifecycleTerminalPreview } from '@/ui/lifecycle-terminal/lifecycle-terminal-preview';\nexport { LifecycleZoomControlPreview } from '@/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview';\nexport { LinkPreview } from '@/ui/link/link-preview';\nexport { ListItemPreview } from '@/ui/list/list-item-preview';\nexport { ListboxPreview } from '@/ui/listbox/listbox-preview';\nexport { LoaderPreview } from '@/ui/loader/loader-preview';\nexport { MenuPreview } from '@/ui/menu/menu-preview';\nexport { MetaRowPreview } from '@/ui/meta-row/meta-row-preview';\nexport { ModalPreview } from '@/ui/modal/modal-preview';\nexport { NumberStepperPreview } from '@/ui/number-stepper/number-stepper-preview';\nexport { NumberInputPreview } from '@/ui/number-input/number-input-preview';\nexport { OptionListPreview } from '@/ui/option-list/option-list-preview';\nexport { PageHeaderPreview } from '@/ui/page-header/page-header-preview';\nexport { PageShellPreview } from '@/ui/page-shell/page-shell-preview';\nexport { PasswordInputPreview } from '@/ui/password-input/password-input-preview';\nexport { PhoneInputPreview } from '@/ui/phone-input/phone-input-preview';\nexport { PillSelectPreview } from '@/ui/pill-select/pill-select-preview';\nexport { ProgressBarPreview } from '@/ui/progress-bar/progress-bar-preview';\nexport { PropertyFieldPreview } from '@/ui/property-field/property-field-preview';\nexport { PropertyGridPreview } from '@/ui/property-field/property-grid-preview';\nexport { RadioGroupPreview } from '@/ui/radio-group/radio-group-preview';\nexport { ResponsiveGridPreview } from '@/ui/responsive-grid/responsive-grid-preview';\nexport { SearchDropdownPreview } from '@/ui/search-dropdown/search-dropdown-preview';\nexport { SectionHeaderPreview } from '@/ui/section-header/section-header-preview';\nexport { SegmentCardPreview } from '@/ui/segment-card/segment-card-preview';\nexport { SegmentRowPreview } from '@/ui/segment-row/segment-row-preview';\nexport { SelectPreview } from '@/ui/input/select-preview';\nexport { SideFlexpanePreview } from '@/ui/side-flexpane/side-flexpane-preview';\nexport { SidebarNavItemPreview } from '@/ui/sidebar-nav-item/sidebar-nav-item-preview';\nexport { SidebarNavTriggerPreview } from '@/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview';\nexport { SliderPreview } from '@/ui/slider/slider-preview';\nexport { StackPreview } from '@/ui/stack/stack-preview';\nexport { StatCardPreview } from '@/ui/stat-card/stat-card-preview';\nexport { TabsPreview } from '@/ui/tabs/tabs-preview';\nexport { TabsUnderlinePreview } from '@/ui/tabs-underline/tabs-underline-preview';\nexport { TagPreview } from '@/ui/tag/tag-preview';\nexport { TextareaPreview } from '@/ui/input/textarea-preview';\nexport { ThumbnailPreview } from '@/ui/thumbnail/thumbnail-preview';\nexport { TimeInputPreview } from '@/ui/time-input/time-input-preview';\nexport { TimelineEntryPreview } from '@/ui/timeline-entry/timeline-entry-preview';\nexport { ToastPreview } from '@/ui/toast/toast-preview';\nexport { TogglePreview } from '@/ui/toggle-switch/toggle-preview';\nexport { TooltipPreview } from '@/ui/tooltip/tooltip-preview';\nexport { TypeOverviewCardPreview } from '@/ui/type-overview-card/type-overview-card-preview';\nexport { ViewSwitcherPreview } from '@/ui/view-switcher/view-switcher-preview';\n\n// ── Composite / showcase previews (no 1:1 component) ──\nexport { BrandSettingsPreview } from '@/previews/composite/brand-settings-preview';\nexport { FormPreview } from '@/previews/composite/form-preview';\nexport { LifecycleActionRowPreview } from '@/previews/composite/lifecycle-action-row-preview';\nexport { LifecycleConnectorKnobsPreview } from '@/previews/composite/lifecycle-connector-knobs-preview';\nexport { LifecyclePlusButtonPreview } from '@/previews/composite/lifecycle-plus-button-preview';\nexport { LoginPagePreview } from '@/previews/composite/login-page-preview';\nexport { MultirowFormPreview } from '@/previews/composite/multirow-form-preview';\n\n// ── Shared preview-side types ──\nexport type { PreviewProps, PreviewShellContext, Theme } from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,iCAAkC;AAClC,iCAAiC;AACjC,4BAA8B;AAC9B,+BAAgC;AAChC,2BAA6B;AAC7B,4BAA8B;AAC9B,gCAAkC;AAClC,qCAAqC;AACrC,4BAA8B;AAC9B,kCAAmC;AACnC,sCAAsC;AACtC,8BAAgC;AAChC,0BAA4B;AAC5B,8BAAgC;AAChC,0BAA4B;AAC5B,6BAA+B;AAC/B,iCAAkC;AAClC,iCAAkC;AAClC,mCAAoC;AACpC,0CAA0C;AAC1C,yCAAyC;AACzC,qCAAsC;AACtC,oCAAqC;AACrC,gCAAiC;AACjC,gCAAiC;AACjC,oCAAqC;AACrC,gCAAkC;AAClC,6BAA+B;AAC/B,mCAAoC;AACpC,iCAAkC;AAClC,gCAAiC;AACjC,wCAAwC;AACxC,sCAAuC;AACvC,iCAAkC;AAClC,iCAAkC;AAClC,gCAAiC;AACjC,0BAA4B;AAC5B,iCAAkC;AAClC,+BAAgC;AAChC,mCAAoC;AACpC,mCAAoC;AACpC,2BAA6B;AAC7B,qCAAqC;AACrC,uCAAwC;AACxC,yCAA0C;AAC1C,yCAAyC;AACzC,0CAA0C;AAC1C,yCAAyC;AACzC,uCAAwC;AACxC,yCAAyC;AACzC,wCAAyC;AACzC,4CAA4C;AAC5C,0BAA4B;AAC5B,+BAAgC;AAChC,6BAA+B;AAC/B,4BAA8B;AAC9B,0BAA4B;AAC5B,8BAA+B;AAC/B,2BAA6B;AAC7B,oCAAqC;AACrC,kCAAmC;AACnC,iCAAkC;AAClC,iCAAkC;AAClC,gCAAiC;AACjC,oCAAqC;AACrC,iCAAkC;AAClC,iCAAkC;AAClC,kCAAmC;AACnC,oCAAqC;AACrC,mCAAoC;AACpC,iCAAkC;AAClC,qCAAsC;AACtC,qCAAsC;AACtC,oCAAqC;AACrC,kCAAmC;AACnC,iCAAkC;AAClC,4BAA8B;AAC9B,mCAAoC;AACpC,sCAAsC;AACtC,yCAAyC;AACzC,4BAA8B;AAC9B,2BAA6B;AAC7B,+BAAgC;AAChC,0BAA4B;AAC5B,oCAAqC;AACrC,yBAA2B;AAC3B,8BAAgC;AAChC,+BAAiC;AACjC,gCAAiC;AACjC,oCAAqC;AACrC,2BAA6B;AAC7B,4BAA8B;AAC9B,6BAA+B;AAC/B,wCAAwC;AACxC,mCAAoC;AAGpC,oCAAqC;AACrC,0BAA4B;AAC5B,0CAA0C;AAC1C,+CAA+C;AAC/C,2CAA2C;AAC3C,gCAAiC;AACjC,mCAAoC;","names":[]}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Public barrel for @viax/uxm/previews.
2
+ * Public barrel for @viax.io/uxm/previews.
3
3
  *
4
4
  * Re-exports every canvas preview component, plus the shared preview-side
5
5
  * types. Imported by the modo uxm-shell to render the registry-driven
6
- * editor canvas. Tree-shakable: hosts that import only `@viax/uxm/ui` do
6
+ * editor canvas. Tree-shakable: hosts that import only `@viax.io/uxm/ui` do
7
7
  * not pull preview code through this entry.
8
8
  */
9
9
  export { AppSidebarPreview } from '../ui/app-sidebar/app-sidebar-preview.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/previews/index.ts"],"sourcesContent":["/**\n * Public barrel for @viax/uxm/previews.\n *\n * Re-exports every canvas preview component, plus the shared preview-side\n * types. Imported by the modo uxm-shell to render the registry-driven\n * editor canvas. Tree-shakable: hosts that import only `@viax/uxm/ui` do\n * not pull preview code through this entry.\n */\n\n// ── Atom + sub-component previews (live next to their component) ──\nexport { AppSidebarPreview } from '@/ui/app-sidebar/app-sidebar-preview';\nexport { AppTopBarPreview } from '@/ui/app-top-bar/app-top-bar-preview';\nexport { AvatarPreview } from '@/ui/avatar/avatar-preview';\nexport { BackLinkPreview } from '@/ui/back-link/back-link-preview';\nexport { BadgePreview } from '@/ui/badge/badge-preview';\nexport { BannerPreview } from '@/ui/banner/banner-preview';\nexport { BreadcrumbPreview } from '@/ui/breadcrumb/breadcrumb-preview';\nexport { BulkActionBarPreview } from '@/ui/bulk-action-bar/bulk-action-bar-preview';\nexport { ButtonPreview } from '@/ui/button/button-preview';\nexport { ButtonGroupPreview } from '@/ui/button-group/button-group-preview';\nexport { ButtonWithIconPreview } from '@/ui/button-with-icon/button-with-icon-preview';\nexport { CalendarPreview } from '@/ui/calendar/calendar-preview';\nexport { CardPreview } from '@/ui/card/card-preview';\nexport { CheckboxPreview } from '@/ui/checkbox/checkbox-preview';\nexport { ChipPreview } from '@/ui/chip/chip-preview';\nexport { ClusterPreview } from '@/ui/cluster/cluster-preview';\nexport { CodeEditorPreview } from '@/ui/code-editor/code-editor-preview';\nexport { ColorInputPreview } from '@/ui/color-input/color-input-preview';\nexport { ComponentRowPreview } from '@/ui/component-row/component-row-preview';\nexport { ConfigComponentRowPreview } from '@/ui/config-component-row/config-component-row-preview';\nexport { ConfigSegmentItemPreview } from '@/ui/config-segment-item/config-segment-item-preview';\nexport { ContentTooltipPreview } from '@/ui/tooltip/content-tooltip-preview';\nexport { CurrencyInputPreview } from '@/ui/currency-input/currency-input-preview';\nexport { DataTablePreview } from '@/ui/data-table/data-table-preview';\nexport { DateInputPreview } from '@/ui/date-input/date-input-preview';\nexport { DetailSectionPreview } from '@/ui/detail-section/detail-section-preview';\nexport { DisclosurePreview } from '@/ui/disclosure/disclosure-preview';\nexport { DividerPreview } from '@/ui/divider/divider-preview';\nexport { EditableCellPreview } from '@/ui/editable-cell/editable-cell-preview';\nexport { EmptyStatePreview } from '@/ui/empty-state/empty-state-preview';\nexport { ErrorPagePreview } from '@/ui/error-page/error-page-preview';\nexport { ExplorerListItemPreview } from '@/ui/explorer-list-item/explorer-list-item-preview';\nexport { ExplorerSectionPreview } from '@/ui/explorer-section/explorer-section-preview';\nexport { FileUploadPreview } from '@/ui/file-upload/file-upload-preview';\nexport { FilterTabsPreview } from '@/ui/filter-tabs/filter-tabs-preview';\nexport { FormFieldPreview } from '@/ui/form-field/form-field-preview';\nexport { IconPreview } from '@/ui/icon/icon-preview';\nexport { IconButtonPreview } from '@/ui/icon-button/icon-button-preview';\nexport { IconTilePreview } from '@/ui/icon-tile/icon-tile-preview';\nexport { InlineActionPreview } from '@/ui/inline-action/inline-action-preview';\nexport { InlineFilterPreview } from '@/ui/inline-filter/inline-filter-preview';\nexport { InputPreview } from '@/ui/input/input-preview';\nexport { InputWithIconPreview } from '@/ui/input-with-icon/input-with-icon-preview';\nexport { LanguageSwitcherPreview } from '@/ui/language-switcher/language-switcher-preview';\nexport { LifecycleConnectorPreview } from '@/ui/lifecycle-connector/lifecycle-connector-preview';\nexport { LifecycleDropSlotPreview } from '@/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview';\nexport { LifecycleEdgeLabelPreview } from '@/ui/lifecycle-edge-label/lifecycle-edge-label-preview';\nexport { LifecycleGroupBoxPreview } from '@/ui/lifecycle-group-box/lifecycle-group-box-preview';\nexport { LifecycleMinimapPreview } from '@/ui/lifecycle-minimap/lifecycle-minimap-preview';\nexport { LifecycleNodeCardPreview } from '@/ui/lifecycle-node-card/lifecycle-node-card-preview';\nexport { LifecycleTerminalPreview } from '@/ui/lifecycle-terminal/lifecycle-terminal-preview';\nexport { LifecycleZoomControlPreview } from '@/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview';\nexport { LinkPreview } from '@/ui/link/link-preview';\nexport { ListItemPreview } from '@/ui/list/list-item-preview';\nexport { ListboxPreview } from '@/ui/listbox/listbox-preview';\nexport { LoaderPreview } from '@/ui/loader/loader-preview';\nexport { MenuPreview } from '@/ui/menu/menu-preview';\nexport { MetaRowPreview } from '@/ui/meta-row/meta-row-preview';\nexport { ModalPreview } from '@/ui/modal/modal-preview';\nexport { NumberStepperPreview } from '@/ui/number-stepper/number-stepper-preview';\nexport { NumberInputPreview } from '@/ui/number-input/number-input-preview';\nexport { OptionListPreview } from '@/ui/option-list/option-list-preview';\nexport { PageHeaderPreview } from '@/ui/page-header/page-header-preview';\nexport { PageShellPreview } from '@/ui/page-shell/page-shell-preview';\nexport { PasswordInputPreview } from '@/ui/password-input/password-input-preview';\nexport { PhoneInputPreview } from '@/ui/phone-input/phone-input-preview';\nexport { PillSelectPreview } from '@/ui/pill-select/pill-select-preview';\nexport { ProgressBarPreview } from '@/ui/progress-bar/progress-bar-preview';\nexport { PropertyFieldPreview } from '@/ui/property-field/property-field-preview';\nexport { PropertyGridPreview } from '@/ui/property-field/property-grid-preview';\nexport { RadioGroupPreview } from '@/ui/radio-group/radio-group-preview';\nexport { ResponsiveGridPreview } from '@/ui/responsive-grid/responsive-grid-preview';\nexport { SearchDropdownPreview } from '@/ui/search-dropdown/search-dropdown-preview';\nexport { SectionHeaderPreview } from '@/ui/section-header/section-header-preview';\nexport { SegmentCardPreview } from '@/ui/segment-card/segment-card-preview';\nexport { SegmentRowPreview } from '@/ui/segment-row/segment-row-preview';\nexport { SelectPreview } from '@/ui/input/select-preview';\nexport { SideFlexpanePreview } from '@/ui/side-flexpane/side-flexpane-preview';\nexport { SidebarNavItemPreview } from '@/ui/sidebar-nav-item/sidebar-nav-item-preview';\nexport { SidebarNavTriggerPreview } from '@/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview';\nexport { SliderPreview } from '@/ui/slider/slider-preview';\nexport { StackPreview } from '@/ui/stack/stack-preview';\nexport { StatCardPreview } from '@/ui/stat-card/stat-card-preview';\nexport { TabsPreview } from '@/ui/tabs/tabs-preview';\nexport { TabsUnderlinePreview } from '@/ui/tabs-underline/tabs-underline-preview';\nexport { TagPreview } from '@/ui/tag/tag-preview';\nexport { TextareaPreview } from '@/ui/input/textarea-preview';\nexport { ThumbnailPreview } from '@/ui/thumbnail/thumbnail-preview';\nexport { TimeInputPreview } from '@/ui/time-input/time-input-preview';\nexport { TimelineEntryPreview } from '@/ui/timeline-entry/timeline-entry-preview';\nexport { ToastPreview } from '@/ui/toast/toast-preview';\nexport { TogglePreview } from '@/ui/toggle-switch/toggle-preview';\nexport { TooltipPreview } from '@/ui/tooltip/tooltip-preview';\nexport { TypeOverviewCardPreview } from '@/ui/type-overview-card/type-overview-card-preview';\nexport { ViewSwitcherPreview } from '@/ui/view-switcher/view-switcher-preview';\n\n// ── Composite / showcase previews (no 1:1 component) ──\nexport { BrandSettingsPreview } from '@/previews/composite/brand-settings-preview';\nexport { FormPreview } from '@/previews/composite/form-preview';\nexport { LifecycleActionRowPreview } from '@/previews/composite/lifecycle-action-row-preview';\nexport { LifecycleConnectorKnobsPreview } from '@/previews/composite/lifecycle-connector-knobs-preview';\nexport { LifecyclePlusButtonPreview } from '@/previews/composite/lifecycle-plus-button-preview';\nexport { LoginPagePreview } from '@/previews/composite/login-page-preview';\nexport { MultirowFormPreview } from '@/previews/composite/multirow-form-preview';\n\n// ── Shared preview-side types ──\nexport type { PreviewProps, PreviewShellContext, Theme } from './types';\n"],"mappings":"AAUA,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AACxC,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,SAAS,+BAA+B;AACxC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AACxC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AACzC,SAAS,mCAAmC;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,6BAA6B;AACtC,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,+BAA+B;AACxC,SAAS,2BAA2B;AAGpC,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,iCAAiC;AAC1C,SAAS,sCAAsC;AAC/C,SAAS,kCAAkC;AAC3C,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;","names":[]}
1
+ {"version":3,"sources":["../../src/previews/index.ts"],"sourcesContent":["/**\n * Public barrel for @viax.io/uxm/previews.\n *\n * Re-exports every canvas preview component, plus the shared preview-side\n * types. Imported by the modo uxm-shell to render the registry-driven\n * editor canvas. Tree-shakable: hosts that import only `@viax.io/uxm/ui` do\n * not pull preview code through this entry.\n */\n\n// ── Atom + sub-component previews (live next to their component) ──\nexport { AppSidebarPreview } from '@/ui/app-sidebar/app-sidebar-preview';\nexport { AppTopBarPreview } from '@/ui/app-top-bar/app-top-bar-preview';\nexport { AvatarPreview } from '@/ui/avatar/avatar-preview';\nexport { BackLinkPreview } from '@/ui/back-link/back-link-preview';\nexport { BadgePreview } from '@/ui/badge/badge-preview';\nexport { BannerPreview } from '@/ui/banner/banner-preview';\nexport { BreadcrumbPreview } from '@/ui/breadcrumb/breadcrumb-preview';\nexport { BulkActionBarPreview } from '@/ui/bulk-action-bar/bulk-action-bar-preview';\nexport { ButtonPreview } from '@/ui/button/button-preview';\nexport { ButtonGroupPreview } from '@/ui/button-group/button-group-preview';\nexport { ButtonWithIconPreview } from '@/ui/button-with-icon/button-with-icon-preview';\nexport { CalendarPreview } from '@/ui/calendar/calendar-preview';\nexport { CardPreview } from '@/ui/card/card-preview';\nexport { CheckboxPreview } from '@/ui/checkbox/checkbox-preview';\nexport { ChipPreview } from '@/ui/chip/chip-preview';\nexport { ClusterPreview } from '@/ui/cluster/cluster-preview';\nexport { CodeEditorPreview } from '@/ui/code-editor/code-editor-preview';\nexport { ColorInputPreview } from '@/ui/color-input/color-input-preview';\nexport { ComponentRowPreview } from '@/ui/component-row/component-row-preview';\nexport { ConfigComponentRowPreview } from '@/ui/config-component-row/config-component-row-preview';\nexport { ConfigSegmentItemPreview } from '@/ui/config-segment-item/config-segment-item-preview';\nexport { ContentTooltipPreview } from '@/ui/tooltip/content-tooltip-preview';\nexport { CurrencyInputPreview } from '@/ui/currency-input/currency-input-preview';\nexport { DataTablePreview } from '@/ui/data-table/data-table-preview';\nexport { DateInputPreview } from '@/ui/date-input/date-input-preview';\nexport { DetailSectionPreview } from '@/ui/detail-section/detail-section-preview';\nexport { DisclosurePreview } from '@/ui/disclosure/disclosure-preview';\nexport { DividerPreview } from '@/ui/divider/divider-preview';\nexport { EditableCellPreview } from '@/ui/editable-cell/editable-cell-preview';\nexport { EmptyStatePreview } from '@/ui/empty-state/empty-state-preview';\nexport { ErrorPagePreview } from '@/ui/error-page/error-page-preview';\nexport { ExplorerListItemPreview } from '@/ui/explorer-list-item/explorer-list-item-preview';\nexport { ExplorerSectionPreview } from '@/ui/explorer-section/explorer-section-preview';\nexport { FileUploadPreview } from '@/ui/file-upload/file-upload-preview';\nexport { FilterTabsPreview } from '@/ui/filter-tabs/filter-tabs-preview';\nexport { FormFieldPreview } from '@/ui/form-field/form-field-preview';\nexport { IconPreview } from '@/ui/icon/icon-preview';\nexport { IconButtonPreview } from '@/ui/icon-button/icon-button-preview';\nexport { IconTilePreview } from '@/ui/icon-tile/icon-tile-preview';\nexport { InlineActionPreview } from '@/ui/inline-action/inline-action-preview';\nexport { InlineFilterPreview } from '@/ui/inline-filter/inline-filter-preview';\nexport { InputPreview } from '@/ui/input/input-preview';\nexport { InputWithIconPreview } from '@/ui/input-with-icon/input-with-icon-preview';\nexport { LanguageSwitcherPreview } from '@/ui/language-switcher/language-switcher-preview';\nexport { LifecycleConnectorPreview } from '@/ui/lifecycle-connector/lifecycle-connector-preview';\nexport { LifecycleDropSlotPreview } from '@/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview';\nexport { LifecycleEdgeLabelPreview } from '@/ui/lifecycle-edge-label/lifecycle-edge-label-preview';\nexport { LifecycleGroupBoxPreview } from '@/ui/lifecycle-group-box/lifecycle-group-box-preview';\nexport { LifecycleMinimapPreview } from '@/ui/lifecycle-minimap/lifecycle-minimap-preview';\nexport { LifecycleNodeCardPreview } from '@/ui/lifecycle-node-card/lifecycle-node-card-preview';\nexport { LifecycleTerminalPreview } from '@/ui/lifecycle-terminal/lifecycle-terminal-preview';\nexport { LifecycleZoomControlPreview } from '@/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview';\nexport { LinkPreview } from '@/ui/link/link-preview';\nexport { ListItemPreview } from '@/ui/list/list-item-preview';\nexport { ListboxPreview } from '@/ui/listbox/listbox-preview';\nexport { LoaderPreview } from '@/ui/loader/loader-preview';\nexport { MenuPreview } from '@/ui/menu/menu-preview';\nexport { MetaRowPreview } from '@/ui/meta-row/meta-row-preview';\nexport { ModalPreview } from '@/ui/modal/modal-preview';\nexport { NumberStepperPreview } from '@/ui/number-stepper/number-stepper-preview';\nexport { NumberInputPreview } from '@/ui/number-input/number-input-preview';\nexport { OptionListPreview } from '@/ui/option-list/option-list-preview';\nexport { PageHeaderPreview } from '@/ui/page-header/page-header-preview';\nexport { PageShellPreview } from '@/ui/page-shell/page-shell-preview';\nexport { PasswordInputPreview } from '@/ui/password-input/password-input-preview';\nexport { PhoneInputPreview } from '@/ui/phone-input/phone-input-preview';\nexport { PillSelectPreview } from '@/ui/pill-select/pill-select-preview';\nexport { ProgressBarPreview } from '@/ui/progress-bar/progress-bar-preview';\nexport { PropertyFieldPreview } from '@/ui/property-field/property-field-preview';\nexport { PropertyGridPreview } from '@/ui/property-field/property-grid-preview';\nexport { RadioGroupPreview } from '@/ui/radio-group/radio-group-preview';\nexport { ResponsiveGridPreview } from '@/ui/responsive-grid/responsive-grid-preview';\nexport { SearchDropdownPreview } from '@/ui/search-dropdown/search-dropdown-preview';\nexport { SectionHeaderPreview } from '@/ui/section-header/section-header-preview';\nexport { SegmentCardPreview } from '@/ui/segment-card/segment-card-preview';\nexport { SegmentRowPreview } from '@/ui/segment-row/segment-row-preview';\nexport { SelectPreview } from '@/ui/input/select-preview';\nexport { SideFlexpanePreview } from '@/ui/side-flexpane/side-flexpane-preview';\nexport { SidebarNavItemPreview } from '@/ui/sidebar-nav-item/sidebar-nav-item-preview';\nexport { SidebarNavTriggerPreview } from '@/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview';\nexport { SliderPreview } from '@/ui/slider/slider-preview';\nexport { StackPreview } from '@/ui/stack/stack-preview';\nexport { StatCardPreview } from '@/ui/stat-card/stat-card-preview';\nexport { TabsPreview } from '@/ui/tabs/tabs-preview';\nexport { TabsUnderlinePreview } from '@/ui/tabs-underline/tabs-underline-preview';\nexport { TagPreview } from '@/ui/tag/tag-preview';\nexport { TextareaPreview } from '@/ui/input/textarea-preview';\nexport { ThumbnailPreview } from '@/ui/thumbnail/thumbnail-preview';\nexport { TimeInputPreview } from '@/ui/time-input/time-input-preview';\nexport { TimelineEntryPreview } from '@/ui/timeline-entry/timeline-entry-preview';\nexport { ToastPreview } from '@/ui/toast/toast-preview';\nexport { TogglePreview } from '@/ui/toggle-switch/toggle-preview';\nexport { TooltipPreview } from '@/ui/tooltip/tooltip-preview';\nexport { TypeOverviewCardPreview } from '@/ui/type-overview-card/type-overview-card-preview';\nexport { ViewSwitcherPreview } from '@/ui/view-switcher/view-switcher-preview';\n\n// ── Composite / showcase previews (no 1:1 component) ──\nexport { BrandSettingsPreview } from '@/previews/composite/brand-settings-preview';\nexport { FormPreview } from '@/previews/composite/form-preview';\nexport { LifecycleActionRowPreview } from '@/previews/composite/lifecycle-action-row-preview';\nexport { LifecycleConnectorKnobsPreview } from '@/previews/composite/lifecycle-connector-knobs-preview';\nexport { LifecyclePlusButtonPreview } from '@/previews/composite/lifecycle-plus-button-preview';\nexport { LoginPagePreview } from '@/previews/composite/login-page-preview';\nexport { MultirowFormPreview } from '@/previews/composite/multirow-form-preview';\n\n// ── Shared preview-side types ──\nexport type { PreviewProps, PreviewShellContext, Theme } from './types';\n"],"mappings":"AAUA,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AACxC,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,SAAS,+BAA+B;AACxC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,iCAAiC;AAC1C,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AACxC,SAAS,gCAAgC;AACzC,SAAS,gCAAgC;AACzC,SAAS,mCAAmC;AAC5C,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AACtC,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,6BAA6B;AACtC,SAAS,gCAAgC;AACzC,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,+BAA+B;AACxC,SAAS,2BAA2B;AAGpC,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,iCAAiC;AAC1C,SAAS,sCAAsC;AAC/C,SAAS,kCAAkC;AAC3C,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/studio/index.ts"],"sourcesContent":["/**\n * @viax/uxm/studio — the UXM design workbench (sidebar + canvas + properties\n * panel + previews + editors), the same portal shipped at modo's `/uxm` route.\n *\n * Decoupled from any specific backend via `StudioPersistence`: inject\n * `createHttpPersistence()` to read/write against a Hono API, or\n * `createReadOnlyPersistence()` for a static portal (live-preview only).\n *\n * Styles ship separately as `@viax/uxm/studio.css` — import it once in the\n * host; it bundles tokens + UI atom CSS + the Tailwind utilities the shell\n * uses, so no host Tailwind config is required.\n */\nexport { UxmApp } from './uxm-app';\nexport type { UxmAppProps } from './uxm-app';\nexport { UxmProvider, useUxm } from './lib/context';\nexport { registry, getComponentDef, categoryColors } from './lib/registry';\nexport type {\n BrandConfig,\n BrandTokens,\n Category,\n ComponentDef,\n EditorControlType,\n LayoutVariant,\n PreviewProps,\n StyleOverrides,\n StyleProperty,\n} from './lib/types';\n\n// Persistence contract + adapters + the single CSS generator (R5/R7).\nexport {\n createReadOnlyPersistence,\n createClientPersistence,\n createHttpPersistence,\n generateOverridesCss,\n} from './persistence';\nexport type {\n StudioPersistence,\n StudioState,\n AllOverrides,\n} from './persistence';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,qBAAuB;AAEvB,qBAAoC;AACpC,sBAA0D;AAc1D,yBAKO;","names":[]}
1
+ {"version":3,"sources":["../../src/studio/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm/studio — the UXM design workbench (sidebar + canvas + properties\n * panel + previews + editors), the same portal shipped at modo's `/uxm` route.\n *\n * Decoupled from any specific backend via `StudioPersistence`: inject\n * `createHttpPersistence()` to read/write against a Hono API, or\n * `createReadOnlyPersistence()` for a static portal (live-preview only).\n *\n * Styles ship separately as `@viax.io/uxm/studio.css` — import it once in the\n * host; it bundles tokens + UI atom CSS + the Tailwind utilities the shell\n * uses, so no host Tailwind config is required.\n */\nexport { UxmApp } from './uxm-app';\nexport type { UxmAppProps } from './uxm-app';\nexport { UxmProvider, useUxm } from './lib/context';\nexport { registry, getComponentDef, categoryColors } from './lib/registry';\nexport type {\n BrandConfig,\n BrandTokens,\n Category,\n ComponentDef,\n EditorControlType,\n LayoutVariant,\n PreviewProps,\n StyleOverrides,\n StyleProperty,\n} from './lib/types';\n\n// Persistence contract + adapters + the single CSS generator (R5/R7).\nexport {\n createReadOnlyPersistence,\n createClientPersistence,\n createHttpPersistence,\n generateOverridesCss,\n} from './persistence';\nexport type {\n StudioPersistence,\n StudioState,\n AllOverrides,\n} from './persistence';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,qBAAuB;AAEvB,qBAAoC;AACpC,sBAA0D;AAc1D,yBAKO;","names":[]}
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @viax/uxm/studio — the UXM design workbench (sidebar + canvas + properties
2
+ * @viax.io/uxm/studio — the UXM design workbench (sidebar + canvas + properties
3
3
  * panel + previews + editors), the same portal shipped at modo's `/uxm` route.
4
4
  *
5
5
  * Decoupled from any specific backend via `StudioPersistence`: inject
6
6
  * `createHttpPersistence()` to read/write against a Hono API, or
7
7
  * `createReadOnlyPersistence()` for a static portal (live-preview only).
8
8
  *
9
- * Styles ship separately as `@viax/uxm/studio.css` — import it once in the
9
+ * Styles ship separately as `@viax.io/uxm/studio.css` — import it once in the
10
10
  * host; it bundles tokens + UI atom CSS + the Tailwind utilities the shell
11
11
  * uses, so no host Tailwind config is required.
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/studio/index.ts"],"sourcesContent":["/**\n * @viax/uxm/studio — the UXM design workbench (sidebar + canvas + properties\n * panel + previews + editors), the same portal shipped at modo's `/uxm` route.\n *\n * Decoupled from any specific backend via `StudioPersistence`: inject\n * `createHttpPersistence()` to read/write against a Hono API, or\n * `createReadOnlyPersistence()` for a static portal (live-preview only).\n *\n * Styles ship separately as `@viax/uxm/studio.css` — import it once in the\n * host; it bundles tokens + UI atom CSS + the Tailwind utilities the shell\n * uses, so no host Tailwind config is required.\n */\nexport { UxmApp } from './uxm-app';\nexport type { UxmAppProps } from './uxm-app';\nexport { UxmProvider, useUxm } from './lib/context';\nexport { registry, getComponentDef, categoryColors } from './lib/registry';\nexport type {\n BrandConfig,\n BrandTokens,\n Category,\n ComponentDef,\n EditorControlType,\n LayoutVariant,\n PreviewProps,\n StyleOverrides,\n StyleProperty,\n} from './lib/types';\n\n// Persistence contract + adapters + the single CSS generator (R5/R7).\nexport {\n createReadOnlyPersistence,\n createClientPersistence,\n createHttpPersistence,\n generateOverridesCss,\n} from './persistence';\nexport type {\n StudioPersistence,\n StudioState,\n AllOverrides,\n} from './persistence';\n"],"mappings":"AAYA,SAAS,cAAc;AAEvB,SAAS,aAAa,cAAc;AACpC,SAAS,UAAU,iBAAiB,sBAAsB;AAc1D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
1
+ {"version":3,"sources":["../../src/studio/index.ts"],"sourcesContent":["/**\n * @viax.io/uxm/studio — the UXM design workbench (sidebar + canvas + properties\n * panel + previews + editors), the same portal shipped at modo's `/uxm` route.\n *\n * Decoupled from any specific backend via `StudioPersistence`: inject\n * `createHttpPersistence()` to read/write against a Hono API, or\n * `createReadOnlyPersistence()` for a static portal (live-preview only).\n *\n * Styles ship separately as `@viax.io/uxm/studio.css` — import it once in the\n * host; it bundles tokens + UI atom CSS + the Tailwind utilities the shell\n * uses, so no host Tailwind config is required.\n */\nexport { UxmApp } from './uxm-app';\nexport type { UxmAppProps } from './uxm-app';\nexport { UxmProvider, useUxm } from './lib/context';\nexport { registry, getComponentDef, categoryColors } from './lib/registry';\nexport type {\n BrandConfig,\n BrandTokens,\n Category,\n ComponentDef,\n EditorControlType,\n LayoutVariant,\n PreviewProps,\n StyleOverrides,\n StyleProperty,\n} from './lib/types';\n\n// Persistence contract + adapters + the single CSS generator (R5/R7).\nexport {\n createReadOnlyPersistence,\n createClientPersistence,\n createHttpPersistence,\n generateOverridesCss,\n} from './persistence';\nexport type {\n StudioPersistence,\n StudioState,\n AllOverrides,\n} from './persistence';\n"],"mappings":"AAYA,SAAS,cAAc;AAEvB,SAAS,aAAa,cAAc;AACpC,SAAS,UAAU,iBAAiB,sBAAsB;AAc1D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
@@ -73,7 +73,7 @@ const buttonsDefs = [
73
73
  { name: "onBlur", description: "Fires when the button loses keyboard focus.", payload: "FocusEvent" }
74
74
  ],
75
75
  api: {
76
- importPath: "@viax/uxm/ui",
76
+ importPath: "@viax.io/uxm/ui",
77
77
  importNames: "ButtonPrimary",
78
78
  props: [
79
79
  { name: "children", type: "ReactNode", description: "Button label \u2014 text, icon, or both." },
@@ -290,7 +290,7 @@ const buttonsDefs = [
290
290
  { name: "onBlur", description: "Fires when the button loses keyboard focus.", payload: "FocusEvent" }
291
291
  ],
292
292
  api: {
293
- importPath: "@viax/uxm/ui",
293
+ importPath: "@viax.io/uxm/ui",
294
294
  importNames: "ButtonDanger",
295
295
  props: [
296
296
  { name: "children", type: "ReactNode", description: 'Button label \u2014 text, icon, or both. Prefer an explicit verb ("Delete", "Remove").' },