themelia-react-ui 2.0.0 → 2.0.1
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 +351 -0
- package/README.md +26 -13
- package/dist/{accordion-CQXVcd7Q.js → accordion-B6a3vVgA.js} +84 -82
- package/dist/accordion-B6a3vVgA.js.map +1 -0
- package/dist/action-menu-TzCoSlwL.js +280 -0
- package/dist/action-menu-TzCoSlwL.js.map +1 -0
- package/dist/{affordance-geometry.generated-CCIXb2A1.js → affordance-geometry.generated-B5iu-Mkr.js} +3 -2
- package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
- package/dist/{ai-artifact-2PQ2fItc.js → ai-artifact-BMJdv-6q.js} +379 -376
- package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
- package/dist/{app-shell-BE_j8-AT.js → app-shell-ZK5RWdo6.js} +4 -4
- package/dist/{app-shell-BE_j8-AT.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
- package/dist/attachment-BtfhGm8i.js +245 -0
- package/dist/attachment-BtfhGm8i.js.map +1 -0
- package/dist/{auth-M3vGMgDR.js → auth-CYxKfo69.js} +237 -235
- package/dist/auth-CYxKfo69.js.map +1 -0
- package/dist/{avatar-djdaaQ_s.js → avatar-BBnEJIx8.js} +66 -65
- package/dist/avatar-BBnEJIx8.js.map +1 -0
- package/dist/badge-MrKVNzW9.js +93 -0
- package/dist/badge-MrKVNzW9.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/batch-action-bar.js +3 -0
- package/dist/base/buttons.js +2 -3
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +13 -13
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +103 -115
- package/dist/base/cascader.js.map +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +3 -3
- 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 +7 -7
- 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 +17 -17
- 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/metadata-list.js +3 -0
- 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 +171 -170
- 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 +147 -137
- 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 +2 -2
- 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 +2 -2
- package/dist/batch-action-bar-BZGDG-Si.js +104 -0
- package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
- package/dist/blocks/admin.js +173 -171
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +266 -263
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +440 -438
- 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 +1945 -1266
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +3 -2
- package/dist/blocks/onboarding.js +50 -49
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +25 -25
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/breadcrumbs-D5t7I023.js +129 -0
- package/dist/breadcrumbs-D5t7I023.js.map +1 -0
- package/dist/{button-R9CCoH7A.js → button-QYwiyhD2.js} +15 -14
- package/dist/button-QYwiyhD2.js.map +1 -0
- package/dist/{button-BS3KDg00.js → buttons-SbIcm1HJ.js} +200 -213
- package/dist/buttons-SbIcm1HJ.js.map +1 -0
- package/dist/{cards-QoJ4syG9.js → cards-CiiHpKYd.js} +8 -8
- package/dist/cards-CiiHpKYd.js.map +1 -0
- package/dist/{chart-DwYRKKc-.js → chart-QfrARkXl.js} +5 -5
- package/dist/{chart-DwYRKKc-.js.map → chart-QfrARkXl.js.map} +1 -1
- package/dist/checkbox-DhB6K0bK.js +36 -0
- package/dist/checkbox-DhB6K0bK.js.map +1 -0
- package/dist/choice-inputs-t6w3ATNz.js +766 -0
- package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
- package/dist/code-block-Dgbu-CU3.js +185 -0
- package/dist/code-block-Dgbu-CU3.js.map +1 -0
- package/dist/{collapsible-oMUGM4tr.js → collapsible-D8AEGU1-.js} +4 -4
- package/dist/{collapsible-oMUGM4tr.js.map → collapsible-D8AEGU1-.js.map} +1 -1
- package/dist/{collection-content-Ys-OZOkY.js → collection-content-uK16Grv0.js} +3 -3
- package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-uK16Grv0.js.map} +1 -1
- package/dist/{combobox-6dvVny2q.js → combobox-2Ic8N9bL.js} +74 -68
- package/dist/combobox-2Ic8N9bL.js.map +1 -0
- package/dist/{combobox-CB7039j7.js → combobox-DLl0bfiq.js} +307 -305
- package/dist/combobox-DLl0bfiq.js.map +1 -0
- package/dist/{command-kPMPjIxJ.js → command-kNR20o7x.js} +7 -7
- package/dist/{command-kPMPjIxJ.js.map → command-kNR20o7x.js.map} +1 -1
- package/dist/{comments-You0Bzbr.js → comments-BpDuCUUu.js} +341 -339
- package/dist/comments-BpDuCUUu.js.map +1 -0
- package/dist/components/base/action-menu/action-menu.d.ts +21 -4
- package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
- package/dist/components/base/action-menu/index.d.ts +1 -0
- package/dist/components/base/badge/badge.recipes.d.ts +4 -4
- package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
- package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
- package/dist/components/base/batch-action-bar/index.d.ts +8 -0
- package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
- package/dist/components/base/buttons/button.recipes.d.ts +2 -2
- package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
- package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
- package/dist/components/base/display/alert-dialog.d.ts +6 -5
- package/dist/components/base/display/dialog.d.ts +4 -8
- package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
- package/dist/components/base/forms/form-sizing.d.ts +15 -12
- package/dist/components/base/metadata-list/index.d.ts +12 -0
- package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
- package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
- package/dist/components/base/navigation/index.d.ts +1 -1
- package/dist/components/base/navigation/page-header/index.d.ts +1 -0
- package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
- package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
- package/dist/components/base/sheet/sheet.d.ts +4 -8
- package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
- package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
- package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
- package/dist/components/base/upload/upload.recipes.d.ts +25 -3
- package/dist/components/base/value-inputs/index.d.ts +5 -5
- package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
- package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
- package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
- package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
- package/dist/components/blocks/commerce/index.d.ts +13 -5
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
- package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
- package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
- package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
- package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
- package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
- package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
- package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
- package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
- package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
- package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
- package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
- package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
- package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
- package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
- package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
- package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
- package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
- package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
- package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
- package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
- package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
- package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
- package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
- package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
- package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
- package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
- package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
- package/dist/components/features/kanban/kanban.d.ts +1 -1
- package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
- package/dist/components/features/kanban/kanban.types.d.ts +2 -2
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
- package/dist/components/features/media-library/index.d.ts +1 -1
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
- package/dist/components/features/media-library/media-library.types.d.ts +74 -1
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
- package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/dialog.d.ts +1 -1
- package/dist/components/features/overlays/index.d.ts +1 -1
- package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
- package/dist/components/features/overlays/overlays.types.d.ts +20 -0
- package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
- package/dist/components/features/products/components/product-details-card.d.ts +5 -0
- package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
- package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
- package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
- package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
- package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
- package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
- package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
- package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
- package/dist/components/features/products/products.types.d.ts +9 -2
- package/dist/components/features/resource/index.d.ts +1 -1
- package/dist/components/features/resource/resource.d.ts +1 -1
- package/dist/components/features/resource/resource.types.d.ts +34 -6
- package/dist/components/features/rich-text-editor/index.d.ts +2 -1
- package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
- package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
- package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
- package/dist/components/features/sync/index.d.ts +26 -3
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/table.types.d.ts +32 -7
- package/dist/components/layout/page/index.d.ts +1 -1
- package/dist/components/layout/page/page.types.d.ts +33 -36
- package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +16 -2
- package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
- package/dist/components/typography/rich-text/index.d.ts +1 -1
- package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
- package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
- package/dist/components/typography/text-link.d.ts +4 -3
- package/dist/components/ui/checkbox.d.ts +4 -3
- package/dist/components/ui/overlay.recipes.d.ts +0 -9
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/{containers-D_L4mTVb.js → containers-DmWiJa2I.js} +36 -35
- package/dist/containers-DmWiJa2I.js.map +1 -0
- package/dist/{copyable-DDjTeW_j.js → copyable-B3Gwgdqc.js} +6 -6
- package/dist/{copyable-DDjTeW_j.js.map → copyable-B3Gwgdqc.js.map} +1 -1
- package/dist/data-display-DafIvCl5.js +960 -0
- package/dist/data-display-DafIvCl5.js.map +1 -0
- package/dist/{date-uf3z37Nm.js → date-BgK3bTdo.js} +5 -5
- package/dist/{date-uf3z37Nm.js.map → date-BgK3bTdo.js.map} +1 -1
- package/dist/date-picker-CF-DtUpF.js +1529 -0
- package/dist/date-picker-CF-DtUpF.js.map +1 -0
- package/dist/{date-pickers-CnFCb0n2.js → date-pickers-BmzxJl5l.js} +19 -19
- package/dist/{date-pickers-CnFCb0n2.js.map → date-pickers-BmzxJl5l.js.map} +1 -1
- package/dist/{display-DrdvPwF0.js → display-DsQTVzMz.js} +88 -87
- package/dist/display-DsQTVzMz.js.map +1 -0
- package/dist/{dropdown-menu-CURh59jb.js → dropdown-menu-E2qmdC7o.js} +7 -7
- package/dist/{dropdown-menu-CURh59jb.js.map → dropdown-menu-E2qmdC7o.js.map} +1 -1
- package/dist/features/activities.js +414 -501
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +170 -169
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/async-preview.js +8 -8
- 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 +139 -138
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +73 -71
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +278 -275
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +307 -310
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +95 -97
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +56 -57
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +918 -825
- 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 +1115 -1122
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +202 -194
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +25 -25
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +77 -69
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +30 -11
- package/dist/features/rich-text-editor.js.map +1 -1
- package/dist/features/schema-form.js +33 -33
- package/dist/features/schema-form.js.map +1 -1
- 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 +397 -396
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-C7nR0UtT.js → feedback-qNuMBtRH.js} +84 -83
- package/dist/feedback-qNuMBtRH.js.map +1 -0
- package/dist/{field-affordance-recipes-CkOCdE2y.js → field-affordance-recipes-qQeIf4lG.js} +8 -6
- package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
- package/dist/field-state-recipes-BVA2CWHo.js +12 -0
- package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
- package/dist/{filters-Da-gNPsE.js → filters-BkHH53uv.js} +565 -563
- package/dist/filters-BkHH53uv.js.map +1 -0
- package/dist/focus-recipes-B653VaLq.js +12 -0
- package/dist/focus-recipes-B653VaLq.js.map +1 -0
- package/dist/{form-field-VZRULhUK.js → form-field-DUt4UxSV.js} +4 -4
- package/dist/{form-field-VZRULhUK.js.map → form-field-DUt4UxSV.js.map} +1 -1
- package/dist/{form-sizing-uWP4lzVh.js → form-sizing-By94KzXE.js} +19 -15
- package/dist/form-sizing-By94KzXE.js.map +1 -0
- package/dist/{forms-DDeEnXSY.js → forms-Bzha-Y3B.js} +22 -22
- package/dist/{forms-DDeEnXSY.js.map → forms-Bzha-Y3B.js.map} +1 -1
- package/dist/{forms-numeric-D3CO60IF.js → forms-numeric-C0bvjRPZ.js} +265 -264
- package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
- package/dist/{header-2ycNqGOR.js → header-BOefOKd1.js} +47 -51
- package/dist/header-BOefOKd1.js.map +1 -0
- package/dist/{hooks-DQ5SPwZw.js → hooks-9k_TtmKh.js} +2 -2
- package/dist/{hooks-DQ5SPwZw.js.map → hooks-9k_TtmKh.js.map} +1 -1
- package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
- package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
- package/dist/icon-badge-CAuKupo9.js +55 -0
- package/dist/icon-badge-CAuKupo9.js.map +1 -0
- package/dist/index.js +7 -7
- package/dist/input-DWhBBBww.js +262 -0
- package/dist/input-DWhBBBww.js.map +1 -0
- package/dist/{input-BoLm9Hks.js → input-Ddi_LSYv.js} +3 -3
- package/dist/{input-BoLm9Hks.js.map → input-Ddi_LSYv.js.map} +1 -1
- package/dist/interaction-recipes-CHr0dJUs.js +24 -0
- package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
- package/dist/{item-xzh8Df65.js → item-DEmDiTlD.js} +98 -97
- package/dist/item-DEmDiTlD.js.map +1 -0
- package/dist/layer-recipes-CCpklYME.js +13 -0
- package/dist/layer-recipes-CCpklYME.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 +1 -0
- package/dist/lib/field-affordance-recipes.d.ts +6 -1
- package/dist/lib/field-state-recipes.d.ts +9 -8
- package/dist/lib/focus-recipes.d.ts +24 -0
- package/dist/lib/interaction-recipes.d.ts +35 -0
- package/dist/lib/layer-recipes.d.ts +19 -0
- package/dist/lib/motion-recipes.d.ts +1 -0
- package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
- package/dist/lib/safe-image-src.d.ts +10 -0
- package/dist/lib/sanitize-html.d.ts +15 -3
- package/dist/lib/surface-recipes.d.ts +47 -7
- package/dist/lib/token-merge.generated.d.ts +9 -6
- package/dist/lib/tone-recipes.d.ts +79 -0
- package/dist/lib/ui-provider/hooks.d.ts +2 -1
- package/dist/lib/ui-provider/index.d.ts +2 -2
- package/dist/lib/ui-provider/types.d.ts +9 -0
- package/dist/lib/utils.js +1 -1
- package/dist/media-gallery-DcTtAaeC.js +203 -0
- package/dist/media-gallery-DcTtAaeC.js.map +1 -0
- package/dist/mentions-D-uyCh01.js +568 -0
- package/dist/mentions-D-uyCh01.js.map +1 -0
- package/dist/{message-YfFmbXNP.js → message-CdHgIWKf.js} +5 -5
- package/dist/{message-YfFmbXNP.js.map → message-CdHgIWKf.js.map} +1 -1
- package/dist/metadata-list-X5rYAKSB.js +394 -0
- package/dist/metadata-list-X5rYAKSB.js.map +1 -0
- package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
- package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
- package/dist/navigation-D3KwXmaq.js +145 -0
- package/dist/navigation-D3KwXmaq.js.map +1 -0
- package/dist/navigation-HJf5zxlH.js +268 -0
- package/dist/navigation-HJf5zxlH.js.map +1 -0
- package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BVowojQw.js} +2 -2
- package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
- package/dist/{number-CKRBYmZK.js → number-DMhe-Vsk.js} +5 -5
- package/dist/{number-CKRBYmZK.js.map → number-DMhe-Vsk.js.map} +1 -1
- package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
- package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
- package/dist/overlay.recipes-8GHqmlb4.js +6 -0
- package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
- package/dist/overlays-I0axtYA6.js +999 -0
- package/dist/overlays-I0axtYA6.js.map +1 -0
- package/dist/page-B5dTH9gE.js +224 -0
- package/dist/page-B5dTH9gE.js.map +1 -0
- package/dist/page-header-commands-DjzFEq3E.js +126 -0
- package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
- package/dist/{pagination-Cm0jqa3I.js → pagination-3bPA_a6K.js} +15 -15
- package/dist/{pagination-Cm0jqa3I.js.map → pagination-3bPA_a6K.js.map} +1 -1
- package/dist/{popover-Dcv_9jxr.js → popover-Di55PyAI.js} +8 -8
- package/dist/popover-Di55PyAI.js.map +1 -0
- package/dist/{popover-menu-DnRFKnHP.js → popover-menu-B71Tn2Qz.js} +6 -6
- package/dist/{popover-menu-DnRFKnHP.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
- package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-Bdyhj2db.js} +2 -2
- package/dist/{popover.recipes-wmbvL8Ah.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
- package/dist/{primitives-BHrwQXFC.js → primitives-B-CkiEMU.js} +5 -5
- package/dist/{primitives-BHrwQXFC.js.map → primitives-B-CkiEMU.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-Br9WTFya.js → progress-rnS8-uAW.js} +9 -9
- package/dist/{progress-Br9WTFya.js.map → progress-rnS8-uAW.js.map} +1 -1
- package/dist/{receipt-CV89q1fs.js → receipt-D0oswZ0p.js} +6 -6
- package/dist/{receipt-CV89q1fs.js.map → receipt-D0oswZ0p.js.map} +1 -1
- package/dist/rich-text-DvGulsNJ.js +78 -0
- package/dist/rich-text-DvGulsNJ.js.map +1 -0
- package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
- package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
- package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
- package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
- package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
- package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
- package/dist/safe-image-src-C6kQSMBZ.js +17 -0
- package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
- package/dist/sanitize-html-DsQmI48u.js +92 -0
- package/dist/sanitize-html-DsQmI48u.js.map +1 -0
- package/dist/scroll-area-Bt_vXY2b.js +48 -0
- package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
- package/dist/{separator-Do5GWDYi.js → separator-C8DlRGwF.js} +3 -3
- package/dist/{separator-Do5GWDYi.js.map → separator-C8DlRGwF.js.map} +1 -1
- package/dist/{separator-BMEvwnSX.js → separator-CYHnjsAb.js} +2 -2
- package/dist/{separator-BMEvwnSX.js.map → separator-CYHnjsAb.js.map} +1 -1
- package/dist/services/actions/action-adapters.d.ts +18 -0
- package/dist/services/actions/index.d.ts +1 -1
- package/dist/services/actions.js +16 -4
- package/dist/services/actions.js.map +1 -1
- package/dist/settings-CQW3b-Cu.js +170 -0
- package/dist/settings-CQW3b-Cu.js.map +1 -0
- package/dist/sheet-4SEvVYzA.js +210 -0
- package/dist/sheet-4SEvVYzA.js.map +1 -0
- package/dist/{sidebar-Crc9M9JV.js → sidebar-C7WWR29L.js} +180 -179
- package/dist/sidebar-C7WWR29L.js.map +1 -0
- package/dist/{sidebar-Cb8WzOvE.js → sidebar-d7Dg80ln.js} +16 -16
- package/dist/sidebar-d7Dg80ln.js.map +1 -0
- package/dist/{skeleton-DVMXr15h.js → skeleton-Cz890JZF.js} +9 -9
- package/dist/{skeleton-DVMXr15h.js.map → skeleton-Cz890JZF.js.map} +1 -1
- package/dist/smart-card-lFKxn5Hu.js +595 -0
- package/dist/smart-card-lFKxn5Hu.js.map +1 -0
- package/dist/{spinner-CmTAbEp0.js → spinner-fa3h1Aif.js} +7 -7
- package/dist/{spinner-CmTAbEp0.js.map → spinner-fa3h1Aif.js.map} +1 -1
- package/dist/{structure-hzCW-XsV.js → structure-DC2dygdA.js} +2 -2
- package/dist/{structure-hzCW-XsV.js.map → structure-DC2dygdA.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/surface-recipes-BKRVW8Os.js +43 -0
- package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
- package/dist/{table-D6zKeYQX.js → table-CIKyLUsy.js} +59 -58
- package/dist/table-CIKyLUsy.js.map +1 -0
- package/dist/table-CrcLN9Io.js +1458 -0
- package/dist/table-CrcLN9Io.js.map +1 -0
- package/dist/{tabs-Dk8E_knt.js → tabs-DwBJfjxX.js} +58 -57
- package/dist/tabs-DwBJfjxX.js.map +1 -0
- package/dist/{text-inputs-BFpku0Qd.js → text-inputs-aaK9wcDT.js} +74 -79
- package/dist/text-inputs-aaK9wcDT.js.map +1 -0
- package/dist/theme.css +3 -3
- package/dist/{timelines-CxuAFIc2.js → timelines-C_SBwHNP.js} +153 -150
- package/dist/timelines-C_SBwHNP.js.map +1 -0
- package/dist/tone-recipes-CPoExcTE.js +70 -0
- package/dist/tone-recipes-CPoExcTE.js.map +1 -0
- package/dist/tooltip-CsfgrfS7.js +111 -0
- package/dist/tooltip-CsfgrfS7.js.map +1 -0
- package/dist/{tree-BotPlyiD.js → tree-BiKhg8AY.js} +68 -66
- package/dist/tree-BiKhg8AY.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-DTRkE9zL.js +117 -0
- package/dist/typography-DTRkE9zL.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-D2_TeLqw.js → ui-provider-1D_NSYzO.js} +11 -3
- package/dist/ui-provider-1D_NSYzO.js.map +1 -0
- package/dist/ui-provider.js +3 -3
- package/dist/{upload-B0WHW7ak.js → upload-BO8-CLN6.js} +209 -209
- package/dist/upload-BO8-CLN6.js.map +1 -0
- package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-EOC8g1gf.js} +109 -111
- package/dist/upload-queue-EOC8g1gf.js.map +1 -0
- package/dist/upload.recipes-BbxTqrCT.js +61 -0
- package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
- package/dist/{usage-card-U0YBLTNT.js → usage-card-obRaBskq.js} +46 -46
- package/dist/{usage-card-U0YBLTNT.js.map → usage-card-obRaBskq.js.map} +1 -1
- package/dist/{utils-Cospvlj1.js → utils-l5LpDw2z.js} +56 -24
- package/dist/utils-l5LpDw2z.js.map +1 -0
- package/dist/value-inputs-TAYMX111.js +947 -0
- package/dist/value-inputs-TAYMX111.js.map +1 -0
- package/dist/{value-typography-Deb3yQZg.js → value-typography-b8wpz1eX.js} +2 -2
- package/dist/{value-typography-Deb3yQZg.js.map → value-typography-b8wpz1eX.js.map} +1 -1
- package/dist/workspace-DH0v0KcB.js +407 -0
- package/dist/workspace-DH0v0KcB.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +19 -20
- package/docs/consumer-skill/examples/app-layout.tsx +1 -1
- package/docs/consumer-skill/examples/composition.tsx +3 -3
- package/docs/consumer-skill/examples/detail.tsx +59 -12
- package/docs/consumer-skill/examples/edit.tsx +1 -1
- package/docs/consumer-skill/examples/receipt.tsx +2 -2
- package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
- package/docs/consumer-skill/examples/website.tsx +1 -1
- package/docs/consumer-skill/references/agents-md.md +33 -0
- package/docs/consumer-skill/references/analytics.md +1 -1
- package/docs/consumer-skill/references/composition.md +51 -8
- package/docs/consumer-skill/references/design-contract.md +12 -3
- package/docs/consumer-skill/references/installation.md +11 -1
- package/docs/consumer-skill/references/public-api.json +847 -447
- package/docs/consumer-skill/references/review.md +25 -5
- package/docs/consumer-skill/references/theming.md +8 -4
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +29 -10
- package/docs/consumer-skill/scripts/composition-policy.mjs +41 -11
- package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
- package/package.json +10 -2
- package/dist/accordion-CQXVcd7Q.js.map +0 -1
- package/dist/action-menu-BTpyPWJ2.js +0 -264
- package/dist/action-menu-BTpyPWJ2.js.map +0 -1
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
- package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
- package/dist/attachment-q69dlt5Y.js +0 -244
- package/dist/attachment-q69dlt5Y.js.map +0 -1
- package/dist/auth-M3vGMgDR.js.map +0 -1
- package/dist/avatar-djdaaQ_s.js.map +0 -1
- package/dist/badge-0tATj-tW.js +0 -92
- package/dist/badge-0tATj-tW.js.map +0 -1
- package/dist/breadcrumbs-BG_FfMK4.js +0 -128
- package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
- package/dist/button-BS3KDg00.js.map +0 -1
- package/dist/button-R9CCoH7A.js.map +0 -1
- package/dist/buttons-DS0ZIwJ_.js +0 -99
- package/dist/buttons-DS0ZIwJ_.js.map +0 -1
- package/dist/cards-QoJ4syG9.js.map +0 -1
- package/dist/checkbox-B7ygNTYp.js +0 -35
- package/dist/checkbox-B7ygNTYp.js.map +0 -1
- package/dist/choice-inputs-DrJ17tpL.js +0 -752
- package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
- package/dist/code-block-CD0B7M93.js +0 -183
- package/dist/code-block-CD0B7M93.js.map +0 -1
- package/dist/combobox-6dvVny2q.js.map +0 -1
- package/dist/combobox-CB7039j7.js.map +0 -1
- package/dist/comments-You0Bzbr.js.map +0 -1
- package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
- package/dist/containers-D_L4mTVb.js.map +0 -1
- package/dist/data-display-3xWQUnMA.js +0 -1335
- package/dist/data-display-3xWQUnMA.js.map +0 -1
- package/dist/date-picker-DrDFj8Lo.js +0 -1527
- package/dist/date-picker-DrDFj8Lo.js.map +0 -1
- package/dist/display-DrdvPwF0.js.map +0 -1
- package/dist/feedback-C7nR0UtT.js.map +0 -1
- package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
- package/dist/field-state-recipes-C-MFBX_8.js +0 -11
- package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
- package/dist/filters-Da-gNPsE.js.map +0 -1
- package/dist/form-sizing-uWP4lzVh.js.map +0 -1
- package/dist/forms-numeric-D3CO60IF.js.map +0 -1
- package/dist/header-2ycNqGOR.js.map +0 -1
- package/dist/icon-badge-DKlaKXoo.js +0 -53
- package/dist/icon-badge-DKlaKXoo.js.map +0 -1
- package/dist/input-DhQdBnV3.js +0 -255
- package/dist/input-DhQdBnV3.js.map +0 -1
- package/dist/item-xzh8Df65.js.map +0 -1
- package/dist/media-gallery-DQUQ0m3O.js +0 -201
- package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
- package/dist/mentions-DwnO1hh4.js +0 -564
- package/dist/mentions-DwnO1hh4.js.map +0 -1
- package/dist/navigation-Cbp5V8gG.js +0 -264
- package/dist/navigation-Cbp5V8gG.js.map +0 -1
- package/dist/navigation-Cs1npsPm.js +0 -300
- package/dist/navigation-Cs1npsPm.js.map +0 -1
- package/dist/overlay.recipes-CNO2S9V6.js +0 -34
- package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
- package/dist/overlays-DhZO7N-I.js +0 -994
- package/dist/overlays-DhZO7N-I.js.map +0 -1
- package/dist/page-C6R_8jFt.js +0 -325
- package/dist/page-C6R_8jFt.js.map +0 -1
- package/dist/page-header-hUTzcRZX.js +0 -112
- package/dist/page-header-hUTzcRZX.js.map +0 -1
- package/dist/popover-Dcv_9jxr.js.map +0 -1
- package/dist/rich-text-editor-CF8QYt5p.js +0 -574
- package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
- package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
- package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
- package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
- package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
- package/dist/rich-text-j-FGAeZW.js +0 -32
- package/dist/rich-text-j-FGAeZW.js.map +0 -1
- package/dist/sanitize-html-BG9FGe-j.js +0 -64
- package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
- package/dist/scroll-area-DRdr16Pt.js +0 -47
- package/dist/scroll-area-DRdr16Pt.js.map +0 -1
- package/dist/settings-DHk0L2MF.js +0 -161
- package/dist/settings-DHk0L2MF.js.map +0 -1
- package/dist/sheet-DRFNY1_D.js +0 -207
- package/dist/sheet-DRFNY1_D.js.map +0 -1
- package/dist/sidebar-Cb8WzOvE.js.map +0 -1
- package/dist/sidebar-Crc9M9JV.js.map +0 -1
- package/dist/smart-card-Bek-TwUp.js +0 -599
- package/dist/smart-card-Bek-TwUp.js.map +0 -1
- package/dist/surface-recipes-DOdoBXGm.js +0 -28
- package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
- package/dist/table-D6zKeYQX.js.map +0 -1
- package/dist/table-Dn4XSrSB.js +0 -1444
- package/dist/table-Dn4XSrSB.js.map +0 -1
- package/dist/tabs-Dk8E_knt.js.map +0 -1
- package/dist/text-inputs-BFpku0Qd.js.map +0 -1
- package/dist/timelines-CxuAFIc2.js.map +0 -1
- package/dist/tree-BotPlyiD.js.map +0 -1
- package/dist/typography-CAr3dQhX.js +0 -116
- package/dist/typography-CAr3dQhX.js.map +0 -1
- package/dist/ui-provider-D2_TeLqw.js.map +0 -1
- package/dist/upload-B0WHW7ak.js.map +0 -1
- package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
- package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
- package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
- package/dist/utils-Cospvlj1.js.map +0 -1
- package/dist/value-inputs-CjfzGMsN.js +0 -854
- package/dist/value-inputs-CjfzGMsN.js.map +0 -1
- package/dist/workspace-YoFjXi6i.js +0 -394
- package/dist/workspace-YoFjXi6i.js.map +0 -1
- /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode, RefObject, CSSProperties } from 'react';
|
|
2
2
|
import type { ButtonStyle } from '../../base/buttons';
|
|
3
3
|
import type { SemanticTone } from '../../../lib/component-vocabulary';
|
|
4
|
+
import type { OverlayAlign } from '../../../lib/ui-provider/types';
|
|
4
5
|
import type { StringsProp } from '../../../lib/strings';
|
|
5
6
|
import type { OverlayStrings } from './overlays.strings';
|
|
6
7
|
export type OverlayTone = Extract<SemanticTone, 'neutral' | 'destructive' | 'warning' | 'info' | 'success'>;
|
|
@@ -8,6 +9,13 @@ export type OverlayButtonTone = SemanticTone;
|
|
|
8
9
|
export type OverlayButtonStyle = Exclude<ButtonStyle, 'ghost'>;
|
|
9
10
|
export type OverlaySize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'full';
|
|
10
11
|
export type DrawerDirection = 'left' | 'right' | 'top' | 'bottom';
|
|
12
|
+
/**
|
|
13
|
+
* Where the heading (tone icon, title, description) and the actions sit:
|
|
14
|
+
* `'start'` on the reading edge, `'center'` stacked on the dialog's centre line.
|
|
15
|
+
* Resolved from the explicit prop, then the provider's `overlay` slice, then the
|
|
16
|
+
* component's fallback.
|
|
17
|
+
*/
|
|
18
|
+
export type { OverlayAlign };
|
|
11
19
|
/** Presentation and lifecycle shared by every overlay in this family. */
|
|
12
20
|
export interface OverlayBaseProps {
|
|
13
21
|
/** Visibility, for controlled use. Omit to let the overlay own it via `trigger`. */
|
|
@@ -129,6 +137,12 @@ export interface OverlayEmphasisProps {
|
|
|
129
137
|
}
|
|
130
138
|
/** A modal dialog with a title, body, and generated action footer. */
|
|
131
139
|
export interface ActionDialogProps extends OverlayBaseProps, OverlayActionProps, OverlayEmphasisProps {
|
|
140
|
+
/**
|
|
141
|
+
* Aligns the heading and the actions. `'center'` stacks the `showIcon` glyph
|
|
142
|
+
* above the title. Default: the provider's `overlay.defaultDialogAlign`, else
|
|
143
|
+
* `'start'`.
|
|
144
|
+
*/
|
|
145
|
+
align?: OverlayAlign;
|
|
132
146
|
/** Maximum dialog width from the `sm` breakpoint; below it the dialog keeps a 1rem viewport margin. Default: `lg`. */
|
|
133
147
|
size?: OverlaySize;
|
|
134
148
|
/** Element that opens the dialog. Supply it for uncontrolled use instead of `open`; a string renders a secondary button. */
|
|
@@ -173,6 +187,12 @@ export interface ActionDrawerProps extends OverlayBaseProps, OverlayActionProps,
|
|
|
173
187
|
* body needs real content — this one is sized for a question and two answers.
|
|
174
188
|
*/
|
|
175
189
|
export interface ConfirmDialogProps extends OverlayBaseProps, OverlayActionProps {
|
|
190
|
+
/**
|
|
191
|
+
* Aligns the icon, title, description and actions together. Below the `sm`
|
|
192
|
+
* breakpoint the actions stack full width either way. Default: the
|
|
193
|
+
* provider's `overlay.defaultConfirmAlign`, else `'center'`.
|
|
194
|
+
*/
|
|
195
|
+
align?: OverlayAlign;
|
|
176
196
|
/** Semantic tone, driving the confirm button, the `showIcon` glyph and the notice. Default: `'neutral'`. */
|
|
177
197
|
tone?: OverlayTone;
|
|
178
198
|
/** Shows the tone's glyph above the title. Default: `false`; the confirm button and copy carry the tone. */
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductContractOverviewProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One main column region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `contract` prop (still typed `ProductContractOverviewProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductContractOverview({ metrics, terms, rules, onOpenContract, onEditContract, onCreateRule, onSelectRule, onEditRule, onDeleteRule, renderRuleActions, actions, footerSlot, empty, className, strings: stringsProp, }: ProductContractOverviewProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductContractOverview {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductDetailsCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One main column region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `details` prop (still typed `ProductDetailsCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductDetailsCard({ title, description, metadata, media, onEditDetails, actions, headerEnd, footerSlot, empty, className, strings: stringsProp, }: ProductDetailsCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductDetailsCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductOperationsCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One support rail region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `operations` prop (still typed `ProductOperationsCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductOperationsCard({ items, onCreateOperation, onSelectOperation, onEditOperation, onDeleteOperation, renderOperationActions, actions, footerSlot, renderItem, empty, className, strings: stringsProp, }: ProductOperationsCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductOperationsCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductOptionActionMenuProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* Row menu for one product option.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal part of `ProductOptionsSummary` (and so of `ProductOverview`), which renders it for every option. Replace it there with `renderOptionActions`, composing the base `ActionMenu` if needed. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductOptionActionMenu({ option, index, onSelectOption, onEditOption, onDeleteOption, renderOptionActions, menuLabel, className, strings: stringsProp, }: ProductOptionActionMenuProps): import("react").JSX.Element | null;
|
|
3
8
|
export declare namespace ProductOptionActionMenu {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductOptionsSummaryProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One main column region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `options` prop (still typed `ProductOptionsSummaryProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductOptionsSummary({ options, onManageOptions, onCreateOption, onSelectOption, onEditOption, onDeleteOption, renderOptionActions, actions, footerSlot, renderOption, empty, className, strings: stringsProp, }: ProductOptionsSummaryProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductOptionsSummary {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductPoliciesCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One support rail region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `policies` prop (still typed `ProductPoliciesCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductPoliciesCard({ policies, onCreatePolicy, onSelectPolicy, onEditPolicy, onDeletePolicy, renderPolicyActions, actions, footerSlot, renderPolicy, empty, className, strings: stringsProp, }: ProductPoliciesCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductPoliciesCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductQuotePreviewCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One support rail region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `quote` prop (still typed `ProductQuotePreviewCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductQuotePreviewCard({ lines, subtotal, tax, discount, total, onOpenQuote, onCreateLine, onSelectLine, onEditLine, onDeleteLine, renderLineActions, actions, footerSlot, empty, className, strings: stringsProp, }: ProductQuotePreviewCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductQuotePreviewCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductReadinessCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One support rail region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `readiness` prop (still typed `ProductReadinessCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductReadinessCard({ items, score, scoreLabel, summary, onCreateReadinessItem, onSelectReadinessItem, onEditReadinessItem, onDeleteReadinessItem, renderReadinessItemActions, actions, footerSlot, renderItem, empty, className, strings: stringsProp, }: ProductReadinessCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductReadinessCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { ProductStructureCardProps } from '../products.types';
|
|
2
|
+
/**
|
|
3
|
+
* One support rail region of the product editor.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated An internal region of `ProductOverview`, which renders it from its `structure` prop (still typed `ProductStructureCardProps`). Pass the same props there and add custom content through the overview's slots. Kept exported for compatibility.
|
|
6
|
+
*/
|
|
2
7
|
export declare function ProductStructureCard({ metrics, onCreateMetric, onSelectMetric, onEditMetric, onDeleteMetric, renderMetricActions, actions, footerSlot, empty, className, strings: stringsProp, }: ProductStructureCardProps): import("react").JSX.Element;
|
|
3
8
|
export declare namespace ProductStructureCard {
|
|
4
9
|
var displayName: string;
|
|
@@ -1,5 +1,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type ProductVariantActionMenuStrings } from '../products.strings';
|
|
3
|
+
import type { ProductVariantActionMenuProps, ProductVariantSummary } from '../products.types';
|
|
4
|
+
type VariantCommandHandlers = Pick<ProductVariantActionMenuProps, 'onSelectVariant' | 'onEditVariant' | 'onDuplicateVariant' | 'onDeleteVariant'>;
|
|
5
|
+
interface VariantCommand {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
icon: ReactNode;
|
|
9
|
+
onClick: () => void;
|
|
10
|
+
tone: 'secondary' | 'destructive';
|
|
11
|
+
buttonStyle?: 'ghost';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The default variant commands, in order, with the destructive one last. The
|
|
15
|
+
* row menu and the details card's single overflow menu both build on these.
|
|
16
|
+
*/
|
|
17
|
+
export declare function productVariantMenuActions(variant: ProductVariantSummary, { onSelectVariant, onEditVariant, onDuplicateVariant, onDeleteVariant }: VariantCommandHandlers, strings: ProductVariantActionMenuStrings): VariantCommand[];
|
|
18
|
+
/**
|
|
19
|
+
* Row menu for one product variant.
|
|
20
|
+
*
|
|
21
|
+
* @deprecated An internal part of the variant tables and `ProductVariantDetails`, which render it for every variant. Replace it there with `renderVariantActions`, composing the base `ActionMenu` if needed. Kept exported for compatibility.
|
|
22
|
+
*/
|
|
2
23
|
export declare function ProductVariantActionMenu({ variant, index, onSelectVariant, onEditVariant, onDuplicateVariant, onDeleteVariant, renderVariantActions, menuLabel, className, strings: stringsProp, }: ProductVariantActionMenuProps): import("react").JSX.Element | null;
|
|
3
24
|
export declare namespace ProductVariantActionMenu {
|
|
4
25
|
var displayName: string;
|
|
5
26
|
}
|
|
27
|
+
export {};
|
|
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
import type { CardProps } from '../../base/cards';
|
|
3
3
|
import type { BadgeTone } from '../../base/badge';
|
|
4
4
|
import type { ActionMenuAction } from '../../base/action-menu';
|
|
5
|
-
import type { MetadataListItem } from '../../
|
|
5
|
+
import type { MetadataListItem } from '../../base/metadata-list';
|
|
6
6
|
import type { StringsProp } from '../../../lib/strings';
|
|
7
7
|
import type { SemanticTone } from '../../../lib/component-vocabulary';
|
|
8
8
|
import type { ProductContractOverviewStrings, ProductDetailsCardStrings, ProductOperationsCardStrings, ProductOptionActionMenuStrings, ProductOptionsMatrixStrings, ProductOptionsSummaryStrings, ProductOverviewStrings, ProductPoliciesCardStrings, ProductQuotePreviewCardStrings, ProductReadinessCardStrings, ProductStructureCardStrings, ProductVariantActionMenuStrings, ProductVariantBulkTableStrings, ProductVariantDetailsStrings, ProductVariantEditorStrings, ProductVariantsManagerStrings, ProductVariantsTableStrings } from './products.strings';
|
|
@@ -720,12 +720,19 @@ export interface ProductVariantsBulkTableProps {
|
|
|
720
720
|
onDuplicateVariant?: (variant: ProductVariantRow) => void;
|
|
721
721
|
/** Fired when a variant is removed. */
|
|
722
722
|
onDeleteVariant?: (variant: ProductVariantRow) => void;
|
|
723
|
+
/** Fired with the selected variants from the bulk bar's edit command. */
|
|
723
724
|
onBulkEdit?: (variants: ProductVariantRow[]) => void;
|
|
725
|
+
/** Fired with the selected variants from the bulk bar's apply command, ordered before delete. */
|
|
724
726
|
onBulkApply?: (variants: ProductVariantRow[]) => void;
|
|
727
|
+
/** Fired with the selected variants from the bulk bar's delete command, always last. */
|
|
725
728
|
onBulkDelete?: (variants: ProductVariantRow[]) => void;
|
|
726
729
|
/** Replaces the per-variant action controls. */
|
|
727
730
|
renderVariantActions?: (variant: ProductVariantRow, context: ProductVariantActionContext) => ReactNode;
|
|
728
|
-
/**
|
|
731
|
+
/**
|
|
732
|
+
* Replaces the default bulk commands (edit, apply, delete) in the inline
|
|
733
|
+
* BatchActionBar, which shows only while variants are selected and keeps its
|
|
734
|
+
* own count and Clear. Returning `null` or `undefined` keeps the defaults.
|
|
735
|
+
*/
|
|
729
736
|
renderBulkActions?: (context: ProductVariantBulkActionContext) => ReactNode;
|
|
730
737
|
/** Overflow menu for the surface as a whole. */
|
|
731
738
|
actions?: ActionMenuAction[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { ResourceActionBar, ResourceDetailsSection, ResourceEmptyState, ResourceHeader, ResourceIndexShell, ResourceShowShell, TabbedResourceShell, } from './resource';
|
|
2
|
-
export type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShellSlots, ResourceShowShellProps, TabbedResourceShellProps, } from './resource.types';
|
|
2
|
+
export type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderCommandProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShellSlots, ResourceShowShellProps, TabbedResourceShellProps, } from './resource.types';
|
|
3
3
|
export { defaultResourceStrings, type ResourceStrings, } from './resource.strings';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ResourceActionBarProps, ResourceDetailsSectionProps, ResourceEmptyStateProps, ResourceHeaderProps, ResourceIndexShellProps, ResourceShowShellProps, TabbedResourceShellProps } from './resource.types';
|
|
2
|
-
export declare function ResourceHeader({ title, description, eyebrow, media, avatarUrl, avatarAlt, avatarFallback, icon, iconTone, badges, metadata, actions, className, contentClassName, mediaClassName, }: ResourceHeaderProps): import("react").JSX.Element;
|
|
2
|
+
export declare function ResourceHeader({ title, description, eyebrow, media, avatarUrl, avatarAlt, avatarFallback, icon, iconTone, badges, metadata, actions, primaryAction, secondaryActions, moreActionsLabel, renderLink, className, contentClassName, mediaClassName, }: ResourceHeaderProps): import("react").JSX.Element;
|
|
3
3
|
export declare function ResourceActionBar({ children, leading, trailing, sticky, className }: ResourceActionBarProps): import("react").JSX.Element;
|
|
4
4
|
export declare function ResourceEmptyState(props: ResourceEmptyStateProps): import("react").JSX.Element;
|
|
5
5
|
export declare function ResourceIndexShell(props: ResourceIndexShellProps): import("react").JSX.Element;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
2
|
import type { IconBadgeTone } from '../../base/display';
|
|
3
|
-
import type {
|
|
3
|
+
import type { MetadataListItem } from '../../base/metadata-list';
|
|
4
|
+
import type { EmptyStateProps } from '../../blocks/data-display';
|
|
4
5
|
import type { ActionMenuAction } from '../../base/action-menu';
|
|
5
|
-
import type { OverflowTabItem } from '../../base/navigation';
|
|
6
|
+
import type { OverflowTabItem, PageHeaderAction, PageHeaderLinkRenderer } from '../../base/navigation';
|
|
6
7
|
import type { StringsProp } from '../../../lib/strings';
|
|
7
8
|
import type { CardSurface, ComponentScale } from '../../../lib/component-vocabulary';
|
|
8
9
|
import type { ResourceStrings } from './resource.strings';
|
|
@@ -26,14 +27,37 @@ export interface ResourceShellSlots {
|
|
|
26
27
|
/** Replaces the default error state. */
|
|
27
28
|
error?: ReactNode;
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Role-based header commands, placed and styled exactly as in Page headers:
|
|
32
|
+
* outline secondary commands, the solid primary command, then the More actions
|
|
33
|
+
* menu.
|
|
34
|
+
*/
|
|
35
|
+
export interface ResourceHeaderCommandProps {
|
|
36
|
+
/** The resource's one main command: a solid primary button, visible at every width. */
|
|
37
|
+
primaryAction?: PageHeaderAction;
|
|
38
|
+
/**
|
|
39
|
+
* Supporting commands in priority order. The first two render as outline
|
|
40
|
+
* buttons before the primary command; the rest, and every destructive
|
|
41
|
+
* command, move into the More actions menu, which always closes the row.
|
|
42
|
+
*/
|
|
43
|
+
secondaryActions?: readonly PageHeaderAction[];
|
|
44
|
+
/** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
|
|
45
|
+
moreActionsLabel?: string;
|
|
46
|
+
/** Renders `href` commands as framework links. Defaults to a native anchor. */
|
|
47
|
+
renderLink?: PageHeaderLinkRenderer;
|
|
48
|
+
}
|
|
49
|
+
export interface ResourceIndexShellProps extends ResourceHeaderCommandProps {
|
|
30
50
|
/** Primary workspace content. Replaced by loading, error, or empty state when active. */
|
|
31
51
|
children?: ReactNode;
|
|
32
52
|
/** Generated header title. Omit when supplying `slots.header`. */
|
|
33
53
|
title?: ReactNode;
|
|
34
54
|
/** Generated header description. */
|
|
35
55
|
description?: ReactNode;
|
|
36
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Non-command controls in the generated header, such as a period select.
|
|
58
|
+
* They render before the role-based commands; pass commands as
|
|
59
|
+
* `primaryAction` and `secondaryActions`.
|
|
60
|
+
*/
|
|
37
61
|
actions?: ReactNode;
|
|
38
62
|
/** Content between the header and primary workspace body. */
|
|
39
63
|
toolbar?: ReactNode;
|
|
@@ -62,7 +86,7 @@ export interface ResourceShowShellProps extends ResourceIndexShellProps {
|
|
|
62
86
|
/** Class name for `slots.aside`. */
|
|
63
87
|
asideClassName?: string;
|
|
64
88
|
}
|
|
65
|
-
export interface ResourceHeaderProps {
|
|
89
|
+
export interface ResourceHeaderProps extends ResourceHeaderCommandProps {
|
|
66
90
|
/** Primary resource identity. */
|
|
67
91
|
title: ReactNode;
|
|
68
92
|
/** Supporting resource summary. */
|
|
@@ -87,7 +111,11 @@ export interface ResourceHeaderProps {
|
|
|
87
111
|
badges?: ReactNode;
|
|
88
112
|
/** Compact resource facts rendered below the description. */
|
|
89
113
|
metadata?: ReactNode;
|
|
90
|
-
/**
|
|
114
|
+
/**
|
|
115
|
+
* Non-command controls, such as a period select. They render before the
|
|
116
|
+
* role-based commands; pass commands as `primaryAction` and
|
|
117
|
+
* `secondaryActions`.
|
|
118
|
+
*/
|
|
91
119
|
actions?: ReactNode;
|
|
92
120
|
/** Class name for the page-header root. */
|
|
93
121
|
className?: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { RichTextEditor } from './rich-text-editor';
|
|
2
2
|
export { FormRichTextEditor, type FormRichTextEditorProps } from './form-rich-text-editor';
|
|
3
|
-
export type { RichTextEditorProps, RichTextEditorHandle, RichTextEditorToolbarItem, RichTextCaretContext, ToolbarButtonConfig, } from './rich-text-editor.types';
|
|
3
|
+
export type { RichTextEditorProps, RichTextEditorHandle, RichTextEditorToolbarItem, RichTextCaretContext, ToolbarButtonConfig, RichTextEditorImages, RichTextImage, RichTextImageUploadContext, } from './rich-text-editor.types';
|
|
4
|
+
export { useRichTextImages } from './use-rich-text-images';
|
|
4
5
|
export { defaultRichTextEditorStrings, type RichTextEditorStrings, } from './rich-text-editor.strings';
|
|
5
6
|
export { RichTextEditorToolbar, type RichTextEditorToolbarProps, CountsFooterText, type CountsFooterTextProps, } from './partials';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as TiptapReact from '@tiptap/react';
|
|
2
|
+
/**
|
|
3
|
+
* An inline image whose source passes the package image policy; any other
|
|
4
|
+
* `<img>` in loaded or pasted content is dropped. Serializes as a plain
|
|
5
|
+
* `<img src alt width height>`, matching the contenteditable engine.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getImageNode(): TiptapReact.Node;
|
|
8
|
+
/**
|
|
9
|
+
* The placeholder an image occupies while it uploads. It is never parsed from
|
|
10
|
+
* HTML and the editor strips it from its value; the editor renders the
|
|
11
|
+
* upload status into its node view.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getImageUploadNode(): TiptapReact.Node;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { RichTextEditorStrings } from '../rich-text-editor.strings';
|
|
3
|
+
import type { RichTextEditorImages, RichTextEditorToolbarItem, RichTextImage } from '../rich-text-editor.types';
|
|
4
|
+
export declare const DEFAULT_IMAGE_ACCEPT = "image/png,image/jpeg,image/gif,image/webp";
|
|
5
|
+
/** Marks an upload placeholder in the editing surface; never part of the value. */
|
|
6
|
+
export declare const UPLOAD_ATTRIBUTE = "data-rte-upload";
|
|
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-inner border border-dashed border-input bg-muted/30 px-row-x py-row-y";
|
|
9
|
+
/** Removes upload placeholders from serialized editor HTML. */
|
|
10
|
+
export declare function stripUploadPlaceholders(html: string): string;
|
|
11
|
+
export declare function acceptsImageFile(file: File, accept: string): boolean;
|
|
12
|
+
/** A readable default description from the file name: `team-offsite_2026.jpg` → `team offsite 2026`. */
|
|
13
|
+
export declare function altFromFileName(name: string): string;
|
|
14
|
+
/** Image files carried by a paste or drop. */
|
|
15
|
+
export declare function imageFilesFrom(data: DataTransfer | null | undefined): File[];
|
|
16
|
+
/** How each editor engine puts placeholders and images into its document. */
|
|
17
|
+
export interface ImageUploadAdapter {
|
|
18
|
+
/** Inserts an empty placeholder for `id` at the selection (or the drop point). */
|
|
19
|
+
insertPlaceholder: (id: string) => void;
|
|
20
|
+
/** Swaps the placeholder for the uploaded image and reports the change. */
|
|
21
|
+
resolvePlaceholder: (id: string, image: RichTextImage) => void;
|
|
22
|
+
/** Removes the placeholder and reports the change. */
|
|
23
|
+
removePlaceholder: (id: string) => void;
|
|
24
|
+
/** The placeholder's element, or null once the user has deleted it. */
|
|
25
|
+
findPlaceholder: (id: string) => HTMLElement | null;
|
|
26
|
+
}
|
|
27
|
+
export interface PendingImageUpload {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
status: 'uploading' | 'error';
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The engine-agnostic upload lifecycle: validate, insert a placeholder, call
|
|
34
|
+
* the consumer's `upload` with an abort signal, then swap in the image or keep
|
|
35
|
+
* the placeholder in its error state for Retry or Remove.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useImageUploadQueue(images: RichTextEditorImages | undefined, adapterRef: RefObject<ImageUploadAdapter | null>, strings: RichTextEditorStrings['images']): {
|
|
38
|
+
uploads: PendingImageUpload[];
|
|
39
|
+
notice: string | null;
|
|
40
|
+
dismissNotice: () => void;
|
|
41
|
+
addFiles: (files: readonly File[]) => void;
|
|
42
|
+
retry: (id: string) => void;
|
|
43
|
+
remove: (id: string) => void;
|
|
44
|
+
prune: () => void;
|
|
45
|
+
};
|
|
46
|
+
export type ImageUploadQueue = ReturnType<typeof useImageUploadQueue>;
|
|
47
|
+
/** Renders each pending upload's status into its placeholder in the editing surface. */
|
|
48
|
+
export declare function ImageUploadPortals({ queue, adapterRef, strings }: {
|
|
49
|
+
queue: ImageUploadQueue;
|
|
50
|
+
adapterRef: RefObject<ImageUploadAdapter | null>;
|
|
51
|
+
strings: RichTextEditorStrings['images'];
|
|
52
|
+
}): import("react").JSX.Element;
|
|
53
|
+
/** The Insert image toolbar control and its hidden file input. */
|
|
54
|
+
export declare function useImageInsertControl(images: RichTextEditorImages | undefined, strings: RichTextEditorStrings['images'], onFiles: (files: File[]) => void, beforeOpen?: () => void): {
|
|
55
|
+
item: RichTextEditorToolbarItem | null;
|
|
56
|
+
input: import("react").JSX.Element | null;
|
|
57
|
+
};
|
|
58
|
+
/** The description field for the image at the caret, and refused-file notices. */
|
|
59
|
+
export declare function ImageDetailsBar({ alt, onAltChange, onRemove, notice, onDismissNotice, strings }: {
|
|
60
|
+
alt: string | null;
|
|
61
|
+
onAltChange: (alt: string) => void;
|
|
62
|
+
onRemove: () => void;
|
|
63
|
+
notice: string | null;
|
|
64
|
+
onDismissNotice: () => void;
|
|
65
|
+
strings: RichTextEditorStrings['images'];
|
|
66
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as TiptapReact from '@tiptap/react';
|
|
2
|
+
/**
|
|
3
|
+
* Inline references (`@person`, `#booking`) as one atomic editor token.
|
|
4
|
+
*
|
|
5
|
+
* The serialized HTML is the mentions contract written by `buildMentionHtml`
|
|
6
|
+
* and read by `parseMentionsFromHtml`/`MentionContent`:
|
|
7
|
+
*
|
|
8
|
+
* <span class="rsc-mention" data-ref-id="…" data-ref-kind="…" data-ref-tone="…"
|
|
9
|
+
* contenteditable="false">@Label</span>
|
|
10
|
+
*
|
|
11
|
+
* Without this node the editor schema had no place for that span, so a picked
|
|
12
|
+
* mention collapsed into plain text. Inside the editor the token keeps the
|
|
13
|
+
* `.rsc-mention` hook, so mention-chip.css (the inline Badge utilities and
|
|
14
|
+
* shared tone tints) draws it exactly as it draws serialized chips; it is
|
|
15
|
+
* selectable as a unit, and Backspace/Delete remove it in one keystroke.
|
|
16
|
+
*/
|
|
17
|
+
export declare const inlineReferenceChipClassName = "rsc-mention inline-reference--chip";
|
|
18
|
+
/** Created on first use, so the optional Tiptap runtime is only touched by the editor that needs it. */
|
|
19
|
+
export declare function getInlineReferenceNode(): TiptapReact.Node;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
export declare const richTextEditorRecipes: {
|
|
3
3
|
readonly source: string;
|
|
4
4
|
readonly frame: "min-w-0 overflow-hidden border-input bg-background rounded-inner border";
|
|
5
|
-
readonly disabled: "opacity-
|
|
5
|
+
readonly disabled: "opacity-50";
|
|
6
6
|
readonly content: "h-full [&_.ProseMirror]:h-full [&_.ProseMirror]:min-h-full [&_.ProseMirror]:outline-none";
|
|
7
7
|
};
|
|
@@ -28,5 +28,19 @@ export interface RichTextEditorStrings {
|
|
|
28
28
|
words: string;
|
|
29
29
|
max: string;
|
|
30
30
|
};
|
|
31
|
+
/** Image insertion, upload and description copy; `{{name}}` is the file name. */
|
|
32
|
+
images: {
|
|
33
|
+
insert: string;
|
|
34
|
+
uploading: string;
|
|
35
|
+
failed: string;
|
|
36
|
+
unsupported: string;
|
|
37
|
+
tooLarge: string;
|
|
38
|
+
cancel: string;
|
|
39
|
+
retry: string;
|
|
40
|
+
remove: string;
|
|
41
|
+
descriptionLabel: string;
|
|
42
|
+
descriptionHint: string;
|
|
43
|
+
removeImage: string;
|
|
44
|
+
};
|
|
31
45
|
}
|
|
32
46
|
export declare const defaultRichTextEditorStrings: RichTextEditorStrings;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
2
|
import type * as TiptapReact from '@tiptap/react';
|
|
3
3
|
import type { StringsProp } from '../../../lib/strings';
|
|
4
|
+
import type { RichTextImageRendering } from '../../typography/rich-text';
|
|
4
5
|
import type { RichTextEditorStrings } from './rich-text-editor.strings';
|
|
5
6
|
export type TiptapEditor = NonNullable<ReturnType<typeof TiptapReact.useEditor>>;
|
|
6
7
|
/**
|
|
@@ -52,9 +53,45 @@ export interface RichTextEditorToolbarItem {
|
|
|
52
53
|
label: string;
|
|
53
54
|
onClick: () => void;
|
|
54
55
|
isActive?: () => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the entry is an on/off toggle, announced with `aria-pressed`.
|
|
58
|
+
* Defaults to true when `isActive` is provided; set false for a command.
|
|
59
|
+
*/
|
|
60
|
+
toggle?: boolean;
|
|
55
61
|
/** Renders the entry as unselectable. */
|
|
56
62
|
disabled?: boolean;
|
|
57
63
|
}
|
|
64
|
+
/** Where an uploaded image now lives, as the consumer's `upload` resolves it. */
|
|
65
|
+
export interface RichTextImage {
|
|
66
|
+
/** Public URL of the stored image. Must pass the image policy: http(s), `blob:` or relative. */
|
|
67
|
+
src: string;
|
|
68
|
+
/** Text alternative. Defaults to the file name; the user can edit it in the editor. */
|
|
69
|
+
alt?: string;
|
|
70
|
+
/** Intrinsic width in CSS pixels, kept on the image to reserve its space. */
|
|
71
|
+
width?: number;
|
|
72
|
+
/** Intrinsic height in CSS pixels. */
|
|
73
|
+
height?: number;
|
|
74
|
+
}
|
|
75
|
+
export interface RichTextImageUploadContext {
|
|
76
|
+
/** Aborted when the user cancels or removes the pending image, or the editor unmounts. */
|
|
77
|
+
signal: AbortSignal;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Image support for `RichTextEditor` and read-only `RichText`. The consumer
|
|
81
|
+
* owns upload and storage; the editor owns insertion (toolbar, paste and drop),
|
|
82
|
+
* the uploading placeholder, error and retry, alt text and source policy.
|
|
83
|
+
* Create it with `useRichTextImages` so inline callbacks stay stable.
|
|
84
|
+
*/
|
|
85
|
+
export interface RichTextEditorImages extends RichTextImageRendering {
|
|
86
|
+
/** Stores a file and resolves where it now lives. A rejection shows the error state with Retry. */
|
|
87
|
+
upload: (file: File, context: RichTextImageUploadContext) => Promise<RichTextImage>;
|
|
88
|
+
/** Accepted MIME types, comma-separated. Default: `'image/png,image/jpeg,image/gif,image/webp'`. */
|
|
89
|
+
accept?: string;
|
|
90
|
+
/** Largest accepted file in bytes. Larger files are refused before upload. */
|
|
91
|
+
maxSize?: number;
|
|
92
|
+
/** Receives upload failures and refused files, for reporting. */
|
|
93
|
+
onError?: (error: unknown, file: File) => void;
|
|
94
|
+
}
|
|
58
95
|
export interface RichTextEditorProps {
|
|
59
96
|
/** Editor content as HTML. Controlled. */
|
|
60
97
|
value: string;
|
|
@@ -94,6 +131,12 @@ export interface RichTextEditorProps {
|
|
|
94
131
|
onCaretChange?: () => void;
|
|
95
132
|
/** Per-instance string overrides (deep-merged over `defaultRichTextEditorStrings`). */
|
|
96
133
|
strings?: StringsProp<RichTextEditorStrings>;
|
|
134
|
+
/**
|
|
135
|
+
* Enables images: an Insert image toolbar control, pasted and dropped image
|
|
136
|
+
* files, an uploading placeholder with cancel, error and retry, and an image
|
|
137
|
+
* description field for the image at the caret. Omit to keep images out.
|
|
138
|
+
*/
|
|
139
|
+
images?: RichTextEditorImages;
|
|
97
140
|
}
|
|
98
141
|
export interface ToolbarButtonConfig {
|
|
99
142
|
/** Stable identity for this entry. */
|
|
@@ -106,6 +149,8 @@ export interface ToolbarButtonConfig {
|
|
|
106
149
|
label: string;
|
|
107
150
|
isActive: () => boolean;
|
|
108
151
|
run: () => void;
|
|
152
|
+
/** An on/off format such as bold, announced with `aria-pressed`. Commands such as undo leave it unset. */
|
|
153
|
+
toggle?: boolean;
|
|
109
154
|
/** Renders the entry as unselectable. */
|
|
110
155
|
disabled?: boolean;
|
|
111
156
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RichTextEditorImages } from './rich-text-editor.types';
|
|
2
|
+
/**
|
|
3
|
+
* Image support for `RichTextEditor` and read-only `RichText` from one place.
|
|
4
|
+
* The consumer supplies `upload` (and optionally `renderImage`, such as a
|
|
5
|
+
* framework image component); the returned object is stable across renders
|
|
6
|
+
* while always calling the latest callbacks, so inline functions are fine.
|
|
7
|
+
*
|
|
8
|
+
* const images = useRichTextImages({
|
|
9
|
+
* upload: async (file, { signal }) => {
|
|
10
|
+
* const stored = await api.uploadImage(file, { signal });
|
|
11
|
+
* return { src: stored.url, width: stored.width, height: stored.height };
|
|
12
|
+
* },
|
|
13
|
+
* renderImage: (image) => <Image {...image} />,
|
|
14
|
+
* });
|
|
15
|
+
* <RichTextEditor value={html} onValueChange={setHtml} images={images} />
|
|
16
|
+
* <RichText html={html} images={images} />
|
|
17
|
+
*/
|
|
18
|
+
export declare function useRichTextImages(options: RichTextEditorImages): RichTextEditorImages;
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Deprecated compatibility entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* `SyncRangeDialogForm` was one application's integration-repair form: a sync
|
|
5
|
+
* window radio group, optional record-family checkboxes and a numeric `hours`
|
|
6
|
+
* payload. It carries no behaviour beyond the public choice controls, so new
|
|
7
|
+
* code composes them directly: `SchemaForm` from
|
|
8
|
+
* `themelia-react-ui/features/schema-form` with `radio-cards` and
|
|
9
|
+
* `checkbox-cards` fields, inside an `ActionDialog` when it needs a dialog.
|
|
10
|
+
* Existing callers keep working through 2.x.
|
|
11
|
+
*/
|
|
12
|
+
export {
|
|
13
|
+
/** @deprecated Use `SchemaForm` from `themelia-react-ui/features/schema-form` with a `radio-cards` field for the window and a `checkbox-cards` field for the options; map its values to your payload in `onSubmit`. */
|
|
14
|
+
SyncRangeDialogForm, } from './sync-range-dialog-form';
|
|
15
|
+
export type {
|
|
16
|
+
/** @deprecated Use `SchemaFormProps` from `themelia-react-ui/features/schema-form`. */
|
|
17
|
+
SyncRangeDialogFormProps,
|
|
18
|
+
/** @deprecated Map `SchemaFormValues` to your own payload in `SchemaForm`'s `onSubmit`. */
|
|
19
|
+
SyncRangeDialogFormSubmit,
|
|
20
|
+
/** @deprecated Use `SchemaFormValues` from `themelia-react-ui/features/schema-form`. */
|
|
21
|
+
SyncRangeDialogFormValues, } from './sync.types';
|
|
22
|
+
export {
|
|
23
|
+
/** @deprecated Supply labels and descriptions on the `SchemaForm` field definitions. */
|
|
24
|
+
defaultSyncRangeDialogFormStrings,
|
|
25
|
+
/** @deprecated Supply labels and descriptions on the `SchemaForm` field definitions. */
|
|
26
|
+
type SyncRangeDialogFormStrings, } from './sync.strings';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare function useDataTableSize(): 'xs' | 'sm';
|
|
2
2
|
import { type DataTableProps } from './table.types';
|
|
3
|
-
export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
|
|
3
|
+
export declare function DataTable<TData extends object, TValue = unknown>({ size, surface, headerTransparent, columns, data, columnGroups, rowActions, rowActionsMenuLabel, rowActionsDisplayMode, rowActionsBreakpoint, enableSorting, enableResizing, enableFiltering, filterColumn, filterPlaceholder, manualSorting, enableColumnVisibility, fullscreen: controlledFullscreen, defaultFullscreen, onFullscreenChange, showFullscreenToggle, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, pagination, pageQueryKey, onPageChange, onSortingChange, onColumnFiltersChange, onRowClick, onRowSelectionChange, stickyHeader, stickyToolbar, stickyFirstColumn, maxBodyHeight, fillAvailableHeight, emptyStateMessage, emptyStateAction, className, rowClassName, cellClassName, headerClassName, wrapperClassName, innerClassName, tableContainerClassName, getRowId, rowSelection: controlledRowSelection, sorting: controlledSorting, defaultSorting, columnVisibility: controlledColumnVisibility, defaultColumnVisibility, initialState, onColumnVisibilityChange, strings: stringsOverride, topbarContent, topbarEnd, topbarClassName, toolbarLabelVisibility, footerContent, selectionToolbar, bulkActions, selectionToolbarClassName, selectionToolbarPlacement, totalRowCount: totalRowCountProp, storageKey, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
|
|
4
4
|
export declare namespace DataTable {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|