@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,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var use_editable_cell_exports = {};
|
|
20
|
+
__export(use_editable_cell_exports, {
|
|
21
|
+
useEditableCell: () => useEditableCell
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(use_editable_cell_exports);
|
|
24
|
+
var import_react = require("react");
|
|
25
|
+
var import_date_input = require("../date-input/index.cjs");
|
|
26
|
+
var import_editable_cell_utils = require("./editable-cell-utils.cjs");
|
|
27
|
+
function useEditableCell(props) {
|
|
28
|
+
const {
|
|
29
|
+
value,
|
|
30
|
+
onCommit,
|
|
31
|
+
options,
|
|
32
|
+
format,
|
|
33
|
+
validate,
|
|
34
|
+
requiredMessage,
|
|
35
|
+
placeholder,
|
|
36
|
+
forceMode,
|
|
37
|
+
invalidDateMessage: invalidDateMessageProp,
|
|
38
|
+
type,
|
|
39
|
+
dateFormat,
|
|
40
|
+
required,
|
|
41
|
+
saveErrorMessage,
|
|
42
|
+
invalidNumberMessage,
|
|
43
|
+
invalidValueMessage
|
|
44
|
+
} = props;
|
|
45
|
+
const [isEditing, setIsEditing] = (0, import_react.useState)(false);
|
|
46
|
+
const [draft, setDraft] = (0, import_react.useState)(() => {
|
|
47
|
+
if (type === "date") return (0, import_editable_cell_utils.isoToFormatted)(value, dateFormat);
|
|
48
|
+
if (Array.isArray(value)) return "";
|
|
49
|
+
return String(value ?? "");
|
|
50
|
+
});
|
|
51
|
+
const [submitting, setSubmitting] = (0, import_react.useState)(false);
|
|
52
|
+
const [error, setError] = (0, import_react.useState)(null);
|
|
53
|
+
const [open, setOpen] = (0, import_react.useState)(false);
|
|
54
|
+
const inputRef = (0, import_react.useRef)(null);
|
|
55
|
+
const wrapRef = (0, import_react.useRef)(null);
|
|
56
|
+
const parsedValue = (0, import_react.useMemo)(
|
|
57
|
+
() => type === "date" && typeof value === "string" && value ? (0, import_editable_cell_utils.parseISODate)(value) ?? (0, import_date_input.parseDate)(value, dateFormat) : null,
|
|
58
|
+
[type, value, dateFormat]
|
|
59
|
+
);
|
|
60
|
+
const displayFormatted = (0, import_react.useMemo)(
|
|
61
|
+
() => type === "date" ? (0, import_editable_cell_utils.isoToFormatted)(value, dateFormat) : "",
|
|
62
|
+
[type, value, dateFormat]
|
|
63
|
+
);
|
|
64
|
+
(0, import_react.useEffect)(() => {
|
|
65
|
+
if (!isEditing) {
|
|
66
|
+
const next = Array.isArray(value) ? "" : type === "date" ? displayFormatted : String(value ?? "");
|
|
67
|
+
setDraft(next);
|
|
68
|
+
}
|
|
69
|
+
}, [value, isEditing, type, displayFormatted]);
|
|
70
|
+
(0, import_react.useEffect)(() => {
|
|
71
|
+
if (isEditing && inputRef.current) {
|
|
72
|
+
inputRef.current.focus();
|
|
73
|
+
inputRef.current.select();
|
|
74
|
+
}
|
|
75
|
+
}, [isEditing]);
|
|
76
|
+
(0, import_react.useEffect)(() => {
|
|
77
|
+
if (error && type === "date") {
|
|
78
|
+
setOpen(false);
|
|
79
|
+
}
|
|
80
|
+
}, [error, type]);
|
|
81
|
+
const parseDraft = (0, import_react.useCallback)(() => {
|
|
82
|
+
if (type === "number") return draft.trim() === "" ? Number.NaN : Number(draft);
|
|
83
|
+
if (type === "date") return draft;
|
|
84
|
+
return draft;
|
|
85
|
+
}, [type, draft]);
|
|
86
|
+
const requiredMsg = requiredMessage ?? (type === "select" ? "Select an option" : "Required");
|
|
87
|
+
const commitValue = (0, import_react.useCallback)(
|
|
88
|
+
async (next) => {
|
|
89
|
+
if (submitting) return false;
|
|
90
|
+
if (required && (0, import_editable_cell_utils.isEmptyValue)(next)) {
|
|
91
|
+
setError({ message: requiredMsg, severity: "warning" });
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
const validationError = validate?.(next);
|
|
95
|
+
if (validationError) {
|
|
96
|
+
setError({ message: validationError, severity: "warning" });
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
setError(null);
|
|
100
|
+
setSubmitting(true);
|
|
101
|
+
try {
|
|
102
|
+
await onCommit(next);
|
|
103
|
+
setIsEditing(false);
|
|
104
|
+
setOpen(false);
|
|
105
|
+
return true;
|
|
106
|
+
} catch (err) {
|
|
107
|
+
setError({
|
|
108
|
+
message: err instanceof Error ? err.message : saveErrorMessage,
|
|
109
|
+
severity: "error"
|
|
110
|
+
});
|
|
111
|
+
requestAnimationFrame(() => inputRef.current?.focus());
|
|
112
|
+
return false;
|
|
113
|
+
} finally {
|
|
114
|
+
setSubmitting(false);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
[submitting, required, requiredMsg, saveErrorMessage, validate, onCommit]
|
|
118
|
+
);
|
|
119
|
+
const commitDate = (0, import_react.useCallback)(
|
|
120
|
+
async (iso) => {
|
|
121
|
+
if (submitting) return;
|
|
122
|
+
const currentIso = parsedValue ? (0, import_editable_cell_utils.toISODate)(parsedValue) : "";
|
|
123
|
+
if (iso === currentIso) {
|
|
124
|
+
const validationError = validate?.(iso);
|
|
125
|
+
if (validationError) {
|
|
126
|
+
setError({ message: validationError, severity: "warning" });
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
setIsEditing(false);
|
|
130
|
+
setOpen(false);
|
|
131
|
+
setError(null);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
await commitValue(iso);
|
|
135
|
+
},
|
|
136
|
+
[submitting, parsedValue, validate, commitValue]
|
|
137
|
+
);
|
|
138
|
+
const handleCommit = (0, import_react.useCallback)(async () => {
|
|
139
|
+
const next = parseDraft();
|
|
140
|
+
if (type === "number" && Number.isNaN(next)) {
|
|
141
|
+
if (draft.trim() === "") {
|
|
142
|
+
if (String(value ?? "") === "") {
|
|
143
|
+
setIsEditing(false);
|
|
144
|
+
setError(null);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
await commitValue("");
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
setError({ message: invalidNumberMessage, severity: "warning" });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (type === "date") {
|
|
154
|
+
const raw = String(next).trim();
|
|
155
|
+
if (raw === "") {
|
|
156
|
+
await commitDate("");
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const parsed = (0, import_date_input.parseDate)(raw, dateFormat) ?? (0, import_editable_cell_utils.parseISODate)(raw);
|
|
160
|
+
if (!parsed) {
|
|
161
|
+
setError({
|
|
162
|
+
message: invalidDateMessageProp ?? (0, import_date_input.invalidDateMessage)(dateFormat),
|
|
163
|
+
severity: "warning"
|
|
164
|
+
});
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
await commitDate((0, import_editable_cell_utils.toISODate)(parsed));
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const valueStr = Array.isArray(value) ? "" : String(value ?? "");
|
|
171
|
+
if (String(next) === valueStr) {
|
|
172
|
+
setIsEditing(false);
|
|
173
|
+
setError(null);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
await commitValue(next);
|
|
177
|
+
}, [
|
|
178
|
+
parseDraft,
|
|
179
|
+
type,
|
|
180
|
+
draft,
|
|
181
|
+
dateFormat,
|
|
182
|
+
value,
|
|
183
|
+
commitValue,
|
|
184
|
+
commitDate,
|
|
185
|
+
invalidNumberMessage,
|
|
186
|
+
invalidDateMessageProp
|
|
187
|
+
]);
|
|
188
|
+
const handlePick = (0, import_react.useCallback)(
|
|
189
|
+
async (calValue) => {
|
|
190
|
+
if (!calValue.start || submitting) return;
|
|
191
|
+
setDraft((0, import_date_input.formatDate)(calValue.start, dateFormat));
|
|
192
|
+
await commitDate((0, import_editable_cell_utils.toISODate)(calValue.start));
|
|
193
|
+
},
|
|
194
|
+
[dateFormat, submitting, commitDate]
|
|
195
|
+
);
|
|
196
|
+
const handleClearDraft = (0, import_react.useCallback)(() => {
|
|
197
|
+
setDraft("");
|
|
198
|
+
setError(null);
|
|
199
|
+
}, []);
|
|
200
|
+
const handleCancel = (0, import_react.useCallback)(() => {
|
|
201
|
+
if (Array.isArray(value)) {
|
|
202
|
+
setDraft("");
|
|
203
|
+
} else if (type === "date") {
|
|
204
|
+
setDraft(displayFormatted);
|
|
205
|
+
} else {
|
|
206
|
+
setDraft(String(value ?? ""));
|
|
207
|
+
}
|
|
208
|
+
setIsEditing(false);
|
|
209
|
+
setOpen(false);
|
|
210
|
+
setError(null);
|
|
211
|
+
}, [value, type, displayFormatted]);
|
|
212
|
+
const handleKeyDown = (0, import_react.useCallback)(
|
|
213
|
+
(e) => {
|
|
214
|
+
if (e.key === "Enter") {
|
|
215
|
+
e.preventDefault();
|
|
216
|
+
handleCommit();
|
|
217
|
+
} else if (e.key === "Escape") {
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
handleCancel();
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
[handleCommit, handleCancel]
|
|
223
|
+
);
|
|
224
|
+
const editing = forceMode != null || isEditing;
|
|
225
|
+
const shownError = forceMode === "error" ? error ?? { message: saveErrorMessage, severity: "error" } : forceMode === "warning" ? error ?? { message: invalidValueMessage, severity: "warning" } : error;
|
|
226
|
+
const dateHint = import_date_input.FORMAT_SPEC[dateFormat].placeholder;
|
|
227
|
+
const isEmpty = Array.isArray(value) ? value.length === 0 : value === "" || value === null || value === void 0;
|
|
228
|
+
const display = (() => {
|
|
229
|
+
if (isEmpty) return placeholder ?? (type === "date" ? dateHint : "");
|
|
230
|
+
if (format) return format(value);
|
|
231
|
+
if (Array.isArray(value)) {
|
|
232
|
+
if (options) {
|
|
233
|
+
return value.map((v) => options.find((o) => o.value === v)?.label ?? v).join(", ");
|
|
234
|
+
}
|
|
235
|
+
return value.join(", ");
|
|
236
|
+
}
|
|
237
|
+
if (type === "select" && options) {
|
|
238
|
+
return options.find((o) => o.value === String(value))?.label ?? String(value);
|
|
239
|
+
}
|
|
240
|
+
return value;
|
|
241
|
+
})();
|
|
242
|
+
const isMulti = type === "multiselect";
|
|
243
|
+
const isSelect = type === "select";
|
|
244
|
+
const isDate = type === "date";
|
|
245
|
+
const titleText = isEmpty ? placeholder ?? "" : isMulti ? Array.isArray(value) ? (options ?? []).filter((o) => value.includes(o.value)).map((o) => o.label).join(", ") : "" : isSelect ? options?.find((o) => o.value === String(value))?.label ?? String(value) : isDate ? displayFormatted || String(value) : String(value);
|
|
246
|
+
return {
|
|
247
|
+
isEditing,
|
|
248
|
+
setIsEditing,
|
|
249
|
+
draft,
|
|
250
|
+
setDraft,
|
|
251
|
+
submitting,
|
|
252
|
+
setSubmitting,
|
|
253
|
+
error,
|
|
254
|
+
setError,
|
|
255
|
+
open,
|
|
256
|
+
setOpen,
|
|
257
|
+
inputRef,
|
|
258
|
+
wrapRef,
|
|
259
|
+
parsedValue,
|
|
260
|
+
displayFormatted,
|
|
261
|
+
parseDraft,
|
|
262
|
+
commitValue,
|
|
263
|
+
commitDate,
|
|
264
|
+
handleCommit,
|
|
265
|
+
handlePick,
|
|
266
|
+
handleClearDraft,
|
|
267
|
+
handleCancel,
|
|
268
|
+
handleKeyDown,
|
|
269
|
+
editing,
|
|
270
|
+
dateHint,
|
|
271
|
+
isEmpty,
|
|
272
|
+
display,
|
|
273
|
+
isMulti,
|
|
274
|
+
isSelect,
|
|
275
|
+
isDate,
|
|
276
|
+
titleText,
|
|
277
|
+
shownError
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
281
|
+
0 && (module.exports = {
|
|
282
|
+
useEditableCell
|
|
283
|
+
});
|
|
284
|
+
//# sourceMappingURL=use-editable-cell.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/ui/editable-cell/use-editable-cell.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { FORMAT_SPEC, formatDate as formatDateAs, invalidDateMessage, parseDate as parseFormattedDate } from '../date-input';\n\nimport { isEmptyValue, isoToFormatted, parseISODate, toISODate } from './editable-cell-utils';\n\nimport type { CalendarValue } from '../calendar';\nimport type { CellError, EditableCellProps, EditableCellValue } from './editable-cell.types';\n\n/** Keys `EditableCell` defaults before handing the props to the hook and the views. */\nexport type EditableCellDefaultedKey = 'type' | 'dateFormat' | 'searchable' | 'clearable' | 'align' | 'size' | 'required' | 'saveErrorMessage' | 'invalidNumberMessage' | 'invalidValueMessage' | 'clearSelectionLabel' | 'clearDateLabel' | 'clearValueLabel' | 'openCalendarLabel' | 'calendarDialogLabel' | 'addDateLabel';\n\n/** `EditableCellProps` with every default applied — what the hook and the views see. */\nexport type EditableCellResolvedProps = Omit<EditableCellProps, EditableCellDefaultedKey> &\n Required<Pick<EditableCellProps, EditableCellDefaultedKey>>;\n\nexport interface EditableCellViewProps {\n props: EditableCellResolvedProps;\n cell: EditableCellState;\n}\n\nexport type EditableCellState = ReturnType<typeof useEditableCell>;\n\n/**\n * All of EditableCell's state, effects, commit paths and derived display\n * values — everything that is NOT per-type JSX. The three views\n * (`editable-cell-{text,date,select}.tsx`) are hook-free and read this\n * object, so the hook order is fixed here regardless of which view renders.\n */\nexport function useEditableCell(props: EditableCellResolvedProps) {\n const {\n value,\n onCommit,\n options,\n format,\n validate,\n requiredMessage,\n placeholder,\n forceMode,\n invalidDateMessage: invalidDateMessageProp,\n type,\n dateFormat,\n required,\n saveErrorMessage,\n invalidNumberMessage,\n invalidValueMessage,\n } = props;\n const [isEditing, setIsEditing] = useState(false);\n const [draft, setDraft] = useState<string>(() => {\n if (type === 'date') return isoToFormatted(value, dateFormat);\n if (Array.isArray(value)) return '';\n return String(value ?? '');\n });\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<CellError | null>(null);\n const [open, setOpen] = useState(false);\n const inputRef = useRef<HTMLInputElement | null>(null);\n // Anchor for the error popover — the editing wrapper, so the banner hangs\n // under the cell without affecting the table row's layout.\n const wrapRef = useRef<HTMLSpanElement | null>(null);\n\n // Committed date as a Date and in the cell's mask, memoized so the display,\n // tooltip, aria-label, calendar highlight, draft sync, and cancel-reset all\n // share one parse/format instead of each re-running it. Cheap `null`/`''`\n // no-ops for non-date types. Declared before the effects so they can reuse it.\n const parsedValue = useMemo(\n () =>\n type === 'date' && typeof value === 'string' && value\n ? parseISODate(value) ?? parseFormattedDate(value, dateFormat)\n : null,\n [type, value, dateFormat],\n );\n const displayFormatted = useMemo(\n () => (type === 'date' ? isoToFormatted(value, dateFormat) : ''),\n [type, value, dateFormat],\n );\n\n // When the externally-committed value changes (parent state updated, or\n // someone else edited the row), sync the draft — but only when we're\n // NOT mid-edit. Mid-edit syncs would clobber what the user is typing.\n useEffect(() => {\n if (!isEditing) {\n const next = Array.isArray(value)\n ? ''\n : type === 'date'\n ? displayFormatted\n : String(value ?? '');\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional external-value → draft sync, gated to non-editing mode\n setDraft(next);\n }\n }, [value, isEditing, type, displayFormatted]);\n\n // Focus + select-all when entering edit mode. Select-all means typing\n // immediately replaces the value — the most common edit intent — while\n // keyboard navigation (Home/End/arrows) still works to refine.\n useEffect(() => {\n if (isEditing && inputRef.current) {\n inputRef.current.focus();\n inputRef.current.select();\n }\n }, [isEditing]);\n\n // A surfaced problem and the date calendar can't share the anchor, so the\n // calendar is hidden while an error shows. Close it outright (not just via\n // the render gate) so clearing the error later — e.g. the next keystroke's\n // `setError(null)` — doesn't silently reopen a calendar the user dismissed.\n useEffect(() => {\n if (error && type === 'date') {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- close the calendar exactly when a date error appears, so it can't auto-reopen on clear\n setOpen(false);\n }\n }, [error, type]);\n\n const parseDraft = useCallback((): EditableCellValue => {\n // `Number('')` is 0, not NaN — map an empty/whitespace draft to NaN so\n // blur-with-empty hits the \"Enter a number\" boundary instead of silently\n // committing 0.\n if (type === 'number') return draft.trim() === '' ? Number.NaN : Number(draft);\n if (type === 'date') return draft;\n return draft;\n }, [type, draft]);\n\n // Per-type default required message; overridable via `requiredMessage`.\n // (multiselect's own default lives in MultiListbox, which owns that rule.)\n const requiredMsg =\n requiredMessage ?? (type === 'select' ? 'Select an option' : 'Required');\n\n const commitValue = useCallback(\n async (next: EditableCellValue): Promise<boolean> => {\n // Re-entrancy guard lives HERE, not only in each caller's render\n // condition: every commit path funnels through this function, so a new\n // call site can't forget to gate itself (`commitDate` keeps its own\n // early return for the same reason).\n if (submitting) return false;\n // Required is checked before `validate` so consumers get the empty rule\n // for free. Multiselect empties are already blocked upstream by\n // MultiListbox (they never reach here), so this covers the scalar types.\n if (required && isEmptyValue(next)) {\n setError({ message: requiredMsg, severity: 'warning' });\n return false;\n }\n const validationError = validate?.(next);\n if (validationError) {\n setError({ message: validationError, severity: 'warning' });\n return false;\n }\n\n setError(null);\n setSubmitting(true);\n try {\n await onCommit(next);\n setIsEditing(false);\n setOpen(false);\n return true;\n } catch (err) {\n // Error severity: the value was acceptable but saving failed.\n setError({\n message: err instanceof Error ? err.message : saveErrorMessage,\n severity: 'error',\n });\n // Refocus the input so the user can retry without re-entering edit mode.\n requestAnimationFrame(() => inputRef.current?.focus());\n return false;\n } finally {\n setSubmitting(false);\n }\n },\n [submitting, required, requiredMsg, saveErrorMessage, validate, onCommit],\n );\n\n // Shared commit path for both the typed input (handleCommit) and the calendar\n // (handlePick). Guards a re-entrant commit while one is in flight, and skips\n // the consumer's onCommit when nothing changed — comparing normalized ISO on\n // BOTH sides so a formatted seed (or a re-picked day) isn't mistaken for a\n // change — while still running `validate` on the no-op so a required /\n // row-dependent rule still surfaces.\n const commitDate = useCallback(\n async (iso: string) => {\n if (submitting) return;\n const currentIso = parsedValue ? toISODate(parsedValue) : '';\n if (iso === currentIso) {\n const validationError = validate?.(iso);\n if (validationError) {\n setError({ message: validationError, severity: 'warning' });\n return;\n }\n setIsEditing(false);\n setOpen(false);\n setError(null);\n return;\n }\n await commitValue(iso);\n },\n [submitting, parsedValue, validate, commitValue],\n );\n\n const handleCommit = useCallback(async () => {\n const next = parseDraft();\n\n // Number type with a NaN draft is rejected at the parse boundary —\n // EXCEPT when the draft was emptied outright (the ✕, or select-all +\n // Delete): that's an intentional clear, not a typo, so it routes\n // through `commitValue('')` like every other type — `required` blocks\n // it with its own message, an optional cell commits '' and shows its\n // placeholder. Half-typed non-numbers (\"-\", \".\") stay input errors.\n // Warning severity: the input is the problem and the user can fix it.\n if (type === 'number' && Number.isNaN(next)) {\n if (draft.trim() === '') {\n if (String(value ?? '') === '') {\n // Already empty — pure exit, no spurious onCommit (mirrors the\n // unchanged-value no-op below).\n setIsEditing(false);\n setError(null);\n return;\n }\n await commitValue('');\n return;\n }\n setError({ message: invalidNumberMessage, severity: 'warning' });\n return;\n }\n\n // Typed dates parse at the boundary: per the cell's `dateFormat` mask\n // first, canonical ISO as fallback. An emptied draft clears the date\n // (commits \"\"). Unchanged-value / submitting / validation handling all\n // live in the shared `commitDate` so typing and calendar picking behave\n // identically.\n if (type === 'date') {\n const raw = String(next).trim();\n if (raw === '') {\n await commitDate('');\n return;\n }\n const parsed = parseFormattedDate(raw, dateFormat) ?? parseISODate(raw);\n if (!parsed) {\n setError({\n message: invalidDateMessageProp ?? invalidDateMessage(dateFormat),\n severity: 'warning',\n });\n return;\n }\n await commitDate(toISODate(parsed));\n return;\n }\n\n // No-op when value didn't change — exit edit mode without firing\n // the consumer's handler (avoids spurious \"save\" calls on blur).\n // NOTE: unlike the date path in `commitDate` (which re-runs `validate`\n // on an unchanged value so a required / row-dependent rule still\n // surfaces on blur), text/number intentionally skip `validate` here.\n // These cells have no cross-row validity story today, so an unchanged\n // blur is treated as a pure exit; keep the two paths in sync if that\n // assumption ever changes.\n const valueStr = Array.isArray(value) ? '' : String(value ?? '');\n if (String(next) === valueStr) {\n setIsEditing(false);\n setError(null);\n return;\n }\n\n await commitValue(next);\n }, [\n parseDraft,\n type,\n draft,\n dateFormat,\n value,\n commitValue,\n commitDate,\n invalidNumberMessage,\n invalidDateMessageProp,\n ]);\n\n const handlePick = useCallback(\n async (calValue: CalendarValue) => {\n if (!calValue.start || submitting) return;\n setDraft(formatDateAs(calValue.start, dateFormat));\n // Routes through the shared guard: re-picking the already-selected day is\n // a no-op (no spurious onCommit), and a pick can't fire mid-commit.\n await commitDate(toISODate(calValue.start));\n },\n [dateFormat, submitting, commitDate],\n );\n\n // ✕ inside the editing input (text/number/date, gated by `clearable`).\n // Empties the DRAFT only — focus stays in the input (the button swallows\n // its mousedown so the field never blurs) and nothing commits until\n // Enter/blur, so required/validate still guard and Esc still restores.\n const handleClearDraft = useCallback(() => {\n setDraft('');\n setError(null);\n }, []);\n\n const handleCancel = useCallback(() => {\n if (Array.isArray(value)) {\n setDraft('');\n } else if (type === 'date') {\n setDraft(displayFormatted);\n } else {\n setDraft(String(value ?? ''));\n }\n setIsEditing(false);\n setOpen(false);\n setError(null);\n }, [value, type, displayFormatted]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n handleCommit();\n } else if (e.key === 'Escape') {\n e.preventDefault();\n handleCancel();\n }\n },\n [handleCommit, handleCancel],\n );\n\n // `forceMode` (preview-only) renders the input branch without a real\n // click. `warning` / `error` also surface a sample message at that\n // severity so the matching knobs paint. Derived in the render body —\n // deliberately NOT fed into the focus effect above, so a forced preview\n // never steals focus from the rest of the page. Production leaves\n // forceMode unset, so `editing` collapses to the internal `isEditing`.\n const editing = forceMode != null || isEditing;\n const shownError: CellError | null =\n forceMode === 'error'\n ? error ?? { message: saveErrorMessage, severity: 'error' }\n : forceMode === 'warning'\n ? error ?? { message: invalidValueMessage, severity: 'warning' }\n : error;\n\n // Hint shown in the date input — the canonical format pattern for the\n // chosen `dateFormat`. Used as the placeholder when the cell is empty\n // and as the input placeholder in edit mode.\n const dateHint = FORMAT_SPEC[dateFormat].placeholder;\n\n // Compute display value\n const isEmpty = Array.isArray(value)\n ? value.length === 0\n : value === '' || value === null || value === undefined;\n\n const display = (() => {\n // Empty wins over `format`: a cleared cell must read as its placeholder,\n // not as the formatter's rendering of \"\" (e.g. a Tag formatter would\n // paint an empty pill). `format` only ever sees real values.\n if (isEmpty) return placeholder ?? (type === 'date' ? dateHint : '');\n if (format) return format(value);\n if (Array.isArray(value)) {\n // For multiselect: show labels from options if available\n if (options) {\n return value\n .map((v) => options.find((o) => o.value === v)?.label ?? v)\n .join(', ');\n }\n return value.join(', ');\n }\n if (type === 'select' && options) {\n return options.find((o) => o.value === String(value))?.label ?? String(value);\n }\n return value;\n })();\n\n // Plain-text form of the value, fed to the HoverTooltip so a value that's\n // clipped at the cell's max-width is still readable on hover. Best-effort\n // for custom `format` cells — those render arbitrary nodes, so the tooltip\n // falls back to the underlying value rather than extracting text from JSX.\n const isMulti = type === 'multiselect';\n const isSelect = type === 'select';\n const isDate = type === 'date';\n const titleText = isEmpty\n ? placeholder ?? ''\n : isMulti\n ? Array.isArray(value)\n ? (options ?? [])\n .filter((o) => (value as string[]).includes(o.value))\n .map((o) => o.label)\n .join(', ')\n : ''\n : isSelect\n ? (options?.find((o) => o.value === String(value))?.label ?? String(value))\n : isDate\n ? displayFormatted || String(value)\n : String(value);\n\n return {\n isEditing,\n setIsEditing,\n draft,\n setDraft,\n submitting,\n setSubmitting,\n error,\n setError,\n open,\n setOpen,\n inputRef,\n wrapRef,\n parsedValue,\n displayFormatted,\n parseDraft,\n commitValue,\n commitDate,\n handleCommit,\n handlePick,\n handleClearDraft,\n handleCancel,\n handleKeyDown,\n editing,\n dateHint,\n isEmpty,\n display,\n isMulti,\n isSelect,\n isDate,\n titleText,\n shownError,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkE;AAElE,wBAA6G;AAE7G,iCAAsE;AAyB/D,SAAS,gBAAgB,OAAkC;AAChE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAiB,MAAM;AAC/C,QAAI,SAAS,OAAQ,YAAO,2CAAe,OAAO,UAAU;AAC5D,QAAI,MAAM,QAAQ,KAAK,EAAG,QAAO;AACjC,WAAO,OAAO,SAAS,EAAE;AAAA,EAC3B,CAAC;AACD,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAA2B,IAAI;AACzD,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK;AACtC,QAAM,eAAW,qBAAgC,IAAI;AAGrD,QAAM,cAAU,qBAA+B,IAAI;AAMnD,QAAM,kBAAc;AAAA,IAClB,MACE,SAAS,UAAU,OAAO,UAAU,YAAY,YAC5C,yCAAa,KAAK,SAAK,kBAAAA,WAAmB,OAAO,UAAU,IAC3D;AAAA,IACN,CAAC,MAAM,OAAO,UAAU;AAAA,EAC1B;AACA,QAAM,uBAAmB;AAAA,IACvB,MAAO,SAAS,aAAS,2CAAe,OAAO,UAAU,IAAI;AAAA,IAC7D,CAAC,MAAM,OAAO,UAAU;AAAA,EAC1B;AAKA,8BAAU,MAAM;AACd,QAAI,CAAC,WAAW;AACd,YAAM,OAAO,MAAM,QAAQ,KAAK,IAC5B,KACA,SAAS,SACP,mBACA,OAAO,SAAS,EAAE;AAExB,eAAS,IAAI;AAAA,IACf;AAAA,EACF,GAAG,CAAC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAK7C,8BAAU,MAAM;AACd,QAAI,aAAa,SAAS,SAAS;AACjC,eAAS,QAAQ,MAAM;AACvB,eAAS,QAAQ,OAAO;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAMd,8BAAU,MAAM;AACd,QAAI,SAAS,SAAS,QAAQ;AAE5B,cAAQ,KAAK;AAAA,IACf;AAAA,EACF,GAAG,CAAC,OAAO,IAAI,CAAC;AAEhB,QAAM,iBAAa,0BAAY,MAAyB;AAItD,QAAI,SAAS,SAAU,QAAO,MAAM,KAAK,MAAM,KAAK,OAAO,MAAM,OAAO,KAAK;AAC7E,QAAI,SAAS,OAAQ,QAAO;AAC5B,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,KAAK,CAAC;AAIhB,QAAM,cACJ,oBAAoB,SAAS,WAAW,qBAAqB;AAE/D,QAAM,kBAAc;AAAA,IAClB,OAAO,SAA8C;AAKnD,UAAI,WAAY,QAAO;AAIvB,UAAI,gBAAY,yCAAa,IAAI,GAAG;AAClC,iBAAS,EAAE,SAAS,aAAa,UAAU,UAAU,CAAC;AACtD,eAAO;AAAA,MACT;AACA,YAAM,kBAAkB,WAAW,IAAI;AACvC,UAAI,iBAAiB;AACnB,iBAAS,EAAE,SAAS,iBAAiB,UAAU,UAAU,CAAC;AAC1D,eAAO;AAAA,MACT;AAEA,eAAS,IAAI;AACb,oBAAc,IAAI;AAClB,UAAI;AACF,cAAM,SAAS,IAAI;AACnB,qBAAa,KAAK;AAClB,gBAAQ,KAAK;AACb,eAAO;AAAA,MACT,SAAS,KAAK;AAEZ,iBAAS;AAAA,UACP,SAAS,eAAe,QAAQ,IAAI,UAAU;AAAA,UAC9C,UAAU;AAAA,QACZ,CAAC;AAED,8BAAsB,MAAM,SAAS,SAAS,MAAM,CAAC;AACrD,eAAO;AAAA,MACT,UAAE;AACA,sBAAc,KAAK;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,YAAY,UAAU,aAAa,kBAAkB,UAAU,QAAQ;AAAA,EAC1E;AAQA,QAAM,iBAAa;AAAA,IACjB,OAAO,QAAgB;AACrB,UAAI,WAAY;AAChB,YAAM,aAAa,kBAAc,sCAAU,WAAW,IAAI;AAC1D,UAAI,QAAQ,YAAY;AACtB,cAAM,kBAAkB,WAAW,GAAG;AACtC,YAAI,iBAAiB;AACnB,mBAAS,EAAE,SAAS,iBAAiB,UAAU,UAAU,CAAC;AAC1D;AAAA,QACF;AACA,qBAAa,KAAK;AAClB,gBAAQ,KAAK;AACb,iBAAS,IAAI;AACb;AAAA,MACF;AACA,YAAM,YAAY,GAAG;AAAA,IACvB;AAAA,IACA,CAAC,YAAY,aAAa,UAAU,WAAW;AAAA,EACjD;AAEA,QAAM,mBAAe,0BAAY,YAAY;AAC3C,UAAM,OAAO,WAAW;AASxB,QAAI,SAAS,YAAY,OAAO,MAAM,IAAI,GAAG;AAC3C,UAAI,MAAM,KAAK,MAAM,IAAI;AACvB,YAAI,OAAO,SAAS,EAAE,MAAM,IAAI;AAG9B,uBAAa,KAAK;AAClB,mBAAS,IAAI;AACb;AAAA,QACF;AACA,cAAM,YAAY,EAAE;AACpB;AAAA,MACF;AACA,eAAS,EAAE,SAAS,sBAAsB,UAAU,UAAU,CAAC;AAC/D;AAAA,IACF;AAOA,QAAI,SAAS,QAAQ;AACnB,YAAM,MAAM,OAAO,IAAI,EAAE,KAAK;AAC9B,UAAI,QAAQ,IAAI;AACd,cAAM,WAAW,EAAE;AACnB;AAAA,MACF;AACA,YAAM,aAAS,kBAAAA,WAAmB,KAAK,UAAU,SAAK,yCAAa,GAAG;AACtE,UAAI,CAAC,QAAQ;AACX,iBAAS;AAAA,UACP,SAAS,8BAA0B,sCAAmB,UAAU;AAAA,UAChE,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AACA,YAAM,eAAW,sCAAU,MAAM,CAAC;AAClC;AAAA,IACF;AAUA,UAAM,WAAW,MAAM,QAAQ,KAAK,IAAI,KAAK,OAAO,SAAS,EAAE;AAC/D,QAAI,OAAO,IAAI,MAAM,UAAU;AAC7B,mBAAa,KAAK;AAClB,eAAS,IAAI;AACb;AAAA,IACF;AAEA,UAAM,YAAY,IAAI;AAAA,EACxB,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,iBAAa;AAAA,IACjB,OAAO,aAA4B;AACjC,UAAI,CAAC,SAAS,SAAS,WAAY;AACnC,mBAAS,kBAAAC,YAAa,SAAS,OAAO,UAAU,CAAC;AAGjD,YAAM,eAAW,sCAAU,SAAS,KAAK,CAAC;AAAA,IAC5C;AAAA,IACA,CAAC,YAAY,YAAY,UAAU;AAAA,EACrC;AAMA,QAAM,uBAAmB,0BAAY,MAAM;AACzC,aAAS,EAAE;AACX,aAAS,IAAI;AAAA,EACf,GAAG,CAAC,CAAC;AAEL,QAAM,mBAAe,0BAAY,MAAM;AACrC,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,eAAS,EAAE;AAAA,IACb,WAAW,SAAS,QAAQ;AAC1B,eAAS,gBAAgB;AAAA,IAC3B,OAAO;AACL,eAAS,OAAO,SAAS,EAAE,CAAC;AAAA,IAC9B;AACA,iBAAa,KAAK;AAClB,YAAQ,KAAK;AACb,aAAS,IAAI;AAAA,EACf,GAAG,CAAC,OAAO,MAAM,gBAAgB,CAAC;AAElC,QAAM,oBAAgB;AAAA,IACpB,CAAC,MAA6C;AAC5C,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AACjB,qBAAa;AAAA,MACf,WAAW,EAAE,QAAQ,UAAU;AAC7B,UAAE,eAAe;AACjB,qBAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAQA,QAAM,UAAU,aAAa,QAAQ;AACrC,QAAM,aACJ,cAAc,UACV,SAAS,EAAE,SAAS,kBAAkB,UAAU,QAAQ,IACxD,cAAc,YACZ,SAAS,EAAE,SAAS,qBAAqB,UAAU,UAAU,IAC7D;AAKR,QAAM,WAAW,8BAAY,UAAU,EAAE;AAGzC,QAAM,UAAU,MAAM,QAAQ,KAAK,IAC/B,MAAM,WAAW,IACjB,UAAU,MAAM,UAAU,QAAQ,UAAU;AAEhD,QAAM,WAAW,MAAM;AAIrB,QAAI,QAAS,QAAO,gBAAgB,SAAS,SAAS,WAAW;AACjE,QAAI,OAAQ,QAAO,OAAO,KAAK;AAC/B,QAAI,MAAM,QAAQ,KAAK,GAAG;AAExB,UAAI,SAAS;AACX,eAAO,MACJ,IAAI,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC,EACzD,KAAK,IAAI;AAAA,MACd;AACA,aAAO,MAAM,KAAK,IAAI;AAAA,IACxB;AACA,QAAI,SAAS,YAAY,SAAS;AAChC,aAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,OAAO,KAAK,CAAC,GAAG,SAAS,OAAO,KAAK;AAAA,IAC9E;AACA,WAAO;AAAA,EACT,GAAG;AAMH,QAAM,UAAU,SAAS;AACzB,QAAM,WAAW,SAAS;AAC1B,QAAM,SAAS,SAAS;AACxB,QAAM,YAAY,UACd,eAAe,KACf,UACE,MAAM,QAAQ,KAAK,KAChB,WAAW,CAAC,GACV,OAAO,CAAC,MAAO,MAAmB,SAAS,EAAE,KAAK,CAAC,EACnD,IAAI,CAAC,MAAM,EAAE,KAAK,EAClB,KAAK,IAAI,IACZ,KACF,WACG,SAAS,KAAK,CAAC,MAAM,EAAE,UAAU,OAAO,KAAK,CAAC,GAAG,SAAS,OAAO,KAAK,IACvE,SACE,oBAAoB,OAAO,KAAK,IAChC,OAAO,KAAK;AAEtB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":["parseFormattedDate","formatDateAs"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { CalendarValue } from '../calendar/index.js';
|
|
2
|
+
import type { CellError, EditableCellProps, EditableCellValue } from './editable-cell.types.js';
|
|
3
|
+
/** Keys `EditableCell` defaults before handing the props to the hook and the views. */
|
|
4
|
+
export type EditableCellDefaultedKey = 'type' | 'dateFormat' | 'searchable' | 'clearable' | 'align' | 'size' | 'required' | 'saveErrorMessage' | 'invalidNumberMessage' | 'invalidValueMessage' | 'clearSelectionLabel' | 'clearDateLabel' | 'clearValueLabel' | 'openCalendarLabel' | 'calendarDialogLabel' | 'addDateLabel';
|
|
5
|
+
/** `EditableCellProps` with every default applied — what the hook and the views see. */
|
|
6
|
+
export type EditableCellResolvedProps = Omit<EditableCellProps, EditableCellDefaultedKey> & Required<Pick<EditableCellProps, EditableCellDefaultedKey>>;
|
|
7
|
+
export interface EditableCellViewProps {
|
|
8
|
+
props: EditableCellResolvedProps;
|
|
9
|
+
cell: EditableCellState;
|
|
10
|
+
}
|
|
11
|
+
export type EditableCellState = ReturnType<typeof useEditableCell>;
|
|
12
|
+
/**
|
|
13
|
+
* All of EditableCell's state, effects, commit paths and derived display
|
|
14
|
+
* values — everything that is NOT per-type JSX. The three views
|
|
15
|
+
* (`editable-cell-{text,date,select}.tsx`) are hook-free and read this
|
|
16
|
+
* object, so the hook order is fixed here regardless of which view renders.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useEditableCell(props: EditableCellResolvedProps): {
|
|
19
|
+
isEditing: boolean;
|
|
20
|
+
setIsEditing: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
21
|
+
draft: string;
|
|
22
|
+
setDraft: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
23
|
+
submitting: boolean;
|
|
24
|
+
setSubmitting: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
25
|
+
error: CellError | null;
|
|
26
|
+
setError: import("react").Dispatch<import("react").SetStateAction<CellError | null>>;
|
|
27
|
+
open: boolean;
|
|
28
|
+
setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
29
|
+
inputRef: import("react").RefObject<HTMLInputElement | null>;
|
|
30
|
+
wrapRef: import("react").RefObject<HTMLSpanElement | null>;
|
|
31
|
+
parsedValue: Date | null;
|
|
32
|
+
displayFormatted: string;
|
|
33
|
+
parseDraft: () => EditableCellValue;
|
|
34
|
+
commitValue: (next: EditableCellValue) => Promise<boolean>;
|
|
35
|
+
commitDate: (iso: string) => Promise<void>;
|
|
36
|
+
handleCommit: () => Promise<void>;
|
|
37
|
+
handlePick: (calValue: CalendarValue) => Promise<void>;
|
|
38
|
+
handleClearDraft: () => void;
|
|
39
|
+
handleCancel: () => void;
|
|
40
|
+
handleKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
41
|
+
editing: boolean;
|
|
42
|
+
dateHint: string;
|
|
43
|
+
isEmpty: boolean;
|
|
44
|
+
display: import("react").ReactNode;
|
|
45
|
+
isMulti: boolean;
|
|
46
|
+
isSelect: boolean;
|
|
47
|
+
isDate: boolean;
|
|
48
|
+
titleText: string;
|
|
49
|
+
shownError: CellError | null;
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=use-editable-cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-editable-cell.d.ts","sourceRoot":"","sources":["../../../src/ui/editable-cell/use-editable-cell.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,uFAAuF;AACvF,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,cAAc,CAAC;AAE9T,wFAAwF;AACxF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,GACvF,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,yBAAyB,CAAC;IACjC,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,yBAAyB;;;;;;;;;;;;;;;sBAoF3B,iBAAiB;wBAerC,iBAAiB,KAAG,OAAO,CAAC,OAAO,CAAC;sBAiDrC,MAAM;;2BAiGD,aAAa;;;uBAiC1B,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC;;;;;;;;;;EAgH5C"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { FORMAT_SPEC, formatDate as formatDateAs, invalidDateMessage, parseDate as parseFormattedDate } from "../date-input/index.js";
|
|
3
|
+
import { isEmptyValue, isoToFormatted, parseISODate, toISODate } from "./editable-cell-utils.js";
|
|
4
|
+
function useEditableCell(props) {
|
|
5
|
+
const {
|
|
6
|
+
value,
|
|
7
|
+
onCommit,
|
|
8
|
+
options,
|
|
9
|
+
format,
|
|
10
|
+
validate,
|
|
11
|
+
requiredMessage,
|
|
12
|
+
placeholder,
|
|
13
|
+
forceMode,
|
|
14
|
+
invalidDateMessage: invalidDateMessageProp,
|
|
15
|
+
type,
|
|
16
|
+
dateFormat,
|
|
17
|
+
required,
|
|
18
|
+
saveErrorMessage,
|
|
19
|
+
invalidNumberMessage,
|
|
20
|
+
invalidValueMessage
|
|
21
|
+
} = props;
|
|
22
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
23
|
+
const [draft, setDraft] = useState(() => {
|
|
24
|
+
if (type === "date") return isoToFormatted(value, dateFormat);
|
|
25
|
+
if (Array.isArray(value)) return "";
|
|
26
|
+
return String(value ?? "");
|
|
27
|
+
});
|
|
28
|
+
const [submitting, setSubmitting] = useState(false);
|
|
29
|
+
const [error, setError] = useState(null);
|
|
30
|
+
const [open, setOpen] = useState(false);
|
|
31
|
+
const inputRef = useRef(null);
|
|
32
|
+
const wrapRef = useRef(null);
|
|
33
|
+
const parsedValue = useMemo(
|
|
34
|
+
() => type === "date" && typeof value === "string" && value ? parseISODate(value) ?? parseFormattedDate(value, dateFormat) : null,
|
|
35
|
+
[type, value, dateFormat]
|
|
36
|
+
);
|
|
37
|
+
const displayFormatted = useMemo(
|
|
38
|
+
() => type === "date" ? isoToFormatted(value, dateFormat) : "",
|
|
39
|
+
[type, value, dateFormat]
|
|
40
|
+
);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!isEditing) {
|
|
43
|
+
const next = Array.isArray(value) ? "" : type === "date" ? displayFormatted : String(value ?? "");
|
|
44
|
+
setDraft(next);
|
|
45
|
+
}
|
|
46
|
+
}, [value, isEditing, type, displayFormatted]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (isEditing && inputRef.current) {
|
|
49
|
+
inputRef.current.focus();
|
|
50
|
+
inputRef.current.select();
|
|
51
|
+
}
|
|
52
|
+
}, [isEditing]);
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
if (error && type === "date") {
|
|
55
|
+
setOpen(false);
|
|
56
|
+
}
|
|
57
|
+
}, [error, type]);
|
|
58
|
+
const parseDraft = useCallback(() => {
|
|
59
|
+
if (type === "number") return draft.trim() === "" ? Number.NaN : Number(draft);
|
|
60
|
+
if (type === "date") return draft;
|
|
61
|
+
return draft;
|
|
62
|
+
}, [type, draft]);
|
|
63
|
+
const requiredMsg = requiredMessage ?? (type === "select" ? "Select an option" : "Required");
|
|
64
|
+
const commitValue = useCallback(
|
|
65
|
+
async (next) => {
|
|
66
|
+
if (submitting) return false;
|
|
67
|
+
if (required && isEmptyValue(next)) {
|
|
68
|
+
setError({ message: requiredMsg, severity: "warning" });
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const validationError = validate?.(next);
|
|
72
|
+
if (validationError) {
|
|
73
|
+
setError({ message: validationError, severity: "warning" });
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
setError(null);
|
|
77
|
+
setSubmitting(true);
|
|
78
|
+
try {
|
|
79
|
+
await onCommit(next);
|
|
80
|
+
setIsEditing(false);
|
|
81
|
+
setOpen(false);
|
|
82
|
+
return true;
|
|
83
|
+
} catch (err) {
|
|
84
|
+
setError({
|
|
85
|
+
message: err instanceof Error ? err.message : saveErrorMessage,
|
|
86
|
+
severity: "error"
|
|
87
|
+
});
|
|
88
|
+
requestAnimationFrame(() => inputRef.current?.focus());
|
|
89
|
+
return false;
|
|
90
|
+
} finally {
|
|
91
|
+
setSubmitting(false);
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
[submitting, required, requiredMsg, saveErrorMessage, validate, onCommit]
|
|
95
|
+
);
|
|
96
|
+
const commitDate = useCallback(
|
|
97
|
+
async (iso) => {
|
|
98
|
+
if (submitting) return;
|
|
99
|
+
const currentIso = parsedValue ? toISODate(parsedValue) : "";
|
|
100
|
+
if (iso === currentIso) {
|
|
101
|
+
const validationError = validate?.(iso);
|
|
102
|
+
if (validationError) {
|
|
103
|
+
setError({ message: validationError, severity: "warning" });
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
setIsEditing(false);
|
|
107
|
+
setOpen(false);
|
|
108
|
+
setError(null);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
await commitValue(iso);
|
|
112
|
+
},
|
|
113
|
+
[submitting, parsedValue, validate, commitValue]
|
|
114
|
+
);
|
|
115
|
+
const handleCommit = useCallback(async () => {
|
|
116
|
+
const next = parseDraft();
|
|
117
|
+
if (type === "number" && Number.isNaN(next)) {
|
|
118
|
+
if (draft.trim() === "") {
|
|
119
|
+
if (String(value ?? "") === "") {
|
|
120
|
+
setIsEditing(false);
|
|
121
|
+
setError(null);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
await commitValue("");
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
setError({ message: invalidNumberMessage, severity: "warning" });
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (type === "date") {
|
|
131
|
+
const raw = String(next).trim();
|
|
132
|
+
if (raw === "") {
|
|
133
|
+
await commitDate("");
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const parsed = parseFormattedDate(raw, dateFormat) ?? parseISODate(raw);
|
|
137
|
+
if (!parsed) {
|
|
138
|
+
setError({
|
|
139
|
+
message: invalidDateMessageProp ?? invalidDateMessage(dateFormat),
|
|
140
|
+
severity: "warning"
|
|
141
|
+
});
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
await commitDate(toISODate(parsed));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const valueStr = Array.isArray(value) ? "" : String(value ?? "");
|
|
148
|
+
if (String(next) === valueStr) {
|
|
149
|
+
setIsEditing(false);
|
|
150
|
+
setError(null);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
await commitValue(next);
|
|
154
|
+
}, [
|
|
155
|
+
parseDraft,
|
|
156
|
+
type,
|
|
157
|
+
draft,
|
|
158
|
+
dateFormat,
|
|
159
|
+
value,
|
|
160
|
+
commitValue,
|
|
161
|
+
commitDate,
|
|
162
|
+
invalidNumberMessage,
|
|
163
|
+
invalidDateMessageProp
|
|
164
|
+
]);
|
|
165
|
+
const handlePick = useCallback(
|
|
166
|
+
async (calValue) => {
|
|
167
|
+
if (!calValue.start || submitting) return;
|
|
168
|
+
setDraft(formatDateAs(calValue.start, dateFormat));
|
|
169
|
+
await commitDate(toISODate(calValue.start));
|
|
170
|
+
},
|
|
171
|
+
[dateFormat, submitting, commitDate]
|
|
172
|
+
);
|
|
173
|
+
const handleClearDraft = useCallback(() => {
|
|
174
|
+
setDraft("");
|
|
175
|
+
setError(null);
|
|
176
|
+
}, []);
|
|
177
|
+
const handleCancel = useCallback(() => {
|
|
178
|
+
if (Array.isArray(value)) {
|
|
179
|
+
setDraft("");
|
|
180
|
+
} else if (type === "date") {
|
|
181
|
+
setDraft(displayFormatted);
|
|
182
|
+
} else {
|
|
183
|
+
setDraft(String(value ?? ""));
|
|
184
|
+
}
|
|
185
|
+
setIsEditing(false);
|
|
186
|
+
setOpen(false);
|
|
187
|
+
setError(null);
|
|
188
|
+
}, [value, type, displayFormatted]);
|
|
189
|
+
const handleKeyDown = useCallback(
|
|
190
|
+
(e) => {
|
|
191
|
+
if (e.key === "Enter") {
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
handleCommit();
|
|
194
|
+
} else if (e.key === "Escape") {
|
|
195
|
+
e.preventDefault();
|
|
196
|
+
handleCancel();
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
[handleCommit, handleCancel]
|
|
200
|
+
);
|
|
201
|
+
const editing = forceMode != null || isEditing;
|
|
202
|
+
const shownError = forceMode === "error" ? error ?? { message: saveErrorMessage, severity: "error" } : forceMode === "warning" ? error ?? { message: invalidValueMessage, severity: "warning" } : error;
|
|
203
|
+
const dateHint = FORMAT_SPEC[dateFormat].placeholder;
|
|
204
|
+
const isEmpty = Array.isArray(value) ? value.length === 0 : value === "" || value === null || value === void 0;
|
|
205
|
+
const display = (() => {
|
|
206
|
+
if (isEmpty) return placeholder ?? (type === "date" ? dateHint : "");
|
|
207
|
+
if (format) return format(value);
|
|
208
|
+
if (Array.isArray(value)) {
|
|
209
|
+
if (options) {
|
|
210
|
+
return value.map((v) => options.find((o) => o.value === v)?.label ?? v).join(", ");
|
|
211
|
+
}
|
|
212
|
+
return value.join(", ");
|
|
213
|
+
}
|
|
214
|
+
if (type === "select" && options) {
|
|
215
|
+
return options.find((o) => o.value === String(value))?.label ?? String(value);
|
|
216
|
+
}
|
|
217
|
+
return value;
|
|
218
|
+
})();
|
|
219
|
+
const isMulti = type === "multiselect";
|
|
220
|
+
const isSelect = type === "select";
|
|
221
|
+
const isDate = type === "date";
|
|
222
|
+
const titleText = isEmpty ? placeholder ?? "" : isMulti ? Array.isArray(value) ? (options ?? []).filter((o) => value.includes(o.value)).map((o) => o.label).join(", ") : "" : isSelect ? options?.find((o) => o.value === String(value))?.label ?? String(value) : isDate ? displayFormatted || String(value) : String(value);
|
|
223
|
+
return {
|
|
224
|
+
isEditing,
|
|
225
|
+
setIsEditing,
|
|
226
|
+
draft,
|
|
227
|
+
setDraft,
|
|
228
|
+
submitting,
|
|
229
|
+
setSubmitting,
|
|
230
|
+
error,
|
|
231
|
+
setError,
|
|
232
|
+
open,
|
|
233
|
+
setOpen,
|
|
234
|
+
inputRef,
|
|
235
|
+
wrapRef,
|
|
236
|
+
parsedValue,
|
|
237
|
+
displayFormatted,
|
|
238
|
+
parseDraft,
|
|
239
|
+
commitValue,
|
|
240
|
+
commitDate,
|
|
241
|
+
handleCommit,
|
|
242
|
+
handlePick,
|
|
243
|
+
handleClearDraft,
|
|
244
|
+
handleCancel,
|
|
245
|
+
handleKeyDown,
|
|
246
|
+
editing,
|
|
247
|
+
dateHint,
|
|
248
|
+
isEmpty,
|
|
249
|
+
display,
|
|
250
|
+
isMulti,
|
|
251
|
+
isSelect,
|
|
252
|
+
isDate,
|
|
253
|
+
titleText,
|
|
254
|
+
shownError
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
export {
|
|
258
|
+
useEditableCell
|
|
259
|
+
};
|
|
260
|
+
//# sourceMappingURL=use-editable-cell.js.map
|