themelia-react-ui 2.0.5 → 2.0.6
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 +76 -0
- package/MIGRATION.md +119 -0
- package/README.md +13 -6
- package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
- package/dist/accordion-0tQUZ20r.js.map +1 -0
- package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
- package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
- package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
- package/dist/ai-artifact-CGGpQryR.js.map +1 -0
- package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
- package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
- package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
- package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
- package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
- package/dist/auth-B0girIk_.js.map +1 -0
- package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
- package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
- package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
- package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +4 -4
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +8 -8
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +6 -6
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +1 -1
- package/dist/base/repeaters.js +195 -188
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +7 -7
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +5 -5
- package/dist/base/spinner.js.map +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +1 -1
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
- package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
- package/dist/blocks/admin.js +17 -17
- package/dist/blocks/ai.js +227 -221
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +424 -449
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +225 -220
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
- package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
- package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
- package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
- package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
- package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
- package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
- package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
- package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
- package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
- package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
- package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
- package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
- package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
- package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
- package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
- package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
- package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
- package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
- package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
- package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
- package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
- package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
- package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
- package/dist/combobox-C2JiSQPc.js +915 -0
- package/dist/combobox-C2JiSQPc.js.map +1 -0
- package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
- package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
- package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
- package/dist/comments-BsgErEqd.js.map +1 -0
- package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
- package/dist/components/base/combobox/combobox-field.d.ts +2 -2
- package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
- package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
- package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
- package/dist/components/base/feedback/state-display.d.ts +5 -1
- package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
- package/dist/components/base/forms/form-field.d.ts +7 -2
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
- package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
- package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
- package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
- package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
- package/dist/components/base/navigation/language-switcher.d.ts +12 -4
- package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
- package/dist/components/base/sidebar/sidebar.d.ts +2 -0
- package/dist/components/base/upload/avatar-upload.d.ts +2 -1
- package/dist/components/base/upload/image-upload.d.ts +2 -1
- package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
- package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
- package/dist/components/blocks/analytics/types.d.ts +2 -2
- package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
- package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
- package/dist/components/features/activities/activities.types.d.ts +18 -11
- package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
- package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
- package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
- package/dist/components/features/combobox/combobox.d.ts +2 -2
- package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
- package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
- package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
- package/dist/components/features/combobox/types.d.ts +37 -8
- package/dist/components/features/email-composer/types.d.ts +3 -1
- package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
- package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
- package/dist/components/features/filters/filters.types.d.ts +3 -3
- package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
- package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
- package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
- package/dist/components/features/media-library/media-library.types.d.ts +36 -8
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
- package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
- package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
- package/dist/components/features/products/products.types.d.ts +2 -2
- package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
- package/dist/components/features/resource/resource.d.ts +1 -1
- package/dist/components/features/resource/resource.types.d.ts +2 -0
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
- package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
- package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
- package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
- package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/index.d.ts +1 -0
- package/dist/components/features/table/table-body.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +6 -3
- package/dist/components/features/table/table.strings.d.ts +3 -0
- package/dist/components/features/table/table.types.d.ts +17 -1
- package/dist/components/layout/header/header.types.d.ts +3 -2
- package/dist/components/layout/layout.types.d.ts +5 -3
- package/dist/components/layout/navigation/side-nav.d.ts +3 -2
- package/dist/components/layout/normalize-layout-path.d.ts +1 -0
- package/dist/components/layout/settings/settings.d.ts +1 -1
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
- package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
- package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
- package/dist/components/primitives/link.d.ts +3 -2
- package/dist/components/primitives/money.d.ts +1 -1
- package/dist/components/primitives/number.d.ts +1 -1
- package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
- package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
- package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
- package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
- package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
- package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
- package/dist/data-display-Cmj-xZYl.js.map +1 -0
- package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
- package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
- package/dist/date-picker-CyQlFYsP.js +1617 -0
- package/dist/date-picker-CyQlFYsP.js.map +1 -0
- package/dist/date-pickers-tj2MXmXd.js +185 -0
- package/dist/date-pickers-tj2MXmXd.js.map +1 -0
- package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
- package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
- package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
- package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
- package/dist/features/activities.js +283 -270
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +40 -27
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +126 -126
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +9 -9
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +10 -10
- package/dist/features/email-composer.js +24 -19
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +129 -125
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +2 -2
- package/dist/features/global-search.js +16 -20
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +18 -28
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map/style.css +15 -0
- package/dist/features/map.js +331 -314
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +1044 -866
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +2 -2
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +978 -964
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +159 -152
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +74 -71
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +28 -19
- package/dist/features/rich-text-editor.js.map +1 -1
- package/dist/features/schema-form.js +297 -256
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +57 -50
- package/dist/features/suggestions.js.map +1 -1
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +400 -399
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-Dzo1xtAU.js +246 -0
- package/dist/feedback-Dzo1xtAU.js.map +1 -0
- package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
- package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
- package/dist/field-control-attributes-B6i335wr.js +18 -0
- package/dist/field-control-attributes-B6i335wr.js.map +1 -0
- package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
- package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
- package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
- package/dist/filters-Dl80yYtN.js.map +1 -0
- package/dist/form-field-CAPdwdnZ.js +74 -0
- package/dist/form-field-CAPdwdnZ.js.map +1 -0
- package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
- package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
- package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
- package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
- package/dist/forms-numeric-CwjQJe-O.js +991 -0
- package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
- package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
- package/dist/header-ZIIsRKxP.js.map +1 -0
- package/dist/hooks/use-files.d.ts +2 -0
- package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
- package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
- package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
- package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
- package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
- package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
- package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
- package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
- package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
- package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
- package/dist/item-FfWnaYST.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +1 -1
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +11 -11
- package/dist/layout.types-E_GAApzO.js +30 -0
- package/dist/layout.types-E_GAApzO.js.map +1 -0
- package/dist/lib/field-control-attributes.d.ts +11 -0
- package/dist/lib/field-state-recipes.d.ts +2 -0
- package/dist/lib/format.d.ts +1 -0
- package/dist/lib/surface-recipes.d.ts +1 -1
- package/dist/lib/token-merge.generated.d.ts +6 -6
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
- package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
- package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
- package/dist/mentions-qOnedSt4.js.map +1 -0
- package/dist/message-BJHnn43M.js +135 -0
- package/dist/message-BJHnn43M.js.map +1 -0
- package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
- package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
- package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
- package/dist/navigation-BgtPJAhi.js.map +1 -0
- package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
- package/dist/navigation-Bt-v7rWP.js.map +1 -0
- package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
- package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
- package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
- package/dist/number-CYqBcrSj.js.map +1 -0
- package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
- package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
- package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
- package/dist/overlays-CC8zI3Du.js.map +1 -0
- package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
- package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
- package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
- package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
- package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
- package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
- package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
- package/dist/popover-k8TdUcAt.js.map +1 -0
- package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
- package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
- package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
- package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
- package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
- package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
- package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
- package/dist/primitives-BkkQjYl7.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
- package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
- package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
- package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
- package/dist/rich-text-BnTzZjIo.js +45 -0
- package/dist/rich-text-BnTzZjIo.js.map +1 -0
- package/dist/rich-text-editor-CAurDwT5.js +1273 -0
- package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
- package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
- package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
- package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
- package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
- package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
- package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
- package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
- package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
- package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
- package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
- package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/settings-DZPHgpx4.js +155 -0
- package/dist/settings-DZPHgpx4.js.map +1 -0
- package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
- package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
- package/dist/sidebar-C8BnDwTH.js +709 -0
- package/dist/sidebar-C8BnDwTH.js.map +1 -0
- package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
- package/dist/sidebar-CmD6a-HK.js.map +1 -0
- package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
- package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
- package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
- package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
- package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
- package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
- package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
- package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
- package/dist/table-CBonSdTp.js.map +1 -0
- package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
- package/dist/table-CXSPHH25.js.map +1 -0
- package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
- package/dist/tabs-C4Kr_hCr.js.map +1 -0
- package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
- package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
- package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
- package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
- package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
- package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
- package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
- package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
- package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
- package/dist/typography.js +1 -1
- package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
- package/dist/upload-Hdm5gObf.js.map +1 -0
- package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
- package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
- package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
- package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
- package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
- package/dist/utils-DhuoqFy4.js.map +1 -0
- package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
- package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
- package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
- package/dist/value-typography-uSzzG9Gf.js.map +1 -0
- package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
- package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
- package/docs/consumer-skill/examples/edit.tsx +3 -3
- package/docs/consumer-skill/references/agents-md.md +19 -19
- package/docs/consumer-skill/references/analytics.md +15 -0
- package/docs/consumer-skill/references/component-contracts.json +14724 -13057
- package/docs/consumer-skill/references/composition.md +21 -4
- package/docs/consumer-skill/references/design-contract.md +1 -0
- package/docs/consumer-skill/references/installation.md +51 -8
- package/docs/consumer-skill/references/integration.md +24 -1
- package/docs/consumer-skill/references/public-api.json +172 -34
- package/docs/consumer-skill/references/review.md +51 -11
- package/docs/consumer-skill/references/rhf-workflows.md +72 -0
- package/docs/consumer-skill/references/theming.md +7 -2
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
- package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
- package/package.json +4 -2
- package/templates/admin-shell-template.tsx +1 -2
- package/templates/customers-template.tsx +18 -16
- package/dist/accordion-B9MHG0cT.js.map +0 -1
- package/dist/ai-artifact-C58tQcBy.js.map +0 -1
- package/dist/auth-DTkkshS8.js.map +0 -1
- package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
- package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
- package/dist/combobox-BwzoXFSG.js +0 -884
- package/dist/combobox-BwzoXFSG.js.map +0 -1
- package/dist/comments-Dmpp0YIc.js.map +0 -1
- package/dist/data-display-BdgCAw8T.js.map +0 -1
- package/dist/date-picker-RlIzKom_.js +0 -1551
- package/dist/date-picker-RlIzKom_.js.map +0 -1
- package/dist/date-pickers-DY-CpXS1.js +0 -179
- package/dist/date-pickers-DY-CpXS1.js.map +0 -1
- package/dist/feedback-Dm4izqFn.js +0 -240
- package/dist/feedback-Dm4izqFn.js.map +0 -1
- package/dist/filters-DzgSJpMK.js.map +0 -1
- package/dist/form-field-BriWAXyg.js +0 -63
- package/dist/form-field-BriWAXyg.js.map +0 -1
- package/dist/forms-numeric-DIhghX1Q.js +0 -910
- package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
- package/dist/header-DMMxG__r.js.map +0 -1
- package/dist/item-DjCcM18E.js.map +0 -1
- package/dist/layout.types-Cn7aUzJp.js +0 -20
- package/dist/layout.types-Cn7aUzJp.js.map +0 -1
- package/dist/mentions-0_4nWuI-.js.map +0 -1
- package/dist/message-g8p7eVtN.js +0 -128
- package/dist/message-g8p7eVtN.js.map +0 -1
- package/dist/navigation-C90-oQFq.js.map +0 -1
- package/dist/navigation-DaRjthVk.js.map +0 -1
- package/dist/number-CRU3kGuk.js.map +0 -1
- package/dist/overlays-BSgCtM2v.js.map +0 -1
- package/dist/popover-B85RenIl.js.map +0 -1
- package/dist/primitives-ByWgGUgt.js.map +0 -1
- package/dist/rich-text-Dth5E882.js +0 -78
- package/dist/rich-text-Dth5E882.js.map +0 -1
- package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
- package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
- package/dist/safe-image-src-C6kQSMBZ.js +0 -17
- package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
- package/dist/sanitize-html-DsQmI48u.js.map +0 -1
- package/dist/settings-Bar5wiSo.js +0 -167
- package/dist/settings-Bar5wiSo.js.map +0 -1
- package/dist/sidebar-D-JYMMbY.js +0 -686
- package/dist/sidebar-D-JYMMbY.js.map +0 -1
- package/dist/sidebar-f9gRWXIR.js.map +0 -1
- package/dist/table-B4TE7iOV.js.map +0 -1
- package/dist/table-CFOWY9pQ.js.map +0 -1
- package/dist/tabs-e7ko9S2o.js.map +0 -1
- package/dist/upload-BOW6U2tI.js.map +0 -1
- package/dist/utils-B6kKb8jB.js.map +0 -1
- package/dist/value-typography-uAmWUAL1.js.map +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type ComponentProps } from 'react';
|
|
2
2
|
import { PopoverContent } from '../../../base/popover';
|
|
3
|
-
import { type FilterConfig, type FilterTriggerSource } from '../filters.types';
|
|
3
|
+
import { type FilterConfig, type FilterOperator, type FilterTriggerSource } from '../filters.types';
|
|
4
4
|
export interface FilterPopoverContentProps {
|
|
5
5
|
/** Which filter the popover is currently editing. */
|
|
6
6
|
activeFilterInPopover: FilterConfig | null;
|
|
7
|
+
/** Active operator when the caller already owns the displayed selection. */
|
|
8
|
+
operator?: FilterOperator;
|
|
7
9
|
/** Filters the user may add. */
|
|
8
10
|
availableFilters: FilterConfig[];
|
|
9
11
|
/** Filters currently applied. */
|
|
@@ -33,4 +35,4 @@ export interface FilterPopoverContentProps {
|
|
|
33
35
|
* The component is used to wrap filter content in a consistent
|
|
34
36
|
* popover interface across different filter types.
|
|
35
37
|
*/
|
|
36
|
-
export declare function FilterPopoverContent({ activeFilterInPopover, availableFilters, activeFilters, getFilterValue, setFilterValue, onFilterSelect, onBackToFilterList, onClose, triggerSource, finalFocus, }: FilterPopoverContentProps): import("react").JSX.Element;
|
|
38
|
+
export declare function FilterPopoverContent({ activeFilterInPopover, operator, availableFilters, activeFilters, getFilterValue, setFilterValue, onFilterSelect, onBackToFilterList, onClose, triggerSource, finalFocus, }: FilterPopoverContentProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FilterConfig, FilterOperator, FilterTriggerSource } from '../filters.types';
|
|
2
|
+
interface RangeFilterContentProps {
|
|
3
|
+
filter: FilterConfig;
|
|
4
|
+
operator: FilterOperator;
|
|
5
|
+
value: string[];
|
|
6
|
+
onFilterChange: (value: string[]) => void;
|
|
7
|
+
onBackToFilterList: () => void;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
triggerSource: FilterTriggerSource;
|
|
10
|
+
}
|
|
11
|
+
export declare function RangeFilterContent({ filter, operator, value, onFilterChange, onBackToFilterList, onClose, triggerSource }: RangeFilterContentProps): import("react").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { CascaderNode } from '../../../base/cascader';
|
|
3
|
-
import type { FilterConfig, FilterDependency, FilterOption } from '../filters.types';
|
|
3
|
+
import type { FilterConfig, FilterDependency, FilterOperator, FilterOption } from '../filters.types';
|
|
4
|
+
export declare function getRangeBounds(value: readonly string[], operator?: FilterOperator): [min: string, max: string];
|
|
5
|
+
export declare function isCompleteDateRange(value: readonly string[]): boolean;
|
|
6
|
+
/** Filter dates use local calendar days or the app's explicit parameter format. */
|
|
7
|
+
export declare function parseFilterDate(value: string | undefined, pattern?: string): Date | undefined;
|
|
4
8
|
/**
|
|
5
9
|
* The option for a value and its ancestors, searching nested options.
|
|
6
10
|
*/
|
|
@@ -2,4 +2,4 @@ import type { MediaLibraryAccessors, MediaLibraryItem, ResolvedMediaLibraryAcces
|
|
|
2
2
|
export declare function resolveMediaLibraryAccessors<TItem = MediaLibraryItem>(accessors?: MediaLibraryAccessors<TItem>): ResolvedMediaLibraryAccessors<TItem>;
|
|
3
3
|
export declare function formatMediaLibrarySize(bytes?: number): string;
|
|
4
4
|
export declare function getMediaLibraryDimensions<TItem>(item: TItem, accessors: ResolvedMediaLibraryAccessors<TItem>): string;
|
|
5
|
-
export declare function useMediaLibrary<TItem = MediaLibraryItem>({ items: itemsProp, fetcher, accessors: accessorsProp, selectionMode, value, defaultValue, onValueChange, onItemUpdate, onItemDelete, onUpload, onError, tab: tabProp, defaultTab, onTabChange, view: viewProp, defaultView, onViewChange, query: queryProp, defaultQuery, onQueryChange, type: typeProp, defaultType, onTypeChange, collection: collectionProp, defaultCollection, onCollectionChange, sort: sortProp, defaultSort, onSortChange, uploadOptions: uploadOptionsProp, defaultUploadOptions, onUploadOptionsChange, selecting: selectingProp, defaultSelecting, onSelectingChange, }?: UseMediaLibraryOptions<TItem>): MediaLibraryState<TItem>;
|
|
5
|
+
export declare function useMediaLibrary<TItem = MediaLibraryItem>({ items: itemsProp, fetcher, refreshKey, accessors: accessorsProp, selectionMode, value, defaultValue, onValueChange, onItemUpdate, onItemDelete, onUpload, onError, tab: tabProp, defaultTab, onTabChange, view: viewProp, defaultView, onViewChange, query: queryProp, defaultQuery, onQueryChange, type: typeProp, defaultType, onTypeChange, collection: collectionProp, defaultCollection, onCollectionChange, sort: sortProp, defaultSort, onSortChange, uploadOptions: uploadOptionsProp, defaultUploadOptions, onUploadOptionsChange, selecting: selectingProp, defaultSelecting, onSelectingChange, }?: UseMediaLibraryOptions<TItem>): MediaLibraryState<TItem>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { MediaLibraryDialogProps, MediaLibraryProps } from './media-library.types';
|
|
2
|
-
export declare function MediaLibrary<TItem = import('./media-library.types').MediaLibraryItem>({ title, titleSuffix, description, confirmLabel, cancelLabel, selectionMode, density, showMeta, allowUpload, typeFilters, confirmOnSelect, onConfirm, onCancel, onClose, bulkActions, strings: stringsProp, slots, heightClassName, className, items, fetcher, accessors, collections, value, defaultValue, onValueChange, onItemUpdate, onItemDelete, onItemReplace, onItemOpen, onUpload, onError, selecting, defaultSelecting, onSelectingChange, tab, defaultTab, onTabChange, view, defaultView, onViewChange, query, defaultQuery, onQueryChange, type, defaultType, onTypeChange, collection, defaultCollection, onCollectionChange, sort, defaultSort, onSortChange, uploadOptions, defaultUploadOptions, onUploadOptionsChange, ...props }: MediaLibraryProps<TItem>): import("react").JSX.Element;
|
|
2
|
+
export declare function MediaLibrary<TItem = import('./media-library.types').MediaLibraryItem>({ title, titleSuffix, description, confirmLabel, cancelLabel, selectionMode, density, showMeta, allowUpload, typeFilters, confirmOnSelect, onConfirm, onCancel, onClose, bulkActions, strings: stringsProp, slots, heightClassName, className, items, fetcher, refreshKey, accessors, collections, value, defaultValue, onValueChange, onItemUpdate, onItemDelete, onItemReplace, onItemOpen, onUpload, onError, selecting, defaultSelecting, onSelectingChange, tab, defaultTab, onTabChange, view, defaultView, onViewChange, query, defaultQuery, onQueryChange, type, defaultType, onTypeChange, collection, defaultCollection, onCollectionChange, sort, defaultSort, onSortChange, uploadOptions, defaultUploadOptions, onUploadOptionsChange, ...props }: MediaLibraryProps<TItem>): import("react").JSX.Element;
|
|
3
3
|
export declare function MediaLibraryDialog<TItem = import('./media-library.types').MediaLibraryItem>({ open, onOpenChange, trigger, dialogTitle, dialogDescription, onClose, className, dialogClassName, contentClassName, closeOnEscape, closeOnBackdropClick, ...props }: MediaLibraryDialogProps<TItem>): import("react").JSX.Element;
|
|
@@ -81,6 +81,11 @@ export interface MediaLibraryStrings {
|
|
|
81
81
|
replace: string;
|
|
82
82
|
delete: string;
|
|
83
83
|
close: string;
|
|
84
|
+
mutationError?: string;
|
|
85
|
+
confirmDeleteTitle?: string;
|
|
86
|
+
confirmDeleteDescription?: string;
|
|
87
|
+
confirmDeleteLabel?: string;
|
|
88
|
+
confirmDeleteError?: string;
|
|
84
89
|
};
|
|
85
90
|
upload: {
|
|
86
91
|
dropTitle: string;
|
|
@@ -96,6 +101,7 @@ export interface MediaLibraryStrings {
|
|
|
96
101
|
removeFile: string;
|
|
97
102
|
uploading: string;
|
|
98
103
|
done: string;
|
|
104
|
+
error?: string;
|
|
99
105
|
};
|
|
100
106
|
footer: {
|
|
101
107
|
pickOne: string;
|
|
@@ -89,6 +89,8 @@ export type MediaLibraryFetcher<TItem = MediaLibraryItem> = (params: MediaLibrar
|
|
|
89
89
|
export interface MediaLibraryUploadHelpers {
|
|
90
90
|
/** Aborted when the user cancels or the media-library instance unmounts. */
|
|
91
91
|
signal: AbortSignal;
|
|
92
|
+
/** IDs in the same order as the files passed to this upload call. */
|
|
93
|
+
fileIds?: readonly string[];
|
|
92
94
|
setProgress: (fileId: string, progress: number) => void;
|
|
93
95
|
setFileStatus: (fileId: string, status: MediaLibraryUploadStatus, error?: string) => void;
|
|
94
96
|
}
|
|
@@ -154,6 +156,9 @@ export interface MediaLibraryDetailRenderContext<TItem = MediaLibraryItem> {
|
|
|
154
156
|
/** Reads id, name, URL, type, and size off your own asset shape. */
|
|
155
157
|
accessors: ResolvedMediaLibraryAccessors<TItem>;
|
|
156
158
|
update: (patch: MediaLibraryItemPatch) => Promise<boolean>;
|
|
159
|
+
/** The most recent failed mutation for this asset. */
|
|
160
|
+
mutationError?: MediaLibraryState<TItem>['mutationError'];
|
|
161
|
+
/** In MediaLibrary, resolves after the user confirms or cancels removal. */
|
|
157
162
|
remove: () => Promise<boolean>;
|
|
158
163
|
/** Requests the consumer's replacement workflow for this inspected item, when supported. */
|
|
159
164
|
replace?: () => void;
|
|
@@ -185,7 +190,7 @@ export interface MediaLibraryState<TItem = MediaLibraryItem> {
|
|
|
185
190
|
visibleItems: TItem[];
|
|
186
191
|
/** Ids of the currently selected assets. */
|
|
187
192
|
selectedIds: string[];
|
|
188
|
-
/** The
|
|
193
|
+
/** The selected assets that have been loaded or uploaded, including earlier server results. */
|
|
189
194
|
selectedItems: TItem[];
|
|
190
195
|
/** Ids of the currently selected assets, for fast lookup per row. */
|
|
191
196
|
selectedSet: Set<string>;
|
|
@@ -200,7 +205,20 @@ export interface MediaLibraryState<TItem = MediaLibraryItem> {
|
|
|
200
205
|
setSelecting: (selecting: boolean) => void;
|
|
201
206
|
clearFilters: () => void;
|
|
202
207
|
loading: boolean;
|
|
208
|
+
/** Whether remote or newly uploaded results are available during a request. */
|
|
209
|
+
hasLoadedResults?: boolean;
|
|
210
|
+
/** Legacy operation error. Cleared when the next load, mutation or upload starts. */
|
|
203
211
|
error: unknown;
|
|
212
|
+
/** The current fetch failure. Local mode has no load error. */
|
|
213
|
+
loadError?: unknown;
|
|
214
|
+
/** The most recent failed update or delete, with the affected asset ID. */
|
|
215
|
+
mutationError?: {
|
|
216
|
+
itemId: string;
|
|
217
|
+
operation: 'update' | 'delete';
|
|
218
|
+
cause: unknown;
|
|
219
|
+
} | null;
|
|
220
|
+
/** The current upload request failure, separate from individual file statuses. */
|
|
221
|
+
uploadError?: unknown;
|
|
204
222
|
/** Runs the fetcher again for the current query after a failure; does nothing in local mode. */
|
|
205
223
|
retry: () => void;
|
|
206
224
|
hasFilters: boolean;
|
|
@@ -218,9 +236,9 @@ export interface MediaLibraryState<TItem = MediaLibraryItem> {
|
|
|
218
236
|
uploading: boolean;
|
|
219
237
|
startUpload: () => Promise<void>;
|
|
220
238
|
cancelUpload: () => void;
|
|
221
|
-
/** Resolves `false` after
|
|
239
|
+
/** Requires `onItemUpdate`. Resolves `false` when unavailable or after a failed edit rolls back. */
|
|
222
240
|
updateItem: (item: TItem, patch: MediaLibraryItemPatch) => Promise<boolean>;
|
|
223
|
-
/** Resolves `false` after
|
|
241
|
+
/** Requires `onItemDelete`. Resolves `false` when unavailable or after a failed delete rolls back. */
|
|
224
242
|
removeItem: (item: TItem) => Promise<boolean>;
|
|
225
243
|
/** Reads id, name, URL, type, and size off your own asset shape. */
|
|
226
244
|
accessors: ResolvedMediaLibraryAccessors<TItem>;
|
|
@@ -246,6 +264,8 @@ export interface UseMediaLibraryOptions<TItem = MediaLibraryItem> {
|
|
|
246
264
|
* the returned assets itself.
|
|
247
265
|
*/
|
|
248
266
|
fetcher?: MediaLibraryFetcher<TItem>;
|
|
267
|
+
/** Change this key to reload the current remote query. Callback identity alone does not reload it. */
|
|
268
|
+
refreshKey?: string | number;
|
|
249
269
|
/**
|
|
250
270
|
* Reads id, name, URL, type, and size off your own asset shape. Omit only
|
|
251
271
|
* when items already match `MediaLibraryItem`.
|
|
@@ -259,11 +279,11 @@ export interface UseMediaLibraryOptions<TItem = MediaLibraryItem> {
|
|
|
259
279
|
value?: readonly string[];
|
|
260
280
|
/** Initially selected asset ids, for uncontrolled use. */
|
|
261
281
|
defaultValue?: readonly string[];
|
|
262
|
-
/** Fired with
|
|
282
|
+
/** Fired with every selected id and the records loaded or uploaded so far. */
|
|
263
283
|
onValueChange?: (ids: string[], items: TItem[]) => void;
|
|
264
|
-
/** Applies
|
|
284
|
+
/** Applies a metadata edit. Without it, details are read-only. May be awaited. */
|
|
265
285
|
onItemUpdate?: (item: TItem, patch: MediaLibraryItemPatch) => void | Promise<void>;
|
|
266
|
-
/**
|
|
286
|
+
/** Persists removal. The built-in library asks for confirmation and only offers Delete with this callback. */
|
|
267
287
|
onItemDelete?: (item: TItem) => void | Promise<void>;
|
|
268
288
|
/** Fired when an entry is uploaded. */
|
|
269
289
|
onUpload?: MediaLibraryUploadHandler<TItem>;
|
|
@@ -360,7 +380,7 @@ export interface MediaLibraryProps<TItem = MediaLibraryItem> extends Omit<Compon
|
|
|
360
380
|
* and skipping the footer. Suits single-select pickers.
|
|
361
381
|
*/
|
|
362
382
|
confirmOnSelect?: boolean;
|
|
363
|
-
/** Fired with
|
|
383
|
+
/** Fired with every chosen ID and the selected records loaded or uploaded so far. */
|
|
364
384
|
onConfirm?: (items: TItem[], ids: string[]) => void;
|
|
365
385
|
/** Fired when the user backs out without choosing. */
|
|
366
386
|
onCancel?: () => void;
|
|
@@ -534,8 +554,14 @@ export interface MediaLibraryDetailPanelProps<TItem = MediaLibraryItem> {
|
|
|
534
554
|
strings: MediaLibraryStrings;
|
|
535
555
|
onClose: () => void;
|
|
536
556
|
onUpdate: (patch: MediaLibraryItemPatch) => Promise<boolean>;
|
|
537
|
-
/**
|
|
557
|
+
/** Keeps metadata visible while preventing edits. */
|
|
558
|
+
readOnly?: boolean;
|
|
559
|
+
/** A failed mutation for the inspected asset. */
|
|
560
|
+
mutationError?: MediaLibraryState<TItem>['mutationError'];
|
|
561
|
+
/** Requests removal. */
|
|
538
562
|
onRemove: () => Promise<boolean>;
|
|
563
|
+
/** Offers the Delete action and enables removal from custom details. Defaults to true. */
|
|
564
|
+
allowDelete?: boolean;
|
|
539
565
|
/** Opens the consumer-owned replacement workflow for the inspected item. */
|
|
540
566
|
onReplace?: () => void;
|
|
541
567
|
/** Replaces the default detail rendering. */
|
|
@@ -550,6 +576,8 @@ export interface MediaLibraryUploadPanelProps {
|
|
|
550
576
|
collections?: readonly MediaLibraryCollectionOption[];
|
|
551
577
|
/** Whether an upload is in flight. */
|
|
552
578
|
uploading?: boolean;
|
|
579
|
+
/** Shows an inline notice for a failed upload request. */
|
|
580
|
+
hasUploadError?: boolean;
|
|
553
581
|
/** Overrides this surface's own copy. */
|
|
554
582
|
strings: MediaLibraryStrings;
|
|
555
583
|
onFiles: (files: File[]) => void;
|
|
@@ -3,8 +3,8 @@ export declare function MediaLibraryEmptyState({ icon, title, description, actio
|
|
|
3
3
|
export declare function MediaLibraryToolbar({ query, type, typeFilters, collection, sort, view, collections, strings, onQueryChange, onTypeChange, onCollectionChange, onSortChange, onViewChange, onClearFilters, toolbarEnd, selecting, onSelectingChange, summary, disabled, }: MediaLibraryToolbarProps): import("react").JSX.Element;
|
|
4
4
|
export declare function MediaLibraryCard<TItem>({ item, selected, density, showMeta, accessors, strings, onToggle, onDetails, onOpen, selecting, className, }: MediaLibraryCardProps<TItem>): import("react").JSX.Element;
|
|
5
5
|
export declare function MediaLibraryList<TItem>({ items, selectedSet, accessors, strings, onToggle, onDetails, onOpen, selecting, }: MediaLibraryListProps<TItem>): import("react").JSX.Element;
|
|
6
|
-
export declare function MediaLibraryDetailPanel<TItem>({ item, collections, accessors, strings, onClose, onUpdate, onRemove, onReplace, renderDetail, }: MediaLibraryDetailPanelProps<TItem>): import("react").JSX.Element | null;
|
|
7
|
-
export declare function MediaLibraryUploadPanel({ stagedFiles, uploadOptions, collections, uploading, strings, onFiles, onRemoveFile, onOptionsChange, empty, }: MediaLibraryUploadPanelProps): import("react").JSX.Element;
|
|
6
|
+
export declare function MediaLibraryDetailPanel<TItem>({ item, collections, accessors, strings, onClose, onUpdate, readOnly, mutationError, onRemove, allowDelete, onReplace, renderDetail, }: MediaLibraryDetailPanelProps<TItem>): import("react").JSX.Element | null;
|
|
7
|
+
export declare function MediaLibraryUploadPanel({ stagedFiles, uploadOptions, collections, uploading, hasUploadError, strings, onFiles, onRemoveFile, onOptionsChange, empty, }: MediaLibraryUploadPanelProps): import("react").JSX.Element;
|
|
8
8
|
export declare function MediaLibraryFooterSummary({ tab, selectedIds, selectionMode, stagedFiles, strings, onClearSelection, className, }: MediaLibraryFooterSummaryProps): import("react").JSX.Element;
|
|
9
|
-
export declare function MediaLibraryFooterActions<TItem>({ tab,
|
|
9
|
+
export declare function MediaLibraryFooterActions<TItem>({ tab, selectedIds, stagedFiles, uploading, strings, confirmLabel, cancelLabel, onCancel, onConfirm, onUpload, onCancelUpload, className, }: MediaLibraryFooterActionsProps<TItem>): import("react").JSX.Element;
|
|
10
10
|
export declare function MediaLibraryFooter<TItem>({ tab, selectedItems, selectedIds, selectionMode, stagedFiles, uploading, strings, confirmLabel, cancelLabel, onCancel, onConfirm, onClearSelection, onUpload, onCancelUpload, chrome, className, }: MediaLibraryFooterProps<TItem>): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RefObject } from 'react';
|
|
1
|
+
import type { FocusEvent, RefObject } from 'react';
|
|
2
2
|
import type { Mention, MentionSuggestion } from '../mentions.types';
|
|
3
3
|
import { type UseMentionsSearchOptions, type UseMentionsSearchReturn } from './use-mentions-search';
|
|
4
4
|
/**
|
|
@@ -25,6 +25,21 @@ export interface UseMentionsReturn<TResource extends string = string> extends Us
|
|
|
25
25
|
triggerActive: boolean;
|
|
26
26
|
/** Wire to the editor's `onCaretChange` to enable inline triggers. */
|
|
27
27
|
handleCaretChange: () => void;
|
|
28
|
+
/** Whether the inline suggestions panel is open. */
|
|
29
|
+
inlineOpen: boolean;
|
|
30
|
+
/** ID to pass to the inline suggestion list. */
|
|
31
|
+
listboxId: string;
|
|
32
|
+
/** Highlighted option index, or -1 when no option is highlighted. */
|
|
33
|
+
activeIndex: number;
|
|
34
|
+
/** Completion metadata for the editable body while options are available. */
|
|
35
|
+
suggestionPopup?: {
|
|
36
|
+
listboxId: string;
|
|
37
|
+
activeOptionId?: string;
|
|
38
|
+
};
|
|
39
|
+
/** Handles inline navigation and returns whether the editor should consume the key. */
|
|
40
|
+
handleKeyDown: (event: KeyboardEvent) => boolean;
|
|
41
|
+
/** Bind to the wrapper containing both the editor and inline suggestions. */
|
|
42
|
+
handleBlur: (event: FocusEvent<HTMLElement>) => void;
|
|
28
43
|
/**
|
|
29
44
|
* Convert a suggestion into a Mention, register it, insert the chip
|
|
30
45
|
* into the editor (replacing the trigger range when one is active),
|
|
@@ -17,6 +17,10 @@ export interface MentionInlineSuggestionsProps<TResource extends string = string
|
|
|
17
17
|
suggestionsByKind?: Readonly<Record<string, ReadonlyArray<MentionSuggestion<TResource>>>>;
|
|
18
18
|
/** Matches for the text typed after the trigger character. */
|
|
19
19
|
suggestions: ReadonlyArray<MentionSuggestion<TResource>>;
|
|
20
|
+
/** ID shared with the editor's controlled listbox. */
|
|
21
|
+
listboxId?: string;
|
|
22
|
+
/** Highlighted option supplied by the editor's keyboard navigation. */
|
|
23
|
+
activeIndex?: number;
|
|
20
24
|
/** Replaces the content with the loading state. */
|
|
21
25
|
loading: boolean;
|
|
22
26
|
/** Live query the panel echoes in the header; the consumer owns the editor input. */
|
|
@@ -33,4 +37,4 @@ export interface MentionInlineSuggestionsProps<TResource extends string = string
|
|
|
33
37
|
/** Merged onto the outermost node. */
|
|
34
38
|
className?: string;
|
|
35
39
|
}
|
|
36
|
-
export declare function MentionInlineSuggestions<TResource extends string = string>({ open, activeKind, setActiveKind, kinds, resources, suggestionsByKind, suggestions, loading, query, onManualKindChange, onSelect, strings: stringsProp, className, }: MentionInlineSuggestionsProps<TResource>): import("react").JSX.Element | null;
|
|
40
|
+
export declare function MentionInlineSuggestions<TResource extends string = string>({ open, activeKind, setActiveKind, kinds, resources, suggestionsByKind, suggestions, listboxId, activeIndex, loading, query, onManualKindChange, onSelect, strings: stringsProp, className, }: MentionInlineSuggestionsProps<TResource>): import("react").JSX.Element | null;
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Split an HTML string into a list of `html` chunks and `mention`
|
|
3
|
-
* placeholders, keyed by the `data-ref-id` attribute the writer set.
|
|
4
|
-
*
|
|
5
|
-
* Used by `<MentionContent>` to render the body once with React chips
|
|
6
|
-
* for the references and `dangerouslySetInnerHTML` for everything else.
|
|
7
|
-
*/
|
|
8
1
|
export type MentionHtmlSegment = {
|
|
9
2
|
kind: 'html';
|
|
10
3
|
value: string;
|
|
@@ -13,4 +6,5 @@ export type MentionHtmlSegment = {
|
|
|
13
6
|
refId: string;
|
|
14
7
|
fallback: string;
|
|
15
8
|
};
|
|
9
|
+
/** @deprecated Render mentions within the original HTML tree with MentionContent. */
|
|
16
10
|
export declare function splitHtmlByMentions(html: string): MentionHtmlSegment[];
|
|
@@ -11,7 +11,7 @@ export interface UseOverlayVisibilityOptions {
|
|
|
11
11
|
defaultOpen?: boolean;
|
|
12
12
|
/** Controlled visibility. Omit to let the hook own it. */
|
|
13
13
|
open?: boolean;
|
|
14
|
-
/** Fired
|
|
14
|
+
/** Fired for each request that differs from the current visibility. */
|
|
15
15
|
onOpenChange?: (open: boolean) => void;
|
|
16
16
|
/** Fired after a change to open. */
|
|
17
17
|
onOpen?: () => void;
|
|
@@ -33,7 +33,7 @@ export interface UseOverlayVisibilityGroupOptions<TKey extends string = string>
|
|
|
33
33
|
defaultOpen?: Partial<Record<TKey, boolean>>;
|
|
34
34
|
/** Controlled visibility per key. */
|
|
35
35
|
open?: Partial<Record<TKey, boolean>>;
|
|
36
|
-
/** Fired
|
|
36
|
+
/** Fired for each requested change, with the key, its visibility and the proposed group state. */
|
|
37
37
|
onOpenChange?: (key: TKey, open: boolean, state: OverlayVisibilityGroupState<TKey>) => void;
|
|
38
38
|
/** Opening one key closes the others, for one-at-a-time overlays. Default: `false`. */
|
|
39
39
|
closeOthersOnOpen?: boolean;
|
|
@@ -290,7 +290,7 @@ export interface ProductOptionValue {
|
|
|
290
290
|
export interface ProductOptionGroup {
|
|
291
291
|
/** Stable identity for this entry. */
|
|
292
292
|
id: string;
|
|
293
|
-
/** Display name. */
|
|
293
|
+
/** Display name. Inline configuration requires text or a number. Use onEditOption for rich names. */
|
|
294
294
|
name: ReactNode;
|
|
295
295
|
/** Supporting copy shown under the label. */
|
|
296
296
|
description?: ReactNode;
|
|
@@ -835,7 +835,7 @@ export interface ProductVariantOptionField {
|
|
|
835
835
|
id: string;
|
|
836
836
|
/** Display label. */
|
|
837
837
|
label: string;
|
|
838
|
-
/**
|
|
838
|
+
/** Fallback for an absent option value. @deprecated Set value.options or defaultValue.options on ProductVariantEditor. */
|
|
839
839
|
value?: string;
|
|
840
840
|
choices?: ProductChoice[];
|
|
841
841
|
placeholder?: string;
|
|
@@ -83,6 +83,9 @@ export interface QuestionnaireProps extends Omit<ComponentPropsWithoutRef<'form'
|
|
|
83
83
|
/** Controlled active question key. */
|
|
84
84
|
questionId?: string;
|
|
85
85
|
defaultQuestionId?: string;
|
|
86
|
+
/** Fired when navigation requests a question. Takes precedence over `onQuestionChange`. */
|
|
87
|
+
onQuestionIdChange?: (id: string) => void;
|
|
88
|
+
/** Legacy alias for `onQuestionIdChange`. */
|
|
86
89
|
onQuestionChange?: (id: string) => void;
|
|
87
90
|
disabled?: boolean;
|
|
88
91
|
/** Receives only visible, enabled questions. Respect signal to cancel application requests. */
|
|
@@ -8,5 +8,5 @@ export declare function ResourceIndexShell(props: ResourceIndexShellProps): impo
|
|
|
8
8
|
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
9
9
|
export declare function ResourceShowShell(props: ResourceShowShellProps): import("react").JSX.Element;
|
|
10
10
|
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
11
|
-
export declare function TabbedResourceShell({ tabs, activeTab, onTabChange, tabsClassName, moreLabel, tabsAriaLabel, toolbar, slots, className, strings: stringsProp, ...props }: TabbedResourceShellProps): import("react").JSX.Element;
|
|
11
|
+
export declare function TabbedResourceShell({ tabs, activeTab, defaultActiveTab, onTabChange, tabsClassName, moreLabel, tabsAriaLabel, toolbar, slots, className, strings: stringsProp, ...props }: TabbedResourceShellProps): import("react").JSX.Element;
|
|
12
12
|
export declare function ResourceDetailsSection({ metadata, metadataColumns, metadataDense, body, help, children, contentClassName, ...props }: ResourceDetailsSectionProps): import("react").JSX.Element;
|
|
@@ -188,6 +188,8 @@ export interface TabbedResourceShellProps extends ResourceShowShellProps {
|
|
|
188
188
|
tabs: OverflowTabItem[];
|
|
189
189
|
/** Controlled active tab identifier. */
|
|
190
190
|
activeTab?: string;
|
|
191
|
+
/** Initial tab identifier when the shell manages selection. `activeTab` takes precedence. */
|
|
192
|
+
defaultActiveTab?: string;
|
|
191
193
|
/** Called when a visible or overflow tab is selected. */
|
|
192
194
|
onTabChange?: (id: string) => void;
|
|
193
195
|
/** Class name for the overflow tab bar. */
|
|
@@ -3,4 +3,4 @@ export interface FormRichTextEditorProps extends Omit<RichTextEditorProps, 'valu
|
|
|
3
3
|
/** Form field name, forwarded for native submits. */
|
|
4
4
|
name: string;
|
|
5
5
|
}
|
|
6
|
-
export declare function FormRichTextEditor({ name, ...props }: FormRichTextEditorProps): import("react").JSX.Element;
|
|
6
|
+
export declare function FormRichTextEditor({ name, className, disabled, invalid, onBlur, ...props }: FormRichTextEditorProps): import("react").JSX.Element;
|
|
@@ -24,5 +24,5 @@ export declare function readCaretContext(): RichTextCaretContext | null;
|
|
|
24
24
|
* range with the chip atomically — no manual text-content mutation, no
|
|
25
25
|
* timing races between "delete" and "insert".
|
|
26
26
|
*/
|
|
27
|
-
export declare function replaceBeforeCaret(editor: TiptapEditor | null, length: number, html: string, notifyChange
|
|
27
|
+
export declare function replaceBeforeCaret(editor: TiptapEditor | null, length: number, html: string, notifyChange?: (next: string) => void): void;
|
|
28
28
|
export declare function insertHtmlIntoEditable(editable: HTMLElement | null, html: string): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function editorFieldAria(label: string, listboxId?: string, activeOptionId?: string): {
|
|
2
|
+
readonly role: "textbox";
|
|
3
|
+
readonly 'aria-label': string;
|
|
4
|
+
readonly 'aria-multiline': "true";
|
|
5
|
+
} | {
|
|
6
|
+
readonly 'aria-activedescendant'?: string | undefined;
|
|
7
|
+
readonly role: "combobox";
|
|
8
|
+
readonly 'aria-label': string;
|
|
9
|
+
readonly 'aria-expanded': "true";
|
|
10
|
+
readonly 'aria-haspopup': "listbox";
|
|
11
|
+
readonly 'aria-autocomplete': "list";
|
|
12
|
+
readonly 'aria-controls': string;
|
|
13
|
+
readonly 'aria-multiline'?: undefined;
|
|
14
|
+
};
|
|
@@ -6,6 +6,8 @@ export interface RichTextEditorToolbarProps {
|
|
|
6
6
|
buttons: ToolbarButtonConfig[];
|
|
7
7
|
/** Additional controls appended to the toolbar. */
|
|
8
8
|
extraToolbarItems?: ReadonlyArray<RichTextEditorToolbarItem>;
|
|
9
|
+
/** Active values read from the editor's transaction subscription. */
|
|
10
|
+
extraToolbarActive?: readonly boolean[];
|
|
9
11
|
/** Hides the control that switches to HTML source. */
|
|
10
12
|
hideSourceToggle?: boolean;
|
|
11
13
|
/** Whether the editor is currently showing HTML source. */
|
|
@@ -27,7 +29,7 @@ export interface RichTextEditorToolbarProps {
|
|
|
27
29
|
/** Merged onto the outermost node. */
|
|
28
30
|
className?: string;
|
|
29
31
|
}
|
|
30
|
-
export declare function RichTextEditorToolbar({ buttons, extraToolbarItems, hideSourceToggle, sourceMode, toggleSourceMode, disabled, hasEditor, toolbarTrailing, strings, className, }: RichTextEditorToolbarProps): import("react").JSX.Element;
|
|
32
|
+
export declare function RichTextEditorToolbar({ buttons, extraToolbarItems, extraToolbarActive, hideSourceToggle, sourceMode, toggleSourceMode, disabled, hasEditor, toolbarTrailing, strings, className, }: RichTextEditorToolbarProps): import("react").JSX.Element;
|
|
31
33
|
export declare namespace RichTextEditorToolbar {
|
|
32
34
|
var displayName: string;
|
|
33
35
|
}
|
|
@@ -11,7 +11,7 @@ export declare const richTextEditorRecipes: {
|
|
|
11
11
|
readonly placeholder: "pointer-events-none absolute inset-0 p-surface-xs";
|
|
12
12
|
/** Inline inset for the regions under the body (image details, counts, footer slot). */
|
|
13
13
|
readonly regionX: "px-surface-xs";
|
|
14
|
-
readonly frame:
|
|
14
|
+
readonly frame: string;
|
|
15
15
|
readonly disabled: "opacity-50";
|
|
16
16
|
readonly disabledControl: "disabled:opacity-100 aria-disabled:opacity-100";
|
|
17
17
|
readonly content: "h-full [&_.ProseMirror]:h-full [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ComponentType, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentType, FocusEventHandler, ReactNode } from 'react';
|
|
2
2
|
import type * as TiptapReact from '@tiptap/react';
|
|
3
|
+
import type { FieldControlAttributes } from '../../../lib/field-control-attributes';
|
|
3
4
|
import type { StringsProp } from '../../../lib/strings';
|
|
4
5
|
import type { RichTextImageRendering } from '../../typography/rich-text';
|
|
5
6
|
import type { RichTextEditorStrings } from './rich-text-editor.strings';
|
|
@@ -94,11 +95,15 @@ export interface RichTextEditorImages extends RichTextImageRendering {
|
|
|
94
95
|
}
|
|
95
96
|
/** Body floor roles for the rich text editor. */
|
|
96
97
|
export type RichTextEditorBodyHeight = 'control' | 'field' | 'document';
|
|
97
|
-
export interface RichTextEditorProps {
|
|
98
|
+
export interface RichTextEditorProps extends FieldControlAttributes {
|
|
98
99
|
/** Editor content as HTML. Controlled. */
|
|
99
100
|
value: string;
|
|
100
|
-
/**
|
|
101
|
+
/** Reports the document HTML. Source edits commit when switching back to rich text. */
|
|
101
102
|
onValueChange: (html: string) => void;
|
|
103
|
+
/** Includes the committed HTML under this name in native form submissions. */
|
|
104
|
+
name?: string;
|
|
105
|
+
/** Runs when focus leaves the editor and its toolbar. */
|
|
106
|
+
onBlur?: FocusEventHandler<HTMLElement>;
|
|
102
107
|
/** Shown while the document is empty. */
|
|
103
108
|
placeholder?: string;
|
|
104
109
|
/** Tightens the toolbar and body for inline use. */
|
|
@@ -115,6 +120,8 @@ export interface RichTextEditorProps {
|
|
|
115
120
|
maxHeight?: string;
|
|
116
121
|
/** Renders the entry as unselectable. */
|
|
117
122
|
disabled?: boolean;
|
|
123
|
+
/** Marks the editable field invalid and applies the shared field state. */
|
|
124
|
+
invalid?: boolean;
|
|
118
125
|
/** Show character and word counts in a footer bar. */
|
|
119
126
|
showCounts?: boolean;
|
|
120
127
|
/** Optional character limit — displayed as "X / max" when showCounts is true. */
|
|
@@ -137,6 +144,13 @@ export interface RichTextEditorProps {
|
|
|
137
144
|
* comment composer to detect `@`-style trigger characters.
|
|
138
145
|
*/
|
|
139
146
|
onCaretChange?: () => void;
|
|
147
|
+
/** Consumes an editable-body key before the editor handles it. Return true to handle the key. */
|
|
148
|
+
onEditorKeyDown?: (event: KeyboardEvent) => boolean;
|
|
149
|
+
/** Associates the editable body with an open inline completion listbox. */
|
|
150
|
+
suggestionPopup?: {
|
|
151
|
+
listboxId: string;
|
|
152
|
+
activeOptionId?: string;
|
|
153
|
+
};
|
|
140
154
|
/** Per-instance string overrides (deep-merged over `defaultRichTextEditorStrings`). */
|
|
141
155
|
strings?: StringsProp<RichTextEditorStrings>;
|
|
142
156
|
/**
|
|
@@ -15,9 +15,13 @@ export interface UseSchemaFormResult extends SchemaFormSubmitHelpers {
|
|
|
15
15
|
errors: SchemaFormErrors;
|
|
16
16
|
getFieldError: (key: string) => string | undefined;
|
|
17
17
|
getFieldValue: (key: string) => SchemaFormValue;
|
|
18
|
+
/** Reads the latest values, including writes made in the current event. */
|
|
19
|
+
getValues: () => SchemaFormValues;
|
|
18
20
|
setFieldValue: (key: string, value: SchemaFormValue) => void;
|
|
19
21
|
setValues: (values: SchemaFormValues) => void;
|
|
22
|
+
/** Registers a field editor's current parse validity with form validation. */
|
|
23
|
+
setFieldParseValidity: (key: string, valid: boolean) => void;
|
|
20
24
|
reset: () => SchemaFormValues;
|
|
21
25
|
validate: () => boolean;
|
|
22
26
|
}
|
|
23
|
-
export declare function useSchemaForm(
|
|
27
|
+
export declare function useSchemaForm(options: UseSchemaFormOptions): UseSchemaFormResult;
|
|
@@ -5,8 +5,10 @@ export interface SchemaFormFieldRendererProps extends SchemaFormFieldContext {
|
|
|
5
5
|
strings: SchemaFormStrings;
|
|
6
6
|
/** Merged onto the outermost node. */
|
|
7
7
|
className?: string;
|
|
8
|
+
/** Reports whether the JSON editor can parse its current draft. */
|
|
9
|
+
onParseValidityChange?: (key: string, valid: boolean) => void;
|
|
8
10
|
}
|
|
9
|
-
export declare function SchemaFormFieldRenderer({ field, value, values, error, disabled, required, fieldId, onValueChange, onError, strings, className, }: SchemaFormFieldRendererProps): import("react").JSX.Element;
|
|
11
|
+
export declare function SchemaFormFieldRenderer({ field, value, values, error, disabled, required, fieldId, onValueChange, onError, strings, className, onParseValidityChange, }: SchemaFormFieldRendererProps): import("react").JSX.Element;
|
|
10
12
|
export declare namespace SchemaFormFieldRenderer {
|
|
11
13
|
var displayName: string;
|
|
12
14
|
}
|
|
@@ -10,7 +10,7 @@ export declare function toStringValue(value: SchemaFormValue): string;
|
|
|
10
10
|
export declare function toStringArray(value: SchemaFormValue): string[];
|
|
11
11
|
export declare function toBooleanValue(value: SchemaFormValue): boolean;
|
|
12
12
|
export declare function parseNumberValue(rawValue: string, integer?: boolean): number | null;
|
|
13
|
-
export declare function formatJsonValue(value: SchemaFormValue, indent?: number): string;
|
|
13
|
+
export declare function formatJsonValue(value: SchemaFormValue, indent?: number, quoteString?: boolean): string;
|
|
14
14
|
export declare function parseJsonValue(rawValue: string): {
|
|
15
15
|
value: SchemaFormValue;
|
|
16
16
|
valid: boolean;
|
|
@@ -68,7 +68,7 @@ export interface SuggestionsComboboxProps<T> extends UseSuggestionsConfig<T> {
|
|
|
68
68
|
renderError?: (context: SuggestionsErrorRenderContext) => ReactNode;
|
|
69
69
|
/** Shows a control that clears the current selection. */
|
|
70
70
|
allowClear?: boolean;
|
|
71
|
-
/** Resets the query when
|
|
71
|
+
/** Resets the query when a results list closes. Failed queries remain available to retry. */
|
|
72
72
|
clearInputOnClose?: boolean;
|
|
73
73
|
/** Renders the entry as unselectable. */
|
|
74
74
|
disabled?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare function useDataTableSize(): 'xs' | 'sm';
|
|
2
2
|
import { type DataTableProps } from './table.types';
|
|
3
|
-
export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, selectionToolbarPlacement, totalRowCount: totalRowCountProp, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
|
|
3
|
+
export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, loading, loadingRows, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, selectionToolbarPlacement, totalRowCount: totalRowCountProp, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
|
|
4
4
|
export declare namespace DataTable {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -9,6 +9,7 @@ export { DataTableToolbar } from './table-toolbar';
|
|
|
9
9
|
export { CellValue, CellStack, type CellStackProps, type CellStackValue, type CellValueDescriptor, type CellValueKind, type CellValueProps, type CellValueTuple, type PrimitiveCellValue, } from './partials/cell-value';
|
|
10
10
|
export { TableLink, type TableLinkProps } from './partials/table-link';
|
|
11
11
|
export { StatusCell, type StatusCellEntry, type StatusCellProps, StatusClusterCell, type StatusClusterCellItem, type StatusClusterCellProps, DateCell, type DateCellProps, DateMetaCell, type DateMetaCellProps, CurrencyCell, type CurrencyCellProps, AvatarCell, type AvatarCellProps, ResourceCell, type ResourceCellBadge, type ResourceCellLinkProps, type ResourceCellMetadataItem, type ResourceCellProps, } from './partials/cell-renderers';
|
|
12
|
+
export type { ColumnDef } from '@tanstack/react-table';
|
|
12
13
|
export * from './table.types';
|
|
13
14
|
export { defaultDataTableStrings, mergeDataTableStrings } from './table.strings';
|
|
14
15
|
export { handleRowSelectionChange, handleSortingChange, handleColumnVisibilityChange, getRowClassName, getCellClassName, getSelectedRowsData, createRowSelectionCheckbox, createHeaderSelectionCheckbox, addSelectionColumn, } from './table-helpers';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DataTableBodyProps } from './table.types';
|
|
2
|
-
export declare function DataTableBody<TData>({ table, onRowClick, emptyStateMessage, emptyStateAction, cellClassName, rowClassName, stickyFirstColumn, striped, strings, }: DataTableBodyProps<TData>): import("react").JSX.Element;
|
|
2
|
+
export declare function DataTableBody<TData>({ loading, loadingRows, table, onRowClick, emptyStateMessage, emptyStateAction, cellClassName, rowClassName, stickyFirstColumn, striped, strings, }: DataTableBodyProps<TData>): import("react").JSX.Element;
|
|
3
3
|
export declare namespace DataTableBody {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { SortingState, RowSelectionState, VisibilityState, Table, Row, Updater, ColumnDef } from '@tanstack/react-table';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { DataTableStrings } from './table.types';
|
|
4
|
+
export interface GeneratedColumnOptions<TData> {
|
|
5
|
+
strings: DataTableStrings;
|
|
6
|
+
renderActions?: (row: TData) => React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function getGeneratedColumnOptions<TData>(table: Table<TData>): GeneratedColumnOptions<TData> | undefined;
|
|
4
9
|
/**
|
|
5
10
|
* Helper function for handling row selection changes with OnChangeFn compatibility
|
|
6
11
|
*/
|
|
@@ -33,7 +38,5 @@ export declare const createRowSelectionCheckbox: <TData>(row: Row<TData>, string
|
|
|
33
38
|
* Create header selection checkbox
|
|
34
39
|
*/
|
|
35
40
|
export declare const createHeaderSelectionCheckbox: <TData>(table: Table<TData>, strings?: DataTableStrings) => React.JSX.Element;
|
|
36
|
-
/**
|
|
37
|
-
* Add selection column to columns
|
|
38
|
-
*/
|
|
41
|
+
/** Prepends the checkbox selection column. Explicit strings override table defaults. */
|
|
39
42
|
export declare const addSelectionColumn: <TData, TValue = unknown>(columns: ColumnDef<TData, TValue>[], strings?: DataTableStrings) => ColumnDef<TData, TValue>[];
|