themelia-react-ui 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +281 -1
- package/README.md +10 -5
- package/dist/{accordion-BRTcsp8J.js → accordion-CQXVcd7Q.js} +13 -13
- package/dist/accordion-CQXVcd7Q.js.map +1 -0
- package/dist/action-menu-BTpyPWJ2.js +264 -0
- package/dist/action-menu-BTpyPWJ2.js.map +1 -0
- package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-CCIXb2A1.js} +7 -2
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
- package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-2PQ2fItc.js} +171 -176
- package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
- package/dist/{app-shell-C_fKpljx.js → app-shell-BE_j8-AT.js} +4 -4
- package/dist/{app-shell-C_fKpljx.js.map → app-shell-BE_j8-AT.js.map} +1 -1
- package/dist/{attachment-DbjUWsP0.js → attachment-q69dlt5Y.js} +9 -9
- package/dist/{attachment-DbjUWsP0.js.map → attachment-q69dlt5Y.js.map} +1 -1
- package/dist/{auth-CAQcasMV.js → auth-M3vGMgDR.js} +42 -42
- package/dist/{auth-CAQcasMV.js.map → auth-M3vGMgDR.js.map} +1 -1
- package/dist/{avatar-Bu2HhitA.js → avatar-djdaaQ_s.js} +14 -12
- package/dist/avatar-djdaaQ_s.js.map +1 -0
- package/dist/{badge-CzId1Wlm.js → badge-0tATj-tW.js} +9 -9
- package/dist/badge-0tATj-tW.js.map +1 -0
- 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/buttons.js +2 -2
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +11 -11
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +244 -222
- package/dist/base/cascader.js.map +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 +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +81 -76
- package/dist/base/inline-edit.js.map +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.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 +7 -4
- package/dist/base/qr-code.js.map +1 -1
- package/dist/base/repeaters.js +42 -42
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +9 -9
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +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 +4 -4
- 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/blocks/admin.js +229 -220
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +147 -180
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +530 -523
- 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 +1390 -1516
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +1 -1
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +82 -91
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-BuYz5SDU.js → breadcrumbs-BG_FfMK4.js} +5 -5
- package/dist/{breadcrumbs-BuYz5SDU.js.map → breadcrumbs-BG_FfMK4.js.map} +1 -1
- package/dist/{button-BZDasD04.js → button-BS3KDg00.js} +185 -162
- package/dist/button-BS3KDg00.js.map +1 -0
- package/dist/{button-BZyfTvwm.js → button-R9CCoH7A.js} +2 -2
- package/dist/{button-BZyfTvwm.js.map → button-R9CCoH7A.js.map} +1 -1
- package/dist/{buttons-D_6KJvEE.js → buttons-DS0ZIwJ_.js} +11 -11
- package/dist/buttons-DS0ZIwJ_.js.map +1 -0
- package/dist/{cards-qGSErLw_.js → cards-QoJ4syG9.js} +7 -7
- package/dist/{cards-qGSErLw_.js.map → cards-QoJ4syG9.js.map} +1 -1
- package/dist/{chart-Bsc5BICK.js → chart-DwYRKKc-.js} +17 -15
- package/dist/chart-DwYRKKc-.js.map +1 -0
- package/dist/checkbox-B7ygNTYp.js +35 -0
- package/dist/checkbox-B7ygNTYp.js.map +1 -0
- package/dist/choice-inputs-DrJ17tpL.js +752 -0
- package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
- package/dist/{code-block-DzHKRybS.js → code-block-CD0B7M93.js} +19 -19
- package/dist/{code-block-DzHKRybS.js.map → code-block-CD0B7M93.js.map} +1 -1
- package/dist/{collapsible-ClvC7Bj3.js → collapsible-oMUGM4tr.js} +3 -3
- package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-oMUGM4tr.js.map} +1 -1
- package/dist/{collection-content-D6S8cv_n.js → collection-content-Ys-OZOkY.js} +3 -3
- package/dist/{collection-content-D6S8cv_n.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
- package/dist/{combobox-BFnbJJp3.js → combobox-6dvVny2q.js} +96 -97
- package/dist/combobox-6dvVny2q.js.map +1 -0
- package/dist/{combobox-hozNwUcc.js → combobox-CB7039j7.js} +326 -308
- package/dist/combobox-CB7039j7.js.map +1 -0
- package/dist/{command-BnmSchli.js → command-kPMPjIxJ.js} +34 -30
- package/dist/command-kPMPjIxJ.js.map +1 -0
- package/dist/{comments-u5L0OGip.js → comments-You0Bzbr.js} +349 -348
- package/dist/comments-You0Bzbr.js.map +1 -0
- package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
- package/dist/components/base/action-menu/action-menu.d.ts +7 -2
- package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
- package/dist/components/base/badge/badge.d.ts +1 -1
- package/dist/components/base/badge/badge.recipes.d.ts +4 -4
- package/dist/components/base/buttons/base-button.d.ts +7 -0
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/buttons/button.variants.d.ts +1 -0
- package/dist/components/base/buttons/loader-button.d.ts +3 -1
- package/dist/components/base/buttons/text-button.d.ts +2 -2
- package/dist/components/base/carousel/carousel.d.ts +3 -1
- package/dist/components/base/chart/chart.d.ts +7 -7
- package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
- package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
- package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
- package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
- package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
- package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
- package/dist/components/base/display/alert-dialog.d.ts +8 -2
- package/dist/components/base/display/content-block.d.ts +4 -2
- package/dist/components/base/display/date-block.d.ts +1 -1
- package/dist/components/base/display/dialog.d.ts +12 -5
- package/dist/components/base/display/surface-title.d.ts +6 -1
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/feedback/state-display.d.ts +5 -4
- package/dist/components/base/forms/form-sizing.d.ts +32 -0
- package/dist/components/base/forms/workflow.d.ts +2 -0
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
- package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
- package/dist/components/base/navigation/language-switcher.d.ts +4 -1
- package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
- package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
- package/dist/components/base/qr-code/qr-code.d.ts +2 -0
- package/dist/components/base/sheet/index.d.ts +29 -1
- package/dist/components/base/sheet/sheet.d.ts +14 -5
- package/dist/components/base/spinner/spinner.d.ts +3 -2
- package/dist/components/base/structure/structure.types.d.ts +1 -1
- package/dist/components/base/text-inputs/input-group.d.ts +2 -2
- package/dist/components/base/upload/upload.recipes.d.ts +11 -0
- package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
- package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
- package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
- package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
- package/dist/components/blocks/analytics/index.d.ts +1 -1
- package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
- package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
- package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
- package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
- package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
- package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
- package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
- package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
- package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/drawer.d.ts +1 -1
- package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
- package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
- package/dist/components/features/overlays/overlays.types.d.ts +42 -19
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/partials/index.d.ts +1 -1
- package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
- package/dist/components/features/products/partials/product-tone.d.ts +11 -1
- package/dist/components/features/products/products.types.d.ts +2 -1
- package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
- package/dist/components/layout/page/index.d.ts +1 -1
- package/dist/components/layout/page/page.types.d.ts +53 -3
- package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/primitives/date.d.ts +16 -3
- package/dist/components/primitives/dimensions.d.ts +6 -0
- package/dist/components/primitives/duration.d.ts +6 -0
- package/dist/components/primitives/file-size.d.ts +6 -0
- package/dist/components/primitives/index.d.ts +1 -1
- package/dist/components/primitives/initials.d.ts +11 -2
- package/dist/components/primitives/link.d.ts +7 -0
- package/dist/components/primitives/money.d.ts +29 -7
- package/dist/components/primitives/number.d.ts +17 -0
- package/dist/components/primitives/value-typography.d.ts +54 -0
- package/dist/components/primitives/value.d.ts +31 -6
- package/dist/components/typography/heading.d.ts +9 -1
- package/dist/components/typography/label.d.ts +3 -0
- package/dist/components/typography/running-text.d.ts +12 -0
- package/dist/components/typography/text-link.d.ts +23 -1
- package/dist/components/typography/text.d.ts +12 -0
- package/dist/components/typography/text.styles.d.ts +35 -13
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/overlay.recipes.d.ts +15 -2
- package/dist/components/ui/select.d.ts +3 -1
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/{containers-DqB-bSYE.js → containers-D_L4mTVb.js} +3 -3
- package/dist/{containers-DqB-bSYE.js.map → containers-D_L4mTVb.js.map} +1 -1
- package/dist/{copyable-BTSByfmq.js → copyable-DDjTeW_j.js} +4 -4
- package/dist/{copyable-BTSByfmq.js.map → copyable-DDjTeW_j.js.map} +1 -1
- package/dist/{data-display-Bihs9Ven.js → data-display-3xWQUnMA.js} +471 -478
- package/dist/data-display-3xWQUnMA.js.map +1 -0
- package/dist/date-picker-DrDFj8Lo.js +1527 -0
- package/dist/date-picker-DrDFj8Lo.js.map +1 -0
- package/dist/date-pickers-CnFCb0n2.js +174 -0
- package/dist/date-pickers-CnFCb0n2.js.map +1 -0
- package/dist/date-uf3z37Nm.js +144 -0
- package/dist/date-uf3z37Nm.js.map +1 -0
- package/dist/{display-CS6Hbk18.js → display-DrdvPwF0.js} +25 -25
- package/dist/display-DrdvPwF0.js.map +1 -0
- package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-CURh59jb.js} +22 -15
- package/dist/dropdown-menu-CURh59jb.js.map +1 -0
- package/dist/features/activities.js +38 -35
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +36 -35
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/async-preview.js +8 -8
- 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 +325 -326
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +190 -200
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +77 -77
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +4 -4
- package/dist/features/map.js +8 -8
- package/dist/features/media-library.js +499 -502
- 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 +1216 -1248
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +46 -44
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +96 -88
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +11 -11
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +188 -184
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +7 -7
- package/dist/features/sync.js.map +1 -1
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +469 -470
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-CJkUAapr.js → feedback-C7nR0UtT.js} +9 -10
- package/dist/feedback-C7nR0UtT.js.map +1 -0
- package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
- package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
- package/dist/{field-state-recipes-DQQpiLWC.js → field-state-recipes-C-MFBX_8.js} +3 -3
- package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
- package/dist/{filters-D6FF8L6s.js → filters-Da-gNPsE.js} +467 -467
- package/dist/filters-Da-gNPsE.js.map +1 -0
- package/dist/{form-field-CZwrkP7m.js → form-field-VZRULhUK.js} +7 -7
- package/dist/{form-field-CZwrkP7m.js.map → form-field-VZRULhUK.js.map} +1 -1
- package/dist/form-sizing-uWP4lzVh.js +126 -0
- package/dist/form-sizing-uWP4lzVh.js.map +1 -0
- package/dist/{forms-B5NCbkSC.js → forms-DDeEnXSY.js} +11 -11
- package/dist/forms-DDeEnXSY.js.map +1 -0
- package/dist/forms-numeric-D3CO60IF.js +905 -0
- package/dist/forms-numeric-D3CO60IF.js.map +1 -0
- package/dist/{header-kxruN3RM.js → header-2ycNqGOR.js} +43 -42
- package/dist/header-2ycNqGOR.js.map +1 -0
- package/dist/{hooks-BrlnCwQd.js → hooks-DQ5SPwZw.js} +2 -2
- package/dist/{hooks-BrlnCwQd.js.map → hooks-DQ5SPwZw.js.map} +1 -1
- package/dist/{icon-badge-Btc6pQrp.js → icon-badge-DKlaKXoo.js} +3 -3
- package/dist/{icon-badge-Btc6pQrp.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/{input-vxcaNCYC.js → input-BoLm9Hks.js} +3 -3
- package/dist/{input-vxcaNCYC.js.map → input-BoLm9Hks.js.map} +1 -1
- package/dist/input-DhQdBnV3.js +255 -0
- package/dist/{input-SX9V0AL3.js.map → input-DhQdBnV3.js.map} +1 -1
- package/dist/item-xzh8Df65.js +264 -0
- package/dist/item-xzh8Df65.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 +10 -10
- package/dist/lib/affordance-geometry.generated.d.ts +6 -1
- package/dist/lib/field-affordance-recipes.d.ts +35 -0
- package/dist/lib/field-state-recipes.d.ts +4 -2
- package/dist/lib/format.d.ts +9 -0
- package/dist/lib/money-format.d.ts +30 -0
- package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
- package/dist/lib/surface-recipes.d.ts +8 -6
- package/dist/lib/token-merge.generated.d.ts +11 -11
- package/dist/lib/track-recipes.d.ts +1 -1
- package/dist/lib/ui-provider/provider.d.ts +7 -2
- package/dist/lib/ui-provider/store.d.ts +6 -2
- package/dist/lib/ui-provider/types.d.ts +5 -2
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-DLp3HAz0.js → media-gallery-DQUQ0m3O.js} +8 -8
- package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
- package/dist/{mentions-Cl0Kt_Pd.js → mentions-DwnO1hh4.js} +34 -35
- package/dist/{mentions-Cl0Kt_Pd.js.map → mentions-DwnO1hh4.js.map} +1 -1
- package/dist/{message-SZUNB1eX.js → message-YfFmbXNP.js} +5 -5
- package/dist/{message-SZUNB1eX.js.map → message-YfFmbXNP.js.map} +1 -1
- package/dist/{navigation-DyytsLRB.js → navigation-Cbp5V8gG.js} +33 -34
- package/dist/navigation-Cbp5V8gG.js.map +1 -0
- package/dist/{navigation-DnQSNMT0.js → navigation-Cs1npsPm.js} +111 -87
- package/dist/navigation-Cs1npsPm.js.map +1 -0
- package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-DlU-4QYO.js} +2 -2
- package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-DlU-4QYO.js.map} +1 -1
- package/dist/number-CKRBYmZK.js +352 -0
- package/dist/number-CKRBYmZK.js.map +1 -0
- package/dist/overlay.recipes-CNO2S9V6.js +34 -0
- package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
- package/dist/overlays-DhZO7N-I.js +994 -0
- package/dist/overlays-DhZO7N-I.js.map +1 -0
- package/dist/page-C6R_8jFt.js +325 -0
- package/dist/page-C6R_8jFt.js.map +1 -0
- package/dist/{page-header-D8nERkn5.js → page-header-hUTzcRZX.js} +9 -9
- package/dist/page-header-hUTzcRZX.js.map +1 -0
- package/dist/{pagination-NLGqRirf.js → pagination-Cm0jqa3I.js} +8 -8
- package/dist/{pagination-NLGqRirf.js.map → pagination-Cm0jqa3I.js.map} +1 -1
- package/dist/{popover-CghIYdQf.js → popover-Dcv_9jxr.js} +6 -6
- package/dist/{popover-CghIYdQf.js.map → popover-Dcv_9jxr.js.map} +1 -1
- package/dist/{popover-menu-B4PoWhRl.js → popover-menu-DnRFKnHP.js} +6 -6
- package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
- package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-wmbvL8Ah.js} +2 -2
- package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-wmbvL8Ah.js.map} +1 -1
- package/dist/primitives-BHrwQXFC.js +379 -0
- package/dist/primitives-BHrwQXFC.js.map +1 -0
- package/dist/primitives.js +5 -5
- package/dist/{progress-BroqrAyV.js → progress-Br9WTFya.js} +7 -7
- package/dist/progress-Br9WTFya.js.map +1 -0
- package/dist/{receipt-BuJynLgf.js → receipt-CV89q1fs.js} +6 -6
- package/dist/{receipt-BuJynLgf.js.map → receipt-CV89q1fs.js.map} +1 -1
- package/dist/{rich-text-editor-BKyG7rWz.js → rich-text-editor-CF8QYt5p.js} +6 -6
- package/dist/{rich-text-editor-BKyG7rWz.js.map → rich-text-editor-CF8QYt5p.js.map} +1 -1
- package/dist/{rich-text-editor.recipes-B72Nfuze.js → rich-text-editor.recipes-CnrbmTS1.js} +4 -4
- package/dist/{rich-text-editor.recipes-B72Nfuze.js.map → rich-text-editor.recipes-CnrbmTS1.js.map} +1 -1
- package/dist/{rich-text-DlxDOtf4.js → rich-text-j-FGAeZW.js} +4 -4
- package/dist/{rich-text-DlxDOtf4.js.map → rich-text-j-FGAeZW.js.map} +1 -1
- package/dist/{scroll-area-D-pIhEKl.js → scroll-area-DRdr16Pt.js} +3 -3
- package/dist/scroll-area-DRdr16Pt.js.map +1 -0
- package/dist/{separator-BhtFyo4x.js → separator-BMEvwnSX.js} +2 -2
- package/dist/{separator-BhtFyo4x.js.map → separator-BMEvwnSX.js.map} +1 -1
- package/dist/{separator-BNIgG3au.js → separator-Do5GWDYi.js} +4 -4
- package/dist/separator-Do5GWDYi.js.map +1 -0
- package/dist/services/actions/action-adapters.d.ts +4 -0
- package/dist/services/actions.js +8 -3
- package/dist/services/actions.js.map +1 -1
- package/dist/{settings-DOTOzeZ2.js → settings-DHk0L2MF.js} +17 -17
- package/dist/settings-DHk0L2MF.js.map +1 -0
- package/dist/sheet-DRFNY1_D.js +207 -0
- package/dist/sheet-DRFNY1_D.js.map +1 -0
- package/dist/sidebar-Cb8WzOvE.js +511 -0
- package/dist/sidebar-Cb8WzOvE.js.map +1 -0
- package/dist/{sidebar-CyR4XKwR.js → sidebar-Crc9M9JV.js} +18 -18
- package/dist/sidebar-Crc9M9JV.js.map +1 -0
- package/dist/{skeleton-3F0uhYn3.js → skeleton-DVMXr15h.js} +4 -4
- package/dist/{skeleton-3F0uhYn3.js.map → skeleton-DVMXr15h.js.map} +1 -1
- package/dist/{smart-card-DjGVV2xr.js → smart-card-Bek-TwUp.js} +222 -207
- package/dist/smart-card-Bek-TwUp.js.map +1 -0
- package/dist/{spinner-Cpf7oRkF.js → spinner-CmTAbEp0.js} +8 -6
- package/dist/spinner-CmTAbEp0.js.map +1 -0
- package/dist/{structure-CRdqVawd.js → structure-hzCW-XsV.js} +3 -3
- package/dist/{structure-CRdqVawd.js.map → structure-hzCW-XsV.js.map} +1 -1
- package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
- package/dist/structure.recipes-EPz60cU8.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/surface-recipes-DOdoBXGm.js +28 -0
- package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
- package/dist/table-D6zKeYQX.js +162 -0
- package/dist/table-D6zKeYQX.js.map +1 -0
- package/dist/{table-CcRDZiLP.js → table-Dn4XSrSB.js} +348 -348
- package/dist/table-Dn4XSrSB.js.map +1 -0
- package/dist/{tabs-BNgu7g0u.js → tabs-Dk8E_knt.js} +14 -13
- package/dist/tabs-Dk8E_knt.js.map +1 -0
- package/dist/{text-inputs-DsR56TR-.js → text-inputs-BFpku0Qd.js} +150 -149
- package/dist/text-inputs-BFpku0Qd.js.map +1 -0
- package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
- package/dist/text.styles-g4He6UIW.js.map +1 -0
- package/dist/theme.css +16 -12
- package/dist/themes/green.css +24 -0
- package/dist/{timelines-D1pkt3se.js → timelines-CxuAFIc2.js} +25 -38
- package/dist/timelines-CxuAFIc2.js.map +1 -0
- package/dist/track-recipes-CDcKmndW.js +10 -0
- package/dist/track-recipes-CDcKmndW.js.map +1 -0
- package/dist/{tree-BtmYyMZV.js → tree-BotPlyiD.js} +13 -13
- package/dist/{tree-BtmYyMZV.js.map → tree-BotPlyiD.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-CAr3dQhX.js +116 -0
- package/dist/typography-CAr3dQhX.js.map +1 -0
- package/dist/typography.js +2 -2
- package/dist/{ui-provider-DRPn3qNl.js → ui-provider-D2_TeLqw.js} +20 -21
- package/dist/ui-provider-D2_TeLqw.js.map +1 -0
- package/dist/ui-provider.js +1 -1
- package/dist/{upload-CDbYw1WN.js → upload-B0WHW7ak.js} +221 -220
- package/dist/upload-B0WHW7ak.js.map +1 -0
- package/dist/{upload-queue-CNd_hH_a.js → upload-queue-BHZ_wBfd.js} +59 -62
- package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
- package/dist/{usage-card-VyJLUwRr.js → usage-card-U0YBLTNT.js} +42 -43
- package/dist/{usage-card-VyJLUwRr.js.map → usage-card-U0YBLTNT.js.map} +1 -1
- package/dist/{utils-BvH9PSmq.js → utils-Cospvlj1.js} +221 -51
- package/dist/utils-Cospvlj1.js.map +1 -0
- package/dist/value-inputs-CjfzGMsN.js +854 -0
- package/dist/value-inputs-CjfzGMsN.js.map +1 -0
- package/dist/value-typography-Deb3yQZg.js +116 -0
- package/dist/value-typography-Deb3yQZg.js.map +1 -0
- package/dist/{workspace-CcR8r-Nt.js → workspace-YoFjXi6i.js} +44 -45
- package/dist/workspace-YoFjXi6i.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +51 -38
- package/docs/consumer-skill/examples/app-layout.tsx +2 -4
- package/docs/consumer-skill/examples/detail.tsx +3 -4
- package/docs/consumer-skill/examples/edit.tsx +1 -1
- package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
- package/docs/consumer-skill/examples/manifest.json +28 -6
- package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
- package/docs/consumer-skill/references/composition.md +89 -17
- package/docs/consumer-skill/references/discovery.md +4 -0
- package/docs/consumer-skill/references/installation.md +22 -0
- package/docs/consumer-skill/references/integration.md +32 -1
- package/docs/consumer-skill/references/public-api.json +111 -70
- package/docs/consumer-skill/references/review.md +20 -4
- package/docs/consumer-skill/references/theming.md +7 -1
- package/docs/consumer-skill/references/tokens.json +5 -2
- package/docs/consumer-skill/references/workflows.md +4 -2
- package/docs/consumer-skill/scripts/composition-policy.mjs +93 -2
- package/docs/consumer-skill/scripts/discovery.mjs +11 -3
- package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
- package/package.json +5 -3
- package/dist/accordion-BRTcsp8J.js.map +0 -1
- package/dist/action-menu-Drxw_vJk.js +0 -265
- package/dist/action-menu-Drxw_vJk.js.map +0 -1
- package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
- package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
- package/dist/avatar-Bu2HhitA.js.map +0 -1
- package/dist/badge-CzId1Wlm.js.map +0 -1
- package/dist/button-BZDasD04.js.map +0 -1
- package/dist/buttons-D_6KJvEE.js.map +0 -1
- package/dist/chart-Bsc5BICK.js.map +0 -1
- package/dist/checkbox-BQNDjUCh.js +0 -34
- package/dist/checkbox-BQNDjUCh.js.map +0 -1
- package/dist/choice-inputs-Mk3iWbhr.js +0 -725
- package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
- package/dist/combobox-BFnbJJp3.js.map +0 -1
- package/dist/combobox-hozNwUcc.js.map +0 -1
- package/dist/command-BnmSchli.js.map +0 -1
- package/dist/comments-u5L0OGip.js.map +0 -1
- package/dist/data-display-Bihs9Ven.js.map +0 -1
- package/dist/date-DOKhJPu7.js +0 -140
- package/dist/date-DOKhJPu7.js.map +0 -1
- package/dist/date-picker-DzP5HQq7.js +0 -1541
- package/dist/date-picker-DzP5HQq7.js.map +0 -1
- package/dist/date-pickers-BpgGz7S-.js +0 -196
- package/dist/date-pickers-BpgGz7S-.js.map +0 -1
- package/dist/display-CS6Hbk18.js.map +0 -1
- package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
- package/dist/feedback-CJkUAapr.js.map +0 -1
- package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
- package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
- package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
- package/dist/filters-D6FF8L6s.js.map +0 -1
- package/dist/form-sizing-QP8aIRaW.js +0 -103
- package/dist/form-sizing-QP8aIRaW.js.map +0 -1
- package/dist/format-iamDSqs2.js +0 -110
- package/dist/format-iamDSqs2.js.map +0 -1
- package/dist/forms-B5NCbkSC.js.map +0 -1
- package/dist/forms-numeric-Crrm80Lm.js +0 -867
- package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
- package/dist/header-kxruN3RM.js.map +0 -1
- package/dist/input-SX9V0AL3.js +0 -255
- package/dist/item-DE4YnuJx.js +0 -258
- package/dist/item-DE4YnuJx.js.map +0 -1
- package/dist/media-gallery-DLp3HAz0.js.map +0 -1
- package/dist/navigation-DnQSNMT0.js.map +0 -1
- package/dist/navigation-DyytsLRB.js.map +0 -1
- package/dist/number-DasMFWEG.js +0 -269
- package/dist/number-DasMFWEG.js.map +0 -1
- package/dist/overlay.recipes-BxW5FIfK.js +0 -6
- package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
- package/dist/overlays-DUbs1KEi.js +0 -1011
- package/dist/overlays-DUbs1KEi.js.map +0 -1
- package/dist/page-hGmT4nWK.js +0 -213
- package/dist/page-hGmT4nWK.js.map +0 -1
- package/dist/page-header-D8nERkn5.js.map +0 -1
- package/dist/primitives-C7ff0QaI.js +0 -337
- package/dist/primitives-C7ff0QaI.js.map +0 -1
- package/dist/progress-BroqrAyV.js.map +0 -1
- package/dist/scroll-area-D-pIhEKl.js.map +0 -1
- package/dist/separator-BNIgG3au.js.map +0 -1
- package/dist/settings-DOTOzeZ2.js.map +0 -1
- package/dist/sheet-BFhrNehm.js +0 -205
- package/dist/sheet-BFhrNehm.js.map +0 -1
- package/dist/sidebar-CyR4XKwR.js.map +0 -1
- package/dist/sidebar-SvGJ0Zwi.js +0 -506
- package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
- package/dist/smart-card-DjGVV2xr.js.map +0 -1
- package/dist/spinner-Cpf7oRkF.js.map +0 -1
- package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
- package/dist/surface-recipes-Dd__PD-w.js +0 -28
- package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
- package/dist/table-CLtJTxoR.js +0 -147
- package/dist/table-CLtJTxoR.js.map +0 -1
- package/dist/table-CcRDZiLP.js.map +0 -1
- package/dist/tabs-BNgu7g0u.js.map +0 -1
- package/dist/text-inputs-DsR56TR-.js.map +0 -1
- package/dist/text.styles-Q4sGAIgA.js.map +0 -1
- package/dist/timelines-D1pkt3se.js.map +0 -1
- package/dist/track-recipes-LLPNVwFg.js +0 -10
- package/dist/track-recipes-LLPNVwFg.js.map +0 -1
- package/dist/typography-BxQgiZyw.js +0 -96
- package/dist/typography-BxQgiZyw.js.map +0 -1
- package/dist/ui-provider-DRPn3qNl.js.map +0 -1
- package/dist/upload-CDbYw1WN.js.map +0 -1
- package/dist/upload-queue-CNd_hH_a.js.map +0 -1
- package/dist/utils-BvH9PSmq.js.map +0 -1
- package/dist/value-inputs-D0KCrfVC.js +0 -840
- package/dist/value-inputs-D0KCrfVC.js.map +0 -1
- package/dist/workspace-CcR8r-Nt.js.map +0 -1
|
@@ -5,7 +5,7 @@ export interface Discount {
|
|
|
5
5
|
/** Display label. */
|
|
6
6
|
label: string;
|
|
7
7
|
amount: string;
|
|
8
|
-
/**
|
|
8
|
+
/** Tone of the type chip. Discount types are kinds, so pass `neutral` unless the chip states a status. */
|
|
9
9
|
badge: BadgeTone;
|
|
10
10
|
}
|
|
11
11
|
export interface DiscountStackStrings {
|
|
@@ -36,7 +36,10 @@ export interface InventorySectionMetric {
|
|
|
36
36
|
value: string;
|
|
37
37
|
/** Supporting copy shown under the label. */
|
|
38
38
|
description?: string;
|
|
39
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Semantic tone of the entry. Not rendered by the summary: stats are plain
|
|
41
|
+
* and the title badge carries the stock state. Kept for type compatibility.
|
|
42
|
+
*/
|
|
40
43
|
tone?: 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
41
44
|
}
|
|
42
45
|
export interface InventorySectionStrings {
|
|
@@ -20,7 +20,7 @@ export interface LoyaltyPointsProps {
|
|
|
20
20
|
balance: number | string;
|
|
21
21
|
/** Membership tier name. Defaults to `strings.tier`. */
|
|
22
22
|
tier?: string;
|
|
23
|
-
/** Badge tone for the tier chip. @default '
|
|
23
|
+
/** Badge tone for the tier chip. A tier is a kind, not a status. @default 'neutral' */
|
|
24
24
|
tierTone?: BadgeTone;
|
|
25
25
|
/** Recent point movements. */
|
|
26
26
|
history?: LoyaltyHistoryEntry[];
|
|
@@ -11,9 +11,13 @@ export interface OrderStatusEvent {
|
|
|
11
11
|
export interface OrderStatusStrings {
|
|
12
12
|
/** Surface title. */
|
|
13
13
|
title: string;
|
|
14
|
+
/** Not rendered: the title badge states the status. Kept for existing overrides. */
|
|
14
15
|
statusLabel: string;
|
|
16
|
+
/** Label of the delivery-estimate fact. */
|
|
15
17
|
eta: string;
|
|
18
|
+
/** Not rendered: the timeline shows the latest event. Kept for existing overrides. */
|
|
16
19
|
latestEvent: string;
|
|
20
|
+
/** Not rendered: the timeline marks the current step. Kept for existing overrides. */
|
|
17
21
|
currentStep: string;
|
|
18
22
|
}
|
|
19
23
|
export declare const defaultOrderStatusStrings: OrderStatusStrings;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PaymentMethodProps } from './types';
|
|
2
|
-
export declare function PaymentMethod({ brand, last4, expiry, holderName, default: defaultMethod, onChange, className, strings: stringsProp, }: PaymentMethodProps): import("react").JSX.Element;
|
|
2
|
+
export declare function PaymentMethod({ brand, last4, expiry, holderName, default: defaultMethod, onChange, surface, padding, headerDivider, className, strings: stringsProp, }: PaymentMethodProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace PaymentMethod {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CardProps } from '../../../base/cards';
|
|
1
2
|
import type { StringsProp } from '../../../../lib/strings';
|
|
2
3
|
export type PaymentBrand = 'visa' | 'mastercard' | 'amex' | 'paypal' | 'applepay' | 'googlepay' | 'unknown';
|
|
3
4
|
export interface PaymentMethodStrings {
|
|
@@ -9,7 +10,8 @@ export interface PaymentMethodStrings {
|
|
|
9
10
|
change: string;
|
|
10
11
|
}
|
|
11
12
|
export declare const defaultPaymentMethodStrings: PaymentMethodStrings;
|
|
12
|
-
|
|
13
|
+
/** Unframed by default. Set surface="card" to let this owner frame its heading and body. */
|
|
14
|
+
export interface PaymentMethodProps extends Pick<CardProps, 'surface' | 'padding' | 'headerDivider'> {
|
|
13
15
|
/** Card network or wallet. */
|
|
14
16
|
brand: PaymentBrand;
|
|
15
17
|
/** Last four digits, the only card number this component accepts. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SeoListingCardProps } from './types';
|
|
2
|
-
export declare function SeoListingCard({ siteName, baseUrl, pathSegments, permalink, title, description, price, keyword, score, limits, showChecks, onEdit, className, strings: stringsProp, }: SeoListingCardProps): import("react").JSX.Element;
|
|
2
|
+
export declare function SeoListingCard({ siteName, baseUrl, pathSegments, permalink, title, description, price, keyword, score, limits, showChecks, onEdit, surface, padding, headerDivider, className, strings: stringsProp, }: SeoListingCardProps): import("react").JSX.Element;
|
|
3
3
|
export declare namespace SeoListingCard {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import type { CardProps } from '../../../base/cards';
|
|
2
3
|
import type { StringsProp } from '../../../../lib/strings';
|
|
3
4
|
export type SeoListingCheckId = 'title' | 'description' | 'permalink' | 'slug' | 'url' | 'keyword';
|
|
4
5
|
export type SeoListingCheckStatus = 'good' | 'review' | 'missing';
|
|
@@ -60,7 +61,8 @@ export interface SeoListingCardStrings {
|
|
|
60
61
|
checkHints: Record<SeoListingCheckId, string>;
|
|
61
62
|
}
|
|
62
63
|
export declare const defaultSeoListingCardStrings: SeoListingCardStrings;
|
|
63
|
-
|
|
64
|
+
/** Unframed by default. Set surface="card" to let this owner frame its heading and body. */
|
|
65
|
+
export interface SeoListingCardProps extends Pick<CardProps, 'surface' | 'padding' | 'headerDivider'> {
|
|
64
66
|
/** Site name shown in the search preview. */
|
|
65
67
|
siteName?: string;
|
|
66
68
|
/** Origin the permalink is built on. */
|
|
@@ -76,7 +76,10 @@ export interface VendorProfileCardProps {
|
|
|
76
76
|
onMessage?: () => void;
|
|
77
77
|
/** Shows the engagement action and delegates its behavior to the consumer. */
|
|
78
78
|
onHire?: () => void;
|
|
79
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* Card surface override. Defaults through the shared SmartCard configuration.
|
|
81
|
+
* `flat` also drops the dossier's own insets, so the embedding surface owns them.
|
|
82
|
+
*/
|
|
80
83
|
surface?: SmartCardSurface;
|
|
81
84
|
/** Card density override. Defaults through the shared SmartCard configuration. */
|
|
82
85
|
/** Additional classes applied to the outer SmartCard element. */
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export interface DenseInfoStrings {
|
|
2
2
|
/** Total number of records across all pages. */
|
|
3
3
|
total: string;
|
|
4
|
+
/** Word after the task count ("12/20 tasks"). */
|
|
4
5
|
tasks: string;
|
|
6
|
+
/** Word after the priority value ("High priority"). Additive, so optional for existing dictionaries. */
|
|
7
|
+
priority?: string;
|
|
5
8
|
}
|
|
6
|
-
export declare const defaultDenseInfoStrings: DenseInfoStrings
|
|
9
|
+
export declare const defaultDenseInfoStrings: Required<DenseInfoStrings>;
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
* - `inline`: label sits immediately before the value, separator-style.
|
|
7
7
|
* - `stacked`: label above (xs secondary), value below (md).
|
|
8
8
|
*
|
|
9
|
-
* `mono`
|
|
9
|
+
* `mono` switches the value to the monospace identifier role (references,
|
|
10
|
+
* codes, keys). Amounts, counts, percentages and dates stay in the sans UI
|
|
11
|
+
* font: pass `valueClassName="tabular-nums"` (or a value primitive such as
|
|
12
|
+
* `Money` / `Percent`, which are already tabular) when figures should align.
|
|
10
13
|
* Use `valueClassName` for one-off colour/weight overrides; the surrounding
|
|
11
14
|
* row is intentionally plain so consumers can stack many of these without
|
|
12
15
|
* visual clutter.
|
|
@@ -3,7 +3,7 @@ import type { GlobalSearchIdleSection } from '../global-search.types';
|
|
|
3
3
|
export interface GlobalSearchIdleStateProps {
|
|
4
4
|
/** Sections to render, in display order. */
|
|
5
5
|
sections: ReadonlyArray<GlobalSearchIdleSection>;
|
|
6
|
-
/** Optional
|
|
6
|
+
/** Optional heading icon used when a section supplies none. Headings carry no icon by default. */
|
|
7
7
|
fallbackIcons?: {
|
|
8
8
|
recent?: React.ElementType;
|
|
9
9
|
suggestions?: React.ElementType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ConfirmDialogProps } from './overlays.types';
|
|
2
|
-
declare function ConfirmDialogImpl({ open, onOpenChange, onClose, children, title, description, visuallyHideHeader, className, contentClassName, initialFocusRef, closeOnEscape, strings: customStrings, showCancel, showConfirm, onCancel, onConfirm, onAsyncConfirm, onError, closeOnAsyncComplete, confirmTone, confirmStyle, loading, formId, footer, tone, showIcon, alertMessage, trigger, destructive, }: ConfirmDialogProps): import("react").JSX.Element;
|
|
2
|
+
declare function ConfirmDialogImpl({ open, onOpenChange, onClose, children, title, description, visuallyHideHeader, className, contentClassName, surfaceStyle, initialFocusRef, closeOnEscape, strings: customStrings, showCancel, showConfirm, onCancel, onConfirm, onAsyncConfirm, onError, closeOnAsyncComplete, confirmTone, confirmStyle, loading, formId, footer, tone, showIcon, alertMessage, trigger, destructive, }: ConfirmDialogProps): import("react").JSX.Element;
|
|
3
3
|
export declare const ConfirmDialog: import("react").MemoExoticComponent<typeof ConfirmDialogImpl>;
|
|
4
4
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ActionDrawerProps } from './overlays.types';
|
|
2
|
-
declare function ActionDrawerImpl({ open, onOpenChange, onClose, children, title, description, visuallyHideHeader, showCloseButton, className, contentClassName, initialFocusRef, closeOnEscape, closeOnBackdropClick, strings: customStrings, showCancel, showConfirm, onCancel, onConfirm, onAsyncConfirm, onError, closeOnAsyncComplete, confirmTone, confirmStyle, loading, formId, footer, emphasis, tone, showIcon, alertMessage, direction, width, showFooter, modal, trigger, }: ActionDrawerProps): import("react").JSX.Element;
|
|
2
|
+
declare function ActionDrawerImpl({ open, onOpenChange, onClose, children, title, description, visuallyHideHeader, showCloseButton, className, contentClassName, surfaceStyle, initialFocusRef, closeOnEscape, closeOnBackdropClick, strings: customStrings, showCancel, showConfirm, onCancel, onConfirm, onAsyncConfirm, onError, closeOnAsyncComplete, confirmTone, confirmStyle, loading, formId, footer, emphasis, tone, showIcon, alertMessage, direction, width, showFooter, modal, trigger, }: ActionDrawerProps): import("react").JSX.Element;
|
|
3
3
|
export declare const ActionDrawer: import("react").MemoExoticComponent<typeof ActionDrawerImpl>;
|
|
4
4
|
export {};
|
|
@@ -7,8 +7,8 @@ export interface UseOverlayActionsOptions extends Pick<OverlayActionProps, 'onCo
|
|
|
7
7
|
customStrings?: StringsProp<OverlayStrings>;
|
|
8
8
|
emphasis?: boolean;
|
|
9
9
|
tone?: OverlayTone;
|
|
10
|
-
/** Called when `onAsyncConfirm` throws
|
|
11
|
-
*
|
|
10
|
+
/** Called when `onAsyncConfirm` throws; the consumer reports or retries.
|
|
11
|
+
* Without it the library logs the rejection in development only. */
|
|
12
12
|
onError?: (error: unknown) => void;
|
|
13
13
|
}
|
|
14
14
|
export interface UseOverlayActionsReturn {
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
2
|
export type OverlayOpenSetter = Dispatch<SetStateAction<boolean>>;
|
|
3
3
|
export interface OverlayVisibilityProps {
|
|
4
|
+
/** Current visibility. */
|
|
4
5
|
open: boolean;
|
|
5
|
-
/**
|
|
6
|
+
/** Requests a visibility change; spread both onto an overlay. */
|
|
6
7
|
onOpenChange: (open: boolean) => void;
|
|
7
8
|
}
|
|
8
9
|
export interface UseOverlayVisibilityOptions {
|
|
10
|
+
/** Initial visibility when uncontrolled. Default: `false`. */
|
|
9
11
|
defaultOpen?: boolean;
|
|
12
|
+
/** Controlled visibility. Omit to let the hook own it. */
|
|
10
13
|
open?: boolean;
|
|
11
|
-
/** Fired
|
|
14
|
+
/** Fired once for every actual visibility change. */
|
|
12
15
|
onOpenChange?: (open: boolean) => void;
|
|
13
|
-
/** Fired
|
|
16
|
+
/** Fired after a change to open. */
|
|
14
17
|
onOpen?: () => void;
|
|
18
|
+
/** Fired after a change to closed, whatever dismissed the overlay. */
|
|
15
19
|
onClose?: () => void;
|
|
16
20
|
}
|
|
17
21
|
export interface UseOverlayVisibilityReturn {
|
|
@@ -25,10 +29,13 @@ export interface UseOverlayVisibilityReturn {
|
|
|
25
29
|
}
|
|
26
30
|
export type OverlayVisibilityGroupState<TKey extends string = string> = Record<TKey, boolean>;
|
|
27
31
|
export interface UseOverlayVisibilityGroupOptions<TKey extends string = string> {
|
|
32
|
+
/** Initial visibility per key when uncontrolled. */
|
|
28
33
|
defaultOpen?: Partial<Record<TKey, boolean>>;
|
|
34
|
+
/** Controlled visibility per key. */
|
|
29
35
|
open?: Partial<Record<TKey, boolean>>;
|
|
30
|
-
/** Fired
|
|
36
|
+
/** Fired once for every actual change, with the key, its visibility and the next group state. */
|
|
31
37
|
onOpenChange?: (key: TKey, open: boolean, state: OverlayVisibilityGroupState<TKey>) => void;
|
|
38
|
+
/** Opening one key closes the others, for one-at-a-time overlays. Default: `false`. */
|
|
32
39
|
closeOthersOnOpen?: boolean;
|
|
33
40
|
}
|
|
34
41
|
export type UseOverlayVisibilityGroupReturn<TKey extends string = string> = Record<TKey, UseOverlayVisibilityReturn>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { OverlayTone } from './overlays.types';
|
|
2
|
+
/** One glyph and colour per tone, shared by every overlay's opt-in `showIcon`. */
|
|
3
|
+
export declare const overlayToneGlyphs: {
|
|
4
|
+
readonly neutral: {
|
|
5
|
+
readonly Glyph: import("lucide-react").LucideIcon;
|
|
6
|
+
readonly color: "text-muted-foreground";
|
|
7
|
+
readonly surface: "bg-muted";
|
|
8
|
+
};
|
|
9
|
+
readonly destructive: {
|
|
10
|
+
readonly Glyph: import("lucide-react").LucideIcon;
|
|
11
|
+
readonly color: "text-destructive";
|
|
12
|
+
readonly surface: "bg-destructive/10";
|
|
13
|
+
};
|
|
14
|
+
readonly warning: {
|
|
15
|
+
readonly Glyph: import("lucide-react").LucideIcon;
|
|
16
|
+
readonly color: "text-warning-accent";
|
|
17
|
+
readonly surface: "bg-warning/15";
|
|
18
|
+
};
|
|
19
|
+
readonly info: {
|
|
20
|
+
readonly Glyph: import("lucide-react").LucideIcon;
|
|
21
|
+
readonly color: "text-info";
|
|
22
|
+
readonly surface: "bg-info/15";
|
|
23
|
+
};
|
|
24
|
+
readonly success: {
|
|
25
|
+
readonly Glyph: import("lucide-react").LucideIcon;
|
|
26
|
+
readonly color: "text-success";
|
|
27
|
+
readonly surface: "bg-success/15";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Inline tone glyph for a heading row. The wrapper takes the title's own line
|
|
32
|
+
* box (base size, snug leading, `h-lh`), so the glyph centres on the first title
|
|
33
|
+
* line at any density instead of relying on an optical offset.
|
|
34
|
+
*/
|
|
35
|
+
export declare function OverlayToneIcon({ tone }: {
|
|
36
|
+
tone: OverlayTone;
|
|
37
|
+
}): import("react").JSX.Element;
|
|
@@ -34,7 +34,9 @@ export interface OverlayBaseProps {
|
|
|
34
34
|
/**
|
|
35
35
|
* Renders the corner dismiss control. Default: `true`. Set `false` for
|
|
36
36
|
* overlays whose body is the whole surface — a command palette has nowhere
|
|
37
|
-
* to put a floating X without it landing on the content.
|
|
37
|
+
* to put a floating X without it landing on the content. Keep another
|
|
38
|
+
* visible way to dismiss (a cancel action) so touch screen-reader users can
|
|
39
|
+
* leave the overlay.
|
|
38
40
|
*/
|
|
39
41
|
showCloseButton?: boolean;
|
|
40
42
|
/**
|
|
@@ -43,11 +45,15 @@ export interface OverlayBaseProps {
|
|
|
43
45
|
* on the dialog itself, which no className can express.
|
|
44
46
|
*/
|
|
45
47
|
surfaceStyle?: CSSProperties;
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Element to focus on open, instead of the first tabbable node (the first
|
|
50
|
+
* field or action; the corner dismiss control comes last). Accepts a
|
|
51
|
+
* `useRef<HTMLInputElement>(null)` ref directly.
|
|
52
|
+
*/
|
|
53
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
54
|
+
/** Allows Escape to dismiss. Default: `true`. Set `false` for destructive or in-progress work. */
|
|
49
55
|
closeOnEscape?: boolean;
|
|
50
|
-
/** Allows a backdrop click to dismiss. */
|
|
56
|
+
/** Allows a backdrop click to dismiss. Default: `true`. */
|
|
51
57
|
closeOnBackdropClick?: boolean;
|
|
52
58
|
/** Overrides the overlay's own copy (confirm/cancel labels). */
|
|
53
59
|
strings?: StringsProp<OverlayStrings>;
|
|
@@ -100,37 +106,46 @@ export interface OverlayActionProps {
|
|
|
100
106
|
* `onSubmit` owns the outcome — `onConfirm` and `onAsyncConfirm` do not fire.
|
|
101
107
|
*/
|
|
102
108
|
formId?: string;
|
|
103
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Replaces the generated footer; the consumer owns its action states.
|
|
111
|
+
* Pending dismissal protection still applies. Custom actions that close the
|
|
112
|
+
* overlay use controlled visibility (`useOverlayVisibility`).
|
|
113
|
+
*/
|
|
104
114
|
footer?: ReactNode;
|
|
105
115
|
}
|
|
106
116
|
/** Semantic weight — the header icon and the confirm button's tone. */
|
|
107
117
|
export interface OverlayEmphasisProps {
|
|
108
118
|
/**
|
|
109
|
-
* Lets `tone`
|
|
110
|
-
*
|
|
119
|
+
* Lets `tone` decide the confirm button colour (destructive, warning or
|
|
120
|
+
* success). Without it `confirmTone` decides the button. Default: `false`.
|
|
111
121
|
*/
|
|
112
122
|
emphasis?: boolean;
|
|
113
|
-
/** Semantic tone of the overlay. Default: `'neutral'`. */
|
|
123
|
+
/** Semantic tone of the overlay: the `showIcon` glyph and the `alertMessage` notice. Default: `'neutral'`. */
|
|
114
124
|
tone?: OverlayTone;
|
|
115
|
-
/** Shows the tone's
|
|
125
|
+
/** Shows the tone's glyph beside the title, centred on its first line. Default: `false`. */
|
|
116
126
|
showIcon?: boolean;
|
|
117
127
|
/** Inline notice between the header and the body — a warning or consequence. */
|
|
118
128
|
alertMessage?: string;
|
|
119
129
|
}
|
|
120
130
|
/** A modal dialog with a title, body, and generated action footer. */
|
|
121
131
|
export interface ActionDialogProps extends OverlayBaseProps, OverlayActionProps, OverlayEmphasisProps {
|
|
122
|
-
/** Maximum dialog width. Default: `
|
|
132
|
+
/** Maximum dialog width from the `sm` breakpoint; below it the dialog keeps a 1rem viewport margin. Default: `lg`. */
|
|
123
133
|
size?: OverlaySize;
|
|
124
|
-
/** Element that opens the dialog. Supply it for uncontrolled use instead of `open
|
|
134
|
+
/** Element that opens the dialog. Supply it for uncontrolled use instead of `open`; a string renders a secondary button. */
|
|
125
135
|
trigger?: ReactNode;
|
|
126
136
|
}
|
|
127
137
|
/** An edge-anchored panel for longer work than a dialog comfortably holds. */
|
|
128
138
|
export interface ActionDrawerProps extends OverlayBaseProps, OverlayActionProps, OverlayEmphasisProps {
|
|
129
139
|
/** Edge the drawer enters from. Default: `right`. */
|
|
130
140
|
direction?: DrawerDirection;
|
|
131
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Maximum panel width for left and right drawers from the `sm` breakpoint;
|
|
143
|
+
* below it the panel spans the viewport. Top and bottom drawers span the
|
|
144
|
+
* width and size to their content up to 85% of the viewport height.
|
|
145
|
+
* Default: `lg`.
|
|
146
|
+
*/
|
|
132
147
|
width?: OverlaySize;
|
|
133
|
-
/** Renders the action footer. Set `false` when the body owns its own actions. */
|
|
148
|
+
/** Renders the action footer. Default: `true`. Set `false` when the body owns its own actions. */
|
|
134
149
|
showFooter?: boolean;
|
|
135
150
|
/**
|
|
136
151
|
* Whether the drawer takes the page hostage while it is open. Default: `true`.
|
|
@@ -140,7 +155,8 @@ export interface ActionDrawerProps extends OverlayBaseProps, OverlayActionProps,
|
|
|
140
155
|
* Some side panels are the opposite: a theme editor, an inspector, a live
|
|
141
156
|
* filter rail, anything whose whole purpose is to sit beside the app while
|
|
142
157
|
* you keep working in it. Those need `false`, which drops the scrim and the
|
|
143
|
-
* inerting and leaves the page interactive
|
|
158
|
+
* inerting and leaves the page interactive; pressing the page no longer
|
|
159
|
+
* dismisses the panel, which closes from its own controls or Escape.
|
|
144
160
|
*
|
|
145
161
|
* `'trap-focus'` is the middle setting — focus stays inside, but the page
|
|
146
162
|
* neither locks its scroll nor stops taking pointer events.
|
|
@@ -149,7 +165,7 @@ export interface ActionDrawerProps extends OverlayBaseProps, OverlayActionProps,
|
|
|
149
165
|
* confirmation or anything the user must answer before continuing.
|
|
150
166
|
*/
|
|
151
167
|
modal?: boolean | 'trap-focus';
|
|
152
|
-
/** Element that opens the drawer. Supply it for uncontrolled use instead of `open
|
|
168
|
+
/** Element that opens the drawer. Supply it for uncontrolled use instead of `open`; a string renders a secondary button. */
|
|
153
169
|
trigger?: ReactNode;
|
|
154
170
|
}
|
|
155
171
|
/**
|
|
@@ -157,14 +173,21 @@ export interface ActionDrawerProps extends OverlayBaseProps, OverlayActionProps,
|
|
|
157
173
|
* body needs real content — this one is sized for a question and two answers.
|
|
158
174
|
*/
|
|
159
175
|
export interface ConfirmDialogProps extends OverlayBaseProps, OverlayActionProps {
|
|
160
|
-
/** Semantic tone, driving the
|
|
176
|
+
/** Semantic tone, driving the confirm button, the `showIcon` glyph and the notice. Default: `'neutral'`. */
|
|
161
177
|
tone?: OverlayTone;
|
|
162
|
-
/** Shows the tone's
|
|
178
|
+
/** Shows the tone's glyph above the title. Default: `false`; the confirm button and copy carry the tone. */
|
|
163
179
|
showIcon?: boolean;
|
|
164
180
|
/** Inline notice explaining the consequence before the user commits. */
|
|
165
181
|
alertMessage?: string;
|
|
166
|
-
/** Element that opens the dialog. Supply it for uncontrolled use instead of `open
|
|
182
|
+
/** Element that opens the dialog. Supply it for uncontrolled use instead of `open`; a string renders a secondary button. */
|
|
167
183
|
trigger?: ReactNode;
|
|
168
184
|
/** Shorthand for the destructive presentation. */
|
|
169
185
|
destructive?: boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Not used: a confirmation needs an explicit answer, so an outside press
|
|
188
|
+
* never dismisses it. Escape still cancels unless `closeOnEscape` is `false`.
|
|
189
|
+
*/
|
|
190
|
+
closeOnBackdropClick?: boolean;
|
|
191
|
+
/** Not used: a confirmation has no corner dismiss control; Cancel or Escape declines. */
|
|
192
|
+
showCloseButton?: boolean;
|
|
170
193
|
}
|
|
@@ -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, 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, 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;
|
|
3
3
|
export declare namespace ProductVariantsManager {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -2,6 +2,6 @@ export { ProductRowActions } from './product-actions';
|
|
|
2
2
|
export { ProductEmptyState } from './product-empty-state';
|
|
3
3
|
export { ProductMetricTile } from './product-metric-tile';
|
|
4
4
|
export { ProductOperationRow, ProductReadinessRow, ProductStructureMetricRow, ProductSummaryRow, } from './product-rows';
|
|
5
|
-
export { PRODUCT_TONE_BADGE,
|
|
5
|
+
export { PRODUCT_TONE_BADGE, PRODUCT_TONE_TEXT, ProductToneDot, clampProductPercent, isProductStatusTone, } from './product-tone';
|
|
6
6
|
export { ProductVariantActions, ProductVariantCell, } from './product-variant-table-parts';
|
|
7
7
|
export { PRODUCT_EMPTY_VALUE } from './product-values';
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { ProductMetricSummary, ProductStructureMetric } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* A headline fact: label above an emphasised value, in the same label-over-value
|
|
4
|
+
* anatomy as the metadata lists beside it. No tile chrome — the parent grid's
|
|
5
|
+
* gap separates metrics — and colour appears only as a status dot when the
|
|
6
|
+
* metric's tone states a status.
|
|
7
|
+
*/
|
|
2
8
|
export declare function ProductMetricTile({ metric }: {
|
|
3
9
|
metric: ProductStructureMetric | ProductMetricSummary;
|
|
4
10
|
}): import("react").JSX.Element;
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import type { BadgeTone } from '../../../base/badge';
|
|
2
2
|
import type { ProductTone } from '../products.types';
|
|
3
|
+
/**
|
|
4
|
+
* Badge tone for a product row value. Only status tones carry colour; neutral
|
|
5
|
+
* and primary (reserved for the main command) render as neutral badges.
|
|
6
|
+
*/
|
|
3
7
|
export declare const PRODUCT_TONE_BADGE: Record<ProductTone, BadgeTone>;
|
|
4
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Text colour for a figure whose tone states a status. Figures keep their width,
|
|
10
|
+
* so a flagged metric lines up with its plain siblings instead of growing a chip.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PRODUCT_TONE_TEXT: Record<ProductTone, string | undefined>;
|
|
13
|
+
/** Whether a tone states a status. Neutral and primary are presentation, not state. */
|
|
14
|
+
export declare function isProductStatusTone(tone: ProductTone | undefined): tone is ProductTone;
|
|
5
15
|
export declare function clampProductPercent(value: number): number;
|
|
6
16
|
export declare function ProductToneDot({ tone }: {
|
|
7
17
|
tone?: ProductTone;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
+
import type { CardProps } from '../../base/cards';
|
|
2
3
|
import type { BadgeTone } from '../../base/badge';
|
|
3
4
|
import type { ActionMenuAction } from '../../base/action-menu';
|
|
4
5
|
import type { MetadataListItem } from '../../blocks/data-display/metadata';
|
|
@@ -741,7 +742,7 @@ export interface ProductVariantsBulkTableProps {
|
|
|
741
742
|
/** Overrides this surface’s own copy. */
|
|
742
743
|
strings?: StringsProp<ProductVariantBulkTableStrings>;
|
|
743
744
|
}
|
|
744
|
-
export interface ProductVariantsManagerProps extends 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'> {
|
|
745
|
+
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'> {
|
|
745
746
|
/** Groups rows under the values of this option. `null` leaves the list flat. */
|
|
746
747
|
groupByOptionId?: string | null;
|
|
747
748
|
/** Option group used for grouping on first render. */
|
|
@@ -72,7 +72,7 @@ export interface DateCellProps {
|
|
|
72
72
|
preset?: DateProps['preset'];
|
|
73
73
|
/** date-fns locale override. Falls back to UIProvider dates. */
|
|
74
74
|
locale?: DateProps['locale'];
|
|
75
|
-
/** Renders the
|
|
75
|
+
/** Renders the leading glyph. Off by default: a repeated calendar glyph on every row adds no information. */
|
|
76
76
|
showIcon?: boolean;
|
|
77
77
|
/** Leading glyph. */
|
|
78
78
|
icon?: ComponentType<{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { Page } from './page';
|
|
2
2
|
export { PageHeader } from './partials/page-header';
|
|
3
3
|
export { PageActions } from './partials/page-actions';
|
|
4
|
-
export { defaultPageActionsStrings, type PageHeaderProps, type PageHeaderSlots, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, } from './page.types';
|
|
4
|
+
export { defaultPageActionsStrings, type PageHeaderAction, type PageHeaderProps, type PageHeaderSlots, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, } from './page.types';
|
|
@@ -18,6 +18,40 @@ export interface PageTitleBadge {
|
|
|
18
18
|
tone?: BadgeTone;
|
|
19
19
|
key?: Key;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* A page command described by its role. `primaryAction` and `secondaryActions`
|
|
23
|
+
* choose the treatment, so a command carries no tone or button style.
|
|
24
|
+
*/
|
|
25
|
+
export interface PageHeaderAction {
|
|
26
|
+
/** Stable key. Defaults to the command's position. */
|
|
27
|
+
id?: string;
|
|
28
|
+
/** Visible command text. */
|
|
29
|
+
label: ReactNode;
|
|
30
|
+
/** Runs the command. When both are set, `onClick` wins over `href`. */
|
|
31
|
+
onClick?: () => void;
|
|
32
|
+
/** Navigates through the header's `renderLink` instead of running a callback. */
|
|
33
|
+
href?: string;
|
|
34
|
+
target?: string;
|
|
35
|
+
rel?: string;
|
|
36
|
+
/** Marks the destination as leaving the app; forwarded to `renderLink`. */
|
|
37
|
+
external?: boolean;
|
|
38
|
+
/** Leading glyph. Pass a Lucide icon component. */
|
|
39
|
+
icon?: ComponentType<{
|
|
40
|
+
className?: string;
|
|
41
|
+
}>;
|
|
42
|
+
/** Shows the pending indicator and blocks activation. */
|
|
43
|
+
loading?: boolean;
|
|
44
|
+
/** Blocks activation while keeping the command visible. */
|
|
45
|
+
disabled?: boolean;
|
|
46
|
+
/** Set false to omit the command, for example without permission. */
|
|
47
|
+
visible?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Irreversible or harmful command. A destructive secondary command moves to
|
|
50
|
+
* the More actions menu; a destructive primary command keeps its place with
|
|
51
|
+
* the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.
|
|
52
|
+
*/
|
|
53
|
+
destructive?: boolean;
|
|
54
|
+
}
|
|
21
55
|
export interface PageHeaderSlots {
|
|
22
56
|
/** Replaces the leading back control entirely. */
|
|
23
57
|
back?: ReactNode;
|
|
@@ -25,7 +59,7 @@ export interface PageHeaderSlots {
|
|
|
25
59
|
beforeTitle?: ReactNode;
|
|
26
60
|
/** Additional content after the description. */
|
|
27
61
|
afterDescription?: ReactNode;
|
|
28
|
-
/** Replaces the trailing actions region. */
|
|
62
|
+
/** Replaces the trailing actions region, including role-based commands. */
|
|
29
63
|
actions?: ReactNode;
|
|
30
64
|
}
|
|
31
65
|
export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
@@ -35,7 +69,7 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
|
35
69
|
description?: ReactNode;
|
|
36
70
|
/** Shared title/description rhythm. Defaults to dense for page copy. */
|
|
37
71
|
textGap?: TextGap;
|
|
38
|
-
/** Semantic heading level for the title. Defaults to `
|
|
72
|
+
/** Semantic heading level for the title. Defaults to `h1`, the route's main heading; use `h2` when the page sits inside another titled page. */
|
|
39
73
|
headingTag?: HeadingTag;
|
|
40
74
|
/** Optional decorative icon rendered before the title. Pass a Lucide icon component. */
|
|
41
75
|
titleIcon?: ComponentType<{
|
|
@@ -54,7 +88,23 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
|
54
88
|
backLabel?: string;
|
|
55
89
|
/** Chips shown beside the page title. */
|
|
56
90
|
titleBadges?: PageTitleBadge[];
|
|
57
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* The page's one main command: a solid primary button at the trailing end,
|
|
93
|
+
* visible at every width.
|
|
94
|
+
*/
|
|
95
|
+
primaryAction?: PageHeaderAction;
|
|
96
|
+
/**
|
|
97
|
+
* Supporting commands in priority order. The first two render as outline
|
|
98
|
+
* buttons; the rest, and every destructive command, move into the More
|
|
99
|
+
* actions menu. Below `sm`, all secondary commands collapse into that menu.
|
|
100
|
+
*/
|
|
101
|
+
secondaryActions?: readonly PageHeaderAction[];
|
|
102
|
+
/** Accessible name of the More actions menu trigger. */
|
|
103
|
+
moreActionsLabel?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Custom controls before the role-based commands, such as a period select.
|
|
106
|
+
* Prefer `primaryAction` and `secondaryActions` for commands.
|
|
107
|
+
*/
|
|
58
108
|
actions?: ReactNode;
|
|
59
109
|
/** Replaces individual regions of the shell. */
|
|
60
110
|
slots?: PageHeaderSlots;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LayoutLinkRenderer } from '../../layout.types';
|
|
2
|
+
import type { PageHeaderAction } from '../page.types';
|
|
3
|
+
/** Secondary commands rendered as buttons from `sm` up; later ones overflow. */
|
|
4
|
+
export declare const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;
|
|
5
|
+
export interface PageHeaderCommandsProps {
|
|
6
|
+
primaryAction?: PageHeaderAction;
|
|
7
|
+
secondaryActions?: readonly PageHeaderAction[];
|
|
8
|
+
moreActionsLabel: string;
|
|
9
|
+
renderLink: LayoutLinkRenderer;
|
|
10
|
+
}
|
|
11
|
+
/** Whether the header has any role-based command to render. */
|
|
12
|
+
export declare function hasPageHeaderCommands(primaryAction: PageHeaderAction | undefined, secondaryActions: readonly PageHeaderAction[] | undefined): boolean;
|
|
13
|
+
export declare function PageHeaderCommands({ primaryAction, secondaryActions, moreActionsLabel, renderLink, }: PageHeaderCommandsProps): import("react").JSX.Element | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PageHeaderProps } from '../page.types';
|
|
2
|
-
export declare function PageHeader({ title, description, textGap, headingTag, titleIcon: TitleIcon, titleIconHref, onTitleIconClick, titleIconLabel, backHref, onBack, backLabel, titleBadges, actions, slots, renderLink, className, contentClassName, actionsClassName, titleClassName, titleIconClassName, descriptionClassName, }: PageHeaderProps): import("react").JSX.Element;
|
|
2
|
+
export declare function PageHeader({ title, description, textGap, headingTag, titleIcon: TitleIcon, titleIconHref, onTitleIconClick, titleIconLabel, backHref, onBack, backLabel, titleBadges, primaryAction, secondaryActions, moreActionsLabel, actions, slots, renderLink, className, contentClassName, actionsClassName, titleClassName, titleIconClassName, descriptionClassName, }: PageHeaderProps): import("react").JSX.Element;
|