themelia-react-ui 2.0.4 → 2.0.5
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 +135 -0
- package/README.md +113 -18
- package/dist/{accordion-96o0pN62.js → accordion-B9MHG0cT.js} +11 -11
- package/dist/accordion-B9MHG0cT.js.map +1 -0
- package/dist/{action-menu-CHgs8vmj.js → action-menu-Dr8K-ghE.js} +48 -45
- package/dist/action-menu-Dr8K-ghE.js.map +1 -0
- package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
- package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
- package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-C58tQcBy.js} +210 -174
- package/dist/ai-artifact-C58tQcBy.js.map +1 -0
- package/dist/app-shell-B_IuNWOo.js +321 -0
- package/dist/app-shell-B_IuNWOo.js.map +1 -0
- package/dist/{attachment-DkoqHPPl.js → attachment-Dg_69lPS.js} +9 -9
- package/dist/{attachment-DkoqHPPl.js.map → attachment-Dg_69lPS.js.map} +1 -1
- package/dist/{auth-D2FVZ1MH.js → auth-DTkkshS8.js} +43 -46
- package/dist/auth-DTkkshS8.js.map +1 -0
- package/dist/{avatar-DWO_HHhB.js → avatar-CeZaFmNH.js} +8 -8
- package/dist/avatar-CeZaFmNH.js.map +1 -0
- package/dist/{badge-DErMA7ul.js → badge-xIiV_E7f.js} +5 -5
- package/dist/{badge-DErMA7ul.js.map → badge-xIiV_E7f.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 +2 -372
- 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 +2 -2
- 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 +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +10 -10
- 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 +7 -7
- 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 +12 -12
- 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/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +4 -4
- 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 +36 -36
- package/dist/base/toaster.js.map +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-CdfIkCsV.js → batch-action-bar-Cb8cuvyy.js} +6 -6
- package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
- package/dist/blocks/admin.js +21 -21
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +230 -216
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +325 -306
- 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 +1259 -1184
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +6 -6
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-B-WFKecD.js → breadcrumbs-J-K2kl4c.js} +6 -6
- package/dist/{breadcrumbs-B-WFKecD.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
- package/dist/{button-DkmK-z8E.js → button-S2Cubiiz.js} +3 -3
- package/dist/button-S2Cubiiz.js.map +1 -0
- package/dist/{buttons-BbfzgczK.js → buttons-BedGfygC.js} +16 -16
- package/dist/buttons-BedGfygC.js.map +1 -0
- package/dist/cards-rNX1M4Xn.js +69 -0
- package/dist/cards-rNX1M4Xn.js.map +1 -0
- package/dist/cascader-B1MiqkBq.js +439 -0
- package/dist/cascader-B1MiqkBq.js.map +1 -0
- package/dist/chart-Darg_0Kv.js +162 -0
- package/dist/chart-Darg_0Kv.js.map +1 -0
- package/dist/{checkbox-CzYUTPeJ.js → checkbox-fflqmODR.js} +2 -2
- package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-fflqmODR.js.map} +1 -1
- package/dist/{choice-inputs-JLtij2y4.js → choice-inputs-zUgBZfE4.js} +258 -257
- package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
- package/dist/{code-block-CGNaUtAE.js → code-block-BzmM9Eig.js} +8 -8
- package/dist/code-block-BzmM9Eig.js.map +1 -0
- package/dist/{collapsible-Do4G0zcC.js → collapsible-BkAI_XD4.js} +5 -5
- package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BkAI_XD4.js.map} +1 -1
- package/dist/{collection-content-C0e8SsTm.js → collection-content-gDh1v6O4.js} +3 -3
- package/dist/{collection-content-C0e8SsTm.js.map → collection-content-gDh1v6O4.js.map} +1 -1
- package/dist/combobox-BEx0vJgF.js +362 -0
- package/dist/combobox-BEx0vJgF.js.map +1 -0
- package/dist/{combobox-CBJDs6w_.js → combobox-BwzoXFSG.js} +254 -247
- package/dist/combobox-BwzoXFSG.js.map +1 -0
- package/dist/{command-D8NrBj-b.js → command-CrlPIL6m.js} +11 -11
- package/dist/command-CrlPIL6m.js.map +1 -0
- package/dist/{comments-Di4w0H_S.js → comments-Dmpp0YIc.js} +29 -29
- package/dist/{comments-Di4w0H_S.js.map → comments-Dmpp0YIc.js.map} +1 -1
- package/dist/components/base/action-menu/action-menu.d.ts +7 -1
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/cards/card.recipes.d.ts +6 -4
- package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
- package/dist/components/base/cards/smart-card.types.d.ts +3 -4
- package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
- package/dist/components/base/chart/chart.d.ts +6 -1
- package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
- package/dist/components/base/combobox/index.d.ts +4 -2
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/forms/form-sizing.d.ts +7 -7
- package/dist/components/base/forms/workflow.d.ts +7 -1
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
- package/dist/components/base/metadata-list/metadata-list.d.ts +1 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
- package/dist/components/base/navigation/page-header/page-header.d.ts +10 -3
- package/dist/components/base/popover/popover.d.ts +3 -3
- package/dist/components/base/popover/popover.recipes.d.ts +10 -6
- package/dist/components/base/sheet/sheet.d.ts +2 -0
- package/dist/components/base/sidebar/index.d.ts +1 -1
- package/dist/components/base/sidebar/sidebar.d.ts +27 -5
- package/dist/components/base/toaster/index.d.ts +1 -0
- package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
- package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
- package/dist/components/blocks/commerce/index.d.ts +7 -6
- package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
- package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
- package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
- package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
- package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
- package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
- package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
- package/dist/components/features/activities/activities.types.d.ts +8 -2
- package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
- package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
- package/dist/components/features/event-calendar/colors.d.ts +2 -2
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
- package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
- package/dist/components/features/filters/filters.strings.d.ts +4 -0
- package/dist/components/features/filters/filters.types.d.ts +3 -0
- package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
- package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
- package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
- package/dist/components/features/global-search/global-search.types.d.ts +2 -0
- package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
- package/dist/components/features/media-library/media-library.types.d.ts +14 -4
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
- package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
- package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/products.strings.d.ts +9 -1
- package/dist/components/features/products/products.types.d.ts +43 -6
- package/dist/components/features/resource/resource.d.ts +5 -1
- package/dist/components/features/resource/resource.types.d.ts +12 -1
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
- package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
- package/dist/components/features/table/table.types.d.ts +1 -1
- package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
- package/dist/components/layout/app-shell/index.d.ts +1 -1
- package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
- package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
- package/dist/components/layout/header/header.recipes.d.ts +6 -0
- package/dist/components/layout/header/header.types.d.ts +6 -6
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
- package/dist/components/layout/page/index.d.ts +2 -1
- package/dist/components/layout/page/page.d.ts +1 -0
- package/dist/components/layout/page/page.strings.d.ts +11 -0
- package/dist/components/layout/page/page.types.d.ts +69 -17
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +9 -2
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/index.d.ts +2 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
- package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
- package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
- package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
- package/dist/components/ui/alert-dialog.d.ts +2 -2
- package/dist/components/ui/combobox.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/overlay-layer.d.ts +18 -0
- package/dist/components/ui/sheet.d.ts +5 -1
- package/dist/components/ui/sidebar-state.d.ts +82 -0
- package/dist/components/ui/sidebar.d.ts +5 -17
- package/dist/{containers-CRmHf7GP.js → containers-CIxwbZt5.js} +26 -18
- package/dist/containers-CIxwbZt5.js.map +1 -0
- package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
- package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
- package/dist/{copyable-CnGCZdX4.js → copyable-DIznBqiT.js} +7 -7
- package/dist/{copyable-CnGCZdX4.js.map → copyable-DIznBqiT.js.map} +1 -1
- package/dist/{data-display-D4oujtx0.js → data-display-BdgCAw8T.js} +268 -277
- package/dist/data-display-BdgCAw8T.js.map +1 -0
- package/dist/{date-Q7jnXxpk.js → date-Cq8ioE4o.js} +5 -5
- package/dist/{date-Q7jnXxpk.js.map → date-Cq8ioE4o.js.map} +1 -1
- package/dist/{date-picker-zOt1oNss.js → date-picker-RlIzKom_.js} +446 -437
- package/dist/date-picker-RlIzKom_.js.map +1 -0
- package/dist/{date-pickers-cj8IXbDC.js → date-pickers-DY-CpXS1.js} +12 -12
- package/dist/{date-pickers-cj8IXbDC.js.map → date-pickers-DY-CpXS1.js.map} +1 -1
- package/dist/{display-BB4BL_-K.js → display-KsZLw9Ov.js} +9 -9
- package/dist/{display-BB4BL_-K.js.map → display-KsZLw9Ov.js.map} +1 -1
- package/dist/dropdown-menu-CLs8Lihj.js +194 -0
- package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
- package/dist/features/activities.js +302 -253
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +15 -14
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +22 -22
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +11 -10
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +13 -13
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer.js +237 -238
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +140 -146
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +167 -138
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +6 -7
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +269 -260
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +375 -326
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +1266 -1193
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +13 -13
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +69 -66
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +13 -13
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +94 -95
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-DZNL5Lg1.js → feedback-Dm4izqFn.js} +80 -79
- package/dist/feedback-Dm4izqFn.js.map +1 -0
- package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
- package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
- package/dist/{filters-BcT-uoFy.js → filters-DzgSJpMK.js} +693 -645
- package/dist/filters-DzgSJpMK.js.map +1 -0
- package/dist/{form-field-CsgRmdit.js → form-field-BriWAXyg.js} +6 -6
- package/dist/{form-field-CsgRmdit.js.map → form-field-BriWAXyg.js.map} +1 -1
- package/dist/{form-sizing-NXgjkmBG.js → form-sizing-Bs2qFUeE.js} +4 -4
- package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
- package/dist/{forms-BV5m5aQF.js → forms-C0RGnJTe.js} +17 -13
- package/dist/forms-C0RGnJTe.js.map +1 -0
- package/dist/{forms-numeric-Cd33AKbD.js → forms-numeric-DIhghX1Q.js} +86 -82
- package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
- package/dist/{header-BA697l4a.js → header-DMMxG__r.js} +67 -63
- package/dist/header-DMMxG__r.js.map +1 -0
- package/dist/header.recipes-BigdJjw1.js +6 -0
- package/dist/header.recipes-BigdJjw1.js.map +1 -0
- package/dist/{hooks-BQ-L7Uu2.js → hooks-DB6CJ4MR.js} +26 -14
- package/dist/hooks-DB6CJ4MR.js.map +1 -0
- package/dist/{icon-badge-COWbCCWu.js → icon-badge-DZF-YjQp.js} +4 -4
- package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
- package/dist/index.js +4 -5
- package/dist/{input-Cdw4k0fb.js → input-CvyDQlY7.js} +8 -8
- package/dist/{input-Cdw4k0fb.js.map → input-CvyDQlY7.js.map} +1 -1
- package/dist/input-DMBwAZmr.js +21 -0
- package/dist/input-DMBwAZmr.js.map +1 -0
- package/dist/{item-BvZ2DR_x.js → item-DjCcM18E.js} +16 -16
- package/dist/item-DjCcM18E.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 +2 -2
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +3 -3
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +11 -11
- package/dist/lib/affordance-geometry.generated.d.ts +35 -35
- package/dist/lib/control-group-recipes.d.ts +5 -5
- package/dist/lib/field-affordance-recipes.d.ts +2 -2
- package/dist/lib/motion-recipes.d.ts +3 -0
- package/dist/lib/navigation-row-recipes.d.ts +7 -7
- package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
- package/dist/lib/portal-recipes.d.ts +3 -0
- package/dist/lib/token-merge.generated.d.ts +13 -10
- package/dist/lib/utils.js +1 -1
- package/dist/map-demo-tile.svg +1 -1
- package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C-vChPmE.js} +6 -6
- package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C-vChPmE.js.map} +1 -1
- package/dist/{mentions-RKOQaaIB.js → mentions-0_4nWuI-.js} +10 -10
- package/dist/{mentions-RKOQaaIB.js.map → mentions-0_4nWuI-.js.map} +1 -1
- package/dist/{message-INU2xsxu.js → message-g8p7eVtN.js} +7 -7
- package/dist/message-g8p7eVtN.js.map +1 -0
- package/dist/{metadata-list-qVV7AVxa.js → metadata-list-C3MkU-Om.js} +64 -64
- package/dist/metadata-list-C3MkU-Om.js.map +1 -0
- package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
- package/dist/motion-recipes-DitYv6P2.js.map +1 -0
- package/dist/navigation-C90-oQFq.js +255 -0
- package/dist/navigation-C90-oQFq.js.map +1 -0
- package/dist/{navigation-BQNcg1jT.js → navigation-DaRjthVk.js} +101 -82
- package/dist/navigation-DaRjthVk.js.map +1 -0
- package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
- package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
- package/dist/{number-E_OiIfJz.js → number-CRU3kGuk.js} +5 -5
- package/dist/{number-E_OiIfJz.js.map → number-CRU3kGuk.js.map} +1 -1
- package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
- package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
- package/dist/overlays-BSgCtM2v.js +1013 -0
- package/dist/overlays-BSgCtM2v.js.map +1 -0
- package/dist/page-DUUKDAjo.js +331 -0
- package/dist/page-DUUKDAjo.js.map +1 -0
- package/dist/page-header-commands-7P3sfE9u.js +193 -0
- package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
- package/dist/{pagination-Ch8X_47u.js → pagination-CgCjElfu.js} +7 -7
- package/dist/{pagination-Ch8X_47u.js.map → pagination-CgCjElfu.js.map} +1 -1
- package/dist/popover-B85RenIl.js +201 -0
- package/dist/popover-B85RenIl.js.map +1 -0
- package/dist/{popover-menu-BYaCdFhf.js → popover-menu-DlnQ2zlR.js} +7 -7
- package/dist/{popover-menu-BYaCdFhf.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
- package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
- package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
- package/dist/portal-recipes-BpsV_iRw.js +9 -0
- package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
- package/dist/{primitives-Du64iDbb.js → primitives-ByWgGUgt.js} +5 -5
- package/dist/{primitives-Du64iDbb.js.map → primitives-ByWgGUgt.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-BvF2oCdV.js → progress-BJhQP9WX.js} +9 -9
- package/dist/{progress-BvF2oCdV.js.map → progress-BJhQP9WX.js.map} +1 -1
- package/dist/{receipt-D789Jwyy.js → receipt-tOc7B3hw.js} +7 -7
- package/dist/receipt-tOc7B3hw.js.map +1 -0
- package/dist/{rich-text-CLJEf76s.js → rich-text-Dth5E882.js} +3 -3
- package/dist/{rich-text-CLJEf76s.js.map → rich-text-Dth5E882.js.map} +1 -1
- package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-C1fOjBTd.js} +429 -430
- package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-L__e4x47.js → rich-text-editor-toolbar-laT3tpBT.js} +32 -28
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
- package/dist/{scroll-area-La5RXsEk.js → scroll-area-B0dB2cBi.js} +2 -2
- package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
- package/dist/{separator-DAEV0w65.js → separator-Bb17I4pu.js} +2 -2
- package/dist/{separator-DAEV0w65.js.map → separator-Bb17I4pu.js.map} +1 -1
- package/dist/{separator-GNfPG-90.js → separator-Ct_WSWTJ.js} +3 -3
- package/dist/{separator-GNfPG-90.js.map → separator-Ct_WSWTJ.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/{settings-BA2iboic.js → settings-Bar5wiSo.js} +31 -38
- package/dist/settings-Bar5wiSo.js.map +1 -0
- package/dist/sheet-BGPERY55.js +250 -0
- package/dist/sheet-BGPERY55.js.map +1 -0
- package/dist/sidebar-D-JYMMbY.js +686 -0
- package/dist/sidebar-D-JYMMbY.js.map +1 -0
- package/dist/sidebar-f9gRWXIR.js +1001 -0
- package/dist/sidebar-f9gRWXIR.js.map +1 -0
- package/dist/skeleton-BapcJd9C.js +265 -0
- package/dist/skeleton-BapcJd9C.js.map +1 -0
- package/dist/smart-card-CW0hjetE.js +617 -0
- package/dist/smart-card-CW0hjetE.js.map +1 -0
- package/dist/{structure-C0V0_Fyf.js → structure-DuxKl954.js} +2 -2
- package/dist/{structure-C0V0_Fyf.js.map → structure-DuxKl954.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-CpvnzJn9.js → table-B4TE7iOV.js} +3 -3
- package/dist/{table-CpvnzJn9.js.map → table-B4TE7iOV.js.map} +1 -1
- package/dist/{table-DH7rozUv.js → table-CFOWY9pQ.js} +394 -388
- package/dist/table-CFOWY9pQ.js.map +1 -0
- package/dist/{tabs-eqVsJZWO.js → tabs-e7ko9S2o.js} +11 -11
- package/dist/tabs-e7ko9S2o.js.map +1 -0
- package/dist/{text-inputs-DXItiR0O.js → text-inputs-B1culiSK.js} +17 -17
- package/dist/text-inputs-B1culiSK.js.map +1 -0
- package/dist/theme.css +40 -37
- package/dist/{timelines-DmtztAY_.js → timelines-D3Sl9ueq.js} +13 -12
- package/dist/timelines-D3Sl9ueq.js.map +1 -0
- package/dist/tooltip-8wz5S_Zr.js +113 -0
- package/dist/tooltip-8wz5S_Zr.js.map +1 -0
- package/dist/{tree-CV11PURP.js → tree-CzUJHnFs.js} +8 -8
- package/dist/{tree-CV11PURP.js.map → tree-CzUJHnFs.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-CSyJrh28.js → typography-BQnine1k.js} +12 -12
- package/dist/{typography-CSyJrh28.js.map → typography-BQnine1k.js.map} +1 -1
- package/dist/typography.js +1 -1
- package/dist/ui-provider-C-74NVLc.js +178 -0
- package/dist/ui-provider-C-74NVLc.js.map +1 -0
- package/dist/ui-provider.js +2 -3
- package/dist/{upload-C9SA0X-8.js → upload-BOW6U2tI.js} +25 -24
- package/dist/upload-BOW6U2tI.js.map +1 -0
- package/dist/{upload-queue-DhQJiSRc.js → upload-queue-qUXn1ykN.js} +16 -14
- package/dist/upload-queue-qUXn1ykN.js.map +1 -0
- package/dist/{usage-card-DVTRDmGz.js → usage-card-BeSLY0i0.js} +24 -17
- package/dist/usage-card-BeSLY0i0.js.map +1 -0
- package/dist/{utils-CF3c95Io.js → utils-B6kKb8jB.js} +237 -141
- package/dist/utils-B6kKb8jB.js.map +1 -0
- package/dist/value-inputs-skdVB2zh.js +980 -0
- package/dist/value-inputs-skdVB2zh.js.map +1 -0
- package/dist/{value-typography-ClupF0Gz.js → value-typography-uAmWUAL1.js} +2 -2
- package/dist/{value-typography-ClupF0Gz.js.map → value-typography-uAmWUAL1.js.map} +1 -1
- package/dist/{workspace-9EFVXUyk.js → workspace-DHeHv0qw.js} +50 -49
- package/dist/workspace-DHeHv0qw.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +4 -3
- package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
- package/docs/consumer-skill/examples/app-layout.tsx +52 -1
- package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
- package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
- package/docs/consumer-skill/examples/detail.tsx +5 -4
- package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
- package/docs/consumer-skill/examples/index-table.tsx +4 -4
- package/docs/consumer-skill/examples/manifest.json +38 -1
- package/docs/consumer-skill/examples/product-media.tsx +41 -0
- package/docs/consumer-skill/examples/product-parts.tsx +81 -0
- package/docs/consumer-skill/examples/rhf-edit-page.tsx +1 -1
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
- package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
- package/docs/consumer-skill/references/agents-md.md +19 -17
- package/docs/consumer-skill/references/analytics.md +18 -1
- package/docs/consumer-skill/references/commerce-composition.md +97 -0
- package/docs/consumer-skill/references/component-contracts.json +7131 -1754
- package/docs/consumer-skill/references/composition-mapping.md +17 -3
- package/docs/consumer-skill/references/composition.md +159 -31
- package/docs/consumer-skill/references/critique-rubric.md +98 -0
- package/docs/consumer-skill/references/custom-composition.md +261 -0
- package/docs/consumer-skill/references/data-reading.md +79 -0
- package/docs/consumer-skill/references/design-contract.md +11 -9
- package/docs/consumer-skill/references/discovery.md +27 -3
- package/docs/consumer-skill/references/domain-structures.md +124 -0
- package/docs/consumer-skill/references/installation.md +15 -4
- package/docs/consumer-skill/references/integration.md +35 -0
- package/docs/consumer-skill/references/product-composition.md +94 -0
- package/docs/consumer-skill/references/public-api.json +2881 -420
- package/docs/consumer-skill/references/review.md +39 -2
- package/docs/consumer-skill/references/rhf-workflows.md +7 -0
- package/docs/consumer-skill/references/screen-archetypes.md +19 -7
- package/docs/consumer-skill/references/screen-decisions.md +126 -0
- package/docs/consumer-skill/references/theming.md +17 -18
- package/docs/consumer-skill/references/tokens.json +9 -9
- package/docs/consumer-skill/references/view-craft.md +153 -0
- package/docs/consumer-skill/references/view-spec.md +73 -0
- package/docs/consumer-skill/references/workflows.md +7 -1
- package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
- package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
- package/docs/consumer-skill/scripts/composition.mjs +61 -5
- package/docs/consumer-skill/scripts/discovery.mjs +54 -0
- package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
- package/docs/consumer-skill/scripts/inspection.mjs +73 -18
- package/docs/consumer-skill/scripts/setup-skills.mjs +41 -6
- package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
- package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
- package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
- package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
- package/package.json +1 -1
- package/dist/accordion-96o0pN62.js.map +0 -1
- package/dist/action-menu-CHgs8vmj.js.map +0 -1
- package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
- package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
- package/dist/app-shell-D63ATkIK.js +0 -237
- package/dist/app-shell-D63ATkIK.js.map +0 -1
- package/dist/auth-D2FVZ1MH.js.map +0 -1
- package/dist/avatar-DWO_HHhB.js.map +0 -1
- package/dist/base/cascader.js.map +0 -1
- package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
- package/dist/button-DkmK-z8E.js.map +0 -1
- package/dist/buttons-BbfzgczK.js.map +0 -1
- package/dist/cards-4JTWqvVe.js +0 -68
- package/dist/cards-4JTWqvVe.js.map +0 -1
- package/dist/chart-C19flDQb.js +0 -155
- package/dist/chart-C19flDQb.js.map +0 -1
- package/dist/choice-inputs-JLtij2y4.js.map +0 -1
- package/dist/code-block-CGNaUtAE.js.map +0 -1
- package/dist/combobox-CBJDs6w_.js.map +0 -1
- package/dist/combobox-hbhSS18O.js +0 -355
- package/dist/combobox-hbhSS18O.js.map +0 -1
- package/dist/command-D8NrBj-b.js.map +0 -1
- package/dist/containers-CRmHf7GP.js.map +0 -1
- package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
- package/dist/data-display-D4oujtx0.js.map +0 -1
- package/dist/date-picker-zOt1oNss.js.map +0 -1
- package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
- package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
- package/dist/feedback-DZNL5Lg1.js.map +0 -1
- package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
- package/dist/filters-BcT-uoFy.js.map +0 -1
- package/dist/form-sizing-NXgjkmBG.js.map +0 -1
- package/dist/forms-BV5m5aQF.js.map +0 -1
- package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
- package/dist/header-BA697l4a.js.map +0 -1
- package/dist/hooks-BQ-L7Uu2.js.map +0 -1
- package/dist/input-DOPL5_QE.js +0 -21
- package/dist/input-DOPL5_QE.js.map +0 -1
- package/dist/item-BvZ2DR_x.js.map +0 -1
- package/dist/message-INU2xsxu.js.map +0 -1
- package/dist/metadata-list-qVV7AVxa.js.map +0 -1
- package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
- package/dist/navigation-BQNcg1jT.js.map +0 -1
- package/dist/navigation-DLF3E1IC.js +0 -145
- package/dist/navigation-DLF3E1IC.js.map +0 -1
- package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
- package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
- package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
- package/dist/overlays-BlKynmde.js +0 -1004
- package/dist/overlays-BlKynmde.js.map +0 -1
- package/dist/page-CIwNUtGr.js +0 -227
- package/dist/page-CIwNUtGr.js.map +0 -1
- package/dist/page-header-commands-DFMlNYzN.js +0 -128
- package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
- package/dist/popover-uwzX2vo7.js +0 -198
- package/dist/popover-uwzX2vo7.js.map +0 -1
- package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
- package/dist/receipt-D789Jwyy.js.map +0 -1
- package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
- package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
- package/dist/settings-BA2iboic.js.map +0 -1
- package/dist/sheet-DoAxTb2J.js +0 -213
- package/dist/sheet-DoAxTb2J.js.map +0 -1
- package/dist/sidebar-ByqKR_W5.js +0 -512
- package/dist/sidebar-ByqKR_W5.js.map +0 -1
- package/dist/sidebar-D2iSnGJ7.js +0 -619
- package/dist/sidebar-D2iSnGJ7.js.map +0 -1
- package/dist/skeleton-CUj8O5Bd.js +0 -264
- package/dist/skeleton-CUj8O5Bd.js.map +0 -1
- package/dist/smart-card-CqkzQsK-.js +0 -614
- package/dist/smart-card-CqkzQsK-.js.map +0 -1
- package/dist/table-DH7rozUv.js.map +0 -1
- package/dist/tabs-eqVsJZWO.js.map +0 -1
- package/dist/text-inputs-DXItiR0O.js.map +0 -1
- package/dist/theme-scope-BJ6eE2xt.js +0 -50
- package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
- package/dist/timelines-DmtztAY_.js.map +0 -1
- package/dist/tooltip-B4hjKtoV.js +0 -111
- package/dist/tooltip-B4hjKtoV.js.map +0 -1
- package/dist/ui-provider-CQCuCBcy.js +0 -136
- package/dist/ui-provider-CQCuCBcy.js.map +0 -1
- package/dist/upload-C9SA0X-8.js.map +0 -1
- package/dist/upload-queue-DhQJiSRc.js.map +0 -1
- package/dist/usage-card-DVTRDmGz.js.map +0 -1
- package/dist/use-mobile-vaLKwgyf.js +0 -15
- package/dist/use-mobile-vaLKwgyf.js.map +0 -1
- package/dist/utils-CF3c95Io.js.map +0 -1
- package/dist/value-inputs-C0o70p-U.js +0 -980
- package/dist/value-inputs-C0o70p-U.js.map +0 -1
- package/dist/workspace-9EFVXUyk.js.map +0 -1
|
@@ -63,6 +63,10 @@ export interface FilterStrings {
|
|
|
63
63
|
activeFilters: string;
|
|
64
64
|
clearSearch: string;
|
|
65
65
|
backToFilters: string;
|
|
66
|
+
/** Returns from a nested option level to its parent level. */
|
|
67
|
+
previousLevel: string;
|
|
68
|
+
/** Chooses the nested option level being viewed, when branches are selectable. */
|
|
69
|
+
selectCurrentLevel: string;
|
|
66
70
|
select: string;
|
|
67
71
|
options: string;
|
|
68
72
|
operator: string;
|
|
@@ -64,6 +64,7 @@ export interface FilterOption {
|
|
|
64
64
|
value: string;
|
|
65
65
|
/** Leading glyph. */
|
|
66
66
|
icon: ReactNode;
|
|
67
|
+
/** Nested options. SELECT and MULTI_SELECT editors show them level by level, and a chosen option reads as its path. */
|
|
67
68
|
children?: FilterOption[];
|
|
68
69
|
/** Renders the entry as unselectable. */
|
|
69
70
|
disabled?: boolean;
|
|
@@ -167,6 +168,8 @@ export interface FilterConfig {
|
|
|
167
168
|
validation?: ValidationConfig;
|
|
168
169
|
dependencies?: FilterDependency[];
|
|
169
170
|
multiple?: boolean;
|
|
171
|
+
/** For nested options: only leaves can be chosen (default), or any option, including a branch. */
|
|
172
|
+
selectableOptions?: 'leaf' | 'any';
|
|
170
173
|
closeOnSelect?: boolean;
|
|
171
174
|
maxSelected?: number;
|
|
172
175
|
/** Async option loading config for ASYNC_SELECT filters. */
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
interface FilterEditorHeaderProps {
|
|
3
|
+
/** The filter label shown as the editor title. */
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
/** Optional supporting line under the title. */
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
/** Returns to the filter list; the back button shows only when this is set. */
|
|
8
|
+
onBack?: () => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The one header every value editor uses — list, date and tag editors alike:
|
|
12
|
+
* an optional back button and the filter label as the popover title, set in
|
|
13
|
+
* the compact editor surface so every editor starts on the same band.
|
|
14
|
+
*/
|
|
15
|
+
export declare function FilterEditorHeader({ title, description, onBack }: FilterEditorHeaderProps): import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentProps } from 'react';
|
|
2
2
|
import { PopoverContent } from '../../../base/popover';
|
|
3
3
|
import { type FilterConfig, type FilterTriggerSource } from '../filters.types';
|
|
4
4
|
export interface FilterPopoverContentProps {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { FilterConfig } from '../filters.types';
|
|
3
|
+
interface NestedFilterOptionsProps {
|
|
4
|
+
/** Definition of the filter this control edits; its options nest `children`. */
|
|
5
|
+
filter: FilterConfig;
|
|
6
|
+
/** Current draft value. */
|
|
7
|
+
value: string[];
|
|
8
|
+
/** Whether several options can be chosen. */
|
|
9
|
+
multiple: boolean;
|
|
10
|
+
/** Receives the next draft value. */
|
|
11
|
+
onChange: (value: string[]) => void;
|
|
12
|
+
/** The editor's header, shown at the root level; a drilled level shows its own header and path instead. */
|
|
13
|
+
header: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* NestedFilterOptions — the SELECT / MULTI_SELECT editor body for options with
|
|
17
|
+
* `children`. It shows one level at a time through the shared cascader panel,
|
|
18
|
+
* with path search across every level, inside the filter's own popover.
|
|
19
|
+
*/
|
|
20
|
+
export declare function NestedFilterOptions({ filter, value, multiple, onChange, header }: NestedFilterOptionsProps): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -22,7 +22,8 @@ interface RegularFilterContentProps {
|
|
|
22
22
|
* the trailing edge — only rendered when the user has changed selection.
|
|
23
23
|
*
|
|
24
24
|
* Sizes are tuned to feel like a native menu, not a card. Popover width
|
|
25
|
-
* stays at ~260-300px so labels read at one glance.
|
|
25
|
+
* stays at ~260-300px so labels read at one glance. Options with `children`
|
|
26
|
+
* replace the flat list with one level at a time (NestedFilterOptions).
|
|
26
27
|
*/
|
|
27
28
|
export declare function RegularFilterContent({ filter, value, onFilterChange, onBackToFilterList, onClose, triggerSource, }: RegularFilterContentProps): import("react").JSX.Element;
|
|
28
29
|
export {};
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CascaderNode } from '../../../base/cascader';
|
|
3
|
+
import type { FilterConfig, FilterDependency, FilterOption } from '../filters.types';
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* The option for a value and its ancestors, searching nested options.
|
|
5
6
|
*/
|
|
6
|
-
export declare function
|
|
7
|
+
export declare function findFilterOptionPath(options: readonly FilterOption[] | undefined, value: string): FilterOption[];
|
|
8
|
+
/**
|
|
9
|
+
* A sentence-case label inside running text, such as a footer count:
|
|
10
|
+
* "Created date" reads "created date", while acronyms such as "SKU" stay.
|
|
11
|
+
*/
|
|
12
|
+
export declare function labelInRunningText(label: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Whether any option nests children, so the editor shows them level by level.
|
|
15
|
+
*/
|
|
16
|
+
export declare function hasNestedFilterOptions(options?: readonly FilterOption[]): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Nested filter options as cascader nodes.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toCascaderNodes(options: readonly FilterOption[]): CascaderNode[];
|
|
21
|
+
/**
|
|
22
|
+
* Gets the label for a filter option; a nested option reads as its path, such as "Europe / Greece".
|
|
23
|
+
*/
|
|
24
|
+
export declare function getFilterOptionLabel(filter: FilterConfig, value: string, separator?: string): string | undefined;
|
|
7
25
|
/**
|
|
8
26
|
* Gets the icon for a filter option
|
|
9
27
|
*/
|
|
@@ -85,6 +85,8 @@ export interface GlobalSearchRenderResultContext {
|
|
|
85
85
|
query: string;
|
|
86
86
|
/** Fired when an entry is activated. */
|
|
87
87
|
onSelect: () => void;
|
|
88
|
+
/** Id of the option wrapping this row, which the search field names as its active descendant. */
|
|
89
|
+
optionId?: string;
|
|
88
90
|
}
|
|
89
91
|
/** Slot map — every consumer-overridable surface. */
|
|
90
92
|
export interface GlobalSearchSlots<TGroup extends string = string> {
|
|
@@ -13,5 +13,15 @@ export interface GlobalSearchInputProps {
|
|
|
13
13
|
loading?: boolean;
|
|
14
14
|
/** Focuses the control on mount. */
|
|
15
15
|
autoFocus?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the results list is showing. Setting it makes the field a
|
|
18
|
+
* combobox (`role="combobox"`, `aria-expanded`), the pattern for a search
|
|
19
|
+
* whose results are navigated with the arrow keys while focus stays here.
|
|
20
|
+
*/
|
|
21
|
+
expanded?: boolean;
|
|
22
|
+
/** Id(s) of the results listbox(es) the combobox controls, while expanded. */
|
|
23
|
+
controls?: string;
|
|
24
|
+
/** Id of the highlighted result, announced as the active option. */
|
|
25
|
+
activeDescendant?: string;
|
|
16
26
|
}
|
|
17
27
|
export declare const GlobalSearchInput: React.ForwardRefExoticComponent<GlobalSearchInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -10,7 +10,13 @@ export interface GlobalSearchResultRowProps<TGroup extends string = string> {
|
|
|
10
10
|
/** Fired when an entry is activated. */
|
|
11
11
|
onSelect?: () => void;
|
|
12
12
|
onMouseEnter?: () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Id of this row as an option of a results listbox. When set, the row is a
|
|
15
|
+
* `role="option"` reached through the search field's active descendant
|
|
16
|
+
* rather than by Tab; standalone rows stay plain buttons.
|
|
17
|
+
*/
|
|
18
|
+
optionId?: string;
|
|
13
19
|
/** Merged onto the outermost node. */
|
|
14
20
|
className?: string;
|
|
15
21
|
}
|
|
16
|
-
export declare function GlobalSearchResultRow<TGroup extends string = string>({ result, active, query, onSelect, onMouseEnter, className, }: GlobalSearchResultRowProps<TGroup>): React.JSX.Element;
|
|
22
|
+
export declare function GlobalSearchResultRow<TGroup extends string = string>({ result, active, query, onSelect, onMouseEnter, optionId, className, }: GlobalSearchResultRowProps<TGroup>): React.JSX.Element;
|
|
@@ -39,6 +39,8 @@ export interface MediaLibraryStrings {
|
|
|
39
39
|
loading: string;
|
|
40
40
|
errorTitle: string;
|
|
41
41
|
errorDescription: string;
|
|
42
|
+
/** Retry action in the load error state. Defaults to "Try again". */
|
|
43
|
+
retry?: string;
|
|
42
44
|
cardDetails: string;
|
|
43
45
|
/** Toolbar toggle that turns selection mode on or off. */
|
|
44
46
|
selectMode: string;
|
|
@@ -201,6 +201,8 @@ export interface MediaLibraryState<TItem = MediaLibraryItem> {
|
|
|
201
201
|
clearFilters: () => void;
|
|
202
202
|
loading: boolean;
|
|
203
203
|
error: unknown;
|
|
204
|
+
/** Runs the fetcher again for the current query after a failure; does nothing in local mode. */
|
|
205
|
+
retry: () => void;
|
|
204
206
|
hasFilters: boolean;
|
|
205
207
|
totalCount: number;
|
|
206
208
|
filteredCount: number;
|
|
@@ -419,14 +421,18 @@ export interface MediaResourceGalleryItemRenderContext<TItem = MediaLibraryItem>
|
|
|
419
421
|
id: string;
|
|
420
422
|
/** Zero-based position of the entry in its list. */
|
|
421
423
|
index: number;
|
|
422
|
-
/**
|
|
424
|
+
/** Number of attached items in this gallery. */
|
|
423
425
|
total: number;
|
|
424
426
|
primary: boolean;
|
|
425
427
|
/** Reads id, name, URL, type, and size off your own asset shape. */
|
|
426
428
|
accessors: ResolvedMediaLibraryAccessors<TItem>;
|
|
429
|
+
/** Whether reordering is supported, writable, and an earlier position exists. */
|
|
427
430
|
canMovePrevious: boolean;
|
|
431
|
+
/** Whether reordering is supported, writable, and a later position exists. */
|
|
428
432
|
canMoveNext: boolean;
|
|
433
|
+
/** Keeps its callable shape; does nothing in read-only mode or without its handler. */
|
|
429
434
|
setPrimary: () => void;
|
|
435
|
+
/** Keeps its callable shape; does nothing in read-only mode or without its handler. */
|
|
430
436
|
remove: () => void;
|
|
431
437
|
movePrevious: () => void;
|
|
432
438
|
moveNext: () => void;
|
|
@@ -442,11 +448,11 @@ export interface MediaResourceGalleryProps<TItem = MediaLibraryItem> extends Omi
|
|
|
442
448
|
description?: ReactNode;
|
|
443
449
|
/** Id of the asset marked primary — the resource's cover image. */
|
|
444
450
|
primaryId?: string;
|
|
445
|
-
/** Fired when a different asset is promoted to primary. */
|
|
451
|
+
/** Fired when a different asset is promoted to primary. Omit to hide the default primary command. */
|
|
446
452
|
onPrimaryChange?: (id: string, item: TItem) => void;
|
|
447
|
-
/** Fired when an asset is detached from the resource. */
|
|
453
|
+
/** Fired when an asset is detached from the resource. Omit to hide the default remove command. */
|
|
448
454
|
onRemove?: (id: string, item: TItem) => void;
|
|
449
|
-
/** Fired with the next order
|
|
455
|
+
/** Fired with the next order from a move command. Omit to hide default reorder commands. */
|
|
450
456
|
onReorder?: (ids: string[], items: TItem[]) => void;
|
|
451
457
|
/** Fired when the user asks to attach more assets — usually opens the library dialog. */
|
|
452
458
|
onAdd?: () => void;
|
|
@@ -583,6 +589,10 @@ export interface MediaLibraryToolbarProps {
|
|
|
583
589
|
selecting?: boolean;
|
|
584
590
|
/** Renders the Select toggle, which turns selection mode on or off. */
|
|
585
591
|
onSelectingChange?: (selecting: boolean) => void;
|
|
592
|
+
/** Result summary, such as the item count; it sits with the view controls. */
|
|
593
|
+
summary?: ReactNode;
|
|
594
|
+
/** Disables every control, for example while the collection failed to load. */
|
|
595
|
+
disabled?: boolean;
|
|
586
596
|
}
|
|
587
597
|
export interface MediaLibraryFooterSummaryProps {
|
|
588
598
|
/** Which tab is showing — browse or upload. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MediaLibraryCardProps, MediaLibraryDetailPanelProps, MediaLibraryEmptyStateProps, MediaLibraryFooterActionsProps, MediaLibraryFooterProps, MediaLibraryFooterSummaryProps, MediaLibraryListProps, MediaLibraryToolbarProps, MediaLibraryUploadPanelProps } from '../media-library.types';
|
|
2
2
|
export declare function MediaLibraryEmptyState({ icon, title, description, action, className, }: MediaLibraryEmptyStateProps): import("react").JSX.Element;
|
|
3
|
-
export declare function MediaLibraryToolbar({ query, type, typeFilters, collection, sort, view, collections, strings, onQueryChange, onTypeChange, onCollectionChange, onSortChange, onViewChange, onClearFilters, toolbarEnd, selecting, onSelectingChange, }: MediaLibraryToolbarProps): import("react").JSX.Element;
|
|
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
6
|
export declare function MediaLibraryDetailPanel<TItem>({ item, collections, accessors, strings, onClose, onUpdate, onRemove, onReplace, renderDetail, }: MediaLibraryDetailPanelProps<TItem>): import("react").JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProductOptionsMatrixProps } from '../products.types';
|
|
2
|
-
export declare function ProductOptionsMatrix({ optionGroups, surface, collapsedOptionIds, defaultCollapsedOptionIds, onCollapsedOptionIdsChange, editingOptionId, defaultEditingOptionId, onEditingOptionIdChange, onCreateOption, onEditOption, onDeleteOption, confirmDelete, onAddValue, onDeleteValue, onOptionNameChange, onValueLabelChange, onDoneEditingOption, onSaveEditingOption, onCancelEditingOption, onToggleUsedForVariants, renderOptionActions, renderValue, showHeader: showHeaderProp, showCollapseControls, showInlineActions, showVariantToggle, actions, headerEnd, footerSlot, empty, className, strings: stringsProp, }: ProductOptionsMatrixProps): import("react").JSX.Element;
|
|
2
|
+
export declare function ProductOptionsMatrix({ optionGroups, surface, collapsedOptionIds, defaultCollapsedOptionIds, onCollapsedOptionIdsChange, editingOptionId, defaultEditingOptionId, onEditingOptionIdChange, onCreateOption, onEditOption, onDeleteOption, confirmDelete, onAddValue, onDeleteValue, onOptionNameChange, onValueLabelChange, onDoneEditingOption, onSaveEditingOption, onError, onCancelEditingOption, onToggleUsedForVariants, renderOptionActions, renderValue, showHeader: showHeaderProp, showCollapseControls, showInlineActions, showVariantToggle, actions, headerEnd, footerSlot, empty, className, strings: stringsProp, }: ProductOptionsMatrixProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace ProductOptionsMatrix {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProductVariantEditorProps } from '../products.types';
|
|
2
|
-
export declare function ProductVariantEditor({ value: valueProp, defaultValue, optionFields, statusOptions, onValueChange, onSubmit, onError, onCancel, onDelete, actions, headerEnd, footerSlot, disabled, submitting, className, strings: stringsProp, }: ProductVariantEditorProps): import("react").JSX.Element;
|
|
2
|
+
export declare function ProductVariantEditor({ value: valueProp, defaultValue, optionFields, statusOptions, onValueChange, onSubmit, onError, onCancel, onDelete, actions, headerEnd, footerSlot, visibleFields, errors, formId: formIdProp, showHeader, children, disabled, submitting, className, strings: stringsProp, }: ProductVariantEditorProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace ProductVariantEditor {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProductVariantsManagerProps } from '../products.types';
|
|
2
|
-
export declare function ProductVariantsManager({ optionGroups, variants, visibleColumns, optionCombinationDisplay, cellDisplay, selectionMode, renderOptionCombination, renderCell, selectedVariantIds, defaultSelectedVariantIds, onSelectedVariantIdsChange, onVariantFieldChange, onVariantFieldBlur, collapsedOptionIds, defaultCollapsedOptionIds, onCollapsedOptionIdsChange, editingOptionId, defaultEditingOptionId, onEditingOptionIdChange, onCreateOption, onEditOption, onDeleteOption, onAddValue, onDeleteValue, onOptionNameChange, onValueLabelChange, onDoneEditingOption, onSaveEditingOption, onCancelEditingOption, onToggleUsedForVariants, renderOptionActions, renderValue, onCreateVariant, onGenerateVariants, onSelectVariant, onEditVariant, onDuplicateVariant, onDeleteVariant, onBulkEdit, onBulkApply, onBulkDelete, renderVariantActions, renderBulkActions, groupByOptionId, defaultGroupByOptionId, onGroupByOptionIdChange, onSearchVariants, onFilterVariants, controlsEnd, actions, headerEnd, footerSlot, surface, padding, headerDivider, footerDivider, className, strings: stringsProp, optionsStrings, variantsStrings, }: ProductVariantsManagerProps): import("react").JSX.Element;
|
|
2
|
+
export declare function ProductVariantsManager({ optionGroups, variants, visibleColumns, optionCombinationDisplay, cellDisplay, selectionMode, renderOptionCombination, renderCell, selectedVariantIds, defaultSelectedVariantIds, onSelectedVariantIdsChange, onVariantFieldChange, onVariantFieldBlur, collapsedOptionIds, defaultCollapsedOptionIds, onCollapsedOptionIdsChange, editingOptionId, defaultEditingOptionId, onEditingOptionIdChange, onCreateOption, onEditOption, onDeleteOption, onAddValue, onDeleteValue, onOptionNameChange, onValueLabelChange, onDoneEditingOption, onSaveEditingOption, onError, onCancelEditingOption, onToggleUsedForVariants, renderOptionActions, renderValue, onCreateVariant, onGenerateVariants, onSelectVariant, onEditVariant, onDuplicateVariant, onDeleteVariant, onBulkEdit, onBulkApply, onBulkDelete, renderVariantActions, renderBulkActions, groupByOptionId, defaultGroupByOptionId, onGroupByOptionIdChange, showGroupBy, onSearchVariants, onFilterVariants, controlsEnd, actions, headerEnd, footerSlot, surface, padding, headerDivider, footerDivider, className, strings: stringsProp, optionsStrings, variantsStrings, }: ProductVariantsManagerProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace ProductVariantsManager {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -109,7 +109,7 @@ export interface ProductOptionsMatrixStrings {
|
|
|
109
109
|
/** Title of the confirmation shown when saving would drop option values. */
|
|
110
110
|
confirmRemoveValuesTitle: string;
|
|
111
111
|
/**
|
|
112
|
-
* Consequence of saving an edit that drops values. Receives `{count}`, the
|
|
112
|
+
* Consequence of saving an edit that drops values. Receives `{{count}}`, the
|
|
113
113
|
* number of values the save removes.
|
|
114
114
|
*/
|
|
115
115
|
confirmRemoveValuesDescription: string;
|
|
@@ -119,6 +119,14 @@ export interface ProductOptionsMatrixStrings {
|
|
|
119
119
|
confirmDeleteOptionDescription: string;
|
|
120
120
|
doneLabel: string;
|
|
121
121
|
saveLabel: string;
|
|
122
|
+
/** Pending option-save copy. Optional for compatibility with complete legacy string objects. */
|
|
123
|
+
savingLabel?: string;
|
|
124
|
+
/** Heading for a rejected option save. */
|
|
125
|
+
saveErrorTitle?: string;
|
|
126
|
+
/** Fallback when a rejection has no displayable Error message. */
|
|
127
|
+
saveErrorMessage?: string;
|
|
128
|
+
/** Save command after a rejected option save. */
|
|
129
|
+
retrySaveLabel?: string;
|
|
122
130
|
cancelLabel: string;
|
|
123
131
|
expandOptionLabel: string;
|
|
124
132
|
collapseOptionLabel: string;
|
|
@@ -174,7 +174,7 @@ export interface ProductDetailsCardProps {
|
|
|
174
174
|
description?: ReactNode | false;
|
|
175
175
|
/** Label/value facts rendered as a metadata list. */
|
|
176
176
|
metadata?: MetadataListItem[];
|
|
177
|
-
/** Leading media
|
|
177
|
+
/** Leading media; remains visible when no metadata facts are supplied. */
|
|
178
178
|
media?: ReactNode;
|
|
179
179
|
/** Fired when a details is edited. */
|
|
180
180
|
onEditDetails?: () => void;
|
|
@@ -406,8 +406,12 @@ export interface ProductOptionsMatrixProps {
|
|
|
406
406
|
onValueLabelChange?: (option: ProductOptionGroup, value: ProductOptionValue, label: string) => void;
|
|
407
407
|
/** Fired when editing an editing option finishes. */
|
|
408
408
|
onDoneEditingOption?: (option: ProductOptionGroup) => void;
|
|
409
|
-
/**
|
|
410
|
-
|
|
409
|
+
/** Saves the option draft. A Promise keeps editing locked until acceptance;
|
|
410
|
+
* rejection retains the draft, shows an error and permits retry. Legacy change
|
|
411
|
+
* and done callbacks run only after this callback succeeds. */
|
|
412
|
+
onSaveEditingOption?: (option: ProductOptionGroup, draft: ProductOptionEditDraft) => void | Promise<void>;
|
|
413
|
+
/** Receives a rejected option save after its draft has been retained. */
|
|
414
|
+
onError?: (error: unknown) => void;
|
|
411
415
|
/** Fired when editing an editing option is cancelled. */
|
|
412
416
|
onCancelEditingOption?: (option: ProductOptionGroup, draft: ProductOptionEditDraft) => void;
|
|
413
417
|
/** Fired when an used for variants is toggled. */
|
|
@@ -749,13 +753,21 @@ export interface ProductVariantsBulkTableProps {
|
|
|
749
753
|
/** Overrides this surface’s own copy. */
|
|
750
754
|
strings?: StringsProp<ProductVariantBulkTableStrings>;
|
|
751
755
|
}
|
|
752
|
-
export interface ProductVariantsManagerProps extends Pick<CardProps, 'surface' | 'padding' | 'headerDivider' | 'footerDivider'>, Pick<ProductOptionsMatrixProps, 'optionGroups' | 'collapsedOptionIds' | 'defaultCollapsedOptionIds' | 'onCollapsedOptionIdsChange' | 'editingOptionId' | 'defaultEditingOptionId' | 'onEditingOptionIdChange' | 'onCreateOption' | 'onEditOption' | 'onDeleteOption' | 'onAddValue' | 'onDeleteValue' | 'onOptionNameChange' | 'onValueLabelChange' | 'onDoneEditingOption' | 'onSaveEditingOption' | 'onCancelEditingOption' | 'onToggleUsedForVariants' | 'renderOptionActions' | 'renderValue'>, Pick<ProductVariantsBulkTableProps, 'variants' | 'groupByOptionId' | 'visibleColumns' | 'optionCombinationDisplay' | 'cellDisplay' | 'selectionMode' | 'renderOptionCombination' | 'renderCell' | 'selectedVariantIds' | 'defaultSelectedVariantIds' | 'onSelectedVariantIdsChange' | 'onVariantFieldChange' | 'onVariantFieldBlur' | 'onCreateVariant' | 'onGenerateVariants' | 'onSelectVariant' | 'onEditVariant' | 'onDuplicateVariant' | 'onDeleteVariant' | 'onBulkEdit' | 'onBulkApply' | 'onBulkDelete' | 'renderVariantActions' | 'renderBulkActions'> {
|
|
756
|
+
export interface ProductVariantsManagerProps extends Pick<CardProps, 'surface' | 'padding' | 'headerDivider' | 'footerDivider'>, Pick<ProductOptionsMatrixProps, 'optionGroups' | 'collapsedOptionIds' | 'defaultCollapsedOptionIds' | 'onCollapsedOptionIdsChange' | 'editingOptionId' | 'defaultEditingOptionId' | 'onEditingOptionIdChange' | 'onCreateOption' | 'onEditOption' | 'onDeleteOption' | 'onAddValue' | 'onDeleteValue' | 'onOptionNameChange' | 'onValueLabelChange' | 'onDoneEditingOption' | 'onSaveEditingOption' | 'onError' | 'onCancelEditingOption' | 'onToggleUsedForVariants' | 'renderOptionActions' | 'renderValue'>, Pick<ProductVariantsBulkTableProps, 'variants' | 'groupByOptionId' | 'visibleColumns' | 'optionCombinationDisplay' | 'cellDisplay' | 'selectionMode' | 'renderOptionCombination' | 'renderCell' | 'selectedVariantIds' | 'defaultSelectedVariantIds' | 'onSelectedVariantIdsChange' | 'onVariantFieldChange' | 'onVariantFieldBlur' | 'onCreateVariant' | 'onGenerateVariants' | 'onSelectVariant' | 'onEditVariant' | 'onDuplicateVariant' | 'onDeleteVariant' | 'onBulkEdit' | 'onBulkApply' | 'onBulkDelete' | 'renderVariantActions' | 'renderBulkActions'> {
|
|
753
757
|
/** Groups rows under the values of this option. `null` leaves the list flat. */
|
|
754
758
|
groupByOptionId?: string | null;
|
|
755
759
|
/** Option group used for grouping on first render. */
|
|
756
760
|
defaultGroupByOptionId?: string | null;
|
|
761
|
+
/**
|
|
762
|
+
* Shows the Group by control. Set `false` for a short variant list that
|
|
763
|
+
* needs no grouping chrome; rows then stay flat unless `groupByOptionId`
|
|
764
|
+
* or `defaultGroupByOptionId` names an option. @default true
|
|
765
|
+
*/
|
|
766
|
+
showGroupBy?: boolean;
|
|
757
767
|
onGroupByOptionIdChange?: (optionId: string | undefined, option?: ProductOptionGroup) => void;
|
|
768
|
+
/** Opens the app-owned variant search. Omitted handler hides its toolbar command. */
|
|
758
769
|
onSearchVariants?: () => void;
|
|
770
|
+
/** Opens or applies app-owned filtering. Omitted handler hides its toolbar command. */
|
|
759
771
|
onFilterVariants?: () => void;
|
|
760
772
|
/** Content at the end of the manager's control row. */
|
|
761
773
|
controlsEnd?: ReactNode;
|
|
@@ -772,7 +784,7 @@ export interface ProductVariantsManagerProps extends Pick<CardProps, 'surface' |
|
|
|
772
784
|
variantsStrings?: ProductVariantsBulkTableProps['strings'];
|
|
773
785
|
}
|
|
774
786
|
export interface ProductVariantDetailsProps {
|
|
775
|
-
/**
|
|
787
|
+
/** The selected variant and its accepted summary fields. */
|
|
776
788
|
variant?: ProductVariantSummary;
|
|
777
789
|
/** Label/value facts rendered as a metadata list. */
|
|
778
790
|
metadata?: MetadataListItem[];
|
|
@@ -842,6 +854,8 @@ export interface ProductVariantEditorValues {
|
|
|
842
854
|
/** Options to render. */
|
|
843
855
|
options?: Record<string, string | undefined>;
|
|
844
856
|
}
|
|
857
|
+
/** A built-in ProductVariantEditor field that `visibleFields` can hide. */
|
|
858
|
+
export type ProductVariantEditorField = 'name' | 'sku' | 'description' | 'price' | 'inventory' | 'status' | 'channels';
|
|
845
859
|
export interface ProductVariantEditorProps {
|
|
846
860
|
/** Value shown beside the label. */
|
|
847
861
|
value?: ProductVariantEditorValues;
|
|
@@ -865,6 +879,29 @@ export interface ProductVariantEditorProps {
|
|
|
865
879
|
headerEnd?: ReactNode;
|
|
866
880
|
/** Content rendered in the footer. */
|
|
867
881
|
footerSlot?: ReactNode;
|
|
882
|
+
/**
|
|
883
|
+
* Which built-in fields are shown. Omitted fields default to visible; a
|
|
884
|
+
* section whose fields are all hidden is omitted with its heading.
|
|
885
|
+
*/
|
|
886
|
+
visibleFields?: Partial<Record<ProductVariantEditorField, boolean>>;
|
|
887
|
+
/** Validation messages for built-in fields, shown under each and marking it invalid. */
|
|
888
|
+
errors?: Partial<Record<ProductVariantEditorField, ReactNode>>;
|
|
889
|
+
/**
|
|
890
|
+
* Id of the editor's form. Pass the same id to `ActionDrawer formId` so the
|
|
891
|
+
* drawer's footer submits it. Generated when omitted.
|
|
892
|
+
*/
|
|
893
|
+
formId?: string;
|
|
894
|
+
/**
|
|
895
|
+
* Shows the editor's own title and description. Set `false` inside an
|
|
896
|
+
* overlay whose header already names the task. @default true
|
|
897
|
+
*/
|
|
898
|
+
showHeader?: boolean;
|
|
899
|
+
/**
|
|
900
|
+
* App-owned fields, such as unit cost or per-location stock, rendered inside
|
|
901
|
+
* the form after the built-in sections and before the default commands.
|
|
902
|
+
* Their values, validation and submission stay with the caller.
|
|
903
|
+
*/
|
|
904
|
+
children?: ReactNode;
|
|
868
905
|
/** Renders the entry as unselectable. */
|
|
869
906
|
disabled?: boolean;
|
|
870
907
|
/** Shows the pending state and blocks repeat submissions. */
|
|
@@ -901,7 +938,7 @@ export interface ProductOverviewProps {
|
|
|
901
938
|
quote?: ProductQuotePreviewCardProps;
|
|
902
939
|
/** Policies card configuration. */
|
|
903
940
|
policies?: ProductPoliciesCardProps;
|
|
904
|
-
/**
|
|
941
|
+
/** Inserts content at the named main and supporting-region positions. */
|
|
905
942
|
slots?: ProductOverviewSlots;
|
|
906
943
|
/** Merged onto the outermost node. */
|
|
907
944
|
className?: string;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShowShellProps, TabbedResourceShellProps } from './resource.types';
|
|
2
|
-
|
|
2
|
+
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
3
|
+
export declare function ResourceHeader({ title, description, eyebrow, media, avatarUrl, avatarAlt, avatarFallback, icon, iconTone, badges, metadata, actions, primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel, renderLink, className, contentClassName, mediaClassName, }: ResourceHeaderProps): import("react").JSX.Element;
|
|
3
4
|
export declare function ResourceActionBar({ children, leading, trailing, sticky, className }: ResourceActionBarProps): import("react").JSX.Element;
|
|
4
5
|
export declare function ResourceEmptyState(props: ResourceEmptyStateProps): import("react").JSX.Element;
|
|
6
|
+
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
5
7
|
export declare function ResourceIndexShell(props: ResourceIndexShellProps): import("react").JSX.Element;
|
|
8
|
+
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
6
9
|
export declare function ResourceShowShell(props: ResourceShowShellProps): import("react").JSX.Element;
|
|
10
|
+
/** @deprecated Use Page from themelia-react-ui/layout/page; PageHeader is available for embedded headers. */
|
|
7
11
|
export declare function TabbedResourceShell({ tabs, activeTab, onTabChange, tabsClassName, moreLabel, tabsAriaLabel, toolbar, slots, className, strings: stringsProp, ...props }: TabbedResourceShellProps): import("react").JSX.Element;
|
|
8
12
|
export declare function ResourceDetailsSection({ metadata, metadataColumns, metadataDense, body, help, children, contentClassName, ...props }: ResourceDetailsSectionProps): import("react").JSX.Element;
|
|
@@ -33,7 +33,7 @@ export interface ResourceShellSlots {
|
|
|
33
33
|
* menu.
|
|
34
34
|
*/
|
|
35
35
|
export interface ResourceHeaderCommandProps {
|
|
36
|
-
/** The resource's one main command: a solid primary button,
|
|
36
|
+
/** The resource's one main command: a solid primary button, in the command menu in compact headers. */
|
|
37
37
|
primaryAction?: PageHeaderAction;
|
|
38
38
|
/**
|
|
39
39
|
* Supporting commands in priority order. The first two render as outline
|
|
@@ -41,11 +41,19 @@ export interface ResourceHeaderCommandProps {
|
|
|
41
41
|
* command, move into the More actions menu, which always closes the row.
|
|
42
42
|
*/
|
|
43
43
|
secondaryActions?: readonly PageHeaderAction[];
|
|
44
|
+
/**
|
|
45
|
+
* How many routine secondary commands render as outline buttons on wide
|
|
46
|
+
* headers; later ones join the More actions menu. Use `1` or `0` when long
|
|
47
|
+
* labels beside the primary command would crowd the header; `Infinity`
|
|
48
|
+
* keeps every routine command inline. @default 2
|
|
49
|
+
*/
|
|
50
|
+
maxVisibleSecondaryActions?: number;
|
|
44
51
|
/** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
|
|
45
52
|
moreActionsLabel?: string;
|
|
46
53
|
/** Renders `href` commands as framework links. Defaults to a native anchor. */
|
|
47
54
|
renderLink?: PageHeaderLinkRenderer;
|
|
48
55
|
}
|
|
56
|
+
/** @deprecated Use PageProps or PageHeaderProps from themelia-react-ui/layout/page. */
|
|
49
57
|
export interface ResourceIndexShellProps extends ResourceHeaderCommandProps {
|
|
50
58
|
/** Primary workspace content. Replaced by loading, error, or empty state when active. */
|
|
51
59
|
children?: ReactNode;
|
|
@@ -82,10 +90,12 @@ export interface ResourceIndexShellProps extends ResourceHeaderCommandProps {
|
|
|
82
90
|
/** Copy overrides for loading, empty, error, retry, and tab labels. */
|
|
83
91
|
strings?: StringsProp<ResourceStrings>;
|
|
84
92
|
}
|
|
93
|
+
/** @deprecated Use PageProps or PageHeaderProps from themelia-react-ui/layout/page. */
|
|
85
94
|
export interface ResourceShowShellProps extends ResourceIndexShellProps {
|
|
86
95
|
/** Class name for `slots.aside`. */
|
|
87
96
|
asideClassName?: string;
|
|
88
97
|
}
|
|
98
|
+
/** @deprecated Use PageProps or PageHeaderProps from themelia-react-ui/layout/page. */
|
|
89
99
|
export interface ResourceHeaderProps extends ResourceHeaderCommandProps {
|
|
90
100
|
/** Primary resource identity. */
|
|
91
101
|
title: ReactNode;
|
|
@@ -172,6 +182,7 @@ export interface ResourceDetailsSectionProps extends ResourceSectionFrameProps {
|
|
|
172
182
|
/** Quiet guidance rendered after the section content. */
|
|
173
183
|
help?: ReactNode;
|
|
174
184
|
}
|
|
185
|
+
/** @deprecated Use PageProps or PageHeaderProps from themelia-react-ui/layout/page. */
|
|
175
186
|
export interface TabbedResourceShellProps extends ResourceShowShellProps {
|
|
176
187
|
/** Workspace tabs, including optional overflow metadata. */
|
|
177
188
|
tabs: OverflowTabItem[];
|
|
@@ -5,7 +5,7 @@ export declare const DEFAULT_IMAGE_ACCEPT = "image/png,image/jpeg,image/gif,imag
|
|
|
5
5
|
/** Marks an upload placeholder in the editing surface; never part of the value. */
|
|
6
6
|
export declare const UPLOAD_ATTRIBUTE = "data-rte-upload";
|
|
7
7
|
/** The placeholder occupies a line of its own while its image uploads. */
|
|
8
|
-
export declare const UPLOAD_PLACEHOLDER_CLASS = "rich-text-editor--upload my-space-xs flex min-h-control items-center rounded-
|
|
8
|
+
export declare const UPLOAD_PLACEHOLDER_CLASS = "rich-text-editor--upload my-space-xs flex min-h-control items-center rounded-radius border border-dashed border-input bg-muted/30 px-row-x py-row-y";
|
|
9
9
|
/** Removes upload placeholders from serialized editor HTML. */
|
|
10
10
|
export declare function stripUploadPlaceholders(html: string): string;
|
|
11
11
|
export declare function acceptsImageFile(file: File, accept: string): boolean;
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Shared field anatomy for rich editors, including specialized document schemas.
|
|
3
|
+
* Every region takes the toolbar's `surface-xs` inset, on both axes for the body,
|
|
4
|
+
* so the first line sits as far below the toolbar rule as text sits from the frame edge.
|
|
5
|
+
*/
|
|
2
6
|
export declare const richTextEditorRecipes: {
|
|
3
7
|
readonly source: string;
|
|
4
|
-
|
|
8
|
+
/** Editable body: shared content typography inside the editor's surface inset. Every embedded editor uses it. */
|
|
9
|
+
readonly editable: string;
|
|
10
|
+
/** Placeholder overlay, laid over the editable body at the same inset. */
|
|
11
|
+
readonly placeholder: "pointer-events-none absolute inset-0 p-surface-xs";
|
|
12
|
+
/** Inline inset for the regions under the body (image details, counts, footer slot). */
|
|
13
|
+
readonly regionX: "px-surface-xs";
|
|
14
|
+
readonly frame: "min-w-0 overflow-hidden border-input bg-background rounded-radius border";
|
|
5
15
|
readonly disabled: "opacity-50";
|
|
6
16
|
readonly disabledControl: "disabled:opacity-100 aria-disabled:opacity-100";
|
|
7
17
|
readonly content: "h-full [&_.ProseMirror]:h-full [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import type { LucideIcon } from 'lucide-react';
|
|
3
3
|
import { type BadgeTone } from '../../../base/badge';
|
|
4
4
|
export interface ResourceCellMetadataItem {
|
|
5
5
|
/** Stable identity for this entry. */
|
|
@@ -32,13 +32,24 @@ export interface ResourceCellProps {
|
|
|
32
32
|
metadata?: ReactNode | readonly ResourceCellMetadataItem[];
|
|
33
33
|
/** Status chips shown after the title. */
|
|
34
34
|
badges?: readonly ResourceCellBadge[];
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Thumbnail source. When it is absent or fails to load, the circle shows
|
|
37
|
+
* `fallback`, then `icon`, then the title's initials.
|
|
38
|
+
*/
|
|
36
39
|
imageUrl?: string;
|
|
37
|
-
/** Leading glyph. */
|
|
40
|
+
/** Leading glyph in the media circle. Pass one only when it identifies the resource. */
|
|
38
41
|
icon?: ComponentType<{
|
|
39
42
|
className?: string;
|
|
40
43
|
}>;
|
|
41
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Media shown when `imageUrl` is absent or fails — usually
|
|
46
|
+
* `<Initials value={name} />` for a person or organization.
|
|
47
|
+
*
|
|
48
|
+
* The cell draws its media circle only when `imageUrl`, `icon` or
|
|
49
|
+
* `fallback` is supplied, so identifiers such as orders and invoices read
|
|
50
|
+
* as plain text with no decorative monogram. In a person column where only
|
|
51
|
+
* some rows have a photo, pass `fallback` on every row so titles align.
|
|
52
|
+
*/
|
|
42
53
|
fallback?: ReactNode;
|
|
43
54
|
/** Destination for the entry, when it navigates. */
|
|
44
55
|
href?: string;
|
|
@@ -48,6 +59,12 @@ export interface ResourceCellProps {
|
|
|
48
59
|
emptyLabel?: ReactNode;
|
|
49
60
|
/** Merged onto the outermost node. */
|
|
50
61
|
className?: string;
|
|
62
|
+
/**
|
|
63
|
+
* `circle` for people and organizations; `square` (the default radius) for
|
|
64
|
+
* product photos and documents, so square images are not clipped.
|
|
65
|
+
* @default 'circle'
|
|
66
|
+
*/
|
|
67
|
+
mediaShape?: 'circle' | 'square';
|
|
51
68
|
/** Merged onto the media. */
|
|
52
69
|
mediaClassName?: string;
|
|
53
70
|
/** Merged onto the content. */
|
|
@@ -57,7 +74,7 @@ export interface ResourceCellProps {
|
|
|
57
74
|
/** Merged onto the subtitle. */
|
|
58
75
|
subtitleClassName?: string;
|
|
59
76
|
}
|
|
60
|
-
export declare function ResourceCell({ title, subtitle, metadata, badges, imageUrl, icon: IconComponent, fallback, href, renderLink, emptyLabel, className, mediaClassName, contentClassName, titleClassName, subtitleClassName, }: ResourceCellProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
77
|
+
export declare function ResourceCell({ title, subtitle, metadata, badges, imageUrl, icon: IconComponent, fallback, href, renderLink, emptyLabel, className, mediaShape, mediaClassName, contentClassName, titleClassName, subtitleClassName, }: ResourceCellProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
|
|
61
78
|
export declare namespace ResourceCell {
|
|
62
79
|
var displayName: string;
|
|
63
80
|
}
|
|
@@ -190,7 +190,7 @@ export type DataTableSize = ComponentScale;
|
|
|
190
190
|
*
|
|
191
191
|
* - `card` (default): rounded card with `border-border bg-card` and a
|
|
192
192
|
* soft shadow — the canonical admin treatment.
|
|
193
|
-
* - `glass`: a hairline `border-border/60 rounded-
|
|
193
|
+
* - `glass`: a hairline `border-border/60 rounded-surface` outline with no
|
|
194
194
|
* shadow and no card background — pairs with consumer-supplied
|
|
195
195
|
* surrounding chrome (e.g. dropping into an existing SmartCard).
|
|
196
196
|
* Background remains transparent so a glassy parent shows
|