@viax.io/uxm 4.38.0 → 4.40.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 +20 -0
- package/LICENSE.md +21 -0
- package/README.md +34 -44
- package/dist/hooks/index.cjs +49 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +18 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-toast-store.cjs.map +1 -1
- package/dist/hooks/use-toast-store.d.ts +5 -3
- package/dist/hooks/use-toast-store.d.ts.map +1 -1
- package/dist/hooks/use-toast-store.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js.map +1 -1
- package/dist/previews/composite/brand-settings-preview.d.ts +2 -2
- package/dist/previews/composite/brand-settings-preview.d.ts.map +1 -1
- package/dist/previews/composite/form-preview.d.ts +2 -2
- package/dist/previews/composite/form-preview.d.ts.map +1 -1
- package/dist/previews/composite/lifecycle-action-row-preview.d.ts +2 -2
- package/dist/previews/composite/lifecycle-action-row-preview.d.ts.map +1 -1
- package/dist/previews/composite/lifecycle-connector-knobs-preview.d.ts +2 -2
- package/dist/previews/composite/lifecycle-connector-knobs-preview.d.ts.map +1 -1
- package/dist/previews/composite/lifecycle-plus-button-preview.d.ts +2 -2
- package/dist/previews/composite/lifecycle-plus-button-preview.d.ts.map +1 -1
- package/dist/previews/composite/login-page-preview.d.ts +2 -2
- package/dist/previews/composite/login-page-preview.d.ts.map +1 -1
- package/dist/previews/composite/multirow-form-preview.d.ts +2 -2
- package/dist/previews/composite/multirow-form-preview.d.ts.map +1 -1
- package/dist/previews/demo-row-actions.d.ts +1 -1
- package/dist/previews/demo-row-actions.d.ts.map +1 -1
- package/dist/previews/index.cjs +7 -7
- package/dist/previews/index.cjs.map +1 -1
- package/dist/previews/index.d.ts +9 -9
- package/dist/previews/index.js +7 -7
- package/dist/previews/index.js.map +1 -1
- package/dist/studio/brand-font-styles.d.ts +1 -1
- package/dist/studio/brand-font-styles.d.ts.map +1 -1
- package/dist/studio/brand-token-styles.d.ts +1 -1
- package/dist/studio/brand-token-styles.d.ts.map +1 -1
- package/dist/studio/editors/code-editor.d.ts +1 -1
- package/dist/studio/editors/code-editor.d.ts.map +1 -1
- package/dist/studio/editors/color-picker.d.ts +1 -1
- package/dist/studio/editors/color-picker.d.ts.map +1 -1
- package/dist/studio/editors/number-input.d.ts +1 -1
- package/dist/studio/editors/number-input.d.ts.map +1 -1
- package/dist/studio/editors/select-input.d.ts +1 -1
- package/dist/studio/editors/select-input.d.ts.map +1 -1
- package/dist/studio/editors/slider-input.d.ts +1 -1
- package/dist/studio/editors/slider-input.d.ts.map +1 -1
- package/dist/studio/editors/text-input.d.ts +1 -1
- package/dist/studio/editors/text-input.d.ts.map +1 -1
- package/dist/studio/editors/toggle-input.d.ts +1 -1
- package/dist/studio/editors/toggle-input.d.ts.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/context.d.ts +1 -1
- package/dist/studio/lib/context.d.ts.map +1 -1
- package/dist/studio/lib/registry/buttons.cjs +4 -4
- package/dist/studio/lib/registry/buttons.cjs.map +1 -1
- package/dist/studio/lib/registry/buttons.js +4 -4
- package/dist/studio/lib/registry/buttons.js.map +1 -1
- package/dist/studio/lib/registry/composite/back-link.cjs +65 -0
- package/dist/studio/lib/registry/composite/back-link.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/back-link.d.ts +3 -0
- package/dist/studio/lib/registry/composite/back-link.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/back-link.js +41 -0
- package/dist/studio/lib/registry/composite/back-link.js.map +1 -0
- package/dist/studio/lib/registry/composite/badge.cjs +102 -0
- package/dist/studio/lib/registry/composite/badge.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/badge.d.ts +3 -0
- package/dist/studio/lib/registry/composite/badge.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/badge.js +78 -0
- package/dist/studio/lib/registry/composite/badge.js.map +1 -0
- package/dist/studio/lib/registry/composite/breadcrumb.cjs +83 -0
- package/dist/studio/lib/registry/composite/breadcrumb.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/breadcrumb.d.ts +3 -0
- package/dist/studio/lib/registry/composite/breadcrumb.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/breadcrumb.js +59 -0
- package/dist/studio/lib/registry/composite/breadcrumb.js.map +1 -0
- package/dist/studio/lib/registry/composite/button-group.cjs +76 -0
- package/dist/studio/lib/registry/composite/button-group.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/button-group.d.ts +3 -0
- package/dist/studio/lib/registry/composite/button-group.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/button-group.js +52 -0
- package/dist/studio/lib/registry/composite/button-group.js.map +1 -0
- package/dist/studio/lib/registry/composite/calendar.cjs +116 -0
- package/dist/studio/lib/registry/composite/calendar.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/calendar.d.ts +3 -0
- package/dist/studio/lib/registry/composite/calendar.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/calendar.js +92 -0
- package/dist/studio/lib/registry/composite/calendar.js.map +1 -0
- package/dist/studio/lib/registry/composite/content-tooltip.cjs +44 -0
- package/dist/studio/lib/registry/composite/content-tooltip.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/content-tooltip.d.ts +3 -0
- package/dist/studio/lib/registry/composite/content-tooltip.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/content-tooltip.js +20 -0
- package/dist/studio/lib/registry/composite/content-tooltip.js.map +1 -0
- package/dist/studio/lib/registry/composite/data-table.cjs +61 -0
- package/dist/studio/lib/registry/composite/data-table.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/data-table.d.ts +3 -0
- package/dist/studio/lib/registry/composite/data-table.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/data-table.js +37 -0
- package/dist/studio/lib/registry/composite/data-table.js.map +1 -0
- package/dist/studio/lib/registry/composite/detail-section.cjs +47 -0
- package/dist/studio/lib/registry/composite/detail-section.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/detail-section.d.ts +3 -0
- package/dist/studio/lib/registry/composite/detail-section.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/detail-section.js +23 -0
- package/dist/studio/lib/registry/composite/detail-section.js.map +1 -0
- package/dist/studio/lib/registry/composite/divider.cjs +43 -0
- package/dist/studio/lib/registry/composite/divider.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/divider.d.ts +3 -0
- package/dist/studio/lib/registry/composite/divider.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/divider.js +19 -0
- package/dist/studio/lib/registry/composite/divider.js.map +1 -0
- package/dist/studio/lib/registry/composite/error-page.cjs +58 -0
- package/dist/studio/lib/registry/composite/error-page.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/error-page.d.ts +3 -0
- package/dist/studio/lib/registry/composite/error-page.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/error-page.js +34 -0
- package/dist/studio/lib/registry/composite/error-page.js.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.cjs +84 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.d.ts +3 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.js +60 -0
- package/dist/studio/lib/registry/composite/explorer-list-item.js.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-section.cjs +90 -0
- package/dist/studio/lib/registry/composite/explorer-section.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-section.d.ts +3 -0
- package/dist/studio/lib/registry/composite/explorer-section.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/explorer-section.js +66 -0
- package/dist/studio/lib/registry/composite/explorer-section.js.map +1 -0
- package/dist/studio/lib/registry/composite/filter-tabs.cjs +77 -0
- package/dist/studio/lib/registry/composite/filter-tabs.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/filter-tabs.d.ts +3 -0
- package/dist/studio/lib/registry/composite/filter-tabs.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/filter-tabs.js +53 -0
- package/dist/studio/lib/registry/composite/filter-tabs.js.map +1 -0
- package/dist/studio/lib/registry/composite/form-field.cjs +119 -0
- package/dist/studio/lib/registry/composite/form-field.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/form-field.d.ts +3 -0
- package/dist/studio/lib/registry/composite/form-field.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/form-field.js +95 -0
- package/dist/studio/lib/registry/composite/form-field.js.map +1 -0
- package/dist/studio/lib/registry/composite/form-multirow.cjs +56 -0
- package/dist/studio/lib/registry/composite/form-multirow.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/form-multirow.d.ts +3 -0
- package/dist/studio/lib/registry/composite/form-multirow.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/form-multirow.js +32 -0
- package/dist/studio/lib/registry/composite/form-multirow.js.map +1 -0
- package/dist/studio/lib/registry/composite/icon-tile.cjs +42 -0
- package/dist/studio/lib/registry/composite/icon-tile.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/icon-tile.d.ts +3 -0
- package/dist/studio/lib/registry/composite/icon-tile.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/icon-tile.js +18 -0
- package/dist/studio/lib/registry/composite/icon-tile.js.map +1 -0
- package/dist/studio/lib/registry/composite/index.cjs +105 -0
- package/dist/studio/lib/registry/composite/index.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/index.d.ts +3 -0
- package/dist/studio/lib/registry/composite/index.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/index.js +81 -0
- package/dist/studio/lib/registry/composite/index.js.map +1 -0
- package/dist/studio/lib/registry/composite/inline-action.cjs +66 -0
- package/dist/studio/lib/registry/composite/inline-action.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/inline-action.d.ts +3 -0
- package/dist/studio/lib/registry/composite/inline-action.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/inline-action.js +42 -0
- package/dist/studio/lib/registry/composite/inline-action.js.map +1 -0
- package/dist/studio/lib/registry/composite/inline-filter.cjs +43 -0
- package/dist/studio/lib/registry/composite/inline-filter.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/inline-filter.d.ts +3 -0
- package/dist/studio/lib/registry/composite/inline-filter.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/inline-filter.js +19 -0
- package/dist/studio/lib/registry/composite/inline-filter.js.map +1 -0
- package/dist/studio/lib/registry/composite/link.cjs +88 -0
- package/dist/studio/lib/registry/composite/link.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/link.d.ts +3 -0
- package/dist/studio/lib/registry/composite/link.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/link.js +64 -0
- package/dist/studio/lib/registry/composite/link.js.map +1 -0
- package/dist/studio/lib/registry/composite/list-item.cjs +134 -0
- package/dist/studio/lib/registry/composite/list-item.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/list-item.d.ts +3 -0
- package/dist/studio/lib/registry/composite/list-item.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/list-item.js +110 -0
- package/dist/studio/lib/registry/composite/list-item.js.map +1 -0
- package/dist/studio/lib/registry/composite/login-page.cjs +66 -0
- package/dist/studio/lib/registry/composite/login-page.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/login-page.d.ts +3 -0
- package/dist/studio/lib/registry/composite/login-page.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/login-page.js +42 -0
- package/dist/studio/lib/registry/composite/login-page.js.map +1 -0
- package/dist/studio/lib/registry/composite/meta-row.cjs +42 -0
- package/dist/studio/lib/registry/composite/meta-row.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/meta-row.d.ts +3 -0
- package/dist/studio/lib/registry/composite/meta-row.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/meta-row.js +18 -0
- package/dist/studio/lib/registry/composite/meta-row.js.map +1 -0
- package/dist/studio/lib/registry/composite/page-header.cjs +47 -0
- package/dist/studio/lib/registry/composite/page-header.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/page-header.d.ts +3 -0
- package/dist/studio/lib/registry/composite/page-header.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/page-header.js +23 -0
- package/dist/studio/lib/registry/composite/page-header.js.map +1 -0
- package/dist/studio/lib/registry/composite/page-shell.cjs +49 -0
- package/dist/studio/lib/registry/composite/page-shell.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/page-shell.d.ts +3 -0
- package/dist/studio/lib/registry/composite/page-shell.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/page-shell.js +25 -0
- package/dist/studio/lib/registry/composite/page-shell.js.map +1 -0
- package/dist/studio/lib/registry/composite/pill-select.cjs +120 -0
- package/dist/studio/lib/registry/composite/pill-select.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/pill-select.d.ts +3 -0
- package/dist/studio/lib/registry/composite/pill-select.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/pill-select.js +96 -0
- package/dist/studio/lib/registry/composite/pill-select.js.map +1 -0
- package/dist/studio/lib/registry/composite/property-field.cjs +66 -0
- package/dist/studio/lib/registry/composite/property-field.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/property-field.d.ts +3 -0
- package/dist/studio/lib/registry/composite/property-field.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/property-field.js +42 -0
- package/dist/studio/lib/registry/composite/property-field.js.map +1 -0
- package/dist/studio/lib/registry/composite/property-grid.cjs +39 -0
- package/dist/studio/lib/registry/composite/property-grid.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/property-grid.d.ts +3 -0
- package/dist/studio/lib/registry/composite/property-grid.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/property-grid.js +15 -0
- package/dist/studio/lib/registry/composite/property-grid.js.map +1 -0
- package/dist/studio/lib/registry/composite/section-header.cjs +44 -0
- package/dist/studio/lib/registry/composite/section-header.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/section-header.d.ts +3 -0
- package/dist/studio/lib/registry/composite/section-header.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/section-header.js +20 -0
- package/dist/studio/lib/registry/composite/section-header.js.map +1 -0
- package/dist/studio/lib/registry/composite/side-flexpane.cjs +51 -0
- package/dist/studio/lib/registry/composite/side-flexpane.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/side-flexpane.d.ts +3 -0
- package/dist/studio/lib/registry/composite/side-flexpane.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/side-flexpane.js +27 -0
- package/dist/studio/lib/registry/composite/side-flexpane.js.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.cjs +95 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.d.ts +3 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.js +71 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-item.js.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs +224 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.d.ts +3 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js +200 -0
- package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js.map +1 -0
- package/dist/studio/lib/registry/composite/stat-card.cjs +45 -0
- package/dist/studio/lib/registry/composite/stat-card.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/stat-card.d.ts +3 -0
- package/dist/studio/lib/registry/composite/stat-card.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/stat-card.js +21 -0
- package/dist/studio/lib/registry/composite/stat-card.js.map +1 -0
- package/dist/studio/lib/registry/composite/tabs-underline.cjs +82 -0
- package/dist/studio/lib/registry/composite/tabs-underline.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/tabs-underline.d.ts +3 -0
- package/dist/studio/lib/registry/composite/tabs-underline.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/tabs-underline.js +58 -0
- package/dist/studio/lib/registry/composite/tabs-underline.js.map +1 -0
- package/dist/studio/lib/registry/composite/tabs.cjs +84 -0
- package/dist/studio/lib/registry/composite/tabs.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/tabs.d.ts +3 -0
- package/dist/studio/lib/registry/composite/tabs.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/tabs.js +60 -0
- package/dist/studio/lib/registry/composite/tabs.js.map +1 -0
- package/dist/studio/lib/registry/composite/thumbnail.cjs +62 -0
- package/dist/studio/lib/registry/composite/thumbnail.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/thumbnail.d.ts +3 -0
- package/dist/studio/lib/registry/composite/thumbnail.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/thumbnail.js +38 -0
- package/dist/studio/lib/registry/composite/thumbnail.js.map +1 -0
- package/dist/studio/lib/registry/composite/type-overview-card.cjs +51 -0
- package/dist/studio/lib/registry/composite/type-overview-card.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/type-overview-card.d.ts +3 -0
- package/dist/studio/lib/registry/composite/type-overview-card.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/type-overview-card.js +27 -0
- package/dist/studio/lib/registry/composite/type-overview-card.js.map +1 -0
- package/dist/studio/lib/registry/composite/view-switcher.cjs +76 -0
- package/dist/studio/lib/registry/composite/view-switcher.cjs.map +1 -0
- package/dist/studio/lib/registry/composite/view-switcher.d.ts +3 -0
- package/dist/studio/lib/registry/composite/view-switcher.d.ts.map +1 -0
- package/dist/studio/lib/registry/composite/view-switcher.js +52 -0
- package/dist/studio/lib/registry/composite/view-switcher.js.map +1 -0
- 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/icons.cjs +32 -11
- package/dist/studio/lib/registry/icons.cjs.map +1 -1
- package/dist/studio/lib/registry/icons.d.ts.map +1 -1
- package/dist/studio/lib/registry/icons.js +32 -11
- package/dist/studio/lib/registry/icons.js.map +1 -1
- package/dist/studio/lib/registry/index.cjs +2 -2
- package/dist/studio/lib/registry/index.js +2 -2
- package/dist/studio/lib/registry/inputs/checkbox.cjs +84 -0
- package/dist/studio/lib/registry/inputs/checkbox.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/checkbox.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/checkbox.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/checkbox.js +60 -0
- package/dist/studio/lib/registry/inputs/checkbox.js.map +1 -0
- package/dist/studio/lib/registry/inputs/code-editor.cjs +90 -0
- package/dist/studio/lib/registry/inputs/code-editor.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/code-editor.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/code-editor.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/code-editor.js +66 -0
- package/dist/studio/lib/registry/inputs/code-editor.js.map +1 -0
- package/dist/studio/lib/registry/inputs/color-input.cjs +107 -0
- package/dist/studio/lib/registry/inputs/color-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/color-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/color-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/color-input.js +83 -0
- package/dist/studio/lib/registry/inputs/color-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/currency-input.cjs +112 -0
- package/dist/studio/lib/registry/inputs/currency-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/currency-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/currency-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/currency-input.js +88 -0
- package/dist/studio/lib/registry/inputs/currency-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/date-input.cjs +105 -0
- package/dist/studio/lib/registry/inputs/date-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/date-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/date-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/date-input.js +81 -0
- package/dist/studio/lib/registry/inputs/date-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/editable-cell.cjs +206 -0
- package/dist/studio/lib/registry/inputs/editable-cell.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/editable-cell.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/editable-cell.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/editable-cell.js +182 -0
- package/dist/studio/lib/registry/inputs/editable-cell.js.map +1 -0
- package/dist/studio/lib/registry/inputs/file-upload.cjs +161 -0
- package/dist/studio/lib/registry/inputs/file-upload.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/file-upload.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/file-upload.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/file-upload.js +137 -0
- package/dist/studio/lib/registry/inputs/file-upload.js.map +1 -0
- package/dist/studio/lib/registry/inputs/index.cjs +75 -0
- package/dist/studio/lib/registry/inputs/index.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/index.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/index.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/index.js +51 -0
- package/dist/studio/lib/registry/inputs/index.js.map +1 -0
- package/dist/studio/lib/registry/inputs/input-text.cjs +101 -0
- package/dist/studio/lib/registry/inputs/input-text.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/input-text.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/input-text.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/input-text.js +77 -0
- package/dist/studio/lib/registry/inputs/input-text.js.map +1 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.cjs +85 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.js +61 -0
- package/dist/studio/lib/registry/inputs/input-with-icon.js.map +1 -0
- package/dist/studio/lib/registry/inputs/listbox.cjs +221 -0
- package/dist/studio/lib/registry/inputs/listbox.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/listbox.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/listbox.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/listbox.js +197 -0
- package/dist/studio/lib/registry/inputs/listbox.js.map +1 -0
- package/dist/studio/lib/registry/inputs/menu.cjs +208 -0
- package/dist/studio/lib/registry/inputs/menu.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/menu.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/menu.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/menu.js +184 -0
- package/dist/studio/lib/registry/inputs/menu.js.map +1 -0
- package/dist/studio/lib/registry/inputs/number-input.cjs +105 -0
- package/dist/studio/lib/registry/inputs/number-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/number-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/number-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/number-input.js +81 -0
- package/dist/studio/lib/registry/inputs/number-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/number-stepper.cjs +99 -0
- package/dist/studio/lib/registry/inputs/number-stepper.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/number-stepper.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/number-stepper.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/number-stepper.js +75 -0
- package/dist/studio/lib/registry/inputs/number-stepper.js.map +1 -0
- package/dist/studio/lib/registry/inputs/password-input.cjs +107 -0
- package/dist/studio/lib/registry/inputs/password-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/password-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/password-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/password-input.js +83 -0
- package/dist/studio/lib/registry/inputs/password-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/phone-input.cjs +105 -0
- package/dist/studio/lib/registry/inputs/phone-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/phone-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/phone-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/phone-input.js +81 -0
- package/dist/studio/lib/registry/inputs/phone-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/radio-group.cjs +86 -0
- package/dist/studio/lib/registry/inputs/radio-group.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/radio-group.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/radio-group.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/radio-group.js +62 -0
- package/dist/studio/lib/registry/inputs/radio-group.js.map +1 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.cjs +86 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.js +62 -0
- package/dist/studio/lib/registry/inputs/search-dropdown.js.map +1 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.cjs +103 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.js +79 -0
- package/dist/studio/lib/registry/inputs/select-dropdown.js.map +1 -0
- package/dist/studio/lib/registry/inputs/slider.cjs +99 -0
- package/dist/studio/lib/registry/inputs/slider.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/slider.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/slider.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/slider.js +75 -0
- package/dist/studio/lib/registry/inputs/slider.js.map +1 -0
- package/dist/studio/lib/registry/inputs/textarea.cjs +84 -0
- package/dist/studio/lib/registry/inputs/textarea.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/textarea.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/textarea.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/textarea.js +60 -0
- package/dist/studio/lib/registry/inputs/textarea.js.map +1 -0
- package/dist/studio/lib/registry/inputs/time-input.cjs +131 -0
- package/dist/studio/lib/registry/inputs/time-input.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/time-input.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/time-input.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/time-input.js +107 -0
- package/dist/studio/lib/registry/inputs/time-input.js.map +1 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.cjs +80 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.cjs.map +1 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.d.ts +3 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.d.ts.map +1 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.js +56 -0
- package/dist/studio/lib/registry/inputs/toggle-switch.js.map +1 -0
- package/dist/studio/lib/types.cjs.map +1 -1
- package/dist/studio/mobile-gallery.d.ts +1 -1
- package/dist/studio/mobile-gallery.d.ts.map +1 -1
- package/dist/studio/persistence/css-sanitizers.cjs +75 -0
- package/dist/studio/persistence/css-sanitizers.cjs.map +1 -0
- package/dist/studio/persistence/css-sanitizers.d.ts +16 -0
- package/dist/studio/persistence/css-sanitizers.d.ts.map +1 -0
- package/dist/studio/persistence/css-sanitizers.js +45 -0
- package/dist/studio/persistence/css-sanitizers.js.map +1 -0
- package/dist/studio/persistence/generate-css-mapping.cjs +837 -0
- package/dist/studio/persistence/generate-css-mapping.cjs.map +1 -0
- package/dist/studio/persistence/generate-css-mapping.d.ts +13 -0
- package/dist/studio/persistence/generate-css-mapping.d.ts.map +1 -0
- package/dist/studio/persistence/generate-css-mapping.js +812 -0
- package/dist/studio/persistence/generate-css-mapping.js.map +1 -0
- package/dist/studio/persistence/generate-css.cjs +26 -865
- package/dist/studio/persistence/generate-css.cjs.map +1 -1
- package/dist/studio/persistence/generate-css.d.ts +1 -6
- package/dist/studio/persistence/generate-css.d.ts.map +1 -1
- package/dist/studio/persistence/generate-css.js +9 -848
- package/dist/studio/persistence/generate-css.js.map +1 -1
- package/dist/studio/shell/canvas.d.ts +1 -1
- package/dist/studio/shell/canvas.d.ts.map +1 -1
- package/dist/studio/shell/preview-modal.d.ts +1 -1
- package/dist/studio/shell/preview-modal.d.ts.map +1 -1
- package/dist/studio/shell/properties-panel/dev-tab.cjs +244 -0
- package/dist/studio/shell/properties-panel/dev-tab.cjs.map +1 -0
- package/dist/studio/shell/properties-panel/dev-tab.d.ts +27 -0
- package/dist/studio/shell/properties-panel/dev-tab.d.ts.map +1 -0
- package/dist/studio/shell/properties-panel/dev-tab.js +220 -0
- package/dist/studio/shell/properties-panel/dev-tab.js.map +1 -0
- package/dist/studio/shell/properties-panel/index.cjs +398 -0
- package/dist/studio/shell/properties-panel/index.cjs.map +1 -0
- package/dist/studio/shell/{properties-panel.d.ts → properties-panel/index.d.ts} +2 -2
- package/dist/studio/shell/properties-panel/index.d.ts.map +1 -0
- package/dist/studio/shell/properties-panel/index.js +374 -0
- package/dist/studio/shell/properties-panel/index.js.map +1 -0
- package/dist/studio/shell/properties-panel/property-row.cjs +155 -0
- package/dist/studio/shell/properties-panel/property-row.cjs.map +1 -0
- package/dist/studio/shell/properties-panel/property-row.d.ts +20 -0
- package/dist/studio/shell/properties-panel/property-row.d.ts.map +1 -0
- package/dist/studio/shell/properties-panel/property-row.js +130 -0
- package/dist/studio/shell/properties-panel/property-row.js.map +1 -0
- package/dist/studio/shell/properties-panel/variant-matrix.cjs +177 -0
- package/dist/studio/shell/properties-panel/variant-matrix.cjs.map +1 -0
- package/dist/studio/shell/properties-panel/variant-matrix.d.ts +30 -0
- package/dist/studio/shell/properties-panel/variant-matrix.d.ts.map +1 -0
- package/dist/studio/shell/properties-panel/variant-matrix.js +153 -0
- package/dist/studio/shell/properties-panel/variant-matrix.js.map +1 -0
- package/dist/studio/shell/sidebar.d.ts +1 -1
- package/dist/studio/shell/sidebar.d.ts.map +1 -1
- package/dist/studio/shell/wcag-panel.d.ts +1 -1
- package/dist/studio/shell/wcag-panel.d.ts.map +1 -1
- package/dist/studio/studio.css +2 -2
- package/dist/studio/uxm-app.cjs +1 -1
- package/dist/studio/uxm-app.d.ts +1 -1
- package/dist/studio/uxm-app.d.ts.map +1 -1
- package/dist/studio/uxm-app.js +1 -1
- package/dist/ui/app-sidebar/app-sidebar-preview.cjs +2 -2
- package/dist/ui/app-sidebar/app-sidebar-preview.d.ts +1 -1
- package/dist/ui/app-sidebar/app-sidebar-preview.d.ts.map +1 -1
- package/dist/ui/app-sidebar/app-sidebar-preview.js +2 -2
- package/dist/ui/app-sidebar/app-sidebar.d.ts +1 -1
- package/dist/ui/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/ui/app-top-bar/app-top-bar-preview.cjs +5 -5
- package/dist/ui/app-top-bar/app-top-bar-preview.d.ts +1 -1
- package/dist/ui/app-top-bar/app-top-bar-preview.d.ts.map +1 -1
- package/dist/ui/app-top-bar/app-top-bar-preview.js +5 -5
- package/dist/ui/app-top-bar/app-top-bar.cjs +1 -1
- package/dist/ui/app-top-bar/app-top-bar.d.ts +1 -1
- package/dist/ui/app-top-bar/app-top-bar.d.ts.map +1 -1
- package/dist/ui/app-top-bar/app-top-bar.js +1 -1
- package/dist/ui/avatar/avatar-preview.cjs +1 -1
- package/dist/ui/avatar/avatar-preview.d.ts +1 -1
- package/dist/ui/avatar/avatar-preview.d.ts.map +1 -1
- package/dist/ui/avatar/avatar-preview.js +1 -1
- package/dist/ui/avatar/avatar.d.ts +1 -1
- package/dist/ui/avatar/avatar.d.ts.map +1 -1
- package/dist/ui/back-link/back-link-preview.cjs +1 -1
- package/dist/ui/back-link/back-link-preview.d.ts +1 -1
- package/dist/ui/back-link/back-link-preview.d.ts.map +1 -1
- package/dist/ui/back-link/back-link-preview.js +1 -1
- package/dist/ui/back-link/back-link.cjs +1 -1
- package/dist/ui/back-link/back-link.d.ts +1 -1
- package/dist/ui/back-link/back-link.d.ts.map +1 -1
- package/dist/ui/back-link/back-link.js +1 -1
- package/dist/ui/badge/badge-preview.cjs +1 -1
- package/dist/ui/badge/badge-preview.d.ts +1 -1
- package/dist/ui/badge/badge-preview.d.ts.map +1 -1
- package/dist/ui/badge/badge-preview.js +1 -1
- package/dist/ui/badge/badge.d.ts +1 -1
- package/dist/ui/badge/badge.d.ts.map +1 -1
- package/dist/ui/banner/banner-preview.cjs +1 -1
- package/dist/ui/banner/banner-preview.d.ts +1 -1
- package/dist/ui/banner/banner-preview.d.ts.map +1 -1
- package/dist/ui/banner/banner-preview.js +1 -1
- package/dist/ui/banner/banner.d.ts +1 -1
- package/dist/ui/banner/banner.d.ts.map +1 -1
- package/dist/ui/breadcrumb/breadcrumb-preview.cjs +3 -3
- package/dist/ui/breadcrumb/breadcrumb-preview.d.ts +1 -1
- package/dist/ui/breadcrumb/breadcrumb-preview.d.ts.map +1 -1
- package/dist/ui/breadcrumb/breadcrumb-preview.js +3 -3
- package/dist/ui/breadcrumb/breadcrumb.d.ts +1 -1
- package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/ui/bulk-action-bar/bulk-action-bar-preview.d.ts +1 -1
- package/dist/ui/bulk-action-bar/bulk-action-bar-preview.d.ts.map +1 -1
- package/dist/ui/bulk-action-bar/bulk-action-bar.d.ts +1 -1
- package/dist/ui/bulk-action-bar/bulk-action-bar.d.ts.map +1 -1
- package/dist/ui/button/button-preview.cjs +4 -4
- package/dist/ui/button/button-preview.d.ts +1 -1
- package/dist/ui/button/button-preview.d.ts.map +1 -1
- package/dist/ui/button/button-preview.js +4 -4
- package/dist/ui/button/button.d.ts +5 -5
- package/dist/ui/button/button.d.ts.map +1 -1
- package/dist/ui/button-group/button-group-preview.cjs +1 -1
- package/dist/ui/button-group/button-group-preview.d.ts +1 -1
- package/dist/ui/button-group/button-group-preview.d.ts.map +1 -1
- package/dist/ui/button-group/button-group-preview.js +1 -1
- package/dist/ui/button-group/button-group.d.ts +1 -1
- package/dist/ui/button-group/button-group.d.ts.map +1 -1
- package/dist/ui/button-icon/button-icon.cjs.map +1 -1
- package/dist/ui/button-icon/button-icon.d.ts +11 -1
- package/dist/ui/button-icon/button-icon.d.ts.map +1 -1
- package/dist/ui/button-icon/button-icon.js.map +1 -1
- package/dist/ui/button-with-icon/button-with-icon-preview.cjs +2 -2
- package/dist/ui/button-with-icon/button-with-icon-preview.d.ts +1 -1
- package/dist/ui/button-with-icon/button-with-icon-preview.d.ts.map +1 -1
- package/dist/ui/button-with-icon/button-with-icon-preview.js +2 -2
- package/dist/ui/button-with-icon/button-with-icon.d.ts +1 -1
- package/dist/ui/button-with-icon/button-with-icon.d.ts.map +1 -1
- package/dist/ui/calendar/calendar-preview.cjs +1 -1
- package/dist/ui/calendar/calendar-preview.d.ts +1 -1
- package/dist/ui/calendar/calendar-preview.d.ts.map +1 -1
- package/dist/ui/calendar/calendar-preview.js +1 -1
- package/dist/ui/calendar/calendar.d.ts +1 -1
- package/dist/ui/calendar/calendar.d.ts.map +1 -1
- package/dist/ui/card/card-preview.cjs +1 -1
- package/dist/ui/card/card-preview.d.ts +1 -1
- package/dist/ui/card/card-preview.d.ts.map +1 -1
- package/dist/ui/card/card-preview.js +1 -1
- package/dist/ui/card/card.d.ts +1 -1
- package/dist/ui/card/card.d.ts.map +1 -1
- package/dist/ui/checkbox/checkbox-preview.cjs +2 -2
- package/dist/ui/checkbox/checkbox-preview.d.ts +1 -1
- package/dist/ui/checkbox/checkbox-preview.d.ts.map +1 -1
- package/dist/ui/checkbox/checkbox-preview.js +2 -2
- package/dist/ui/checkbox/checkbox.cjs +2 -2
- package/dist/ui/checkbox/checkbox.d.ts +1 -1
- package/dist/ui/checkbox/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox/checkbox.js +2 -2
- package/dist/ui/chip/chip-preview.cjs +2 -2
- package/dist/ui/chip/chip-preview.d.ts +1 -1
- package/dist/ui/chip/chip-preview.d.ts.map +1 -1
- package/dist/ui/chip/chip-preview.js +2 -2
- package/dist/ui/chip/chip.cjs +1 -1
- package/dist/ui/chip/chip.d.ts +1 -1
- package/dist/ui/chip/chip.d.ts.map +1 -1
- package/dist/ui/chip/chip.js +1 -1
- package/dist/ui/cluster/cluster-preview.cjs +1 -1
- package/dist/ui/cluster/cluster-preview.d.ts +1 -1
- package/dist/ui/cluster/cluster-preview.d.ts.map +1 -1
- package/dist/ui/cluster/cluster-preview.js +1 -1
- package/dist/ui/cluster/cluster.d.ts +1 -1
- package/dist/ui/cluster/cluster.d.ts.map +1 -1
- package/dist/ui/code-editor/code-editor-preview.cjs +1 -1
- package/dist/ui/code-editor/code-editor-preview.d.ts +1 -1
- package/dist/ui/code-editor/code-editor-preview.d.ts.map +1 -1
- package/dist/ui/code-editor/code-editor-preview.js +1 -1
- package/dist/ui/code-editor/code-editor.d.ts +2 -2
- package/dist/ui/code-editor/code-editor.d.ts.map +1 -1
- package/dist/ui/color-input/color-input-preview.cjs +1 -1
- package/dist/ui/color-input/color-input-preview.d.ts +1 -1
- package/dist/ui/color-input/color-input-preview.d.ts.map +1 -1
- package/dist/ui/color-input/color-input-preview.js +1 -1
- package/dist/ui/color-input/color-input.d.ts +2 -2
- package/dist/ui/color-input/color-input.d.ts.map +1 -1
- package/dist/ui/component-row/component-row-preview.cjs +1 -1
- package/dist/ui/component-row/component-row-preview.d.ts +1 -1
- package/dist/ui/component-row/component-row-preview.d.ts.map +1 -1
- package/dist/ui/component-row/component-row-preview.js +1 -1
- package/dist/ui/component-row/component-row.cjs +1 -1
- package/dist/ui/component-row/component-row.d.ts +1 -1
- package/dist/ui/component-row/component-row.d.ts.map +1 -1
- package/dist/ui/component-row/component-row.js +1 -1
- package/dist/ui/config-component-row/config-component-row-preview.cjs +3 -3
- package/dist/ui/config-component-row/config-component-row-preview.d.ts +1 -1
- package/dist/ui/config-component-row/config-component-row-preview.d.ts.map +1 -1
- package/dist/ui/config-component-row/config-component-row-preview.js +3 -3
- package/dist/ui/config-component-row/config-component-row.cjs +1 -1
- package/dist/ui/config-component-row/config-component-row.d.ts +1 -1
- package/dist/ui/config-component-row/config-component-row.d.ts.map +1 -1
- package/dist/ui/config-component-row/config-component-row.js +1 -1
- package/dist/ui/config-segment-item/config-segment-item-preview.cjs +1 -1
- package/dist/ui/config-segment-item/config-segment-item-preview.d.ts +1 -1
- package/dist/ui/config-segment-item/config-segment-item-preview.d.ts.map +1 -1
- package/dist/ui/config-segment-item/config-segment-item-preview.js +1 -1
- package/dist/ui/config-segment-item/config-segment-item.d.ts +1 -1
- package/dist/ui/config-segment-item/config-segment-item.d.ts.map +1 -1
- package/dist/ui/currency-input/currency-input-preview.cjs +1 -1
- package/dist/ui/currency-input/currency-input-preview.d.ts +1 -1
- package/dist/ui/currency-input/currency-input-preview.d.ts.map +1 -1
- package/dist/ui/currency-input/currency-input-preview.js +1 -1
- package/dist/ui/currency-input/currency-input.d.ts +1 -1
- package/dist/ui/currency-input/currency-input.d.ts.map +1 -1
- package/dist/ui/data-table/data-table-preview.cjs +1 -1
- package/dist/ui/data-table/data-table-preview.d.ts +1 -1
- package/dist/ui/data-table/data-table-preview.d.ts.map +1 -1
- package/dist/ui/data-table/data-table-preview.js +1 -1
- package/dist/ui/data-table/data-table.d.ts +1 -1
- package/dist/ui/data-table/data-table.d.ts.map +1 -1
- package/dist/ui/date-input/date-input-preview.cjs +1 -1
- package/dist/ui/date-input/date-input-preview.d.ts +1 -1
- package/dist/ui/date-input/date-input-preview.d.ts.map +1 -1
- package/dist/ui/date-input/date-input-preview.js +1 -1
- package/dist/ui/date-input/date-input.d.ts +1 -1
- package/dist/ui/date-input/date-input.d.ts.map +1 -1
- package/dist/ui/detail-section/detail-section-preview.cjs +2 -2
- package/dist/ui/detail-section/detail-section-preview.d.ts +1 -1
- package/dist/ui/detail-section/detail-section-preview.d.ts.map +1 -1
- package/dist/ui/detail-section/detail-section-preview.js +2 -2
- package/dist/ui/detail-section/detail-section.d.ts +1 -1
- package/dist/ui/detail-section/detail-section.d.ts.map +1 -1
- package/dist/ui/disclosure/disclosure-preview.cjs +3 -3
- package/dist/ui/disclosure/disclosure-preview.d.ts +1 -1
- package/dist/ui/disclosure/disclosure-preview.d.ts.map +1 -1
- package/dist/ui/disclosure/disclosure-preview.js +3 -3
- package/dist/ui/disclosure/disclosure.d.ts +1 -1
- package/dist/ui/disclosure/disclosure.d.ts.map +1 -1
- package/dist/ui/divider/divider-preview.d.ts +1 -1
- package/dist/ui/divider/divider-preview.d.ts.map +1 -1
- package/dist/ui/divider/divider.d.ts +1 -1
- package/dist/ui/divider/divider.d.ts.map +1 -1
- package/dist/ui/editable-cell/editable-cell-date.cjs +226 -0
- package/dist/ui/editable-cell/editable-cell-date.cjs.map +1 -0
- package/dist/ui/editable-cell/editable-cell-date.d.ts +4 -0
- package/dist/ui/editable-cell/editable-cell-date.d.ts.map +1 -0
- package/dist/ui/editable-cell/editable-cell-date.js +202 -0
- package/dist/ui/editable-cell/editable-cell-date.js.map +1 -0
- package/dist/ui/editable-cell/editable-cell-preview.cjs +1 -1
- package/dist/ui/editable-cell/editable-cell-preview.d.ts +1 -1
- package/dist/ui/editable-cell/editable-cell-preview.d.ts.map +1 -1
- package/dist/ui/editable-cell/editable-cell-preview.js +1 -1
- package/dist/ui/editable-cell/editable-cell-select.cjs +297 -0
- package/dist/ui/editable-cell/editable-cell-select.cjs.map +1 -0
- package/dist/ui/editable-cell/editable-cell-select.d.ts +4 -0
- package/dist/ui/editable-cell/editable-cell-select.d.ts.map +1 -0
- package/dist/ui/editable-cell/editable-cell-select.js +273 -0
- package/dist/ui/editable-cell/editable-cell-select.js.map +1 -0
- package/dist/ui/editable-cell/editable-cell-text.cjs +175 -0
- package/dist/ui/editable-cell/editable-cell-text.cjs.map +1 -0
- package/dist/ui/editable-cell/editable-cell-text.d.ts +4 -0
- package/dist/ui/editable-cell/editable-cell-text.d.ts.map +1 -0
- package/dist/ui/editable-cell/editable-cell-text.js +151 -0
- package/dist/ui/editable-cell/editable-cell-text.js.map +1 -0
- package/dist/ui/editable-cell/editable-cell-utils.cjs +56 -0
- package/dist/ui/editable-cell/editable-cell-utils.cjs.map +1 -0
- package/dist/ui/editable-cell/editable-cell-utils.d.ts +20 -0
- package/dist/ui/editable-cell/editable-cell-utils.d.ts.map +1 -0
- package/dist/ui/editable-cell/editable-cell-utils.js +29 -0
- package/dist/ui/editable-cell/editable-cell-utils.js.map +1 -0
- package/dist/ui/editable-cell/editable-cell.cjs +27 -725
- package/dist/ui/editable-cell/editable-cell.cjs.map +1 -1
- package/dist/ui/editable-cell/editable-cell.d.ts +3 -145
- package/dist/ui/editable-cell/editable-cell.d.ts.map +1 -1
- package/dist/ui/editable-cell/editable-cell.js +28 -738
- package/dist/ui/editable-cell/editable-cell.js.map +1 -1
- package/dist/ui/editable-cell/editable-cell.types.cjs +17 -0
- package/dist/ui/editable-cell/editable-cell.types.cjs.map +1 -0
- package/dist/ui/editable-cell/editable-cell.types.d.ts +156 -0
- package/dist/ui/editable-cell/editable-cell.types.d.ts.map +1 -0
- package/dist/ui/editable-cell/editable-cell.types.js +1 -0
- package/dist/ui/editable-cell/editable-cell.types.js.map +1 -0
- package/dist/ui/editable-cell/use-editable-cell.cjs +284 -0
- package/dist/ui/editable-cell/use-editable-cell.cjs.map +1 -0
- package/dist/ui/editable-cell/use-editable-cell.d.ts +51 -0
- package/dist/ui/editable-cell/use-editable-cell.d.ts.map +1 -0
- package/dist/ui/editable-cell/use-editable-cell.js +260 -0
- package/dist/ui/editable-cell/use-editable-cell.js.map +1 -0
- package/dist/ui/empty-state/empty-state-preview.cjs +3 -3
- package/dist/ui/empty-state/empty-state-preview.d.ts +1 -1
- package/dist/ui/empty-state/empty-state-preview.d.ts.map +1 -1
- package/dist/ui/empty-state/empty-state-preview.js +3 -3
- package/dist/ui/empty-state/empty-state.d.ts +1 -1
- package/dist/ui/empty-state/empty-state.d.ts.map +1 -1
- package/dist/ui/error-page/error-page-preview.cjs +2 -2
- package/dist/ui/error-page/error-page-preview.d.ts +1 -1
- package/dist/ui/error-page/error-page-preview.d.ts.map +1 -1
- package/dist/ui/error-page/error-page-preview.js +2 -2
- package/dist/ui/error-page/error-page.d.ts +1 -1
- package/dist/ui/error-page/error-page.d.ts.map +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item-preview.cjs +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item-preview.d.ts +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item-preview.d.ts.map +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item-preview.js +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item.d.ts +1 -1
- package/dist/ui/explorer-list-item/explorer-list-item.d.ts.map +1 -1
- package/dist/ui/explorer-section/explorer-section-preview.cjs +2 -2
- package/dist/ui/explorer-section/explorer-section-preview.d.ts +1 -1
- package/dist/ui/explorer-section/explorer-section-preview.d.ts.map +1 -1
- package/dist/ui/explorer-section/explorer-section-preview.js +2 -2
- package/dist/ui/explorer-section/explorer-section.d.ts +1 -1
- package/dist/ui/explorer-section/explorer-section.d.ts.map +1 -1
- package/dist/ui/field-error/field-error.d.ts +1 -1
- package/dist/ui/field-error/field-error.d.ts.map +1 -1
- package/dist/ui/file-upload/file-upload-preview.cjs +1 -1
- package/dist/ui/file-upload/file-upload-preview.d.ts +1 -1
- package/dist/ui/file-upload/file-upload-preview.d.ts.map +1 -1
- package/dist/ui/file-upload/file-upload-preview.js +1 -1
- package/dist/ui/file-upload/file-upload.d.ts +1 -1
- package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
- package/dist/ui/filter-tabs/filter-tabs-preview.cjs +1 -1
- package/dist/ui/filter-tabs/filter-tabs-preview.d.ts +1 -1
- package/dist/ui/filter-tabs/filter-tabs-preview.d.ts.map +1 -1
- package/dist/ui/filter-tabs/filter-tabs-preview.js +1 -1
- package/dist/ui/filter-tabs/filter-tabs.d.ts +1 -1
- package/dist/ui/filter-tabs/filter-tabs.d.ts.map +1 -1
- package/dist/ui/form-field/form-field-preview.cjs +2 -2
- package/dist/ui/form-field/form-field-preview.d.ts +1 -1
- package/dist/ui/form-field/form-field-preview.d.ts.map +1 -1
- package/dist/ui/form-field/form-field-preview.js +2 -2
- package/dist/ui/form-field/form-field.d.ts +1 -1
- package/dist/ui/form-field/form-field.d.ts.map +1 -1
- package/dist/ui/hover-tooltip/hover-tooltip.d.ts +1 -1
- package/dist/ui/hover-tooltip/hover-tooltip.d.ts.map +1 -1
- package/dist/ui/icon/icon-preview.cjs +1 -1
- package/dist/ui/icon/icon-preview.d.ts +1 -1
- package/dist/ui/icon/icon-preview.d.ts.map +1 -1
- package/dist/ui/icon/icon-preview.js +1 -1
- package/dist/ui/icon/icon.d.ts +1 -1
- package/dist/ui/icon/icon.d.ts.map +1 -1
- package/dist/ui/icon-button/icon-button-preview.cjs +20 -7
- package/dist/ui/icon-button/icon-button-preview.cjs.map +1 -1
- package/dist/ui/icon-button/icon-button-preview.d.ts +1 -1
- package/dist/ui/icon-button/icon-button-preview.d.ts.map +1 -1
- package/dist/ui/icon-button/icon-button-preview.js +20 -7
- package/dist/ui/icon-button/icon-button-preview.js.map +1 -1
- package/dist/ui/icon-button/icon-button.cjs +16 -2
- package/dist/ui/icon-button/icon-button.cjs.map +1 -1
- package/dist/ui/icon-button/icon-button.css +26 -0
- package/dist/ui/icon-button/icon-button.d.ts +9 -1
- package/dist/ui/icon-button/icon-button.d.ts.map +1 -1
- package/dist/ui/icon-button/icon-button.js +16 -2
- package/dist/ui/icon-button/icon-button.js.map +1 -1
- package/dist/ui/icon-tile/icon-tile-preview.cjs +2 -2
- package/dist/ui/icon-tile/icon-tile-preview.d.ts +1 -1
- package/dist/ui/icon-tile/icon-tile-preview.d.ts.map +1 -1
- package/dist/ui/icon-tile/icon-tile-preview.js +2 -2
- package/dist/ui/icon-tile/icon-tile.d.ts +1 -1
- package/dist/ui/icon-tile/icon-tile.d.ts.map +1 -1
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/inline-action/inline-action-preview.cjs +2 -2
- package/dist/ui/inline-action/inline-action-preview.d.ts +1 -1
- package/dist/ui/inline-action/inline-action-preview.d.ts.map +1 -1
- package/dist/ui/inline-action/inline-action-preview.js +2 -2
- package/dist/ui/inline-action/inline-action.d.ts +1 -1
- package/dist/ui/inline-action/inline-action.d.ts.map +1 -1
- package/dist/ui/inline-filter/inline-filter-preview.cjs +4 -4
- package/dist/ui/inline-filter/inline-filter-preview.d.ts +1 -1
- package/dist/ui/inline-filter/inline-filter-preview.d.ts.map +1 -1
- package/dist/ui/inline-filter/inline-filter-preview.js +4 -4
- package/dist/ui/inline-filter/inline-filter.d.ts +1 -1
- package/dist/ui/inline-filter/inline-filter.d.ts.map +1 -1
- package/dist/ui/input/input-preview.cjs +1 -1
- package/dist/ui/input/input-preview.d.ts +1 -1
- package/dist/ui/input/input-preview.d.ts.map +1 -1
- package/dist/ui/input/input-preview.js +1 -1
- package/dist/ui/input/input.d.ts +3 -3
- package/dist/ui/input/input.d.ts.map +1 -1
- package/dist/ui/input/select-preview.cjs +1 -1
- package/dist/ui/input/select-preview.d.ts +1 -1
- package/dist/ui/input/select-preview.d.ts.map +1 -1
- package/dist/ui/input/select-preview.js +1 -1
- package/dist/ui/input/textarea-preview.cjs +1 -1
- package/dist/ui/input/textarea-preview.d.ts +1 -1
- package/dist/ui/input/textarea-preview.d.ts.map +1 -1
- package/dist/ui/input/textarea-preview.js +1 -1
- package/dist/ui/input-with-icon/input-with-icon-preview.cjs +2 -2
- package/dist/ui/input-with-icon/input-with-icon-preview.d.ts +1 -1
- package/dist/ui/input-with-icon/input-with-icon-preview.d.ts.map +1 -1
- package/dist/ui/input-with-icon/input-with-icon-preview.js +2 -2
- package/dist/ui/input-with-icon/input-with-icon.cjs +3 -3
- package/dist/ui/input-with-icon/input-with-icon.d.ts +1 -1
- package/dist/ui/input-with-icon/input-with-icon.d.ts.map +1 -1
- package/dist/ui/input-with-icon/input-with-icon.js +3 -3
- package/dist/ui/language-switcher/language-switcher-preview.cjs +1 -1
- package/dist/ui/language-switcher/language-switcher-preview.d.ts +1 -1
- package/dist/ui/language-switcher/language-switcher-preview.d.ts.map +1 -1
- package/dist/ui/language-switcher/language-switcher-preview.js +1 -1
- package/dist/ui/language-switcher/language-switcher.d.ts +1 -1
- package/dist/ui/language-switcher/language-switcher.d.ts.map +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector-preview.cjs +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector-preview.d.ts +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector-preview.js +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector.d.ts +1 -1
- package/dist/ui/lifecycle-connector/lifecycle-connector.d.ts.map +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.cjs +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.d.ts +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.js +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.cjs +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.d.ts +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.d.ts.map +1 -1
- package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.js +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.cjs +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.d.ts +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.js +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label.d.ts +1 -1
- package/dist/ui/lifecycle-edge-label/lifecycle-edge-label.d.ts.map +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.cjs +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.d.ts +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.js +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box.d.ts +1 -1
- package/dist/ui/lifecycle-group-box/lifecycle-group-box.d.ts.map +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.cjs +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.d.ts +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.js +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap.d.ts +1 -1
- package/dist/ui/lifecycle-minimap/lifecycle-minimap.d.ts.map +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.cjs +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.d.ts +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.js +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card.cjs +2 -2
- package/dist/ui/lifecycle-node-card/lifecycle-node-card.d.ts +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card.d.ts.map +1 -1
- package/dist/ui/lifecycle-node-card/lifecycle-node-card.js +2 -2
- package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.cjs +1 -1
- package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.d.ts +1 -1
- package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.js +1 -1
- package/dist/ui/lifecycle-terminal/lifecycle-terminal.d.ts +1 -1
- package/dist/ui/lifecycle-terminal/lifecycle-terminal.d.ts.map +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.cjs +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.d.ts +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.d.ts.map +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.js +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.cjs +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.d.ts +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.d.ts.map +1 -1
- package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.js +1 -1
- package/dist/ui/link/link-preview.cjs +1 -1
- package/dist/ui/link/link-preview.d.ts +1 -1
- package/dist/ui/link/link-preview.d.ts.map +1 -1
- package/dist/ui/link/link-preview.js +1 -1
- package/dist/ui/link/link.d.ts +1 -1
- package/dist/ui/link/link.d.ts.map +1 -1
- package/dist/ui/list/list-item-preview.cjs +3 -3
- package/dist/ui/list/list-item-preview.d.ts +1 -1
- package/dist/ui/list/list-item-preview.d.ts.map +1 -1
- package/dist/ui/list/list-item-preview.js +3 -3
- package/dist/ui/list/list.d.ts +2 -2
- package/dist/ui/list/list.d.ts.map +1 -1
- package/dist/ui/listbox/listbox-preview.cjs +1 -1
- package/dist/ui/listbox/listbox-preview.d.ts +1 -1
- package/dist/ui/listbox/listbox-preview.d.ts.map +1 -1
- package/dist/ui/listbox/listbox-preview.js +1 -1
- package/dist/ui/listbox/listbox.d.ts +2 -2
- package/dist/ui/listbox/listbox.d.ts.map +1 -1
- package/dist/ui/loader/loader-preview.d.ts +1 -1
- package/dist/ui/loader/loader-preview.d.ts.map +1 -1
- package/dist/ui/loader/loader.d.ts +1 -1
- package/dist/ui/loader/loader.d.ts.map +1 -1
- package/dist/ui/locale/locale.d.ts +1 -1
- package/dist/ui/locale/locale.d.ts.map +1 -1
- package/dist/ui/menu/menu-preview.cjs +1 -1
- package/dist/ui/menu/menu-preview.d.ts +1 -1
- package/dist/ui/menu/menu-preview.d.ts.map +1 -1
- package/dist/ui/menu/menu-preview.js +1 -1
- package/dist/ui/menu/menu.d.ts +1 -1
- package/dist/ui/menu/menu.d.ts.map +1 -1
- package/dist/ui/meta-row/meta-row-preview.cjs +1 -1
- package/dist/ui/meta-row/meta-row-preview.d.ts +1 -1
- package/dist/ui/meta-row/meta-row-preview.d.ts.map +1 -1
- package/dist/ui/meta-row/meta-row-preview.js +1 -1
- package/dist/ui/meta-row/meta-row.d.ts +1 -1
- package/dist/ui/meta-row/meta-row.d.ts.map +1 -1
- package/dist/ui/modal/modal-preview.cjs +1 -1
- package/dist/ui/modal/modal-preview.d.ts +1 -1
- package/dist/ui/modal/modal-preview.d.ts.map +1 -1
- package/dist/ui/modal/modal-preview.js +1 -1
- package/dist/ui/modal/modal.cjs +13 -15
- package/dist/ui/modal/modal.cjs.map +1 -1
- package/dist/ui/modal/modal.d.ts +23 -5
- package/dist/ui/modal/modal.d.ts.map +1 -1
- package/dist/ui/modal/modal.js +13 -16
- package/dist/ui/modal/modal.js.map +1 -1
- package/dist/ui/number-input/number-input-preview.cjs +1 -1
- package/dist/ui/number-input/number-input-preview.d.ts +1 -1
- package/dist/ui/number-input/number-input-preview.d.ts.map +1 -1
- package/dist/ui/number-input/number-input-preview.js +1 -1
- package/dist/ui/number-input/number-input.cjs +3 -3
- package/dist/ui/number-input/number-input.d.ts +1 -1
- package/dist/ui/number-input/number-input.d.ts.map +1 -1
- package/dist/ui/number-input/number-input.js +3 -3
- package/dist/ui/number-stepper/number-stepper-preview.cjs +1 -1
- package/dist/ui/number-stepper/number-stepper-preview.d.ts +1 -1
- package/dist/ui/number-stepper/number-stepper-preview.d.ts.map +1 -1
- package/dist/ui/number-stepper/number-stepper-preview.js +1 -1
- package/dist/ui/number-stepper/number-stepper.d.ts +1 -1
- package/dist/ui/number-stepper/number-stepper.d.ts.map +1 -1
- package/dist/ui/option-list/option-list-preview.cjs +1 -1
- package/dist/ui/option-list/option-list-preview.d.ts +1 -1
- package/dist/ui/option-list/option-list-preview.d.ts.map +1 -1
- package/dist/ui/option-list/option-list-preview.js +1 -1
- package/dist/ui/option-list/option-list.cjs +1 -1
- package/dist/ui/option-list/option-list.d.ts +1 -1
- package/dist/ui/option-list/option-list.d.ts.map +1 -1
- package/dist/ui/option-list/option-list.js +1 -1
- package/dist/ui/page-header/page-header-preview.cjs +3 -3
- package/dist/ui/page-header/page-header-preview.d.ts +1 -1
- package/dist/ui/page-header/page-header-preview.d.ts.map +1 -1
- package/dist/ui/page-header/page-header-preview.js +3 -3
- package/dist/ui/page-header/page-header.d.ts +1 -1
- package/dist/ui/page-header/page-header.d.ts.map +1 -1
- package/dist/ui/page-shell/page-shell-preview.cjs +7 -7
- package/dist/ui/page-shell/page-shell-preview.d.ts +1 -1
- package/dist/ui/page-shell/page-shell-preview.d.ts.map +1 -1
- package/dist/ui/page-shell/page-shell-preview.js +7 -7
- package/dist/ui/page-shell/page-shell.cjs.map +1 -1
- package/dist/ui/page-shell/page-shell.d.ts +2 -2
- 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/password-input/password-input-preview.cjs +1 -1
- package/dist/ui/password-input/password-input-preview.d.ts +1 -1
- package/dist/ui/password-input/password-input-preview.d.ts.map +1 -1
- package/dist/ui/password-input/password-input-preview.js +1 -1
- package/dist/ui/password-input/password-input.d.ts +1 -1
- package/dist/ui/password-input/password-input.d.ts.map +1 -1
- package/dist/ui/phone-input/phone-input-preview.cjs +1 -1
- package/dist/ui/phone-input/phone-input-preview.d.ts +1 -1
- package/dist/ui/phone-input/phone-input-preview.d.ts.map +1 -1
- package/dist/ui/phone-input/phone-input-preview.js +1 -1
- package/dist/ui/phone-input/phone-input.d.ts +1 -1
- package/dist/ui/phone-input/phone-input.d.ts.map +1 -1
- package/dist/ui/pill-select/pill-select-preview.cjs +1 -1
- package/dist/ui/pill-select/pill-select-preview.d.ts +1 -1
- package/dist/ui/pill-select/pill-select-preview.d.ts.map +1 -1
- package/dist/ui/pill-select/pill-select-preview.js +1 -1
- package/dist/ui/pill-select/pill-select.d.ts +1 -1
- package/dist/ui/pill-select/pill-select.d.ts.map +1 -1
- package/dist/ui/popover/popover.d.ts +1 -1
- package/dist/ui/popover/popover.d.ts.map +1 -1
- package/dist/ui/progress-bar/progress-bar-preview.cjs +1 -1
- package/dist/ui/progress-bar/progress-bar-preview.d.ts +1 -1
- package/dist/ui/progress-bar/progress-bar-preview.d.ts.map +1 -1
- package/dist/ui/progress-bar/progress-bar-preview.js +1 -1
- package/dist/ui/progress-bar/progress-bar.d.ts +1 -1
- package/dist/ui/progress-bar/progress-bar.d.ts.map +1 -1
- package/dist/ui/property-field/property-field-preview.cjs +1 -1
- package/dist/ui/property-field/property-field-preview.d.ts +1 -1
- package/dist/ui/property-field/property-field-preview.d.ts.map +1 -1
- package/dist/ui/property-field/property-field-preview.js +1 -1
- package/dist/ui/property-field/property-field.d.ts +2 -2
- package/dist/ui/property-field/property-field.d.ts.map +1 -1
- package/dist/ui/property-field/property-grid-preview.cjs +1 -1
- package/dist/ui/property-field/property-grid-preview.d.ts +1 -1
- package/dist/ui/property-field/property-grid-preview.d.ts.map +1 -1
- package/dist/ui/property-field/property-grid-preview.js +1 -1
- package/dist/ui/radio-group/radio-group-preview.cjs +1 -1
- package/dist/ui/radio-group/radio-group-preview.d.ts +1 -1
- package/dist/ui/radio-group/radio-group-preview.d.ts.map +1 -1
- package/dist/ui/radio-group/radio-group-preview.js +1 -1
- package/dist/ui/radio-group/radio-group.cjs +1 -1
- package/dist/ui/radio-group/radio-group.d.ts +2 -2
- package/dist/ui/radio-group/radio-group.d.ts.map +1 -1
- package/dist/ui/radio-group/radio-group.js +1 -1
- package/dist/ui/range-slider/range-slider.d.ts +1 -1
- package/dist/ui/range-slider/range-slider.d.ts.map +1 -1
- package/dist/ui/responsive-grid/responsive-grid-preview.cjs +1 -1
- package/dist/ui/responsive-grid/responsive-grid-preview.d.ts +1 -1
- package/dist/ui/responsive-grid/responsive-grid-preview.d.ts.map +1 -1
- package/dist/ui/responsive-grid/responsive-grid-preview.js +1 -1
- package/dist/ui/responsive-grid/responsive-grid.d.ts +1 -1
- package/dist/ui/responsive-grid/responsive-grid.d.ts.map +1 -1
- package/dist/ui/search-dropdown/search-dropdown-preview.cjs +3 -3
- package/dist/ui/search-dropdown/search-dropdown-preview.d.ts +1 -1
- package/dist/ui/search-dropdown/search-dropdown-preview.d.ts.map +1 -1
- package/dist/ui/search-dropdown/search-dropdown-preview.js +3 -3
- package/dist/ui/search-dropdown/search-dropdown.d.ts +1 -1
- package/dist/ui/search-dropdown/search-dropdown.d.ts.map +1 -1
- package/dist/ui/section-header/section-header-preview.cjs +3 -3
- package/dist/ui/section-header/section-header-preview.d.ts +1 -1
- package/dist/ui/section-header/section-header-preview.d.ts.map +1 -1
- package/dist/ui/section-header/section-header-preview.js +3 -3
- package/dist/ui/section-header/section-header.d.ts +1 -1
- package/dist/ui/section-header/section-header.d.ts.map +1 -1
- package/dist/ui/segment-card/segment-card-preview.cjs +1 -1
- package/dist/ui/segment-card/segment-card-preview.d.ts +1 -1
- package/dist/ui/segment-card/segment-card-preview.d.ts.map +1 -1
- package/dist/ui/segment-card/segment-card-preview.js +1 -1
- package/dist/ui/segment-card/segment-card.d.ts +1 -1
- package/dist/ui/segment-card/segment-card.d.ts.map +1 -1
- package/dist/ui/segment-row/segment-row-preview.cjs +1 -1
- package/dist/ui/segment-row/segment-row-preview.d.ts +1 -1
- package/dist/ui/segment-row/segment-row-preview.d.ts.map +1 -1
- package/dist/ui/segment-row/segment-row-preview.js +1 -1
- package/dist/ui/segment-row/segment-row.cjs +1 -1
- package/dist/ui/segment-row/segment-row.d.ts +1 -1
- package/dist/ui/segment-row/segment-row.d.ts.map +1 -1
- package/dist/ui/segment-row/segment-row.js +1 -1
- package/dist/ui/side-flexpane/side-flexpane-preview.cjs +1 -1
- package/dist/ui/side-flexpane/side-flexpane-preview.d.ts +1 -1
- package/dist/ui/side-flexpane/side-flexpane-preview.d.ts.map +1 -1
- package/dist/ui/side-flexpane/side-flexpane-preview.js +1 -1
- package/dist/ui/side-flexpane/side-flexpane.d.ts +1 -1
- package/dist/ui/side-flexpane/side-flexpane.d.ts.map +1 -1
- package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.cjs +2 -2
- package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.d.ts +1 -1
- package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.d.ts.map +1 -1
- package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.js +2 -2
- package/dist/ui/sidebar-nav-item/sidebar-nav-item.d.ts +1 -1
- package/dist/ui/sidebar-nav-item/sidebar-nav-item.d.ts.map +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.cjs +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.d.ts +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.d.ts.map +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.js +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger.d.ts +1 -1
- package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger.d.ts.map +1 -1
- package/dist/ui/slider/slider-preview.cjs +2 -2
- package/dist/ui/slider/slider-preview.d.ts +1 -1
- package/dist/ui/slider/slider-preview.d.ts.map +1 -1
- package/dist/ui/slider/slider-preview.js +2 -2
- package/dist/ui/slider/slider.d.ts +1 -1
- package/dist/ui/slider/slider.d.ts.map +1 -1
- package/dist/ui/stack/stack-preview.cjs +1 -1
- package/dist/ui/stack/stack-preview.d.ts +1 -1
- package/dist/ui/stack/stack-preview.d.ts.map +1 -1
- package/dist/ui/stack/stack-preview.js +1 -1
- package/dist/ui/stack/stack.d.ts +1 -1
- package/dist/ui/stack/stack.d.ts.map +1 -1
- package/dist/ui/stat-card/stat-card-preview.cjs +1 -1
- package/dist/ui/stat-card/stat-card-preview.d.ts +1 -1
- package/dist/ui/stat-card/stat-card-preview.d.ts.map +1 -1
- package/dist/ui/stat-card/stat-card-preview.js +1 -1
- package/dist/ui/stat-card/stat-card.cjs +1 -1
- package/dist/ui/stat-card/stat-card.d.ts +1 -1
- package/dist/ui/stat-card/stat-card.d.ts.map +1 -1
- package/dist/ui/stat-card/stat-card.js +1 -1
- package/dist/ui/styles.css +1 -1
- package/dist/ui/tabs/tabs-preview.cjs +2 -2
- package/dist/ui/tabs/tabs-preview.d.ts +1 -1
- package/dist/ui/tabs/tabs-preview.d.ts.map +1 -1
- package/dist/ui/tabs/tabs-preview.js +2 -2
- package/dist/ui/tabs/tabs.d.ts +1 -1
- package/dist/ui/tabs/tabs.d.ts.map +1 -1
- package/dist/ui/tabs-underline/tabs-underline-preview.cjs +2 -2
- package/dist/ui/tabs-underline/tabs-underline-preview.d.ts +1 -1
- package/dist/ui/tabs-underline/tabs-underline-preview.d.ts.map +1 -1
- package/dist/ui/tabs-underline/tabs-underline-preview.js +2 -2
- package/dist/ui/tabs-underline/tabs-underline.d.ts +1 -1
- package/dist/ui/tabs-underline/tabs-underline.d.ts.map +1 -1
- package/dist/ui/tag/tag-preview.cjs +2 -2
- package/dist/ui/tag/tag-preview.d.ts +1 -1
- package/dist/ui/tag/tag-preview.d.ts.map +1 -1
- package/dist/ui/tag/tag-preview.js +2 -2
- package/dist/ui/tag/tag.d.ts +1 -1
- package/dist/ui/tag/tag.d.ts.map +1 -1
- package/dist/ui/thumbnail/thumbnail-preview.cjs +1 -1
- package/dist/ui/thumbnail/thumbnail-preview.d.ts +1 -1
- package/dist/ui/thumbnail/thumbnail-preview.d.ts.map +1 -1
- package/dist/ui/thumbnail/thumbnail-preview.js +1 -1
- package/dist/ui/thumbnail/thumbnail.cjs +1 -1
- package/dist/ui/thumbnail/thumbnail.d.ts +1 -1
- package/dist/ui/thumbnail/thumbnail.d.ts.map +1 -1
- package/dist/ui/thumbnail/thumbnail.js +1 -1
- package/dist/ui/time-input/time-input-preview.cjs +1 -1
- package/dist/ui/time-input/time-input-preview.d.ts +1 -1
- package/dist/ui/time-input/time-input-preview.d.ts.map +1 -1
- package/dist/ui/time-input/time-input-preview.js +1 -1
- package/dist/ui/time-input/time-input.d.ts +1 -1
- package/dist/ui/time-input/time-input.d.ts.map +1 -1
- package/dist/ui/timeline-entry/timeline-entry-preview.cjs +2 -2
- package/dist/ui/timeline-entry/timeline-entry-preview.d.ts +1 -1
- package/dist/ui/timeline-entry/timeline-entry-preview.d.ts.map +1 -1
- package/dist/ui/timeline-entry/timeline-entry-preview.js +2 -2
- package/dist/ui/timeline-entry/timeline-entry.d.ts +1 -1
- package/dist/ui/timeline-entry/timeline-entry.d.ts.map +1 -1
- package/dist/ui/toast/toast-preview.cjs +1 -1
- package/dist/ui/toast/toast-preview.d.ts +1 -1
- package/dist/ui/toast/toast-preview.d.ts.map +1 -1
- package/dist/ui/toast/toast-preview.js +1 -1
- package/dist/ui/toast/toast.cjs.map +1 -1
- package/dist/ui/toast/toast.d.ts +3 -3
- package/dist/ui/toast/toast.d.ts.map +1 -1
- package/dist/ui/toast/toast.js.map +1 -1
- package/dist/ui/toggle-switch/toggle-preview.cjs +1 -1
- package/dist/ui/toggle-switch/toggle-preview.d.ts +1 -1
- package/dist/ui/toggle-switch/toggle-preview.d.ts.map +1 -1
- package/dist/ui/toggle-switch/toggle-preview.js +1 -1
- package/dist/ui/toggle-switch/toggle-switch.cjs +1 -1
- package/dist/ui/toggle-switch/toggle-switch.d.ts +1 -1
- package/dist/ui/toggle-switch/toggle-switch.d.ts.map +1 -1
- package/dist/ui/toggle-switch/toggle-switch.js +1 -1
- package/dist/ui/tooltip/content-tooltip-preview.cjs +1 -1
- package/dist/ui/tooltip/content-tooltip-preview.d.ts +1 -1
- package/dist/ui/tooltip/content-tooltip-preview.d.ts.map +1 -1
- package/dist/ui/tooltip/content-tooltip-preview.js +1 -1
- package/dist/ui/tooltip/tooltip-preview.d.ts +1 -1
- package/dist/ui/tooltip/tooltip-preview.d.ts.map +1 -1
- package/dist/ui/tooltip/tooltip.d.ts +2 -2
- package/dist/ui/tooltip/tooltip.d.ts.map +1 -1
- package/dist/ui/type-overview-card/type-overview-card-preview.cjs +2 -2
- package/dist/ui/type-overview-card/type-overview-card-preview.d.ts +1 -1
- package/dist/ui/type-overview-card/type-overview-card-preview.d.ts.map +1 -1
- package/dist/ui/type-overview-card/type-overview-card-preview.js +2 -2
- package/dist/ui/type-overview-card/type-overview-card.cjs +2 -2
- package/dist/ui/type-overview-card/type-overview-card.d.ts +1 -1
- package/dist/ui/type-overview-card/type-overview-card.d.ts.map +1 -1
- package/dist/ui/type-overview-card/type-overview-card.js +2 -2
- package/dist/ui/view-switcher/view-switcher-preview.cjs +2 -2
- package/dist/ui/view-switcher/view-switcher-preview.d.ts +1 -1
- package/dist/ui/view-switcher/view-switcher-preview.d.ts.map +1 -1
- package/dist/ui/view-switcher/view-switcher-preview.js +2 -2
- package/dist/ui/view-switcher/view-switcher.d.ts +1 -1
- package/dist/ui/view-switcher/view-switcher.d.ts.map +1 -1
- package/package.json +23 -8
- package/dist/studio/lib/registry/composite.cjs +0 -1732
- package/dist/studio/lib/registry/composite.cjs.map +0 -1
- package/dist/studio/lib/registry/composite.d.ts +0 -3
- package/dist/studio/lib/registry/composite.d.ts.map +0 -1
- package/dist/studio/lib/registry/composite.js +0 -1708
- package/dist/studio/lib/registry/composite.js.map +0 -1
- package/dist/studio/lib/registry/inputs.cjs +0 -1980
- package/dist/studio/lib/registry/inputs.cjs.map +0 -1
- package/dist/studio/lib/registry/inputs.d.ts +0 -3
- package/dist/studio/lib/registry/inputs.d.ts.map +0 -1
- package/dist/studio/lib/registry/inputs.js +0 -1956
- package/dist/studio/lib/registry/inputs.js.map +0 -1
- package/dist/studio/shell/properties-panel.cjs +0 -873
- package/dist/studio/shell/properties-panel.cjs.map +0 -1
- package/dist/studio/shell/properties-panel.d.ts.map +0 -1
- package/dist/studio/shell/properties-panel.js +0 -849
- package/dist/studio/shell/properties-panel.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Icon } from '@/ui';\nimport { IconButton } from '@/ui';\nimport { InlineAction } from '@/ui';\nimport { SectionHeader } from '@/ui';\nimport { Tabs } from '@/ui';\n\nimport { CodeEditor } from '../../editors/code-editor';\nimport { SelectInput } from '../../editors/select-input';\nimport { useUxm } from '../../lib/context';\nimport { getComponentDef, registry } from '../../lib/registry';\nimport { WcagPanel } from '../wcag-panel';\n\nimport { DevTab } from './dev-tab';\nimport { PropertyRow, renderEditor } from './property-row';\n\nimport type { ComponentDef } from '../../lib/types';\n\ntype Tab = 'visual' | 'dev' | 'code';\n\nexport function PropertiesPanel({\n orientation = 'horizontal',\n onToggleOrientation,\n}: {\n /**\n * Accepted for API compatibility with host portals that mount the panel\n * embedded. No longer switches the surface color — the properties panel\n * is always white (`bg-card`) so its text keeps full contrast in both the\n * standalone studio and an embedded portal.\n */\n embed?: boolean;\n orientation?: 'horizontal' | 'vertical';\n onToggleOrientation?: () => void;\n}) {\n const [tab, setTab] = useState<Tab>('visual');\n const {\n selectedId,\n getOverrides,\n setOverride,\n resetOverride,\n resetOverrides,\n getCurrentVariants,\n setVariant,\n eventLog,\n clearEvents,\n } = useUxm();\n const def = getComponentDef(selectedId);\n const overrides = getOverrides(selectedId);\n const currentVariants = getCurrentVariants();\n\n // Keys that were just cascaded — shows a brief \"Matched ✓\" state, then hides the link.\n // A change to the same key (value edit) removes it so the link reappears.\n const [syncedKeys, setSyncedKeys] = useState<Set<string>>(new Set());\n const [justMatchedKey, setJustMatchedKey] = useState<string | null>(null);\n const justMatchedTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Reset sync state when switching components.\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional reset of cascade-sync UI state on component switch\n setSyncedKeys(new Set());\n setJustMatchedKey(null);\n if (justMatchedTimer.current) {\n clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = null;\n }\n }, [selectedId]);\n\n useEffect(() => () => {\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n }, []);\n\n const peers = useMemo<ComponentDef[]>(\n () => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],\n [def],\n );\n\n const peersByKey = useMemo(() => {\n const map = new Map<string, ComponentDef[]>();\n if (!def) return map;\n for (const prop of def.styleProperties) {\n const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));\n if (matches.length) map.set(prop.key, matches);\n }\n return map;\n }, [def, peers]);\n\n if (!def) return null;\n\n // Variants live in ephemeral session state; styleProperty edits live in\n // persisted overrides. `resolve` checks both so panel UI reads the right\n // thing regardless of which kind of key it's looking at.\n const resolve = (key: string, fallback: string | number | boolean) => {\n const isVariantKey = def.layoutVariants.some((v) => v.key === key);\n if (isVariantKey) return currentVariants[key] ?? fallback;\n return overrides[key] ?? fallback;\n };\n\n const handleChange = (key: string) => (value: string | number | boolean) => {\n // Branch by key kind. Variants are UI selection — never written to\n // overrides. Style edits are persisted. Auto-clear an override when\n // value === default so the \"Reset\" affordance reflects the real\n // customization state (manually setting a knob back to its default\n // doesn't leave a stale entry in overrides).\n const variant = def.layoutVariants.find((v) => v.key === key);\n if (variant) {\n setVariant(key, value);\n return;\n }\n const prop = def.styleProperties.find((p) => p.key === key);\n if (prop !== undefined && value === prop.defaultValue) {\n resetOverride(selectedId, key);\n } else {\n setOverride(selectedId, key, value);\n }\n // Any edit diverges this key from its peers — allow re-cascading.\n setSyncedKeys((prev) => {\n if (!prev.has(key)) return prev;\n const next = new Set(prev);\n next.delete(key);\n return next;\n });\n };\n\n // Variants now live in ephemeral session state and never reach overrides,\n // so any key here is a real style edit — no filtering needed.\n const hasOverrides = Object.keys(overrides).length > 0;\n\n const SECTION_LABELS: Record<string, string> = {\n colors: 'Colors',\n states: 'States',\n style: 'Style',\n frame: 'Frame',\n header: 'Header',\n weekday: 'Weekday Row',\n 'shared-states': 'Shared States',\n 'day-cell': 'Date Cell',\n 'month-year-cells': 'Month & Year Cells',\n text: 'Text',\n uncheckedColors: 'Unchecked',\n checkedColors: 'Checked',\n offColors: 'Off',\n onColors: 'On',\n unselectedColors: 'Unselected',\n selectedColors: 'Selected',\n fieldColors: 'Field Colors',\n dropAreaColors: 'Drop Area',\n dropOutline: 'Drop Outline',\n triggerColors: 'Trigger Colors',\n popover: 'Popover',\n option: 'Option',\n focusState: 'Focus',\n disabledState: 'Disabled',\n errorState: 'Error Message',\n rangeOptions: 'Range Options',\n dragState: 'Drag Over',\n fileList: 'File List',\n fileListProgress: 'File List Progress',\n fileListStatus: 'File List Status',\n headerSlot: 'Header Slot',\n footerSlot: 'Footer Slot',\n };\n const allShowWhenKeys = Array.from(\n new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])),\n );\n const labelize = (vKey: string) =>\n def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;\n const sectionScopeKeys = (props: ComponentDef['styleProperties']) =>\n Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));\n const sectionTitleFor = (slug: string) =>\n SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);\n const sectionSubtitleFor = (props: ComponentDef['styleProperties']):\n | { scope: string; current: string | null }\n | null => {\n const keys = sectionScopeKeys(props);\n if (keys.length > 0) {\n const scope = `Per ${keys.map(labelize).join(' × ')}`;\n const current = keys.map((vKey) => {\n const variant = def.layoutVariants.find((v) => v.key === vKey);\n if (!variant) return null;\n const v = resolve(vKey, variant.defaultValue) as string;\n return variant.options.find((o) => o.value === v)?.label ?? v;\n }).filter(Boolean).join(' / ');\n return { scope, current: current || null };\n }\n if (allShowWhenKeys.length > 0) {\n const variantNames = allShowWhenKeys\n .map((k) => labelize(k).toLowerCase() + 's')\n .join(' / ');\n return { scope: `Shared across all ${variantNames}`, current: null };\n }\n return null;\n };\n const sectionBarCategoryFor = (props: ComponentDef['styleProperties']): 'full' | 'partial' | 'shared' => {\n const keys = sectionScopeKeys(props);\n if (keys.length === 0) return 'shared';\n if (keys.length === allShowWhenKeys.length) return 'full';\n return 'partial';\n };\n const BAR_COLOR: Record<'full' | 'partial', string> = {\n full: 'var(--color-highlight-cool)',\n partial: 'var(--color-highlight-warm)',\n };\n\n // Shared variant-scope filter: an entry with `showWhen` only renders\n // when the current value of every named variant matches. Used by both\n // style properties (existing) and event specs (Events tab).\n const matchesShowWhen = (showWhen?: Record<string, string | string[]>) => {\n if (!showWhen) return true;\n for (const [vKey, vVal] of Object.entries(showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\" — the same rule the per-option\n // matcher below uses. Without it a multi-value clause has to be\n // spelled as one string, which is compared verbatim and never matches\n // (that silently hid four editable-cell knobs).\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n };\n\n const visibleStyleProps = def.styleProperties.filter((prop) =>\n matchesShowWhen(prop.showWhen),\n );\n const visibleEvents = (def.events ?? []).filter((ev) =>\n matchesShowWhen(ev.showWhen),\n );\n // Variants themselves can be scoped via `showWhen` — e.g. the State\n // picker on list-item is irrelevant when `trailing` is meta / none,\n // so the variant disappears entirely rather than sitting as a no-op.\n const visibleVariants = def.layoutVariants.filter((v) =>\n matchesShowWhen(v.showWhen),\n );\n const sectionsMap = new Map<string, ComponentDef['styleProperties']>();\n for (const prop of visibleStyleProps) {\n const slug = prop.section ?? 'style';\n if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);\n sectionsMap.get(slug)!.push(prop);\n }\n const sectionGroups = Array.from(sectionsMap.entries());\n\n const cascadeKey = (key: string, value: string | number | boolean) => {\n const targets = peersByKey.get(key) ?? [];\n if (targets.length === 0) return;\n for (const p of targets) setOverride(p.id, key, value);\n setSyncedKeys((prev) => new Set(prev).add(key));\n setJustMatchedKey(key);\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);\n };\n\n return (\n <aside className={`flex flex-col overflow-hidden w-full h-full ${\n orientation === 'horizontal' ? 'border-l' : 'border-t'\n } border-border bg-card`}>\n {/* Header with tabs */}\n <div className=\"sticky top-0 z-10 border-b border-border px-5 py-3 bg-card\">\n {/* Panel-level header — uses the same SectionHeader atom as the\n VARIANT / COLORS / STYLE per-section headers below, so the\n entire panel's section-title chrome flows through one\n theming surface (`--uxm-section-header-*`). The orientation\n toggle and \"Reset all\" go into the trailing slot. The 1px\n font-size shift from `text-xs` (12px) to SectionHeader's\n default 11px is intentional — keeps the panel header\n consistent with section headers. */}\n <SectionHeader\n trailing={\n <div className=\"flex items-center gap-3\">\n {onToggleOrientation && (\n <IconButton\n onClick={onToggleOrientation}\n aria-label={\n orientation === 'horizontal'\n ? 'Move panel to bottom'\n : 'Move panel to right'\n }\n title={\n orientation === 'horizontal'\n ? 'Dock to bottom'\n : 'Dock to right'\n }\n // 20×20 footprint matches the previous `h-5 w-5` chrome.\n style={{ ['--uxm-icon-button-size' as string]: '20px' }}\n >\n <Icon\n glyph={orientation === 'horizontal' ? 'dock-bottom' : 'dock-right'}\n size={14}\n />\n </IconButton>\n )}\n {hasOverrides && (\n <InlineAction onClick={() => resetOverrides(selectedId)}>\n Reset all\n </InlineAction>\n )}\n </div>\n }\n >\n Properties\n </SectionHeader>\n\n\n {/* Tab bar — uses the real <Tabs> atom so editor saves on the\n Tabs registry (active-bg, padding-x/y, font-size, etc.) flow\n into the properties pane's own toggle. The previous hand-rolled\n <button> elements had `className=\"uxm-tabs\"` on the wrapper but\n no `.uxm-tabs__tab` on the inner buttons, so every inner-element\n var (which is what most Tabs knobs control) silently no-oped\n here. `w-full` keeps the strip stretching across the panel —\n the atom is `display: inline-flex` by default. */}\n <Tabs\n className=\"w-full\"\n value={tab}\n onChange={(v) => setTab(v as Tab)}\n options={[\n {\n value: 'visual',\n label: 'Visual',\n icon: <Icon glyph=\"list\" size={12} />,\n },\n {\n value: 'dev',\n label: 'Dev',\n icon: <Icon glyph=\"bolt\" size={12} />,\n },\n {\n value: 'code',\n label: 'CSS',\n icon: <Icon glyph=\"code\" size={12} />,\n },\n ]}\n />\n </div>\n\n {/* Tab content */}\n {tab === 'visual' ? (\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {/* Bottom-dock (`orientation === \"vertical\"`) gives the pane the\n full canvas width — far more than the ~320px right-dock. We\n switch to an auto-fit grid so each section (Variants, Colors,\n Style, WCAG) becomes its own column, side-by-side, wrapping\n gracefully on narrow widths. The `mb-6` between sections is\n dropped in grid mode because grid `gap-y-4` handles spacing\n instead — leaving both would double-space the wrapped rows. */}\n <div\n className={\n orientation === 'vertical'\n ? 'grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]'\n : ''\n }\n >\n {/* Variant selectors — render before Styles so mode/state/type selectors anchor the form. */}\n {visibleVariants.length > 0 && (\n <div className={orientation === 'vertical' ? 'min-w-0' : 'mb-6'}>\n <SectionHeader>\n {visibleVariants.length === 1 ? 'Variant' : 'Variants'}\n </SectionHeader>\n <div className=\"space-y-3\">\n {visibleVariants.map((variant) => {\n const rawValue = resolve(variant.key, variant.defaultValue) as string;\n const visibleOptions = variant.options.filter((opt) => {\n if (!opt.showWhen) return true;\n for (const [vKey, vVal] of Object.entries(opt.showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\"; a string is exact.\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n });\n const valid = visibleOptions.some((o) => o.value === rawValue);\n const value = valid\n ? rawValue\n : visibleOptions.some((o) => o.value === variant.defaultValue)\n ? variant.defaultValue\n : visibleOptions[0]?.value ?? rawValue;\n if (!valid && value !== rawValue) {\n // Stale variant selection (showWhen filtered out the option).\n // Repair to a valid value via the variant channel, not overrides —\n // variants are ephemeral session state. Guarded on\n // `value !== rawValue` so an empty `visibleOptions` (no\n // fallback available) doesn't re-queue this microtask\n // forever — `value` would otherwise fall back to\n // `rawValue` itself and never settle.\n queueMicrotask(() => setVariant(variant.key, value));\n }\n return (\n <div key={variant.key} data-variant-key={variant.key}>\n <SelectInput\n label={variant.label}\n value={value}\n onChange={handleChange(variant.key)}\n options={visibleOptions}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Style Properties — grouped by section */}\n {sectionGroups.map(([slug, props]) => {\n const overriddenInSection = props.filter((p) => p.key in overrides);\n const hasSectionOverrides = overriddenInSection.length > 0;\n return (\n <div\n key={slug}\n className={`${orientation === 'vertical' ? 'min-w-0' : 'mb-6'} ${sectionBarCategoryFor(props) === 'shared' ? '' : 'border-l-2 pl-3 -ml-3'}`}\n style={sectionBarCategoryFor(props) === 'shared' ? undefined : { borderColor: BAR_COLOR[sectionBarCategoryFor(props) as 'full' | 'partial'] }}\n >\n {(() => {\n const sub = sectionSubtitleFor(props);\n const subtitle = sub ? (\n <>\n <span>{sub.scope}</span>\n {sub.current && (\n <>\n <span style={{ color: 'var(--color-text-subtle)' }}>·</span>\n <span style={{ fontWeight: 600, color: 'var(--color-text-strong)' }}>\n {sub.current}\n </span>\n </>\n )}\n </>\n ) : null;\n return (\n <SectionHeader\n subtitle={subtitle}\n trailing={\n hasSectionOverrides && sectionGroups.length > 1 ? (\n <InlineAction\n onClick={() => {\n for (const p of overriddenInSection) resetOverride(selectedId, p.key);\n }}\n title={`Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? '' : 's'} in this section to default`}\n icon={<Icon glyph=\"refresh\" strokeWidth={2.25} aria-hidden />}\n >\n Reset section\n </InlineAction>\n ) : undefined\n }\n >\n {sectionTitleFor(slug)}\n </SectionHeader>\n );\n })()}\n <div className=\"space-y-3\">\n {props.map((prop) => {\n const value = resolve(prop.key, prop.defaultValue);\n const onChange = handleChange(prop.key);\n const editor = renderEditor(prop.control, {\n label: prop.label,\n value,\n onChange,\n prop,\n });\n const peerCount = peersByKey.get(prop.key)?.length ?? 0;\n const isOverridden = prop.key in overrides;\n const isSynced = syncedKeys.has(prop.key);\n const isJustMatched = justMatchedKey === prop.key;\n return (\n <PropertyRow\n key={prop.key}\n cascadeCount={isOverridden ? peerCount : 0}\n onCascade={() => cascadeKey(prop.key, value)}\n category={def.category}\n propLabel={prop.label}\n synced={isSynced}\n justMatched={isJustMatched}\n isOverridden={isOverridden}\n onReset={() => resetOverride(selectedId, prop.key)}\n >\n {editor}\n </PropertyRow>\n );\n })}\n </div>\n </div>\n );\n })}\n\n {/* WCAG spans two grid columns when bottom-docked — its colour-pair\n rows have enough horizontal content that a single 220px column\n squashes them. `col-span-2` is a no-op outside the grid since\n there's no grid context to span over. */}\n <div className={orientation === 'vertical' ? 'min-w-0 col-span-2' : ''}>\n <WcagPanel def={def} />\n </div>\n </div>\n </div>\n ) : tab === 'dev' ? (\n <DevTab\n def={def}\n api={def.api}\n events={visibleEvents}\n eventLog={eventLog}\n onClearLog={clearEvents}\n orientation={orientation}\n currentVariants={currentVariants}\n overrides={overrides}\n />\n ) : (\n <div className=\"flex-1 overflow-hidden p-3\">\n <CodeEditor />\n </div>\n )}\n </aside>\n );\n}\n"],"mappings":"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","names":["import_ui","v"]}
|
|
@@ -8,5 +8,5 @@ export declare function PropertiesPanel({ orientation, onToggleOrientation, }: {
|
|
|
8
8
|
embed?: boolean;
|
|
9
9
|
orientation?: 'horizontal' | 'vertical';
|
|
10
10
|
onToggleOrientation?: () => void;
|
|
11
|
-
}): import("react
|
|
12
|
-
//# sourceMappingURL=
|
|
11
|
+
}): import("react").JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,eAAe,CAAC,EAC9B,WAA0B,EAC1B,mBAAmB,GACpB,EAAE;IACD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC,sCAieA"}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { Icon } from "../../../ui/index.js";
|
|
4
|
+
import { IconButton } from "../../../ui/index.js";
|
|
5
|
+
import { InlineAction } from "../../../ui/index.js";
|
|
6
|
+
import { SectionHeader } from "../../../ui/index.js";
|
|
7
|
+
import { Tabs } from "../../../ui/index.js";
|
|
8
|
+
import { CodeEditor } from "../../editors/code-editor.js";
|
|
9
|
+
import { SelectInput } from "../../editors/select-input.js";
|
|
10
|
+
import { useUxm } from "../../lib/context.js";
|
|
11
|
+
import { getComponentDef, registry } from "../../lib/registry/index.js";
|
|
12
|
+
import { WcagPanel } from "../wcag-panel.js";
|
|
13
|
+
import { DevTab } from "./dev-tab.js";
|
|
14
|
+
import { PropertyRow, renderEditor } from "./property-row.js";
|
|
15
|
+
function PropertiesPanel({
|
|
16
|
+
orientation = "horizontal",
|
|
17
|
+
onToggleOrientation
|
|
18
|
+
}) {
|
|
19
|
+
const [tab, setTab] = useState("visual");
|
|
20
|
+
const {
|
|
21
|
+
selectedId,
|
|
22
|
+
getOverrides,
|
|
23
|
+
setOverride,
|
|
24
|
+
resetOverride,
|
|
25
|
+
resetOverrides,
|
|
26
|
+
getCurrentVariants,
|
|
27
|
+
setVariant,
|
|
28
|
+
eventLog,
|
|
29
|
+
clearEvents
|
|
30
|
+
} = useUxm();
|
|
31
|
+
const def = getComponentDef(selectedId);
|
|
32
|
+
const overrides = getOverrides(selectedId);
|
|
33
|
+
const currentVariants = getCurrentVariants();
|
|
34
|
+
const [syncedKeys, setSyncedKeys] = useState(/* @__PURE__ */ new Set());
|
|
35
|
+
const [justMatchedKey, setJustMatchedKey] = useState(null);
|
|
36
|
+
const justMatchedTimer = useRef(null);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
setSyncedKeys(/* @__PURE__ */ new Set());
|
|
39
|
+
setJustMatchedKey(null);
|
|
40
|
+
if (justMatchedTimer.current) {
|
|
41
|
+
clearTimeout(justMatchedTimer.current);
|
|
42
|
+
justMatchedTimer.current = null;
|
|
43
|
+
}
|
|
44
|
+
}, [selectedId]);
|
|
45
|
+
useEffect(() => () => {
|
|
46
|
+
if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);
|
|
47
|
+
}, []);
|
|
48
|
+
const peers = useMemo(
|
|
49
|
+
() => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],
|
|
50
|
+
[def]
|
|
51
|
+
);
|
|
52
|
+
const peersByKey = useMemo(() => {
|
|
53
|
+
const map = /* @__PURE__ */ new Map();
|
|
54
|
+
if (!def) return map;
|
|
55
|
+
for (const prop of def.styleProperties) {
|
|
56
|
+
const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));
|
|
57
|
+
if (matches.length) map.set(prop.key, matches);
|
|
58
|
+
}
|
|
59
|
+
return map;
|
|
60
|
+
}, [def, peers]);
|
|
61
|
+
if (!def) return null;
|
|
62
|
+
const resolve = (key, fallback) => {
|
|
63
|
+
const isVariantKey = def.layoutVariants.some((v) => v.key === key);
|
|
64
|
+
if (isVariantKey) return currentVariants[key] ?? fallback;
|
|
65
|
+
return overrides[key] ?? fallback;
|
|
66
|
+
};
|
|
67
|
+
const handleChange = (key) => (value) => {
|
|
68
|
+
const variant = def.layoutVariants.find((v) => v.key === key);
|
|
69
|
+
if (variant) {
|
|
70
|
+
setVariant(key, value);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const prop = def.styleProperties.find((p) => p.key === key);
|
|
74
|
+
if (prop !== void 0 && value === prop.defaultValue) {
|
|
75
|
+
resetOverride(selectedId, key);
|
|
76
|
+
} else {
|
|
77
|
+
setOverride(selectedId, key, value);
|
|
78
|
+
}
|
|
79
|
+
setSyncedKeys((prev) => {
|
|
80
|
+
if (!prev.has(key)) return prev;
|
|
81
|
+
const next = new Set(prev);
|
|
82
|
+
next.delete(key);
|
|
83
|
+
return next;
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const hasOverrides = Object.keys(overrides).length > 0;
|
|
87
|
+
const SECTION_LABELS = {
|
|
88
|
+
colors: "Colors",
|
|
89
|
+
states: "States",
|
|
90
|
+
style: "Style",
|
|
91
|
+
frame: "Frame",
|
|
92
|
+
header: "Header",
|
|
93
|
+
weekday: "Weekday Row",
|
|
94
|
+
"shared-states": "Shared States",
|
|
95
|
+
"day-cell": "Date Cell",
|
|
96
|
+
"month-year-cells": "Month & Year Cells",
|
|
97
|
+
text: "Text",
|
|
98
|
+
uncheckedColors: "Unchecked",
|
|
99
|
+
checkedColors: "Checked",
|
|
100
|
+
offColors: "Off",
|
|
101
|
+
onColors: "On",
|
|
102
|
+
unselectedColors: "Unselected",
|
|
103
|
+
selectedColors: "Selected",
|
|
104
|
+
fieldColors: "Field Colors",
|
|
105
|
+
dropAreaColors: "Drop Area",
|
|
106
|
+
dropOutline: "Drop Outline",
|
|
107
|
+
triggerColors: "Trigger Colors",
|
|
108
|
+
popover: "Popover",
|
|
109
|
+
option: "Option",
|
|
110
|
+
focusState: "Focus",
|
|
111
|
+
disabledState: "Disabled",
|
|
112
|
+
errorState: "Error Message",
|
|
113
|
+
rangeOptions: "Range Options",
|
|
114
|
+
dragState: "Drag Over",
|
|
115
|
+
fileList: "File List",
|
|
116
|
+
fileListProgress: "File List Progress",
|
|
117
|
+
fileListStatus: "File List Status",
|
|
118
|
+
headerSlot: "Header Slot",
|
|
119
|
+
footerSlot: "Footer Slot"
|
|
120
|
+
};
|
|
121
|
+
const allShowWhenKeys = Array.from(
|
|
122
|
+
new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : []))
|
|
123
|
+
);
|
|
124
|
+
const labelize = (vKey) => def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;
|
|
125
|
+
const sectionScopeKeys = (props) => Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));
|
|
126
|
+
const sectionTitleFor = (slug) => SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);
|
|
127
|
+
const sectionSubtitleFor = (props) => {
|
|
128
|
+
const keys = sectionScopeKeys(props);
|
|
129
|
+
if (keys.length > 0) {
|
|
130
|
+
const scope = `Per ${keys.map(labelize).join(" \xD7 ")}`;
|
|
131
|
+
const current = keys.map((vKey) => {
|
|
132
|
+
const variant = def.layoutVariants.find((v2) => v2.key === vKey);
|
|
133
|
+
if (!variant) return null;
|
|
134
|
+
const v = resolve(vKey, variant.defaultValue);
|
|
135
|
+
return variant.options.find((o) => o.value === v)?.label ?? v;
|
|
136
|
+
}).filter(Boolean).join(" / ");
|
|
137
|
+
return { scope, current: current || null };
|
|
138
|
+
}
|
|
139
|
+
if (allShowWhenKeys.length > 0) {
|
|
140
|
+
const variantNames = allShowWhenKeys.map((k) => labelize(k).toLowerCase() + "s").join(" / ");
|
|
141
|
+
return { scope: `Shared across all ${variantNames}`, current: null };
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
};
|
|
145
|
+
const sectionBarCategoryFor = (props) => {
|
|
146
|
+
const keys = sectionScopeKeys(props);
|
|
147
|
+
if (keys.length === 0) return "shared";
|
|
148
|
+
if (keys.length === allShowWhenKeys.length) return "full";
|
|
149
|
+
return "partial";
|
|
150
|
+
};
|
|
151
|
+
const BAR_COLOR = {
|
|
152
|
+
full: "var(--color-highlight-cool)",
|
|
153
|
+
partial: "var(--color-highlight-warm)"
|
|
154
|
+
};
|
|
155
|
+
const matchesShowWhen = (showWhen) => {
|
|
156
|
+
if (!showWhen) return true;
|
|
157
|
+
for (const [vKey, vVal] of Object.entries(showWhen)) {
|
|
158
|
+
const current = resolve(
|
|
159
|
+
vKey,
|
|
160
|
+
def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? ""
|
|
161
|
+
);
|
|
162
|
+
const allowed = Array.isArray(vVal) ? vVal : [vVal];
|
|
163
|
+
if (!allowed.includes(current)) return false;
|
|
164
|
+
}
|
|
165
|
+
return true;
|
|
166
|
+
};
|
|
167
|
+
const visibleStyleProps = def.styleProperties.filter(
|
|
168
|
+
(prop) => matchesShowWhen(prop.showWhen)
|
|
169
|
+
);
|
|
170
|
+
const visibleEvents = (def.events ?? []).filter(
|
|
171
|
+
(ev) => matchesShowWhen(ev.showWhen)
|
|
172
|
+
);
|
|
173
|
+
const visibleVariants = def.layoutVariants.filter(
|
|
174
|
+
(v) => matchesShowWhen(v.showWhen)
|
|
175
|
+
);
|
|
176
|
+
const sectionsMap = /* @__PURE__ */ new Map();
|
|
177
|
+
for (const prop of visibleStyleProps) {
|
|
178
|
+
const slug = prop.section ?? "style";
|
|
179
|
+
if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);
|
|
180
|
+
sectionsMap.get(slug).push(prop);
|
|
181
|
+
}
|
|
182
|
+
const sectionGroups = Array.from(sectionsMap.entries());
|
|
183
|
+
const cascadeKey = (key, value) => {
|
|
184
|
+
const targets = peersByKey.get(key) ?? [];
|
|
185
|
+
if (targets.length === 0) return;
|
|
186
|
+
for (const p of targets) setOverride(p.id, key, value);
|
|
187
|
+
setSyncedKeys((prev) => new Set(prev).add(key));
|
|
188
|
+
setJustMatchedKey(key);
|
|
189
|
+
if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);
|
|
190
|
+
justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);
|
|
191
|
+
};
|
|
192
|
+
return /* @__PURE__ */ jsxs("aside", { className: `flex flex-col overflow-hidden w-full h-full ${orientation === "horizontal" ? "border-l" : "border-t"} border-border bg-card`, children: [
|
|
193
|
+
/* @__PURE__ */ jsxs("div", { className: "sticky top-0 z-10 border-b border-border px-5 py-3 bg-card", children: [
|
|
194
|
+
/* @__PURE__ */ jsx(
|
|
195
|
+
SectionHeader,
|
|
196
|
+
{
|
|
197
|
+
trailing: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
198
|
+
onToggleOrientation && /* @__PURE__ */ jsx(
|
|
199
|
+
IconButton,
|
|
200
|
+
{
|
|
201
|
+
onClick: onToggleOrientation,
|
|
202
|
+
"aria-label": orientation === "horizontal" ? "Move panel to bottom" : "Move panel to right",
|
|
203
|
+
title: orientation === "horizontal" ? "Dock to bottom" : "Dock to right",
|
|
204
|
+
style: { ["--uxm-icon-button-size"]: "20px" },
|
|
205
|
+
children: /* @__PURE__ */ jsx(
|
|
206
|
+
Icon,
|
|
207
|
+
{
|
|
208
|
+
glyph: orientation === "horizontal" ? "dock-bottom" : "dock-right",
|
|
209
|
+
size: 14
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
hasOverrides && /* @__PURE__ */ jsx(InlineAction, { onClick: () => resetOverrides(selectedId), children: "Reset all" })
|
|
215
|
+
] }),
|
|
216
|
+
children: "Properties"
|
|
217
|
+
}
|
|
218
|
+
),
|
|
219
|
+
/* @__PURE__ */ jsx(
|
|
220
|
+
Tabs,
|
|
221
|
+
{
|
|
222
|
+
className: "w-full",
|
|
223
|
+
value: tab,
|
|
224
|
+
onChange: (v) => setTab(v),
|
|
225
|
+
options: [
|
|
226
|
+
{
|
|
227
|
+
value: "visual",
|
|
228
|
+
label: "Visual",
|
|
229
|
+
icon: /* @__PURE__ */ jsx(Icon, { glyph: "list", size: 12 })
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
value: "dev",
|
|
233
|
+
label: "Dev",
|
|
234
|
+
icon: /* @__PURE__ */ jsx(Icon, { glyph: "bolt", size: 12 })
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
value: "code",
|
|
238
|
+
label: "CSS",
|
|
239
|
+
icon: /* @__PURE__ */ jsx(Icon, { glyph: "code", size: 12 })
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
)
|
|
244
|
+
] }),
|
|
245
|
+
tab === "visual" ? /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: /* @__PURE__ */ jsxs(
|
|
246
|
+
"div",
|
|
247
|
+
{
|
|
248
|
+
className: orientation === "vertical" ? "grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]" : "",
|
|
249
|
+
children: [
|
|
250
|
+
visibleVariants.length > 0 && /* @__PURE__ */ jsxs("div", { className: orientation === "vertical" ? "min-w-0" : "mb-6", children: [
|
|
251
|
+
/* @__PURE__ */ jsx(SectionHeader, { children: visibleVariants.length === 1 ? "Variant" : "Variants" }),
|
|
252
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-3", children: visibleVariants.map((variant) => {
|
|
253
|
+
const rawValue = resolve(variant.key, variant.defaultValue);
|
|
254
|
+
const visibleOptions = variant.options.filter((opt) => {
|
|
255
|
+
if (!opt.showWhen) return true;
|
|
256
|
+
for (const [vKey, vVal] of Object.entries(opt.showWhen)) {
|
|
257
|
+
const current = resolve(
|
|
258
|
+
vKey,
|
|
259
|
+
def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? ""
|
|
260
|
+
);
|
|
261
|
+
const allowed = Array.isArray(vVal) ? vVal : [vVal];
|
|
262
|
+
if (!allowed.includes(current)) return false;
|
|
263
|
+
}
|
|
264
|
+
return true;
|
|
265
|
+
});
|
|
266
|
+
const valid = visibleOptions.some((o) => o.value === rawValue);
|
|
267
|
+
const value = valid ? rawValue : visibleOptions.some((o) => o.value === variant.defaultValue) ? variant.defaultValue : visibleOptions[0]?.value ?? rawValue;
|
|
268
|
+
if (!valid && value !== rawValue) {
|
|
269
|
+
queueMicrotask(() => setVariant(variant.key, value));
|
|
270
|
+
}
|
|
271
|
+
return /* @__PURE__ */ jsx("div", { "data-variant-key": variant.key, children: /* @__PURE__ */ jsx(
|
|
272
|
+
SelectInput,
|
|
273
|
+
{
|
|
274
|
+
label: variant.label,
|
|
275
|
+
value,
|
|
276
|
+
onChange: handleChange(variant.key),
|
|
277
|
+
options: visibleOptions
|
|
278
|
+
}
|
|
279
|
+
) }, variant.key);
|
|
280
|
+
}) })
|
|
281
|
+
] }),
|
|
282
|
+
sectionGroups.map(([slug, props]) => {
|
|
283
|
+
const overriddenInSection = props.filter((p) => p.key in overrides);
|
|
284
|
+
const hasSectionOverrides = overriddenInSection.length > 0;
|
|
285
|
+
return /* @__PURE__ */ jsxs(
|
|
286
|
+
"div",
|
|
287
|
+
{
|
|
288
|
+
className: `${orientation === "vertical" ? "min-w-0" : "mb-6"} ${sectionBarCategoryFor(props) === "shared" ? "" : "border-l-2 pl-3 -ml-3"}`,
|
|
289
|
+
style: sectionBarCategoryFor(props) === "shared" ? void 0 : { borderColor: BAR_COLOR[sectionBarCategoryFor(props)] },
|
|
290
|
+
children: [
|
|
291
|
+
(() => {
|
|
292
|
+
const sub = sectionSubtitleFor(props);
|
|
293
|
+
const subtitle = sub ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
294
|
+
/* @__PURE__ */ jsx("span", { children: sub.scope }),
|
|
295
|
+
sub.current && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
296
|
+
/* @__PURE__ */ jsx("span", { style: { color: "var(--color-text-subtle)" }, children: "\xB7" }),
|
|
297
|
+
/* @__PURE__ */ jsx("span", { style: { fontWeight: 600, color: "var(--color-text-strong)" }, children: sub.current })
|
|
298
|
+
] })
|
|
299
|
+
] }) : null;
|
|
300
|
+
return /* @__PURE__ */ jsx(
|
|
301
|
+
SectionHeader,
|
|
302
|
+
{
|
|
303
|
+
subtitle,
|
|
304
|
+
trailing: hasSectionOverrides && sectionGroups.length > 1 ? /* @__PURE__ */ jsx(
|
|
305
|
+
InlineAction,
|
|
306
|
+
{
|
|
307
|
+
onClick: () => {
|
|
308
|
+
for (const p of overriddenInSection) resetOverride(selectedId, p.key);
|
|
309
|
+
},
|
|
310
|
+
title: `Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? "" : "s"} in this section to default`,
|
|
311
|
+
icon: /* @__PURE__ */ jsx(Icon, { glyph: "refresh", strokeWidth: 2.25, "aria-hidden": true }),
|
|
312
|
+
children: "Reset section"
|
|
313
|
+
}
|
|
314
|
+
) : void 0,
|
|
315
|
+
children: sectionTitleFor(slug)
|
|
316
|
+
}
|
|
317
|
+
);
|
|
318
|
+
})(),
|
|
319
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-3", children: props.map((prop) => {
|
|
320
|
+
const value = resolve(prop.key, prop.defaultValue);
|
|
321
|
+
const onChange = handleChange(prop.key);
|
|
322
|
+
const editor = renderEditor(prop.control, {
|
|
323
|
+
label: prop.label,
|
|
324
|
+
value,
|
|
325
|
+
onChange,
|
|
326
|
+
prop
|
|
327
|
+
});
|
|
328
|
+
const peerCount = peersByKey.get(prop.key)?.length ?? 0;
|
|
329
|
+
const isOverridden = prop.key in overrides;
|
|
330
|
+
const isSynced = syncedKeys.has(prop.key);
|
|
331
|
+
const isJustMatched = justMatchedKey === prop.key;
|
|
332
|
+
return /* @__PURE__ */ jsx(
|
|
333
|
+
PropertyRow,
|
|
334
|
+
{
|
|
335
|
+
cascadeCount: isOverridden ? peerCount : 0,
|
|
336
|
+
onCascade: () => cascadeKey(prop.key, value),
|
|
337
|
+
category: def.category,
|
|
338
|
+
propLabel: prop.label,
|
|
339
|
+
synced: isSynced,
|
|
340
|
+
justMatched: isJustMatched,
|
|
341
|
+
isOverridden,
|
|
342
|
+
onReset: () => resetOverride(selectedId, prop.key),
|
|
343
|
+
children: editor
|
|
344
|
+
},
|
|
345
|
+
prop.key
|
|
346
|
+
);
|
|
347
|
+
}) })
|
|
348
|
+
]
|
|
349
|
+
},
|
|
350
|
+
slug
|
|
351
|
+
);
|
|
352
|
+
}),
|
|
353
|
+
/* @__PURE__ */ jsx("div", { className: orientation === "vertical" ? "min-w-0 col-span-2" : "", children: /* @__PURE__ */ jsx(WcagPanel, { def }) })
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
) }) : tab === "dev" ? /* @__PURE__ */ jsx(
|
|
357
|
+
DevTab,
|
|
358
|
+
{
|
|
359
|
+
def,
|
|
360
|
+
api: def.api,
|
|
361
|
+
events: visibleEvents,
|
|
362
|
+
eventLog,
|
|
363
|
+
onClearLog: clearEvents,
|
|
364
|
+
orientation,
|
|
365
|
+
currentVariants,
|
|
366
|
+
overrides
|
|
367
|
+
}
|
|
368
|
+
) : /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden p-3", children: /* @__PURE__ */ jsx(CodeEditor, {}) })
|
|
369
|
+
] });
|
|
370
|
+
}
|
|
371
|
+
export {
|
|
372
|
+
PropertiesPanel
|
|
373
|
+
};
|
|
374
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Icon } from '@/ui';\nimport { IconButton } from '@/ui';\nimport { InlineAction } from '@/ui';\nimport { SectionHeader } from '@/ui';\nimport { Tabs } from '@/ui';\n\nimport { CodeEditor } from '../../editors/code-editor';\nimport { SelectInput } from '../../editors/select-input';\nimport { useUxm } from '../../lib/context';\nimport { getComponentDef, registry } from '../../lib/registry';\nimport { WcagPanel } from '../wcag-panel';\n\nimport { DevTab } from './dev-tab';\nimport { PropertyRow, renderEditor } from './property-row';\n\nimport type { ComponentDef } from '../../lib/types';\n\ntype Tab = 'visual' | 'dev' | 'code';\n\nexport function PropertiesPanel({\n orientation = 'horizontal',\n onToggleOrientation,\n}: {\n /**\n * Accepted for API compatibility with host portals that mount the panel\n * embedded. No longer switches the surface color — the properties panel\n * is always white (`bg-card`) so its text keeps full contrast in both the\n * standalone studio and an embedded portal.\n */\n embed?: boolean;\n orientation?: 'horizontal' | 'vertical';\n onToggleOrientation?: () => void;\n}) {\n const [tab, setTab] = useState<Tab>('visual');\n const {\n selectedId,\n getOverrides,\n setOverride,\n resetOverride,\n resetOverrides,\n getCurrentVariants,\n setVariant,\n eventLog,\n clearEvents,\n } = useUxm();\n const def = getComponentDef(selectedId);\n const overrides = getOverrides(selectedId);\n const currentVariants = getCurrentVariants();\n\n // Keys that were just cascaded — shows a brief \"Matched ✓\" state, then hides the link.\n // A change to the same key (value edit) removes it so the link reappears.\n const [syncedKeys, setSyncedKeys] = useState<Set<string>>(new Set());\n const [justMatchedKey, setJustMatchedKey] = useState<string | null>(null);\n const justMatchedTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Reset sync state when switching components.\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional reset of cascade-sync UI state on component switch\n setSyncedKeys(new Set());\n setJustMatchedKey(null);\n if (justMatchedTimer.current) {\n clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = null;\n }\n }, [selectedId]);\n\n useEffect(() => () => {\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n }, []);\n\n const peers = useMemo<ComponentDef[]>(\n () => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],\n [def],\n );\n\n const peersByKey = useMemo(() => {\n const map = new Map<string, ComponentDef[]>();\n if (!def) return map;\n for (const prop of def.styleProperties) {\n const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));\n if (matches.length) map.set(prop.key, matches);\n }\n return map;\n }, [def, peers]);\n\n if (!def) return null;\n\n // Variants live in ephemeral session state; styleProperty edits live in\n // persisted overrides. `resolve` checks both so panel UI reads the right\n // thing regardless of which kind of key it's looking at.\n const resolve = (key: string, fallback: string | number | boolean) => {\n const isVariantKey = def.layoutVariants.some((v) => v.key === key);\n if (isVariantKey) return currentVariants[key] ?? fallback;\n return overrides[key] ?? fallback;\n };\n\n const handleChange = (key: string) => (value: string | number | boolean) => {\n // Branch by key kind. Variants are UI selection — never written to\n // overrides. Style edits are persisted. Auto-clear an override when\n // value === default so the \"Reset\" affordance reflects the real\n // customization state (manually setting a knob back to its default\n // doesn't leave a stale entry in overrides).\n const variant = def.layoutVariants.find((v) => v.key === key);\n if (variant) {\n setVariant(key, value);\n return;\n }\n const prop = def.styleProperties.find((p) => p.key === key);\n if (prop !== undefined && value === prop.defaultValue) {\n resetOverride(selectedId, key);\n } else {\n setOverride(selectedId, key, value);\n }\n // Any edit diverges this key from its peers — allow re-cascading.\n setSyncedKeys((prev) => {\n if (!prev.has(key)) return prev;\n const next = new Set(prev);\n next.delete(key);\n return next;\n });\n };\n\n // Variants now live in ephemeral session state and never reach overrides,\n // so any key here is a real style edit — no filtering needed.\n const hasOverrides = Object.keys(overrides).length > 0;\n\n const SECTION_LABELS: Record<string, string> = {\n colors: 'Colors',\n states: 'States',\n style: 'Style',\n frame: 'Frame',\n header: 'Header',\n weekday: 'Weekday Row',\n 'shared-states': 'Shared States',\n 'day-cell': 'Date Cell',\n 'month-year-cells': 'Month & Year Cells',\n text: 'Text',\n uncheckedColors: 'Unchecked',\n checkedColors: 'Checked',\n offColors: 'Off',\n onColors: 'On',\n unselectedColors: 'Unselected',\n selectedColors: 'Selected',\n fieldColors: 'Field Colors',\n dropAreaColors: 'Drop Area',\n dropOutline: 'Drop Outline',\n triggerColors: 'Trigger Colors',\n popover: 'Popover',\n option: 'Option',\n focusState: 'Focus',\n disabledState: 'Disabled',\n errorState: 'Error Message',\n rangeOptions: 'Range Options',\n dragState: 'Drag Over',\n fileList: 'File List',\n fileListProgress: 'File List Progress',\n fileListStatus: 'File List Status',\n headerSlot: 'Header Slot',\n footerSlot: 'Footer Slot',\n };\n const allShowWhenKeys = Array.from(\n new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])),\n );\n const labelize = (vKey: string) =>\n def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;\n const sectionScopeKeys = (props: ComponentDef['styleProperties']) =>\n Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));\n const sectionTitleFor = (slug: string) =>\n SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);\n const sectionSubtitleFor = (props: ComponentDef['styleProperties']):\n | { scope: string; current: string | null }\n | null => {\n const keys = sectionScopeKeys(props);\n if (keys.length > 0) {\n const scope = `Per ${keys.map(labelize).join(' × ')}`;\n const current = keys.map((vKey) => {\n const variant = def.layoutVariants.find((v) => v.key === vKey);\n if (!variant) return null;\n const v = resolve(vKey, variant.defaultValue) as string;\n return variant.options.find((o) => o.value === v)?.label ?? v;\n }).filter(Boolean).join(' / ');\n return { scope, current: current || null };\n }\n if (allShowWhenKeys.length > 0) {\n const variantNames = allShowWhenKeys\n .map((k) => labelize(k).toLowerCase() + 's')\n .join(' / ');\n return { scope: `Shared across all ${variantNames}`, current: null };\n }\n return null;\n };\n const sectionBarCategoryFor = (props: ComponentDef['styleProperties']): 'full' | 'partial' | 'shared' => {\n const keys = sectionScopeKeys(props);\n if (keys.length === 0) return 'shared';\n if (keys.length === allShowWhenKeys.length) return 'full';\n return 'partial';\n };\n const BAR_COLOR: Record<'full' | 'partial', string> = {\n full: 'var(--color-highlight-cool)',\n partial: 'var(--color-highlight-warm)',\n };\n\n // Shared variant-scope filter: an entry with `showWhen` only renders\n // when the current value of every named variant matches. Used by both\n // style properties (existing) and event specs (Events tab).\n const matchesShowWhen = (showWhen?: Record<string, string | string[]>) => {\n if (!showWhen) return true;\n for (const [vKey, vVal] of Object.entries(showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\" — the same rule the per-option\n // matcher below uses. Without it a multi-value clause has to be\n // spelled as one string, which is compared verbatim and never matches\n // (that silently hid four editable-cell knobs).\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n };\n\n const visibleStyleProps = def.styleProperties.filter((prop) =>\n matchesShowWhen(prop.showWhen),\n );\n const visibleEvents = (def.events ?? []).filter((ev) =>\n matchesShowWhen(ev.showWhen),\n );\n // Variants themselves can be scoped via `showWhen` — e.g. the State\n // picker on list-item is irrelevant when `trailing` is meta / none,\n // so the variant disappears entirely rather than sitting as a no-op.\n const visibleVariants = def.layoutVariants.filter((v) =>\n matchesShowWhen(v.showWhen),\n );\n const sectionsMap = new Map<string, ComponentDef['styleProperties']>();\n for (const prop of visibleStyleProps) {\n const slug = prop.section ?? 'style';\n if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);\n sectionsMap.get(slug)!.push(prop);\n }\n const sectionGroups = Array.from(sectionsMap.entries());\n\n const cascadeKey = (key: string, value: string | number | boolean) => {\n const targets = peersByKey.get(key) ?? [];\n if (targets.length === 0) return;\n for (const p of targets) setOverride(p.id, key, value);\n setSyncedKeys((prev) => new Set(prev).add(key));\n setJustMatchedKey(key);\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);\n };\n\n return (\n <aside className={`flex flex-col overflow-hidden w-full h-full ${\n orientation === 'horizontal' ? 'border-l' : 'border-t'\n } border-border bg-card`}>\n {/* Header with tabs */}\n <div className=\"sticky top-0 z-10 border-b border-border px-5 py-3 bg-card\">\n {/* Panel-level header — uses the same SectionHeader atom as the\n VARIANT / COLORS / STYLE per-section headers below, so the\n entire panel's section-title chrome flows through one\n theming surface (`--uxm-section-header-*`). The orientation\n toggle and \"Reset all\" go into the trailing slot. The 1px\n font-size shift from `text-xs` (12px) to SectionHeader's\n default 11px is intentional — keeps the panel header\n consistent with section headers. */}\n <SectionHeader\n trailing={\n <div className=\"flex items-center gap-3\">\n {onToggleOrientation && (\n <IconButton\n onClick={onToggleOrientation}\n aria-label={\n orientation === 'horizontal'\n ? 'Move panel to bottom'\n : 'Move panel to right'\n }\n title={\n orientation === 'horizontal'\n ? 'Dock to bottom'\n : 'Dock to right'\n }\n // 20×20 footprint matches the previous `h-5 w-5` chrome.\n style={{ ['--uxm-icon-button-size' as string]: '20px' }}\n >\n <Icon\n glyph={orientation === 'horizontal' ? 'dock-bottom' : 'dock-right'}\n size={14}\n />\n </IconButton>\n )}\n {hasOverrides && (\n <InlineAction onClick={() => resetOverrides(selectedId)}>\n Reset all\n </InlineAction>\n )}\n </div>\n }\n >\n Properties\n </SectionHeader>\n\n\n {/* Tab bar — uses the real <Tabs> atom so editor saves on the\n Tabs registry (active-bg, padding-x/y, font-size, etc.) flow\n into the properties pane's own toggle. The previous hand-rolled\n <button> elements had `className=\"uxm-tabs\"` on the wrapper but\n no `.uxm-tabs__tab` on the inner buttons, so every inner-element\n var (which is what most Tabs knobs control) silently no-oped\n here. `w-full` keeps the strip stretching across the panel —\n the atom is `display: inline-flex` by default. */}\n <Tabs\n className=\"w-full\"\n value={tab}\n onChange={(v) => setTab(v as Tab)}\n options={[\n {\n value: 'visual',\n label: 'Visual',\n icon: <Icon glyph=\"list\" size={12} />,\n },\n {\n value: 'dev',\n label: 'Dev',\n icon: <Icon glyph=\"bolt\" size={12} />,\n },\n {\n value: 'code',\n label: 'CSS',\n icon: <Icon glyph=\"code\" size={12} />,\n },\n ]}\n />\n </div>\n\n {/* Tab content */}\n {tab === 'visual' ? (\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {/* Bottom-dock (`orientation === \"vertical\"`) gives the pane the\n full canvas width — far more than the ~320px right-dock. We\n switch to an auto-fit grid so each section (Variants, Colors,\n Style, WCAG) becomes its own column, side-by-side, wrapping\n gracefully on narrow widths. The `mb-6` between sections is\n dropped in grid mode because grid `gap-y-4` handles spacing\n instead — leaving both would double-space the wrapped rows. */}\n <div\n className={\n orientation === 'vertical'\n ? 'grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]'\n : ''\n }\n >\n {/* Variant selectors — render before Styles so mode/state/type selectors anchor the form. */}\n {visibleVariants.length > 0 && (\n <div className={orientation === 'vertical' ? 'min-w-0' : 'mb-6'}>\n <SectionHeader>\n {visibleVariants.length === 1 ? 'Variant' : 'Variants'}\n </SectionHeader>\n <div className=\"space-y-3\">\n {visibleVariants.map((variant) => {\n const rawValue = resolve(variant.key, variant.defaultValue) as string;\n const visibleOptions = variant.options.filter((opt) => {\n if (!opt.showWhen) return true;\n for (const [vKey, vVal] of Object.entries(opt.showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\"; a string is exact.\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n });\n const valid = visibleOptions.some((o) => o.value === rawValue);\n const value = valid\n ? rawValue\n : visibleOptions.some((o) => o.value === variant.defaultValue)\n ? variant.defaultValue\n : visibleOptions[0]?.value ?? rawValue;\n if (!valid && value !== rawValue) {\n // Stale variant selection (showWhen filtered out the option).\n // Repair to a valid value via the variant channel, not overrides —\n // variants are ephemeral session state. Guarded on\n // `value !== rawValue` so an empty `visibleOptions` (no\n // fallback available) doesn't re-queue this microtask\n // forever — `value` would otherwise fall back to\n // `rawValue` itself and never settle.\n queueMicrotask(() => setVariant(variant.key, value));\n }\n return (\n <div key={variant.key} data-variant-key={variant.key}>\n <SelectInput\n label={variant.label}\n value={value}\n onChange={handleChange(variant.key)}\n options={visibleOptions}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Style Properties — grouped by section */}\n {sectionGroups.map(([slug, props]) => {\n const overriddenInSection = props.filter((p) => p.key in overrides);\n const hasSectionOverrides = overriddenInSection.length > 0;\n return (\n <div\n key={slug}\n className={`${orientation === 'vertical' ? 'min-w-0' : 'mb-6'} ${sectionBarCategoryFor(props) === 'shared' ? '' : 'border-l-2 pl-3 -ml-3'}`}\n style={sectionBarCategoryFor(props) === 'shared' ? undefined : { borderColor: BAR_COLOR[sectionBarCategoryFor(props) as 'full' | 'partial'] }}\n >\n {(() => {\n const sub = sectionSubtitleFor(props);\n const subtitle = sub ? (\n <>\n <span>{sub.scope}</span>\n {sub.current && (\n <>\n <span style={{ color: 'var(--color-text-subtle)' }}>·</span>\n <span style={{ fontWeight: 600, color: 'var(--color-text-strong)' }}>\n {sub.current}\n </span>\n </>\n )}\n </>\n ) : null;\n return (\n <SectionHeader\n subtitle={subtitle}\n trailing={\n hasSectionOverrides && sectionGroups.length > 1 ? (\n <InlineAction\n onClick={() => {\n for (const p of overriddenInSection) resetOverride(selectedId, p.key);\n }}\n title={`Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? '' : 's'} in this section to default`}\n icon={<Icon glyph=\"refresh\" strokeWidth={2.25} aria-hidden />}\n >\n Reset section\n </InlineAction>\n ) : undefined\n }\n >\n {sectionTitleFor(slug)}\n </SectionHeader>\n );\n })()}\n <div className=\"space-y-3\">\n {props.map((prop) => {\n const value = resolve(prop.key, prop.defaultValue);\n const onChange = handleChange(prop.key);\n const editor = renderEditor(prop.control, {\n label: prop.label,\n value,\n onChange,\n prop,\n });\n const peerCount = peersByKey.get(prop.key)?.length ?? 0;\n const isOverridden = prop.key in overrides;\n const isSynced = syncedKeys.has(prop.key);\n const isJustMatched = justMatchedKey === prop.key;\n return (\n <PropertyRow\n key={prop.key}\n cascadeCount={isOverridden ? peerCount : 0}\n onCascade={() => cascadeKey(prop.key, value)}\n category={def.category}\n propLabel={prop.label}\n synced={isSynced}\n justMatched={isJustMatched}\n isOverridden={isOverridden}\n onReset={() => resetOverride(selectedId, prop.key)}\n >\n {editor}\n </PropertyRow>\n );\n })}\n </div>\n </div>\n );\n })}\n\n {/* WCAG spans two grid columns when bottom-docked — its colour-pair\n rows have enough horizontal content that a single 220px column\n squashes them. `col-span-2` is a no-op outside the grid since\n there's no grid context to span over. */}\n <div className={orientation === 'vertical' ? 'min-w-0 col-span-2' : ''}>\n <WcagPanel def={def} />\n </div>\n </div>\n </div>\n ) : tab === 'dev' ? (\n <DevTab\n def={def}\n api={def.api}\n events={visibleEvents}\n eventLog={eventLog}\n onClearLog={clearEvents}\n orientation={orientation}\n currentVariants={currentVariants}\n overrides={overrides}\n />\n ) : (\n <div className=\"flex-1 overflow-hidden p-3\">\n <CodeEditor />\n </div>\n )}\n </aside>\n );\n}\n"],"mappings":"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","names":["v"]}
|