@viax.io/uxm 4.36.0 → 4.37.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/CHANGELOG.md +7 -0
- package/README.md +74 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js.map +1 -1
- package/dist/previews/index.cjs +3 -0
- package/dist/previews/index.cjs.map +1 -1
- package/dist/previews/index.d.ts +3 -2
- package/dist/previews/index.d.ts.map +1 -1
- package/dist/previews/index.js +2 -0
- package/dist/previews/index.js.map +1 -1
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.d.ts +2 -2
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/lib/registry/app.cjs +52 -0
- package/dist/studio/lib/registry/app.cjs.map +1 -1
- package/dist/studio/lib/registry/app.d.ts.map +1 -1
- package/dist/studio/lib/registry/app.js +52 -0
- package/dist/studio/lib/registry/app.js.map +1 -1
- package/dist/studio/lib/registry/buttons.cjs +2 -2
- package/dist/studio/lib/registry/buttons.cjs.map +1 -1
- package/dist/studio/lib/registry/buttons.js +2 -2
- package/dist/studio/lib/registry/buttons.js.map +1 -1
- package/dist/studio/lib/registry/composite.cjs +1 -1
- package/dist/studio/lib/registry/composite.cjs.map +1 -1
- package/dist/studio/lib/registry/composite.js +1 -1
- package/dist/studio/lib/registry/composite.js.map +1 -1
- package/dist/studio/lib/registry/diagram.cjs +1 -1
- package/dist/studio/lib/registry/diagram.cjs.map +1 -1
- package/dist/studio/lib/registry/diagram.js +1 -1
- package/dist/studio/lib/registry/diagram.js.map +1 -1
- package/dist/studio/lib/registry/display.cjs +2 -2
- package/dist/studio/lib/registry/display.cjs.map +1 -1
- package/dist/studio/lib/registry/display.js +2 -2
- package/dist/studio/lib/registry/display.js.map +1 -1
- package/dist/studio/lib/registry/feedback.cjs +3 -3
- package/dist/studio/lib/registry/feedback.cjs.map +1 -1
- package/dist/studio/lib/registry/feedback.js +3 -3
- package/dist/studio/lib/registry/feedback.js.map +1 -1
- package/dist/studio/lib/registry/inputs.cjs +12 -12
- package/dist/studio/lib/registry/inputs.cjs.map +1 -1
- package/dist/studio/lib/registry/inputs.js +12 -12
- package/dist/studio/lib/registry/inputs.js.map +1 -1
- package/dist/studio/lib/types.cjs.map +1 -1
- package/dist/studio/persistence/generate-css.cjs +15 -0
- package/dist/studio/persistence/generate-css.cjs.map +1 -1
- package/dist/studio/persistence/generate-css.d.ts.map +1 -1
- package/dist/studio/persistence/generate-css.js +15 -0
- package/dist/studio/persistence/generate-css.js.map +1 -1
- package/dist/studio/shell/canvas.cjs +1 -0
- package/dist/studio/shell/canvas.cjs.map +1 -1
- package/dist/studio/shell/canvas.d.ts.map +1 -1
- package/dist/studio/shell/canvas.js +2 -0
- package/dist/studio/shell/canvas.js.map +1 -1
- package/dist/ui/calendar/calendar.cjs +3 -1
- package/dist/ui/calendar/calendar.cjs.map +1 -1
- package/dist/ui/calendar/calendar.d.ts +6 -2
- package/dist/ui/calendar/calendar.d.ts.map +1 -1
- package/dist/ui/calendar/calendar.js +3 -1
- package/dist/ui/calendar/calendar.js.map +1 -1
- package/dist/ui/currency-input/currency-input.cjs +3 -1
- package/dist/ui/currency-input/currency-input.cjs.map +1 -1
- package/dist/ui/currency-input/currency-input.d.ts +4 -2
- package/dist/ui/currency-input/currency-input.d.ts.map +1 -1
- package/dist/ui/currency-input/currency-input.js +3 -1
- package/dist/ui/currency-input/currency-input.js.map +1 -1
- package/dist/ui/date-input/date-input.cjs +2 -1
- package/dist/ui/date-input/date-input.cjs.map +1 -1
- package/dist/ui/date-input/date-input.d.ts +11 -1
- package/dist/ui/date-input/date-input.d.ts.map +1 -1
- package/dist/ui/date-input/date-input.js +2 -1
- package/dist/ui/date-input/date-input.js.map +1 -1
- package/dist/ui/editable-cell/editable-cell.cjs +20 -6
- package/dist/ui/editable-cell/editable-cell.cjs.map +1 -1
- package/dist/ui/editable-cell/editable-cell.d.ts +24 -1
- package/dist/ui/editable-cell/editable-cell.d.ts.map +1 -1
- package/dist/ui/editable-cell/editable-cell.js +20 -6
- package/dist/ui/editable-cell/editable-cell.js.map +1 -1
- package/dist/ui/file-upload/file-upload.cjs +36 -9
- package/dist/ui/file-upload/file-upload.cjs.map +1 -1
- package/dist/ui/file-upload/file-upload.d.ts +46 -4
- package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
- package/dist/ui/file-upload/file-upload.js +36 -9
- package/dist/ui/file-upload/file-upload.js.map +1 -1
- package/dist/ui/index.cjs +12 -2
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.ts +5 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +7 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/language-switcher/index.cjs +29 -0
- package/dist/ui/language-switcher/index.cjs.map +1 -0
- package/dist/ui/language-switcher/index.d.ts +3 -0
- package/dist/ui/language-switcher/index.d.ts.map +1 -0
- package/dist/ui/language-switcher/index.js +5 -0
- package/dist/ui/language-switcher/index.js.map +1 -0
- package/dist/ui/language-switcher/language-switcher-preview.cjs +137 -0
- package/dist/ui/language-switcher/language-switcher-preview.cjs.map +1 -0
- package/dist/ui/language-switcher/language-switcher-preview.d.ts +3 -0
- package/dist/ui/language-switcher/language-switcher-preview.d.ts.map +1 -0
- package/dist/ui/language-switcher/language-switcher-preview.js +113 -0
- package/dist/ui/language-switcher/language-switcher-preview.js.map +1 -0
- package/dist/ui/language-switcher/language-switcher.cjs +127 -0
- package/dist/ui/language-switcher/language-switcher.cjs.map +1 -0
- package/dist/ui/language-switcher/language-switcher.css +95 -0
- package/dist/ui/language-switcher/language-switcher.d.ts +73 -0
- package/dist/ui/language-switcher/language-switcher.d.ts.map +1 -0
- package/dist/ui/language-switcher/language-switcher.js +103 -0
- package/dist/ui/language-switcher/language-switcher.js.map +1 -0
- package/dist/ui/locale/index.cjs +33 -0
- package/dist/ui/locale/index.cjs.map +1 -0
- package/dist/ui/locale/index.d.ts +3 -0
- package/dist/ui/locale/index.d.ts.map +1 -0
- package/dist/ui/locale/index.js +7 -0
- package/dist/ui/locale/index.js.map +1 -0
- package/dist/ui/locale/locale.cjs +43 -0
- package/dist/ui/locale/locale.cjs.map +1 -0
- package/dist/ui/locale/locale.d.ts +49 -0
- package/dist/ui/locale/locale.d.ts.map +1 -0
- package/dist/ui/locale/locale.js +17 -0
- package/dist/ui/locale/locale.js.map +1 -0
- package/dist/ui/page-shell/page-shell.cjs.map +1 -1
- package/dist/ui/page-shell/page-shell.d.ts +1 -1
- package/dist/ui/page-shell/page-shell.d.ts.map +1 -1
- package/dist/ui/page-shell/page-shell.js.map +1 -1
- package/dist/ui/range-slider/range-slider.cjs +7 -3
- package/dist/ui/range-slider/range-slider.cjs.map +1 -1
- package/dist/ui/range-slider/range-slider.d.ts +17 -1
- package/dist/ui/range-slider/range-slider.d.ts.map +1 -1
- package/dist/ui/range-slider/range-slider.js +7 -3
- package/dist/ui/range-slider/range-slider.js.map +1 -1
- package/dist/ui/styles.css +2 -1
- package/package.json +4 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/studio/lib/registry/display.ts"],"sourcesContent":["import type { ComponentDef } from '../types';\n\nexport const displayDefs: ComponentDef[] = [\n // ── Display ──\n {\n id: 'chip',\n name: 'Chip',\n category: 'Display',\n description: 'Interactive label — assist, filter, input, or suggestion mode via props. Material Design pattern.',\n styleProperties: [\n // Assist\n { key: 'assistDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n { key: 'assistDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n { key: 'assistDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n // Filter\n { key: 'filterDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n { key: 'filterDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n { key: 'filterDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n // Input\n { key: 'inputDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n { key: 'inputDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n { key: 'inputDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n // Suggestion\n { key: 'suggestionDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-strong)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-strong)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n { key: 'suggestionDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n { key: 'suggestionDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n // Per-mode layout\n { key: 'assistPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'assist' } },\n { key: 'assistGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'filterPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'filter' } },\n { key: 'filterGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'inputPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'input' } },\n { key: 'inputGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'suggestionPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'suggestion' } },\n { key: 'suggestionGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n // Focus ring — one shared knob across every mode/state. The ring is\n // a universal a11y treatment applied to both the chip root and the\n // inner remove × button (input mode), so per-mode color knobs would\n // be busywork — one Ring Color drives them all. Gated on\n // `state: \"focus\"` so the knob appears alongside the other state-\n // specific colors when the user picks Focus in the state picker.\n { key: 'focusRing', label: 'Ring Color', control: 'color', defaultValue: 'var(--color-accent)', section: 'focusState', showWhen: { state: 'focus' } },\n ],\n layoutVariants: [\n {\n key: 'mode',\n label: 'Mode',\n options: [\n { value: 'assist', label: 'Assist' },\n { value: 'filter', label: 'Filter' },\n { value: 'input', label: 'Input' },\n { value: 'suggestion', label: 'Suggestion' },\n ],\n defaultValue: 'assist',\n },\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'default', label: 'Default' },\n { value: 'hover', label: 'Hover' },\n { value: 'focus', label: 'Focus' },\n { value: 'selected', label: 'Selected', showWhen: { mode: 'filter' } },\n { value: 'disabled', label: 'Disabled' },\n ],\n defaultValue: 'default',\n },\n ],\n events: [\n { name: 'onClick', description: 'Fires when the chip is activated. Filter mode also toggles selected state internally.', payload: 'MouseEvent' },\n // Demonstrates `showWhen` variant scoping — these only show in the\n // Events spec when the Mode variant is set to \"input\".\n { name: 'onRemove', description: 'Fires when the trailing × is clicked. Input mode only.', payload: 'void', showWhen: { mode: 'input' } },\n ],\n api: {\n importPath: '@viax.io/uxm/ui',\n importNames: 'Chip',\n props: [\n { name: 'children', type: 'ReactNode', description: 'Chip label.' },\n { name: 'mode', type: '\"assist\" | \"filter\" | \"input\" | \"suggestion\"', defaultValue: '\"assist\"', description: 'Material Design chip mode. Drives both visuals and behavior — filter mode toggles selected on click; input mode shows a trailing × that fires onRemove.' },\n { name: 'selected', type: 'boolean', description: 'Visual selected state. Only meaningful in filter / suggestion modes (assist and input handle this internally).' },\n { name: 'onClick', type: '(e: MouseEvent) => void', description: 'Click handler.' },\n { name: 'onRemove', type: '() => void', description: 'Remove handler. Only rendered/fired in input mode.' },\n { name: 'leadingIcon', type: 'ReactNode', description: 'Icon slot before the label (e.g. `<Icon glyph=\"check\" />`).' },\n ],\n },\n },\n {\n id: 'tag',\n name: 'Tag',\n category: 'Display',\n description: 'Read-only status label. 6 types (accent / success / warning / danger / info / neutral) × 2 sizes (small / medium). Padding, font size, gap, and icon size are tunable per size; border radius and font weight are shared. Use small for dense contexts like data-table rows.',\n styleProperties: [\n { key: 'accentBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'accentBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'accentText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'successBg', label: 'Background', control: 'color', defaultValue: 'var(--color-success-bg)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'successBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-success-border)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'successText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'warningBg', label: 'Background', control: 'color', defaultValue: 'var(--color-warning-bg)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'warningBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-warning-border)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'warningText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'dangerBg', label: 'Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'dangerBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-danger-border)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'dangerText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'infoBg', label: 'Background', control: 'color', defaultValue: 'var(--color-info-bg)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'infoBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-info-border)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'infoText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'neutralBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { type: 'neutral' } },\n { key: 'neutralBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { type: 'neutral' } },\n { key: 'neutralText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors', showWhen: { type: 'neutral' } },\n // Per-size dimensions — each size owns its own padding/font/gap/icon\n // scale, gated by `showWhen: { size }`. Saves emit as\n // `--uxm-tag-{size}-{kebab(key)}` (fallback path), and the size\n // modifier rules in styles.css read their own namespaced vars.\n { key: 'smallPaddingX', label: 'Padding X', control: 'number', defaultValue: 8, min: 4, max: 24, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallPaddingY', label: 'Padding Y', control: 'number', defaultValue: 2, min: 0, max: 12, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallFontSize', label: 'Font Size', control: 'number', defaultValue: 11, min: 9, max: 16, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallGap', label: 'Gap', control: 'number', defaultValue: 6, min: 2, max: 16, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallIconSize', label: 'Icon Size', control: 'number', defaultValue: 12, min: 8, max: 24, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'mediumPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n // Shared across both sizes.\n { key: 'borderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px' },\n { key: 'fontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'] },\n ],\n layoutVariants: [\n {\n key: 'type',\n label: 'Type',\n options: [\n { value: 'accent', label: 'Accent' },\n { value: 'success', label: 'Success' },\n { value: 'warning', label: 'Warning' },\n { value: 'danger', label: 'Danger' },\n { value: 'info', label: 'Info' },\n { value: 'neutral', label: 'Neutral' },\n ],\n defaultValue: 'accent',\n },\n {\n key: 'size',\n label: 'Size',\n options: [\n { value: 'small', label: 'Small' },\n { value: 'medium', label: 'Medium' },\n ],\n defaultValue: 'medium',\n },\n ],\n },\n {\n id: 'card',\n name: 'Card',\n category: 'Display',\n description: 'Content surface with border and optional shadow. An optional vertical gap spaces its direct children; content layout is composed inside with Stack/Cluster.',\n styleProperties: [\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 4, min: 0, max: 24, step: 1, unit: 'px' },\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 24, min: 0, max: 64, step: 4, unit: 'px' },\n // No on/off toggle: with/without shadow is a value state, not a mode —\n // zero the offset/blur for a flat card. (Consumers opt in/out in code\n // via the `shadow` prop; the preview always renders the shadow being\n // themed.) The box-shadow is built from these three vars (mirrors\n // Calendar).\n { key: 'shadowColor', label: 'Color', control: 'color', defaultValue: 'rgba(0, 0, 0, 0.12)', section: 'shadow' },\n { key: 'shadowBlur', label: 'Blur', control: 'slider', defaultValue: 20, min: 0, max: 48, step: 1, unit: 'px', section: 'shadow' },\n { key: 'shadowOffsetY', label: 'Offset Y', control: 'slider', defaultValue: 6, min: 0, max: 24, step: 1, unit: 'px', section: 'shadow' },\n // The card owns ONE gap: the distance between its direct children (a\n // header and the content group below it). The rows INSIDE the content\n // group are spaced by the nested Stack/Cluster, which already has its own\n // Gap knob — so there is deliberately no Row Gap here. A Card-side row-gap\n // knob could only write the sibling atom's var, which loses to that atom's\n // own knob (a directly-set custom property beats an inherited one) and\n // would leak to every Stack/Cluster at any depth inside any card.\n { key: 'gap', label: 'Header Gap', control: 'number', defaultValue: 20, min: 0, max: 48, step: 2, unit: 'px', section: 'spacing' },\n ],\n // Content layout and its alignment are VARIANTS, not saved styles: the\n // preview swaps a nested Stack/Cluster to show each arrangement. Variant\n // selections are ephemeral preview state (never persisted to the instance),\n // which is exactly right for \"stack on one page, cluster on another\".\n //\n // Alignment/justify/wrap MUST live here rather than in styleProperties:\n // Stack and Cluster drive them with modifier CLASSES (`.uxm-stack--center`,\n // `.uxm-cluster--align-*`, `--justify-*`, `--wrap`), so there is no CSS\n // variable a saved override could ever write — as styleProperties they\n // emitted dead `--uxm-card-{stack-align,justify,wrap}` vars that nothing\n // reads, while still appearing to work in the canvas (the preview passes\n // them as props). Stack's and Cluster's own registry defs already model\n // these same axes as layoutVariants; this matches them.\n layoutVariants: [\n {\n key: 'contentLayout',\n label: 'Content Layout',\n options: [\n { value: 'stack', label: 'Stack' },\n { value: 'cluster', label: 'Cluster' },\n ],\n defaultValue: 'stack',\n },\n {\n key: 'stackAlign',\n label: 'Align',\n options: [\n { value: 'stretch', label: 'Stretch' },\n { value: 'start', label: 'Start' },\n { value: 'center', label: 'Center' },\n { value: 'end', label: 'End' },\n ],\n defaultValue: 'stretch',\n showWhen: { contentLayout: 'stack' },\n },\n {\n key: 'clusterAlign',\n label: 'Align',\n options: [\n { value: 'center', label: 'Center' },\n { value: 'start', label: 'Start' },\n { value: 'end', label: 'End' },\n { value: 'baseline', label: 'Baseline' },\n ],\n defaultValue: 'center',\n showWhen: { contentLayout: 'cluster' },\n },\n {\n key: 'justify',\n label: 'Justify',\n options: [\n { value: 'start', label: 'Start' },\n { value: 'center', label: 'Center' },\n { value: 'end', label: 'End' },\n { value: 'between', label: 'Between' },\n ],\n defaultValue: 'start',\n showWhen: { contentLayout: 'cluster' },\n },\n {\n // A variant is a string union, so the boolean `wrap` prop becomes an\n // explicit two-option pick (it was a `toggle` styleProperty that\n // emitted a meaningless `--uxm-card-wrap: 1`).\n key: 'wrap',\n label: 'Wrap',\n options: [\n { value: 'wrap', label: 'Wrap' },\n { value: 'nowrap', label: 'No wrap' },\n ],\n defaultValue: 'wrap',\n showWhen: { contentLayout: 'cluster' },\n },\n ],\n },\n {\n id: 'avatar',\n name: 'Avatar',\n category: 'Display',\n description: 'User or entity avatar. Text mode shows initials; image mode renders a photo or logo, falling back to initials if the image fails to load.',\n styleProperties: [\n // Sections are organized so each is *either* all-shared or all-gated.\n // That way the panel's auto-detected section subtitle (\"Shared across\n // all types\" vs \"Per Type · Text\") is honest for every knob inside it,\n // rather than mixing shared knobs into a \"Per Type\" section by accident.\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-highlight-cool)', section: 'colors' },\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n // Per-preset diameter. The keys are deliberately NOT renamed to\n // `mediumSize`: `size` already emits `--uxm-avatar-size`, and retargeting\n // it would leave any brand that already saved that var rendering one value\n // while the panel showed the new key's default — a workbench disagreeing\n // with its own canvas. `smallSize` is additive and rides the kebab\n // fallback (`--uxm-avatar-small-size`), so no mapping entry is needed.\n { key: 'size', label: 'Size', control: 'number', defaultValue: 40, min: 24, max: 80, step: 4, unit: 'px', showWhen: { sizePreset: 'medium' } },\n { key: 'smallSize', label: 'Size', control: 'number', defaultValue: 32, min: 20, max: 48, step: 2, unit: 'px', showWhen: { sizePreset: 'small' } },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 99, min: 0, max: 99, step: 1, unit: 'px' },\n // Default 0 = no visible border. Consumers turn it on per-instance\n // for status rings, photo frames, or to separate from busy backgrounds.\n { key: 'borderWidth', label: 'Border Width', control: 'number', defaultValue: 0, min: 0, max: 4, step: 1, unit: 'px' },\n // Text-only knobs — only matter when initials are rendered. Grouped\n // into a dedicated `text` section so the entire section disappears in\n // image mode and its \"Per Type · Text\" subtitle isn't mixed with shared\n // knobs above. They still apply when image mode falls back to initials.\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'text', showWhen: { type: 'text' } },\n // Gated per preset for the same reason the diameter is: the two do not\n // scale together, and a font knob that silently belongs to the other\n // preset is how the initials end up against the rim.\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 16, min: 10, max: 32, step: 1, unit: 'px', section: 'text', showWhen: { type: 'text', sizePreset: 'medium' } },\n { key: 'smallFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 8, max: 24, step: 1, unit: 'px', section: 'text', showWhen: { type: 'text', sizePreset: 'small' } },\n { key: 'fontWeight', label: 'Font Weight', control: 'select', defaultValue: '600', options: ['400', '500', '600', '700'], section: 'text', showWhen: { type: 'text' } },\n ],\n layoutVariants: [\n {\n key: 'type',\n label: 'Type',\n options: [\n { value: 'text', label: 'Text' },\n { value: 'image', label: 'Image' },\n ],\n defaultValue: 'text',\n },\n {\n // Keyed `sizePreset`, NOT `size`, even though the label reads \"Size\":\n // there is already a style knob called `size`, and both `resolve` and\n // `handleChange` in the properties panel test `layoutVariants` FIRST —\n // a variant sharing that key would shadow the knob and its edits would\n // stop persisting, silently.\n key: 'sizePreset',\n label: 'Size',\n options: [\n { value: 'medium', label: 'Medium' },\n { value: 'small', label: 'Small' },\n ],\n defaultValue: 'medium',\n },\n ],\n api: {\n importPath: '@viax.io/uxm/ui',\n importNames: 'Card',\n props: [\n { name: 'children', type: 'ReactNode', description: 'Card content — heading, body, actions, anything.' },\n { name: 'shadow', type: 'boolean', defaultValue: 'false', description: 'Adds a soft shadow underneath. Off by default — many cards live in dense lists where shadow stacks would feel busy.' },\n { name: 'className', type: 'string', description: \"Extra classes appended after the atom's own `uxm-card`. Common use: layout helpers (`mb-4`, `flex flex-col gap-2`).\" },\n { name: '...rest', type: 'HTMLAttributes<HTMLDivElement>', description: 'All other native div attributes pass through.' },\n ],\n },\n },\n {\n id: 'empty-state',\n name: 'Empty State',\n category: 'Display',\n description: 'Placeholder shown when content is empty.',\n styleProperties: [\n { key: 'iconColor', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'titleColor', label: 'Title Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'descriptionColor', label: 'Description Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 48, min: 16, max: 80, step: 8, unit: 'px' },\n { key: 'iconSize', label: 'Icon Size', control: 'number', defaultValue: 48, min: 24, max: 80, step: 4, unit: 'px' },\n ],\n layoutVariants: [],\n },\n {\n id: 'disclosure',\n name: 'Disclosure',\n category: 'Display',\n description: 'Header-only collapsible row — icon + label + right chevron that rotates on open. No body slot; the consumer renders whatever content lives beneath this row based on the open state. State knobs cover default / hover / focus / disabled. `active` is intentionally omitted — disclosure has no selection concept; toggling drives the orthogonal `open` variant.',\n styleProperties: [\n // ── Per-state row colors. Filtered into the \"States\" section by\n // the State variant. Default / hover / focus / disabled each own\n // their colors; focus also has a standalone ring; disabled has\n // a standalone opacity.\n { key: 'inactiveBg', label: 'Background', control: 'color', defaultValue: 'transparent', section: 'states', showWhen: { state: 'default' } },\n { key: 'inactiveText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'default' } },\n { key: 'hoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'states', showWhen: { state: 'hover' } },\n { key: 'hoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'hover' } },\n { key: 'focusText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'focus' } },\n { key: 'disabledBg', label: 'Background', control: 'color', defaultValue: 'transparent', section: 'states', showWhen: { state: 'disabled' } },\n { key: 'disabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'states', showWhen: { state: 'disabled' } },\n // Focus ring + disabled opacity in their own sections.\n { key: 'focusRing', label: 'Ring Color', control: 'color', defaultValue: 'var(--color-accent)', section: 'focusState', showWhen: { state: 'focus' } },\n { key: 'disabledOpacity', label: 'Opacity', control: 'slider', defaultValue: 0.5, min: 0.1, max: 1, step: 0.05, section: 'disabledState', showWhen: { state: 'disabled' } },\n // ── Shared sizing (applies to every state). `borderRadius` is\n // shared geometry — invisible in the default state (transparent\n // bg) and becomes visible whenever a bg paints (hover, disabled).\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 8, min: 0, max: 20, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 32, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Label Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n // ── Chevron (the rotating affordance, shared across every state)\n { key: 'chevronColor', label: 'Chevron Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'chevron' },\n { key: 'chevronSize', label: 'Chevron Size', control: 'number', defaultValue: 16, min: 12, max: 24, step: 1, unit: 'px', section: 'chevron' },\n ],\n layoutVariants: [\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'default', label: 'Default' },\n { value: 'hover', label: 'Hover' },\n { value: 'focus', label: 'Focus' },\n { value: 'disabled', label: 'Disabled' },\n ],\n defaultValue: 'default',\n },\n {\n // `open` is orthogonal to interaction state — drives the\n // chevron rotation and `aria-expanded` on the atom. Was the\n // `state` variant before this pass (with values\n // expanded / collapsed); renamed so `state` is free to mean\n // \"interaction state\" canonically.\n key: 'open',\n label: 'Open',\n options: [\n { value: 'expanded', label: 'Expanded' },\n { value: 'collapsed', label: 'Collapsed' },\n ],\n defaultValue: 'expanded',\n },\n ],\n events: [\n { name: 'onToggle', description: 'Fires when the user clicks the header to expand or collapse.', payload: '{ open: boolean }' },\n ],\n },\n\n // ── Configuration model ──\n // Two pieces specific to the Configuration template's three-pane editor:\n // a clickable segment row (left list) and a clickable component card row\n // (middle list). Distinct from the `Configuration` category's\n // `segment-row` / `component-row`, which model the segment-tree building\n // blocks rather than these three-pane list rows.\n {\n id: 'config-segment-item',\n name: 'Config Segment Item',\n category: 'Composite',\n description: \"Left-pane row in a Configuration model's segment list — name + meta line, with active state.\",\n styleProperties: [\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 8, min: 4, max: 16, step: 1, unit: 'px' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 6, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'nameSize', label: 'Name Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n { key: 'metaSize', label: 'Meta Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n ],\n layoutVariants: [],\n },\n {\n id: 'config-component-row',\n name: 'Config Component Row',\n category: 'Composite',\n description: 'Middle-pane row representing one component (field) in a Configuration segment — icon, name, type label, optional trailing tag.',\n styleProperties: [\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 16, min: 8, max: 32, step: 2, unit: 'px' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 4, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'iconTileSize', label: 'Icon Tile Size', control: 'number', defaultValue: 28, min: 20, max: 40, step: 2, unit: 'px' },\n { key: 'iconTileRadius', label: 'Icon Tile Radius', control: 'slider', defaultValue: 6, min: 0, max: 12, step: 1, unit: 'px' },\n { key: 'nameSize', label: 'Name Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n { key: 'typeSize', label: 'Type Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n ],\n layoutVariants: [],\n },\n];\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/studio/lib/registry/display.ts"],"sourcesContent":["import type { ComponentDef } from '../types';\n\nexport const displayDefs: ComponentDef[] = [\n // ── Display ──\n {\n id: 'chip',\n name: 'Chip',\n category: 'Display',\n description: 'Interactive label — assist, filter, input, or suggestion mode via props. Material Design pattern.',\n styleProperties: [\n // Assist\n { key: 'assistDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'assist', state: 'default' } },\n { key: 'assistHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'assist', state: 'hover' } },\n { key: 'assistSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'assist', state: 'selected' } },\n { key: 'assistDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n { key: 'assistDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n { key: 'assistDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'assist', state: 'disabled' } },\n // Filter\n { key: 'filterDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'filter', state: 'default' } },\n { key: 'filterHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'filter', state: 'hover' } },\n { key: 'filterSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'filter', state: 'selected' } },\n { key: 'filterDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n { key: 'filterDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n { key: 'filterDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'filter', state: 'disabled' } },\n // Input\n { key: 'inputDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'default' } },\n { key: 'inputHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors', showWhen: { mode: 'input', state: 'hover' } },\n { key: 'inputSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors', showWhen: { mode: 'input', state: 'selected' } },\n { key: 'inputDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n { key: 'inputDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n { key: 'inputDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'input', state: 'disabled' } },\n // Suggestion\n { key: 'suggestionDefaultBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionDefaultBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionDefaultText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-strong)', section: 'colors', showWhen: { mode: 'suggestion', state: 'default' } },\n { key: 'suggestionHoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionHoverBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionHoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-strong)', section: 'colors', showWhen: { mode: 'suggestion', state: 'hover' } },\n { key: 'suggestionSelectedBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionSelectedBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionSelectedText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { mode: 'suggestion', state: 'selected' } },\n { key: 'suggestionDisabledBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n { key: 'suggestionDisabledBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-surface)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n { key: 'suggestionDisabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-subtle)', section: 'colors', showWhen: { mode: 'suggestion', state: 'disabled' } },\n // Per-mode layout\n { key: 'assistPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'assist' } },\n { key: 'assistGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'assistIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'assist' } },\n { key: 'filterPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'filter' } },\n { key: 'filterGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'filterIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'filter' } },\n { key: 'inputPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'input' } },\n { key: 'inputGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'inputIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'input' } },\n { key: 'suggestionPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionBorderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 16, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionFontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'], showWhen: { mode: 'suggestion' } },\n { key: 'suggestionGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n { key: 'suggestionIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { mode: 'suggestion' } },\n // Focus ring — one shared knob across every mode/state. The ring is\n // a universal a11y treatment applied to both the chip root and the\n // inner remove × button (input mode), so per-mode color knobs would\n // be busywork — one Ring Color drives them all. Gated on\n // `state: \"focus\"` so the knob appears alongside the other state-\n // specific colors when the user picks Focus in the state picker.\n { key: 'focusRing', label: 'Ring Color', control: 'color', defaultValue: 'var(--color-accent)', section: 'focusState', showWhen: { state: 'focus' } },\n ],\n layoutVariants: [\n {\n key: 'mode',\n label: 'Mode',\n options: [\n { value: 'assist', label: 'Assist' },\n { value: 'filter', label: 'Filter' },\n { value: 'input', label: 'Input' },\n { value: 'suggestion', label: 'Suggestion' },\n ],\n defaultValue: 'assist',\n },\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'default', label: 'Default' },\n { value: 'hover', label: 'Hover' },\n { value: 'focus', label: 'Focus' },\n { value: 'selected', label: 'Selected', showWhen: { mode: 'filter' } },\n { value: 'disabled', label: 'Disabled' },\n ],\n defaultValue: 'default',\n },\n ],\n events: [\n { name: 'onClick', description: 'Fires when the chip is activated. Filter mode also toggles selected state internally.', payload: 'MouseEvent' },\n // Demonstrates `showWhen` variant scoping — these only show in the\n // Events spec when the Mode variant is set to \"input\".\n { name: 'onRemove', description: 'Fires when the trailing × is clicked. Input mode only.', payload: 'void', showWhen: { mode: 'input' } },\n ],\n api: {\n importPath: '@viax/uxm/ui',\n importNames: 'Chip',\n props: [\n { name: 'children', type: 'ReactNode', description: 'Chip label.' },\n { name: 'mode', type: '\"assist\" | \"filter\" | \"input\" | \"suggestion\"', defaultValue: '\"assist\"', description: 'Material Design chip mode. Drives both visuals and behavior — filter mode toggles selected on click; input mode shows a trailing × that fires onRemove.' },\n { name: 'selected', type: 'boolean', description: 'Visual selected state. Only meaningful in filter / suggestion modes (assist and input handle this internally).' },\n { name: 'onClick', type: '(e: MouseEvent) => void', description: 'Click handler.' },\n { name: 'onRemove', type: '() => void', description: 'Remove handler. Only rendered/fired in input mode.' },\n { name: 'leadingIcon', type: 'ReactNode', description: 'Icon slot before the label (e.g. `<Icon glyph=\"check\" />`).' },\n ],\n },\n },\n {\n id: 'tag',\n name: 'Tag',\n category: 'Display',\n description: 'Read-only status label. 6 types (accent / success / warning / danger / info / neutral) × 2 sizes (small / medium). Padding, font size, gap, and icon size are tunable per size; border radius and font weight are shared. Use small for dense contexts like data-table rows.',\n styleProperties: [\n { key: 'accentBg', label: 'Background', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'accentBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-accent-subtle)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'accentText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors', showWhen: { type: 'accent' } },\n { key: 'successBg', label: 'Background', control: 'color', defaultValue: 'var(--color-success-bg)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'successBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-success-border)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'successText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { type: 'success' } },\n { key: 'warningBg', label: 'Background', control: 'color', defaultValue: 'var(--color-warning-bg)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'warningBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-warning-border)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'warningText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { type: 'warning' } },\n { key: 'dangerBg', label: 'Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'dangerBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-danger-border)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'dangerText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { type: 'danger' } },\n { key: 'infoBg', label: 'Background', control: 'color', defaultValue: 'var(--color-info-bg)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'infoBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-info-border)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'infoText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { type: 'info' } },\n { key: 'neutralBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'colors', showWhen: { type: 'neutral' } },\n { key: 'neutralBorder', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors', showWhen: { type: 'neutral' } },\n { key: 'neutralText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors', showWhen: { type: 'neutral' } },\n // Per-size dimensions — each size owns its own padding/font/gap/icon\n // scale, gated by `showWhen: { size }`. Saves emit as\n // `--uxm-tag-{size}-{kebab(key)}` (fallback path), and the size\n // modifier rules in styles.css read their own namespaced vars.\n { key: 'smallPaddingX', label: 'Padding X', control: 'number', defaultValue: 8, min: 4, max: 24, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallPaddingY', label: 'Padding Y', control: 'number', defaultValue: 2, min: 0, max: 12, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallFontSize', label: 'Font Size', control: 'number', defaultValue: 11, min: 9, max: 16, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallGap', label: 'Gap', control: 'number', defaultValue: 6, min: 2, max: 16, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'smallIconSize', label: 'Icon Size', control: 'number', defaultValue: 12, min: 8, max: 24, step: 1, unit: 'px', showWhen: { size: 'small' } },\n { key: 'mediumPaddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumPaddingY', label: 'Padding Y', control: 'number', defaultValue: 4, min: 0, max: 12, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumGap', label: 'Gap', control: 'number', defaultValue: 8, min: 2, max: 16, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n { key: 'mediumIconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 10, max: 24, step: 1, unit: 'px', showWhen: { size: 'medium' } },\n // Shared across both sizes.\n { key: 'borderRadius', label: 'Border Radius', control: 'number', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px' },\n { key: 'fontWeight', label: 'Font Weight', control: 'select', defaultValue: '500', options: ['400', '500', '600'] },\n ],\n layoutVariants: [\n {\n key: 'type',\n label: 'Type',\n options: [\n { value: 'accent', label: 'Accent' },\n { value: 'success', label: 'Success' },\n { value: 'warning', label: 'Warning' },\n { value: 'danger', label: 'Danger' },\n { value: 'info', label: 'Info' },\n { value: 'neutral', label: 'Neutral' },\n ],\n defaultValue: 'accent',\n },\n {\n key: 'size',\n label: 'Size',\n options: [\n { value: 'small', label: 'Small' },\n { value: 'medium', label: 'Medium' },\n ],\n defaultValue: 'medium',\n },\n ],\n },\n {\n id: 'card',\n name: 'Card',\n category: 'Display',\n description: 'Content surface with border and optional shadow. An optional vertical gap spaces its direct children; content layout is composed inside with Stack/Cluster.',\n styleProperties: [\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 4, min: 0, max: 24, step: 1, unit: 'px' },\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 24, min: 0, max: 64, step: 4, unit: 'px' },\n // No on/off toggle: with/without shadow is a value state, not a mode —\n // zero the offset/blur for a flat card. (Consumers opt in/out in code\n // via the `shadow` prop; the preview always renders the shadow being\n // themed.) The box-shadow is built from these three vars (mirrors\n // Calendar).\n { key: 'shadowColor', label: 'Color', control: 'color', defaultValue: 'rgba(0, 0, 0, 0.12)', section: 'shadow' },\n { key: 'shadowBlur', label: 'Blur', control: 'slider', defaultValue: 20, min: 0, max: 48, step: 1, unit: 'px', section: 'shadow' },\n { key: 'shadowOffsetY', label: 'Offset Y', control: 'slider', defaultValue: 6, min: 0, max: 24, step: 1, unit: 'px', section: 'shadow' },\n // The card owns ONE gap: the distance between its direct children (a\n // header and the content group below it). The rows INSIDE the content\n // group are spaced by the nested Stack/Cluster, which already has its own\n // Gap knob — so there is deliberately no Row Gap here. A Card-side row-gap\n // knob could only write the sibling atom's var, which loses to that atom's\n // own knob (a directly-set custom property beats an inherited one) and\n // would leak to every Stack/Cluster at any depth inside any card.\n { key: 'gap', label: 'Header Gap', control: 'number', defaultValue: 20, min: 0, max: 48, step: 2, unit: 'px', section: 'spacing' },\n ],\n // Content layout and its alignment are VARIANTS, not saved styles: the\n // preview swaps a nested Stack/Cluster to show each arrangement. Variant\n // selections are ephemeral preview state (never persisted to the instance),\n // which is exactly right for \"stack on one page, cluster on another\".\n //\n // Alignment/justify/wrap MUST live here rather than in styleProperties:\n // Stack and Cluster drive them with modifier CLASSES (`.uxm-stack--center`,\n // `.uxm-cluster--align-*`, `--justify-*`, `--wrap`), so there is no CSS\n // variable a saved override could ever write — as styleProperties they\n // emitted dead `--uxm-card-{stack-align,justify,wrap}` vars that nothing\n // reads, while still appearing to work in the canvas (the preview passes\n // them as props). Stack's and Cluster's own registry defs already model\n // these same axes as layoutVariants; this matches them.\n layoutVariants: [\n {\n key: 'contentLayout',\n label: 'Content Layout',\n options: [\n { value: 'stack', label: 'Stack' },\n { value: 'cluster', label: 'Cluster' },\n ],\n defaultValue: 'stack',\n },\n {\n key: 'stackAlign',\n label: 'Align',\n options: [\n { value: 'stretch', label: 'Stretch' },\n { value: 'start', label: 'Start' },\n { value: 'center', label: 'Center' },\n { value: 'end', label: 'End' },\n ],\n defaultValue: 'stretch',\n showWhen: { contentLayout: 'stack' },\n },\n {\n key: 'clusterAlign',\n label: 'Align',\n options: [\n { value: 'center', label: 'Center' },\n { value: 'start', label: 'Start' },\n { value: 'end', label: 'End' },\n { value: 'baseline', label: 'Baseline' },\n ],\n defaultValue: 'center',\n showWhen: { contentLayout: 'cluster' },\n },\n {\n key: 'justify',\n label: 'Justify',\n options: [\n { value: 'start', label: 'Start' },\n { value: 'center', label: 'Center' },\n { value: 'end', label: 'End' },\n { value: 'between', label: 'Between' },\n ],\n defaultValue: 'start',\n showWhen: { contentLayout: 'cluster' },\n },\n {\n // A variant is a string union, so the boolean `wrap` prop becomes an\n // explicit two-option pick (it was a `toggle` styleProperty that\n // emitted a meaningless `--uxm-card-wrap: 1`).\n key: 'wrap',\n label: 'Wrap',\n options: [\n { value: 'wrap', label: 'Wrap' },\n { value: 'nowrap', label: 'No wrap' },\n ],\n defaultValue: 'wrap',\n showWhen: { contentLayout: 'cluster' },\n },\n ],\n },\n {\n id: 'avatar',\n name: 'Avatar',\n category: 'Display',\n description: 'User or entity avatar. Text mode shows initials; image mode renders a photo or logo, falling back to initials if the image fails to load.',\n styleProperties: [\n // Sections are organized so each is *either* all-shared or all-gated.\n // That way the panel's auto-detected section subtitle (\"Shared across\n // all types\" vs \"Per Type · Text\") is honest for every knob inside it,\n // rather than mixing shared knobs into a \"Per Type\" section by accident.\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-highlight-cool)', section: 'colors' },\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n // Per-preset diameter. The keys are deliberately NOT renamed to\n // `mediumSize`: `size` already emits `--uxm-avatar-size`, and retargeting\n // it would leave any brand that already saved that var rendering one value\n // while the panel showed the new key's default — a workbench disagreeing\n // with its own canvas. `smallSize` is additive and rides the kebab\n // fallback (`--uxm-avatar-small-size`), so no mapping entry is needed.\n { key: 'size', label: 'Size', control: 'number', defaultValue: 40, min: 24, max: 80, step: 4, unit: 'px', showWhen: { sizePreset: 'medium' } },\n { key: 'smallSize', label: 'Size', control: 'number', defaultValue: 32, min: 20, max: 48, step: 2, unit: 'px', showWhen: { sizePreset: 'small' } },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 99, min: 0, max: 99, step: 1, unit: 'px' },\n // Default 0 = no visible border. Consumers turn it on per-instance\n // for status rings, photo frames, or to separate from busy backgrounds.\n { key: 'borderWidth', label: 'Border Width', control: 'number', defaultValue: 0, min: 0, max: 4, step: 1, unit: 'px' },\n // Text-only knobs — only matter when initials are rendered. Grouped\n // into a dedicated `text` section so the entire section disappears in\n // image mode and its \"Per Type · Text\" subtitle isn't mixed with shared\n // knobs above. They still apply when image mode falls back to initials.\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'text', showWhen: { type: 'text' } },\n // Gated per preset for the same reason the diameter is: the two do not\n // scale together, and a font knob that silently belongs to the other\n // preset is how the initials end up against the rim.\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 16, min: 10, max: 32, step: 1, unit: 'px', section: 'text', showWhen: { type: 'text', sizePreset: 'medium' } },\n { key: 'smallFontSize', label: 'Font Size', control: 'number', defaultValue: 13, min: 8, max: 24, step: 1, unit: 'px', section: 'text', showWhen: { type: 'text', sizePreset: 'small' } },\n { key: 'fontWeight', label: 'Font Weight', control: 'select', defaultValue: '600', options: ['400', '500', '600', '700'], section: 'text', showWhen: { type: 'text' } },\n ],\n layoutVariants: [\n {\n key: 'type',\n label: 'Type',\n options: [\n { value: 'text', label: 'Text' },\n { value: 'image', label: 'Image' },\n ],\n defaultValue: 'text',\n },\n {\n // Keyed `sizePreset`, NOT `size`, even though the label reads \"Size\":\n // there is already a style knob called `size`, and both `resolve` and\n // `handleChange` in the properties panel test `layoutVariants` FIRST —\n // a variant sharing that key would shadow the knob and its edits would\n // stop persisting, silently.\n key: 'sizePreset',\n label: 'Size',\n options: [\n { value: 'medium', label: 'Medium' },\n { value: 'small', label: 'Small' },\n ],\n defaultValue: 'medium',\n },\n ],\n api: {\n importPath: '@viax/uxm/ui',\n importNames: 'Card',\n props: [\n { name: 'children', type: 'ReactNode', description: 'Card content — heading, body, actions, anything.' },\n { name: 'shadow', type: 'boolean', defaultValue: 'false', description: 'Adds a soft shadow underneath. Off by default — many cards live in dense lists where shadow stacks would feel busy.' },\n { name: 'className', type: 'string', description: \"Extra classes appended after the atom's own `uxm-card`. Common use: layout helpers (`mb-4`, `flex flex-col gap-2`).\" },\n { name: '...rest', type: 'HTMLAttributes<HTMLDivElement>', description: 'All other native div attributes pass through.' },\n ],\n },\n },\n {\n id: 'empty-state',\n name: 'Empty State',\n category: 'Display',\n description: 'Placeholder shown when content is empty.',\n styleProperties: [\n { key: 'iconColor', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'titleColor', label: 'Title Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'descriptionColor', label: 'Description Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 48, min: 16, max: 80, step: 8, unit: 'px' },\n { key: 'iconSize', label: 'Icon Size', control: 'number', defaultValue: 48, min: 24, max: 80, step: 4, unit: 'px' },\n ],\n layoutVariants: [],\n },\n {\n id: 'disclosure',\n name: 'Disclosure',\n category: 'Display',\n description: 'Header-only collapsible row — icon + label + right chevron that rotates on open. No body slot; the consumer renders whatever content lives beneath this row based on the open state. State knobs cover default / hover / focus / disabled. `active` is intentionally omitted — disclosure has no selection concept; toggling drives the orthogonal `open` variant.',\n styleProperties: [\n // ── Per-state row colors. Filtered into the \"States\" section by\n // the State variant. Default / hover / focus / disabled each own\n // their colors; focus also has a standalone ring; disabled has\n // a standalone opacity.\n { key: 'inactiveBg', label: 'Background', control: 'color', defaultValue: 'transparent', section: 'states', showWhen: { state: 'default' } },\n { key: 'inactiveText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'default' } },\n { key: 'hoverBg', label: 'Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'states', showWhen: { state: 'hover' } },\n { key: 'hoverText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'hover' } },\n { key: 'focusText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'states', showWhen: { state: 'focus' } },\n { key: 'disabledBg', label: 'Background', control: 'color', defaultValue: 'transparent', section: 'states', showWhen: { state: 'disabled' } },\n { key: 'disabledText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'states', showWhen: { state: 'disabled' } },\n // Focus ring + disabled opacity in their own sections.\n { key: 'focusRing', label: 'Ring Color', control: 'color', defaultValue: 'var(--color-accent)', section: 'focusState', showWhen: { state: 'focus' } },\n { key: 'disabledOpacity', label: 'Opacity', control: 'slider', defaultValue: 0.5, min: 0.1, max: 1, step: 0.05, section: 'disabledState', showWhen: { state: 'disabled' } },\n // ── Shared sizing (applies to every state). `borderRadius` is\n // shared geometry — invisible in the default state (transparent\n // bg) and becomes visible whenever a bg paints (hover, disabled).\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 8, min: 0, max: 20, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 32, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Label Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n // ── Chevron (the rotating affordance, shared across every state)\n { key: 'chevronColor', label: 'Chevron Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'chevron' },\n { key: 'chevronSize', label: 'Chevron Size', control: 'number', defaultValue: 16, min: 12, max: 24, step: 1, unit: 'px', section: 'chevron' },\n ],\n layoutVariants: [\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'default', label: 'Default' },\n { value: 'hover', label: 'Hover' },\n { value: 'focus', label: 'Focus' },\n { value: 'disabled', label: 'Disabled' },\n ],\n defaultValue: 'default',\n },\n {\n // `open` is orthogonal to interaction state — drives the\n // chevron rotation and `aria-expanded` on the atom. Was the\n // `state` variant before this pass (with values\n // expanded / collapsed); renamed so `state` is free to mean\n // \"interaction state\" canonically.\n key: 'open',\n label: 'Open',\n options: [\n { value: 'expanded', label: 'Expanded' },\n { value: 'collapsed', label: 'Collapsed' },\n ],\n defaultValue: 'expanded',\n },\n ],\n events: [\n { name: 'onToggle', description: 'Fires when the user clicks the header to expand or collapse.', payload: '{ open: boolean }' },\n ],\n },\n\n // ── Configuration model ──\n // Two pieces specific to the Configuration template's three-pane editor:\n // a clickable segment row (left list) and a clickable component card row\n // (middle list). Distinct from the `Configuration` category's\n // `segment-row` / `component-row`, which model the segment-tree building\n // blocks rather than these three-pane list rows.\n {\n id: 'config-segment-item',\n name: 'Config Segment Item',\n category: 'Composite',\n description: \"Left-pane row in a Configuration model's segment list — name + meta line, with active state.\",\n styleProperties: [\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 1, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 8, min: 4, max: 16, step: 1, unit: 'px' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 6, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'nameSize', label: 'Name Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n { key: 'metaSize', label: 'Meta Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n ],\n layoutVariants: [],\n },\n {\n id: 'config-component-row',\n name: 'Config Component Row',\n category: 'Composite',\n description: 'Middle-pane row representing one component (field) in a Configuration segment — icon, name, type label, optional trailing tag.',\n styleProperties: [\n { key: 'padding', label: 'Padding', control: 'number', defaultValue: 16, min: 8, max: 32, step: 2, unit: 'px' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 4, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'iconTileSize', label: 'Icon Tile Size', control: 'number', defaultValue: 28, min: 20, max: 40, step: 2, unit: 'px' },\n { key: 'iconTileRadius', label: 'Icon Tile Radius', control: 'slider', defaultValue: 6, min: 0, max: 12, step: 1, unit: 'px' },\n { key: 'nameSize', label: 'Name Size', control: 'number', defaultValue: 14, min: 11, max: 18, step: 1, unit: 'px' },\n { key: 'typeSize', label: 'Type Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n ],\n layoutVariants: [],\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -137,7 +137,7 @@ const feedbackDefs = [
|
|
|
137
137
|
}
|
|
138
138
|
],
|
|
139
139
|
api: {
|
|
140
|
-
importPath: "@viax
|
|
140
|
+
importPath: "@viax/uxm/ui",
|
|
141
141
|
importNames: "ProgressBar",
|
|
142
142
|
props: [
|
|
143
143
|
{ name: "value", type: "number", required: true, description: "Completion 0\u2013100. Clamped into range. In production the consumer drives this from real progress data." },
|
|
@@ -237,7 +237,7 @@ const feedbackDefs = [
|
|
|
237
237
|
{ name: "action.onClick", description: "Per-action handler \u2014 fires when an action button is clicked. Wired via each entry's `onClick`.", payload: "void" }
|
|
238
238
|
],
|
|
239
239
|
api: {
|
|
240
|
-
importPath: "@viax
|
|
240
|
+
importPath: "@viax/uxm/ui",
|
|
241
241
|
importNames: "BulkActionBar",
|
|
242
242
|
props: [
|
|
243
243
|
{ name: "count", type: "number", required: true, description: 'Number of selected items. Drives the default "{n} selected" label.' },
|
|
@@ -293,7 +293,7 @@ const feedbackDefs = [
|
|
|
293
293
|
}
|
|
294
294
|
],
|
|
295
295
|
api: {
|
|
296
|
-
importPath: "@viax
|
|
296
|
+
importPath: "@viax/uxm/ui",
|
|
297
297
|
importNames: ["Toaster", "toast"],
|
|
298
298
|
props: [
|
|
299
299
|
{ name: "toast.success(message, options?)", type: "(message: string, options?: { duration?: number, id?: string }) => string", description: "Fire a success toast. Returns the toast id for manual dismissal via toast.dismiss(id)." },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/studio/lib/registry/feedback.ts"],"sourcesContent":["import type { ComponentDef } from '../types';\n\nexport const feedbackDefs: ComponentDef[] = [\n // ── Feedback ──\n {\n id: 'timeline-entry',\n name: 'Timeline Entry',\n category: 'Display',\n description: 'Single entry in a vertical history timeline — dot + connecting line + content card.',\n styleProperties: [\n { key: 'dotColor', label: 'Dot Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'dotIdleColor', label: 'Idle Dot Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'dotSize', label: 'Dot Size', control: 'number', defaultValue: 8, min: 4, max: 20, step: 1, unit: 'px' },\n { key: 'dotRingColor', label: 'Dot Ring', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'lineColor', label: 'Line Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'lineWidth', label: 'Line Width', control: 'number', defaultValue: 1, min: 1, max: 4, step: 1, unit: 'px' },\n { key: 'contentBg', label: 'Content Bg', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'contentBorderColor', label: 'Content Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'contentRadius', label: 'Content Radius', control: 'slider', defaultValue: 5, min: 0, max: 12, step: 1, unit: 'px' },\n { key: 'contentPadding', label: 'Content Padding', control: 'number', defaultValue: 10, min: 4, max: 20, step: 2, unit: 'px' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 10, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'titleSize', label: 'Title Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'titleColor', label: 'Title Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'metaSize', label: 'Meta Size', control: 'number', defaultValue: 10.5, min: 9, max: 14, step: 0.5, unit: 'px' },\n { key: 'metaColor', label: 'Meta Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n ],\n layoutVariants: [\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'active', label: 'Active' },\n { value: 'past', label: 'Past' },\n ],\n defaultValue: 'active',\n },\n ],\n },\n {\n id: 'loader',\n name: 'Loader',\n category: 'Feedback',\n description: 'Small in-flight indicator — spinner, pulsing dots, or indeterminate bar — with an optional message.',\n styleProperties: [\n { key: 'size', label: 'Size', control: 'number', defaultValue: 24, min: 12, max: 64, step: 2, unit: 'px' },\n { key: 'color', label: 'Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'trackColor', label: 'Track Color', control: 'color', defaultValue: 'color-mix(in srgb, var(--color-accent-bold) 18%, transparent)', section: 'colors' },\n { key: 'speed', label: 'Speed (ms)', control: 'number', defaultValue: 800, min: 200, max: 2400, step: 50 },\n { key: 'barWidth', label: 'Bar Width', control: 'number', defaultValue: 200, min: 80, max: 480, step: 10, unit: 'px' },\n { key: 'message', label: 'Message', control: 'text', defaultValue: 'Loading…' },\n { key: 'messageInterval', label: 'Cycle (ms)', control: 'number', defaultValue: 2400, min: 600, max: 8000, step: 100 },\n { key: 'messageSize', label: 'Message Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px' },\n { key: 'messageColor', label: 'Message Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 12, min: 4, max: 32, step: 2, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'spinner', label: 'Spinner' },\n { value: 'dots', label: 'Dots' },\n { value: 'bar', label: 'Bar' },\n ],\n defaultValue: 'spinner',\n },\n {\n key: 'layout',\n label: 'Layout',\n options: [\n { value: 'stacked', label: 'Stacked' },\n { value: 'inline', label: 'Inline' },\n ],\n defaultValue: 'stacked',\n },\n ],\n },\n {\n id: 'progress-bar',\n name: 'Progress Bar',\n category: 'Feedback',\n description:\n 'Determinate progress (0–100%) — the companion to Loader\\'s indeterminate spinner/dots/bar. Use for uploads, batch operations, and stepped flows where the share of work done is known; for \"something is happening, no ETA\" use Loader instead. Two variants share one Value knob: a linear track+fill and a circular ring (CSS conic-gradient, no SVG). Root is layout-only — all theming routes through `--uxm-progress-bar-*` vars on inner elements, so saves need no PER_COMPONENT_MAPPING entry. The value drives the linear fill width and the ring sweep via the same var.',\n styleProperties: [\n // `value` is a preview proxy for what will be runtime/dynamic data — the\n // editor slider lets designers eyeball fill levels, but in production the\n // consumer drives it via the `value` prop (the saved\n // `--uxm-progress-bar-value` is always overridden inline). The numeric\n // percentage label is always shown (determinate by nature).\n { key: 'value', label: 'Value (%)', control: 'slider', defaultValue: 60, min: 0, max: 100, step: 1 },\n { key: 'fillColor', label: 'Fill Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'trackColor', label: 'Track Color', control: 'color', defaultValue: 'color-mix(in srgb, var(--color-accent-bold) 16%, transparent)', section: 'colors' },\n // ── Linear shape (showWhen variant=linear) ──\n { key: 'barHeight', label: 'Bar Height', control: 'number', defaultValue: 8, min: 2, max: 24, step: 1, unit: 'px', showWhen: { variant: 'linear' } },\n { key: 'barRadius', label: 'Bar Radius', control: 'slider', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { variant: 'linear' } },\n // ── Ring shape (showWhen variant=ring) ──\n { key: 'ringSize', label: 'Ring Size', control: 'number', defaultValue: 72, min: 40, max: 160, step: 2, unit: 'px', showWhen: { variant: 'ring' } },\n { key: 'ringThickness', label: 'Ring Thickness', control: 'number', defaultValue: 8, min: 2, max: 28, step: 1, unit: 'px', showWhen: { variant: 'ring' } },\n // ── Value label — always rendered; its own section ──\n { key: 'valueColor', label: 'Value Color', control: 'color', defaultValue: 'var(--color-text)', section: 'value' },\n { key: 'valueSize', label: 'Value Size', control: 'number', defaultValue: 13, min: 10, max: 28, step: 1, unit: 'px', section: 'value' },\n // ── Caption + layout ──\n { key: 'label', label: 'Caption', control: 'text', defaultValue: 'Uploading…' },\n { key: 'labelColor', label: 'Caption Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'labelSize', label: 'Caption Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px' },\n { key: 'stackGap', label: 'Gap', control: 'number', defaultValue: 8, min: 0, max: 24, step: 2, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'linear', label: 'Linear' },\n { value: 'ring', label: 'Ring' },\n ],\n defaultValue: 'linear',\n },\n ],\n api: {\n importPath: '@viax.io/uxm/ui',\n importNames: 'ProgressBar',\n props: [\n { name: 'value', type: 'number', required: true, description: 'Completion 0–100. Clamped into range. In production the consumer drives this from real progress data.' },\n { name: 'variant', type: '\"linear\" | \"ring\"', defaultValue: '\"linear\"', description: 'Linear track+fill or circular ring (CSS conic-gradient, no SVG). Both are determinate.' },\n { name: 'label', type: 'string', description: 'Optional caption — above the bar (linear) / below the ring (ring). Also becomes the accessible name.' },\n { name: 'valueText', type: 'string', description: 'Override the percentage text (defaults to `${Math.round(value)}%`).' },\n { name: '...rest', type: 'HTMLAttributes<HTMLDivElement>', description: 'Native attributes pass through to the root.' },\n ],\n },\n },\n {\n id: 'banner',\n name: 'Banner',\n category: 'Feedback',\n description: 'Persistent full-width strip rendered inline in page flow — stays until user dismisses or consumer removes. Use for system states and announcements (e.g. \"Maintenance at 02:00\", \"Q1 forecast beat target\"). For transient feedback (\"Saved\", \"Copied\") use Toast via `toast.*()` instead. Color knobs are variant-scoped via `showWhen` (success / info / warning / error) — switching the variant picker swaps which 3 color knobs are visible, each defaulting to its own semantic palette. Shape knobs (radius / paddings / font) apply across all variants.',\n styleProperties: [\n // ── Success colors (showWhen: variant=success) ──\n { key: 'successBg', label: 'Background', control: 'color', defaultValue: 'var(--color-success-bg)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'successText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'successBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-success-border)', section: 'colors', showWhen: { variant: 'success' } },\n // ── Info colors (showWhen: variant=info) ──\n { key: 'infoBg', label: 'Background', control: 'color', defaultValue: 'var(--color-info-bg)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'infoText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'infoBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-info-border)', section: 'colors', showWhen: { variant: 'info' } },\n // ── Warning colors (showWhen: variant=warning) ──\n { key: 'warningBg', label: 'Background', control: 'color', defaultValue: 'var(--color-warning-bg)', section: 'colors', showWhen: { variant: 'warning' } },\n { key: 'warningText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { variant: 'warning' } },\n { key: 'warningBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-warning-border)', section: 'colors', showWhen: { variant: 'warning' } },\n // ── Error colors (showWhen: variant=error) — defaults reference the\n // `--color-danger-*` token family (existing token naming) but the\n // variant key itself is `error` to match the BannerVariant union. ──\n { key: 'errorBg', label: 'Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'colors', showWhen: { variant: 'error' } },\n { key: 'errorText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { variant: 'error' } },\n { key: 'errorBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-danger-border)', section: 'colors', showWhen: { variant: 'error' } },\n // ── Shape (variant-agnostic) ──\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 8, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 32, step: 4, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 4, max: 24, step: 4, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 20, step: 1, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'success', label: 'Success' },\n { value: 'info', label: 'Info' },\n { value: 'warning', label: 'Warning' },\n { value: 'error', label: 'Error' },\n ],\n defaultValue: 'success',\n },\n ],\n events: [\n { name: 'onDismiss', description: 'Fires when the user clicks the close affordance — only present if the Banner was rendered with one.', payload: 'void' },\n ],\n },\n {\n id: 'bulk-action-bar',\n name: 'Bulk Action Bar',\n category: 'Feedback',\n description: \"Floating toolbar that surfaces once rows are selected: \\\"{N} selected · actions · × clear\\\". Purely presentational — the consumer wires it to its own `selectedKeys` state and positions it (typically fixed/sticky near the bottom of a table view). Pairs with the DataTable's row selection. The `.uxm-bulk-action-bar` root IS the styled card surface (background / border / decomposed shadow); the per-part colours (action / danger / divider / clear ×) theme the inner buttons. Destructive actions get the danger treatment via `danger: true`.\",\n styleProperties: [\n // ── Bar surface (the floating card) ──\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'bar' },\n { key: 'color', label: 'Count Text', control: 'color', defaultValue: 'var(--color-text)', section: 'bar' },\n { key: 'borderColor', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'bar' },\n { key: 'borderRadius', label: 'Radius', control: 'slider', defaultValue: 12, min: 0, max: 24, step: 1, unit: 'px', section: 'bar' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 28, step: 2, unit: 'px', section: 'bar' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 8, min: 2, max: 20, step: 1, unit: 'px', section: 'bar' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 8, min: 0, max: 20, step: 1, unit: 'px', section: 'bar' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 18, step: 1, unit: 'px', section: 'bar' },\n\n // ── Drop shadow — decomposed into Color / Blur / Offset Y (same\n // pattern as the Menu / Calendar floating panels). Composed into\n // a single box-shadow in styles.css. Default lifts the bar off\n // the page (0 10px 28px rgba(0,0,0,0.16)). ──\n { key: 'shadowColor', label: 'Color', control: 'color', defaultValue: 'rgba(0, 0, 0, 0.16)', section: 'shadow' },\n { key: 'shadowBlur', label: 'Blur', control: 'slider', defaultValue: 28, min: 0, max: 60, step: 1, unit: 'px', section: 'shadow' },\n { key: 'shadowOffsetY', label: 'Offset Y', control: 'slider', defaultValue: 10, min: 0, max: 32, step: 1, unit: 'px', section: 'shadow' },\n\n // ── Action buttons (the plain commands) ──\n { key: 'actionColor', label: 'Text', control: 'color', defaultValue: 'var(--color-text)', section: 'actions' },\n { key: 'actionHoverBg', label: 'Hover Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'actions' },\n { key: 'actionRadius', label: 'Radius', control: 'slider', defaultValue: 6, min: 0, max: 12, step: 1, unit: 'px', section: 'actions' },\n\n // ── Destructive action (Delete etc.) — danger text at rest, a\n // danger-tinted surface on hover. Reuses the danger token trio. ──\n { key: 'dangerColor', label: 'Text', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'danger' },\n { key: 'dangerHoverBg', label: 'Hover Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'danger' },\n\n // ── Divider ── (the clear × is the IconButton atom, themed there)\n { key: 'dividerColor', label: 'Divider', control: 'color', defaultValue: 'var(--color-border)', section: 'divider' },\n ],\n // No layout variants — the selection count is runtime data, not a\n // design knob, and the × clear is a behavioral prop (`onClear`), so the\n // preview just renders a representative count.\n layoutVariants: [],\n events: [\n { name: 'onClear', description: 'Fires when the user clicks the trailing × to clear the selection. Omit `onClear` to hide the ×.', payload: 'void' },\n { name: 'action.onClick', description: \"Per-action handler — fires when an action button is clicked. Wired via each entry's `onClick`.\", payload: 'void' },\n ],\n api: {\n importPath: '@viax.io/uxm/ui',\n importNames: 'BulkActionBar',\n props: [\n { name: 'count', type: 'number', required: true, description: 'Number of selected items. Drives the default \"{n} selected\" label.' },\n { name: 'actions', type: 'BulkAction[]', description: 'Action buttons in display order. Each: { key, label, icon?, danger?, disabled?, onClick? }. Set `danger: true` for destructive actions (Delete/Remove).' },\n { name: 'onClear', type: '() => void', description: 'When provided, renders a trailing × that clears the selection.' },\n { name: 'countLabel', type: '(count: number) => ReactNode', description: 'Override the count label — e.g. for pluralisation or a different noun (\"3 rows\").' },\n { name: 'className', type: 'string', description: \"Extra classes appended after the atom's own `uxm-bulk-action-bar`.\" },\n { name: 'style', type: 'CSSProperties', description: 'Inline style — use for fixed/sticky positioning in the consuming layout.' },\n ],\n },\n },\n {\n id: 'toast',\n name: 'Toast',\n category: 'Feedback',\n description: 'Transient corner notification rendered inside the Toaster shell. Neutral elevated card surface (matches the active theme — white in light, raised-dark in dark) with a colored left-edge accent + colored icon communicating the variant. Fired imperatively via `toast.success(\"…\")`. Use for brief after-the-fact feedback (\"Saved\", \"Copied\"); for persistent status messages inline in the page, use Banner instead.',\n styleProperties: [\n // ── Neutral surface (variant-agnostic) ──\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n // Default `transparent` — the shadow does the lift; outer border\n // is opt-in for designers who want a visible outline. The colored\n // left-edge accent is set per-variant and isn't affected by this.\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'transparent', section: 'colors' },\n // ── Per-variant icon color — only the active variant's knob is\n // visible at a time. The icon is the sole variant signal; no\n // stripe / pill / background tint. ──\n { key: 'successAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'infoAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'warningAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { variant: 'warning' } },\n // Error variant: default references the `--color-danger-*` family\n // (existing brand-token naming). Save var name: `--uxm-toast-\n // error-accent`.\n { key: 'errorAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { variant: 'error' } },\n // ── Shape (variant-agnostic) ──\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 10, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 24, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 6, max: 20, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'iconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 12, max: 24, step: 1, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'success', label: 'Success' },\n { value: 'info', label: 'Info' },\n { value: 'warning', label: 'Warning' },\n { value: 'error', label: 'Error' },\n ],\n defaultValue: 'success',\n },\n ],\n api: {\n importPath: '@viax.io/uxm/ui',\n importNames: ['Toaster', 'toast'],\n props: [\n { name: 'toast.success(message, options?)', type: '(message: string, options?: { duration?: number, id?: string }) => string', description: 'Fire a success toast. Returns the toast id for manual dismissal via toast.dismiss(id).' },\n { name: 'toast.info(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire an info toast.' },\n { name: 'toast.warning(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire a warning toast.' },\n { name: 'toast.error(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire an error toast.' },\n { name: '<Toaster position max />', type: 'ToasterProps', description: \"Mount once at the app root. `position`: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center'. `max`: stack cap.\" },\n ],\n },\n events: [\n { name: 'onDismiss', description: 'Fires when the user clicks the close X or the auto-dismiss timer elapses.', payload: 'void' },\n ],\n },\n {\n id: 'tooltip',\n name: 'Tooltip',\n category: 'Feedback',\n description: 'Small popup tooltip for extra information.',\n styleProperties: [\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 6, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 6, min: 2, max: 16, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'showArrow', label: 'Show Arrow', control: 'toggle', defaultValue: true },\n ],\n layoutVariants: [],\n },\n];\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/studio/lib/registry/feedback.ts"],"sourcesContent":["import type { ComponentDef } from '../types';\n\nexport const feedbackDefs: ComponentDef[] = [\n // ── Feedback ──\n {\n id: 'timeline-entry',\n name: 'Timeline Entry',\n category: 'Display',\n description: 'Single entry in a vertical history timeline — dot + connecting line + content card.',\n styleProperties: [\n { key: 'dotColor', label: 'Dot Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'dotIdleColor', label: 'Idle Dot Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'dotSize', label: 'Dot Size', control: 'number', defaultValue: 8, min: 4, max: 20, step: 1, unit: 'px' },\n { key: 'dotRingColor', label: 'Dot Ring', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'lineColor', label: 'Line Color', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'lineWidth', label: 'Line Width', control: 'number', defaultValue: 1, min: 1, max: 4, step: 1, unit: 'px' },\n { key: 'contentBg', label: 'Content Bg', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'contentBorderColor', label: 'Content Border', control: 'color', defaultValue: 'var(--color-border)', section: 'colors' },\n { key: 'contentRadius', label: 'Content Radius', control: 'slider', defaultValue: 5, min: 0, max: 12, step: 1, unit: 'px' },\n { key: 'contentPadding', label: 'Content Padding', control: 'number', defaultValue: 10, min: 4, max: 20, step: 2, unit: 'px' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 10, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'titleSize', label: 'Title Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'titleColor', label: 'Title Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'metaSize', label: 'Meta Size', control: 'number', defaultValue: 10.5, min: 9, max: 14, step: 0.5, unit: 'px' },\n { key: 'metaColor', label: 'Meta Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n ],\n layoutVariants: [\n {\n key: 'state',\n label: 'State',\n options: [\n { value: 'active', label: 'Active' },\n { value: 'past', label: 'Past' },\n ],\n defaultValue: 'active',\n },\n ],\n },\n {\n id: 'loader',\n name: 'Loader',\n category: 'Feedback',\n description: 'Small in-flight indicator — spinner, pulsing dots, or indeterminate bar — with an optional message.',\n styleProperties: [\n { key: 'size', label: 'Size', control: 'number', defaultValue: 24, min: 12, max: 64, step: 2, unit: 'px' },\n { key: 'color', label: 'Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'trackColor', label: 'Track Color', control: 'color', defaultValue: 'color-mix(in srgb, var(--color-accent-bold) 18%, transparent)', section: 'colors' },\n { key: 'speed', label: 'Speed (ms)', control: 'number', defaultValue: 800, min: 200, max: 2400, step: 50 },\n { key: 'barWidth', label: 'Bar Width', control: 'number', defaultValue: 200, min: 80, max: 480, step: 10, unit: 'px' },\n { key: 'message', label: 'Message', control: 'text', defaultValue: 'Loading…' },\n { key: 'messageInterval', label: 'Cycle (ms)', control: 'number', defaultValue: 2400, min: 600, max: 8000, step: 100 },\n { key: 'messageSize', label: 'Message Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px' },\n { key: 'messageColor', label: 'Message Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 12, min: 4, max: 32, step: 2, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'spinner', label: 'Spinner' },\n { value: 'dots', label: 'Dots' },\n { value: 'bar', label: 'Bar' },\n ],\n defaultValue: 'spinner',\n },\n {\n key: 'layout',\n label: 'Layout',\n options: [\n { value: 'stacked', label: 'Stacked' },\n { value: 'inline', label: 'Inline' },\n ],\n defaultValue: 'stacked',\n },\n ],\n },\n {\n id: 'progress-bar',\n name: 'Progress Bar',\n category: 'Feedback',\n description:\n 'Determinate progress (0–100%) — the companion to Loader\\'s indeterminate spinner/dots/bar. Use for uploads, batch operations, and stepped flows where the share of work done is known; for \"something is happening, no ETA\" use Loader instead. Two variants share one Value knob: a linear track+fill and a circular ring (CSS conic-gradient, no SVG). Root is layout-only — all theming routes through `--uxm-progress-bar-*` vars on inner elements, so saves need no PER_COMPONENT_MAPPING entry. The value drives the linear fill width and the ring sweep via the same var.',\n styleProperties: [\n // `value` is a preview proxy for what will be runtime/dynamic data — the\n // editor slider lets designers eyeball fill levels, but in production the\n // consumer drives it via the `value` prop (the saved\n // `--uxm-progress-bar-value` is always overridden inline). The numeric\n // percentage label is always shown (determinate by nature).\n { key: 'value', label: 'Value (%)', control: 'slider', defaultValue: 60, min: 0, max: 100, step: 1 },\n { key: 'fillColor', label: 'Fill Color', control: 'color', defaultValue: 'var(--color-accent-bold)', section: 'colors' },\n { key: 'trackColor', label: 'Track Color', control: 'color', defaultValue: 'color-mix(in srgb, var(--color-accent-bold) 16%, transparent)', section: 'colors' },\n // ── Linear shape (showWhen variant=linear) ──\n { key: 'barHeight', label: 'Bar Height', control: 'number', defaultValue: 8, min: 2, max: 24, step: 1, unit: 'px', showWhen: { variant: 'linear' } },\n { key: 'barRadius', label: 'Bar Radius', control: 'slider', defaultValue: 999, min: 0, max: 999, step: 1, unit: 'px', showWhen: { variant: 'linear' } },\n // ── Ring shape (showWhen variant=ring) ──\n { key: 'ringSize', label: 'Ring Size', control: 'number', defaultValue: 72, min: 40, max: 160, step: 2, unit: 'px', showWhen: { variant: 'ring' } },\n { key: 'ringThickness', label: 'Ring Thickness', control: 'number', defaultValue: 8, min: 2, max: 28, step: 1, unit: 'px', showWhen: { variant: 'ring' } },\n // ── Value label — always rendered; its own section ──\n { key: 'valueColor', label: 'Value Color', control: 'color', defaultValue: 'var(--color-text)', section: 'value' },\n { key: 'valueSize', label: 'Value Size', control: 'number', defaultValue: 13, min: 10, max: 28, step: 1, unit: 'px', section: 'value' },\n // ── Caption + layout ──\n { key: 'label', label: 'Caption', control: 'text', defaultValue: 'Uploading…' },\n { key: 'labelColor', label: 'Caption Color', control: 'color', defaultValue: 'var(--color-text-muted)', section: 'colors' },\n { key: 'labelSize', label: 'Caption Size', control: 'number', defaultValue: 13, min: 10, max: 18, step: 1, unit: 'px' },\n { key: 'stackGap', label: 'Gap', control: 'number', defaultValue: 8, min: 0, max: 24, step: 2, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'linear', label: 'Linear' },\n { value: 'ring', label: 'Ring' },\n ],\n defaultValue: 'linear',\n },\n ],\n api: {\n importPath: '@viax/uxm/ui',\n importNames: 'ProgressBar',\n props: [\n { name: 'value', type: 'number', required: true, description: 'Completion 0–100. Clamped into range. In production the consumer drives this from real progress data.' },\n { name: 'variant', type: '\"linear\" | \"ring\"', defaultValue: '\"linear\"', description: 'Linear track+fill or circular ring (CSS conic-gradient, no SVG). Both are determinate.' },\n { name: 'label', type: 'string', description: 'Optional caption — above the bar (linear) / below the ring (ring). Also becomes the accessible name.' },\n { name: 'valueText', type: 'string', description: 'Override the percentage text (defaults to `${Math.round(value)}%`).' },\n { name: '...rest', type: 'HTMLAttributes<HTMLDivElement>', description: 'Native attributes pass through to the root.' },\n ],\n },\n },\n {\n id: 'banner',\n name: 'Banner',\n category: 'Feedback',\n description: 'Persistent full-width strip rendered inline in page flow — stays until user dismisses or consumer removes. Use for system states and announcements (e.g. \"Maintenance at 02:00\", \"Q1 forecast beat target\"). For transient feedback (\"Saved\", \"Copied\") use Toast via `toast.*()` instead. Color knobs are variant-scoped via `showWhen` (success / info / warning / error) — switching the variant picker swaps which 3 color knobs are visible, each defaulting to its own semantic palette. Shape knobs (radius / paddings / font) apply across all variants.',\n styleProperties: [\n // ── Success colors (showWhen: variant=success) ──\n { key: 'successBg', label: 'Background', control: 'color', defaultValue: 'var(--color-success-bg)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'successText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'successBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-success-border)', section: 'colors', showWhen: { variant: 'success' } },\n // ── Info colors (showWhen: variant=info) ──\n { key: 'infoBg', label: 'Background', control: 'color', defaultValue: 'var(--color-info-bg)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'infoText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'infoBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-info-border)', section: 'colors', showWhen: { variant: 'info' } },\n // ── Warning colors (showWhen: variant=warning) ──\n { key: 'warningBg', label: 'Background', control: 'color', defaultValue: 'var(--color-warning-bg)', section: 'colors', showWhen: { variant: 'warning' } },\n { key: 'warningText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { variant: 'warning' } },\n { key: 'warningBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-warning-border)', section: 'colors', showWhen: { variant: 'warning' } },\n // ── Error colors (showWhen: variant=error) — defaults reference the\n // `--color-danger-*` token family (existing token naming) but the\n // variant key itself is `error` to match the BannerVariant union. ──\n { key: 'errorBg', label: 'Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'colors', showWhen: { variant: 'error' } },\n { key: 'errorText', label: 'Text Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { variant: 'error' } },\n { key: 'errorBorder', label: 'Border Color', control: 'color', defaultValue: 'var(--color-danger-border)', section: 'colors', showWhen: { variant: 'error' } },\n // ── Shape (variant-agnostic) ──\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 8, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 32, step: 4, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 4, max: 24, step: 4, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 20, step: 1, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'success', label: 'Success' },\n { value: 'info', label: 'Info' },\n { value: 'warning', label: 'Warning' },\n { value: 'error', label: 'Error' },\n ],\n defaultValue: 'success',\n },\n ],\n events: [\n { name: 'onDismiss', description: 'Fires when the user clicks the close affordance — only present if the Banner was rendered with one.', payload: 'void' },\n ],\n },\n {\n id: 'bulk-action-bar',\n name: 'Bulk Action Bar',\n category: 'Feedback',\n description: \"Floating toolbar that surfaces once rows are selected: \\\"{N} selected · actions · × clear\\\". Purely presentational — the consumer wires it to its own `selectedKeys` state and positions it (typically fixed/sticky near the bottom of a table view). Pairs with the DataTable's row selection. The `.uxm-bulk-action-bar` root IS the styled card surface (background / border / decomposed shadow); the per-part colours (action / danger / divider / clear ×) theme the inner buttons. Destructive actions get the danger treatment via `danger: true`.\",\n styleProperties: [\n // ── Bar surface (the floating card) ──\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'bar' },\n { key: 'color', label: 'Count Text', control: 'color', defaultValue: 'var(--color-text)', section: 'bar' },\n { key: 'borderColor', label: 'Border', control: 'color', defaultValue: 'var(--color-border)', section: 'bar' },\n { key: 'borderRadius', label: 'Radius', control: 'slider', defaultValue: 12, min: 0, max: 24, step: 1, unit: 'px', section: 'bar' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 28, step: 2, unit: 'px', section: 'bar' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 8, min: 2, max: 20, step: 1, unit: 'px', section: 'bar' },\n { key: 'gap', label: 'Gap', control: 'number', defaultValue: 8, min: 0, max: 20, step: 1, unit: 'px', section: 'bar' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 18, step: 1, unit: 'px', section: 'bar' },\n\n // ── Drop shadow — decomposed into Color / Blur / Offset Y (same\n // pattern as the Menu / Calendar floating panels). Composed into\n // a single box-shadow in styles.css. Default lifts the bar off\n // the page (0 10px 28px rgba(0,0,0,0.16)). ──\n { key: 'shadowColor', label: 'Color', control: 'color', defaultValue: 'rgba(0, 0, 0, 0.16)', section: 'shadow' },\n { key: 'shadowBlur', label: 'Blur', control: 'slider', defaultValue: 28, min: 0, max: 60, step: 1, unit: 'px', section: 'shadow' },\n { key: 'shadowOffsetY', label: 'Offset Y', control: 'slider', defaultValue: 10, min: 0, max: 32, step: 1, unit: 'px', section: 'shadow' },\n\n // ── Action buttons (the plain commands) ──\n { key: 'actionColor', label: 'Text', control: 'color', defaultValue: 'var(--color-text)', section: 'actions' },\n { key: 'actionHoverBg', label: 'Hover Background', control: 'color', defaultValue: 'var(--color-surface-alt)', section: 'actions' },\n { key: 'actionRadius', label: 'Radius', control: 'slider', defaultValue: 6, min: 0, max: 12, step: 1, unit: 'px', section: 'actions' },\n\n // ── Destructive action (Delete etc.) — danger text at rest, a\n // danger-tinted surface on hover. Reuses the danger token trio. ──\n { key: 'dangerColor', label: 'Text', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'danger' },\n { key: 'dangerHoverBg', label: 'Hover Background', control: 'color', defaultValue: 'var(--color-danger-bg)', section: 'danger' },\n\n // ── Divider ── (the clear × is the IconButton atom, themed there)\n { key: 'dividerColor', label: 'Divider', control: 'color', defaultValue: 'var(--color-border)', section: 'divider' },\n ],\n // No layout variants — the selection count is runtime data, not a\n // design knob, and the × clear is a behavioral prop (`onClear`), so the\n // preview just renders a representative count.\n layoutVariants: [],\n events: [\n { name: 'onClear', description: 'Fires when the user clicks the trailing × to clear the selection. Omit `onClear` to hide the ×.', payload: 'void' },\n { name: 'action.onClick', description: \"Per-action handler — fires when an action button is clicked. Wired via each entry's `onClick`.\", payload: 'void' },\n ],\n api: {\n importPath: '@viax/uxm/ui',\n importNames: 'BulkActionBar',\n props: [\n { name: 'count', type: 'number', required: true, description: 'Number of selected items. Drives the default \"{n} selected\" label.' },\n { name: 'actions', type: 'BulkAction[]', description: 'Action buttons in display order. Each: { key, label, icon?, danger?, disabled?, onClick? }. Set `danger: true` for destructive actions (Delete/Remove).' },\n { name: 'onClear', type: '() => void', description: 'When provided, renders a trailing × that clears the selection.' },\n { name: 'countLabel', type: '(count: number) => ReactNode', description: 'Override the count label — e.g. for pluralisation or a different noun (\"3 rows\").' },\n { name: 'className', type: 'string', description: \"Extra classes appended after the atom's own `uxm-bulk-action-bar`.\" },\n { name: 'style', type: 'CSSProperties', description: 'Inline style — use for fixed/sticky positioning in the consuming layout.' },\n ],\n },\n },\n {\n id: 'toast',\n name: 'Toast',\n category: 'Feedback',\n description: 'Transient corner notification rendered inside the Toaster shell. Neutral elevated card surface (matches the active theme — white in light, raised-dark in dark) with a colored left-edge accent + colored icon communicating the variant. Fired imperatively via `toast.success(\"…\")`. Use for brief after-the-fact feedback (\"Saved\", \"Copied\"); for persistent status messages inline in the page, use Banner instead.',\n styleProperties: [\n // ── Neutral surface (variant-agnostic) ──\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-card)', section: 'colors' },\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n // Default `transparent` — the shadow does the lift; outer border\n // is opt-in for designers who want a visible outline. The colored\n // left-edge accent is set per-variant and isn't affected by this.\n { key: 'borderColor', label: 'Border Color', control: 'color', defaultValue: 'transparent', section: 'colors' },\n // ── Per-variant icon color — only the active variant's knob is\n // visible at a time. The icon is the sole variant signal; no\n // stripe / pill / background tint. ──\n { key: 'successAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-success-text)', section: 'colors', showWhen: { variant: 'success' } },\n { key: 'infoAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-info-text)', section: 'colors', showWhen: { variant: 'info' } },\n { key: 'warningAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-warning-text)', section: 'colors', showWhen: { variant: 'warning' } },\n // Error variant: default references the `--color-danger-*` family\n // (existing brand-token naming). Save var name: `--uxm-toast-\n // error-accent`.\n { key: 'errorAccent', label: 'Icon Color', control: 'color', defaultValue: 'var(--color-danger-text)', section: 'colors', showWhen: { variant: 'error' } },\n // ── Shape (variant-agnostic) ──\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 10, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 16, min: 8, max: 24, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 12, min: 6, max: 20, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 14, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'iconSize', label: 'Icon Size', control: 'number', defaultValue: 16, min: 12, max: 24, step: 1, unit: 'px' },\n ],\n layoutVariants: [\n {\n key: 'variant',\n label: 'Variant',\n options: [\n { value: 'success', label: 'Success' },\n { value: 'info', label: 'Info' },\n { value: 'warning', label: 'Warning' },\n { value: 'error', label: 'Error' },\n ],\n defaultValue: 'success',\n },\n ],\n api: {\n importPath: '@viax/uxm/ui',\n importNames: ['Toaster', 'toast'],\n props: [\n { name: 'toast.success(message, options?)', type: '(message: string, options?: { duration?: number, id?: string }) => string', description: 'Fire a success toast. Returns the toast id for manual dismissal via toast.dismiss(id).' },\n { name: 'toast.info(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire an info toast.' },\n { name: 'toast.warning(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire a warning toast.' },\n { name: 'toast.error(message, options?)', type: '(message: string, options?: ToastOptions) => string', description: 'Fire an error toast.' },\n { name: '<Toaster position max />', type: 'ToasterProps', description: \"Mount once at the app root. `position`: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center'. `max`: stack cap.\" },\n ],\n },\n events: [\n { name: 'onDismiss', description: 'Fires when the user clicks the close X or the auto-dismiss timer elapses.', payload: 'void' },\n ],\n },\n {\n id: 'tooltip',\n name: 'Tooltip',\n category: 'Feedback',\n description: 'Small popup tooltip for extra information.',\n styleProperties: [\n { key: 'backgroundColor', label: 'Background', control: 'color', defaultValue: 'var(--color-text)', section: 'colors' },\n { key: 'color', label: 'Text Color', control: 'color', defaultValue: 'var(--color-text-inverse)', section: 'colors' },\n { key: 'borderRadius', label: 'Border Radius', control: 'slider', defaultValue: 6, min: 0, max: 16, step: 1, unit: 'px' },\n { key: 'paddingX', label: 'Padding X', control: 'number', defaultValue: 12, min: 4, max: 24, step: 2, unit: 'px' },\n { key: 'paddingY', label: 'Padding Y', control: 'number', defaultValue: 6, min: 2, max: 16, step: 2, unit: 'px' },\n { key: 'fontSize', label: 'Font Size', control: 'number', defaultValue: 12, min: 10, max: 16, step: 1, unit: 'px' },\n { key: 'showArrow', label: 'Show Arrow', control: 'toggle', defaultValue: true },\n ],\n layoutVariants: [],\n },\n];\n"],"mappings":"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","names":[]}
|
|
@@ -114,7 +114,7 @@ const feedbackDefs = [
|
|
|
114
114
|
}
|
|
115
115
|
],
|
|
116
116
|
api: {
|
|
117
|
-
importPath: "@viax
|
|
117
|
+
importPath: "@viax/uxm/ui",
|
|
118
118
|
importNames: "ProgressBar",
|
|
119
119
|
props: [
|
|
120
120
|
{ name: "value", type: "number", required: true, description: "Completion 0\u2013100. Clamped into range. In production the consumer drives this from real progress data." },
|
|
@@ -214,7 +214,7 @@ const feedbackDefs = [
|
|
|
214
214
|
{ name: "action.onClick", description: "Per-action handler \u2014 fires when an action button is clicked. Wired via each entry's `onClick`.", payload: "void" }
|
|
215
215
|
],
|
|
216
216
|
api: {
|
|
217
|
-
importPath: "@viax
|
|
217
|
+
importPath: "@viax/uxm/ui",
|
|
218
218
|
importNames: "BulkActionBar",
|
|
219
219
|
props: [
|
|
220
220
|
{ name: "count", type: "number", required: true, description: 'Number of selected items. Drives the default "{n} selected" label.' },
|
|
@@ -270,7 +270,7 @@ const feedbackDefs = [
|
|
|
270
270
|
}
|
|
271
271
|
],
|
|
272
272
|
api: {
|
|
273
|
-
importPath: "@viax
|
|
273
|
+
importPath: "@viax/uxm/ui",
|
|
274
274
|
importNames: ["Toaster", "toast"],
|
|
275
275
|
props: [
|
|
276
276
|
{ name: "toast.success(message, options?)", type: "(message: string, options?: { duration?: number, id?: string }) => string", description: "Fire a success toast. Returns the toast id for manual dismissal via toast.dismiss(id)." },
|