themelia-react-ui 2.0.0 → 2.0.2
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 +527 -0
- package/README.md +47 -14
- package/THIRD_PARTY_NOTICES.md +13 -0
- package/dist/accordion-Cjb6sx0G.js +208 -0
- package/dist/accordion-Cjb6sx0G.js.map +1 -0
- package/dist/action-menu-CllU52Mm.js +280 -0
- package/dist/action-menu-CllU52Mm.js.map +1 -0
- package/dist/affordance-geometry.generated-tF36bREk.js +140 -0
- package/dist/affordance-geometry.generated-tF36bREk.js.map +1 -0
- package/dist/ai-artifact-DvTwDVyL.js +1148 -0
- package/dist/ai-artifact-DvTwDVyL.js.map +1 -0
- package/dist/{app-shell-BE_j8-AT.js → app-shell-C4FhvCqF.js} +5 -5
- package/dist/{app-shell-BE_j8-AT.js.map → app-shell-C4FhvCqF.js.map} +1 -1
- package/dist/attachment-BxDfL2mw.js +246 -0
- package/dist/attachment-BxDfL2mw.js.map +1 -0
- package/dist/{auth-M3vGMgDR.js → auth-ax2BqjrI.js} +241 -235
- package/dist/auth-ax2BqjrI.js.map +1 -0
- package/dist/{avatar-djdaaQ_s.js → avatar-DAPlDvhJ.js} +67 -66
- package/dist/avatar-DAPlDvhJ.js.map +1 -0
- package/dist/badge-HpFqoqSY.js +93 -0
- package/dist/badge-HpFqoqSY.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 +50 -46
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +69 -81
- 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 +2 -2
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +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 +20 -20
- 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 +216 -220
- 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 +79 -2
- package/dist/base/spinner.js.map +1 -0
- 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 +46 -45
- 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 +2 -2
- package/dist/batch-action-bar-DnUJ21NQ.js +105 -0
- package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
- package/dist/blocks/admin.js +171 -169
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +308 -285
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +626 -589
- 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 +2051 -1329
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +3 -2
- package/dist/blocks/onboarding.js +68 -58
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +27 -26
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/breadcrumbs-C-oqs1sQ.js +129 -0
- package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
- package/dist/{button-R9CCoH7A.js → button-DVzspB_G.js} +15 -14
- package/dist/button-DVzspB_G.js.map +1 -0
- package/dist/{button-BS3KDg00.js → buttons-DPZekJFu.js} +208 -216
- package/dist/buttons-DPZekJFu.js.map +1 -0
- package/dist/cards-BaBZR-AU.js +68 -0
- package/dist/cards-BaBZR-AU.js.map +1 -0
- package/dist/{chart-DwYRKKc-.js → chart-ZOYyK2xG.js} +58 -55
- package/dist/chart-ZOYyK2xG.js.map +1 -0
- package/dist/checkbox-AWIhNhmo.js +36 -0
- package/dist/checkbox-AWIhNhmo.js.map +1 -0
- package/dist/choice-inputs-CNHvARCJ.js +770 -0
- package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
- package/dist/code-block-DeneBJR_.js +185 -0
- package/dist/code-block-DeneBJR_.js.map +1 -0
- package/dist/{collapsible-oMUGM4tr.js → collapsible-C-_l4hpy.js} +4 -4
- package/dist/{collapsible-oMUGM4tr.js.map → collapsible-C-_l4hpy.js.map} +1 -1
- package/dist/{collection-content-Ys-OZOkY.js → collection-content-By56pLog.js} +3 -3
- package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-By56pLog.js.map} +1 -1
- package/dist/combobox-C0EQW6dr.js +875 -0
- package/dist/combobox-C0EQW6dr.js.map +1 -0
- package/dist/combobox-xCQ2RMNE.js +309 -0
- package/dist/combobox-xCQ2RMNE.js.map +1 -0
- package/dist/{command-kPMPjIxJ.js → command-C25VMRII.js} +7 -7
- package/dist/{command-kPMPjIxJ.js.map → command-C25VMRII.js.map} +1 -1
- package/dist/{comments-You0Bzbr.js → comments-BYYlTA8E.js} +390 -379
- package/dist/comments-BYYlTA8E.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 +5 -5
- 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/buttons/loader-button.d.ts +2 -1
- package/dist/components/base/cards/card.recipes.d.ts +2 -3
- package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +3 -13
- package/dist/components/base/cards/smart-card.types.d.ts +11 -4
- package/dist/components/base/chart/chart.d.ts +2 -5
- 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/combobox/combobox.strings.d.ts +7 -0
- package/dist/components/base/combobox/index.d.ts +30 -4
- 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 +26 -15
- 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/navigation/pagination.d.ts +5 -2
- package/dist/components/base/popover/popover.recipes.d.ts +15 -1
- 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/table/index.d.ts +9 -2
- package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
- package/dist/components/base/text-inputs/input-group.d.ts +2 -2
- 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/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
- package/dist/components/blocks/ai/ai-shimmer/types.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 +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 +45 -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/inline-stat/inline-stat.d.ts +16 -8
- package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
- package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
- 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/appointment-calendar/appointment-calendar.d.ts +5 -0
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +220 -0
- package/dist/components/features/appointment-calendar/appointment-calendar.utils.d.ts +41 -0
- package/dist/components/features/appointment-calendar/index.d.ts +3 -0
- package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +32 -0
- package/dist/components/features/appointment-calendar/partials/appointment-month.d.ts +13 -0
- package/dist/components/features/combobox/combobox.strings.d.ts +15 -1
- package/dist/components/features/combobox/types.d.ts +4 -0
- 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 +6 -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 +7 -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 +54 -1
- 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-header.d.ts +1 -1
- package/dist/components/features/table/table.strings.d.ts +55 -1
- package/dist/components/features/table/table.types.d.ts +49 -11
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
- 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/primitives/number.d.ts +4 -2
- package/dist/components/primitives/value.d.ts +3 -1
- 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 +8 -3
- package/dist/components/ui/checkbox.d.ts +4 -3
- package/dist/components/ui/combobox.d.ts +6 -2
- package/dist/components/ui/item.d.ts +8 -8
- package/dist/components/ui/overlay.recipes.d.ts +0 -9
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/{containers-D_L4mTVb.js → containers-Mu1LMGV1.js} +36 -35
- package/dist/containers-Mu1LMGV1.js.map +1 -0
- package/dist/{copyable-DDjTeW_j.js → copyable-ClBuk_UK.js} +6 -6
- package/dist/{copyable-DDjTeW_j.js.map → copyable-ClBuk_UK.js.map} +1 -1
- package/dist/data-display-DT_khPl_.js +971 -0
- package/dist/data-display-DT_khPl_.js.map +1 -0
- package/dist/{date-uf3z37Nm.js → date-DCrsDTZc.js} +5 -5
- package/dist/{date-uf3z37Nm.js.map → date-DCrsDTZc.js.map} +1 -1
- package/dist/date-picker-ay0Pha_a.js +1530 -0
- package/dist/date-picker-ay0Pha_a.js.map +1 -0
- package/dist/date-pickers-Ccw8DL2b.js +175 -0
- package/dist/date-pickers-Ccw8DL2b.js.map +1 -0
- package/dist/display-hAc1HjpI.js +344 -0
- package/dist/display-hAc1HjpI.js.map +1 -0
- package/dist/dropdown-menu-Cl4X7L5S.js +193 -0
- package/dist/dropdown-menu-Cl4X7L5S.js.map +1 -0
- package/dist/editable-text-recipe-Cn61kEcv.js +10 -0
- package/dist/editable-text-recipe-Cn61kEcv.js.map +1 -0
- package/dist/features/activities.js +478 -542
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +209 -199
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +683 -0
- package/dist/features/appointment-calendar.js.map +1 -0
- package/dist/features/async-preview.js +109 -107
- 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 +30 -29
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +285 -283
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +282 -273
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +318 -318
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +146 -147
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +269 -268
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +970 -863
- 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 +1137 -1124
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +206 -194
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +24 -21
- 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 +35 -33
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +11 -5
- package/dist/features/sync.js.map +1 -1
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +501 -496
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-BYIhtitP.js +239 -0
- package/dist/feedback-BYIhtitP.js.map +1 -0
- package/dist/field-affordance-recipes-DZhnIL_Y.js +41 -0
- package/dist/field-affordance-recipes-DZhnIL_Y.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-BGfvjP4d.js} +483 -472
- package/dist/filters-BGfvjP4d.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-CwH9y77i.js} +6 -5
- package/dist/form-field-CwH9y77i.js.map +1 -0
- package/dist/{form-sizing-uWP4lzVh.js → form-sizing-BdP_Mf5p.js} +45 -46
- package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
- package/dist/{forms-DDeEnXSY.js → forms-B9G_xwzi.js} +22 -22
- package/dist/{forms-DDeEnXSY.js.map → forms-B9G_xwzi.js.map} +1 -1
- package/dist/forms-numeric-B_jraJaQ.js +906 -0
- package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
- package/dist/{header-2ycNqGOR.js → header-CGXuhcRm.js} +164 -161
- package/dist/header-CGXuhcRm.js.map +1 -0
- package/dist/{hooks-DQ5SPwZw.js → hooks-Dkz0K2WT.js} +2 -2
- package/dist/{hooks-DQ5SPwZw.js.map → hooks-Dkz0K2WT.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-DYKIwvOV.js +55 -0
- package/dist/icon-badge-DYKIwvOV.js.map +1 -0
- package/dist/index.js +7 -7
- package/dist/input-CZw8iU99.js +21 -0
- package/dist/input-CZw8iU99.js.map +1 -0
- package/dist/input-DQdEd0YD.js +263 -0
- package/dist/input-DQdEd0YD.js.map +1 -0
- package/dist/interaction-recipes-XR9ZpVYL.js +25 -0
- package/dist/interaction-recipes-XR9ZpVYL.js.map +1 -0
- package/dist/item-K5_ghvze.js +275 -0
- package/dist/item-K5_ghvze.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 +72 -0
- package/dist/lib/editable-text-recipe.d.ts +4 -4
- package/dist/lib/field-affordance-recipes.d.ts +8 -3
- 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 +40 -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/theme-mode-css.d.ts +7 -0
- package/dist/lib/token-merge.generated.d.ts +9 -6
- package/dist/lib/tone-recipes.d.ts +87 -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 +11 -2
- package/dist/lib/utils.js +1 -1
- package/dist/media-gallery-3zIVLMWH.js +203 -0
- package/dist/media-gallery-3zIVLMWH.js.map +1 -0
- package/dist/mentions-utuUvH1K.js +570 -0
- package/dist/mentions-utuUvH1K.js.map +1 -0
- package/dist/{message-YfFmbXNP.js → message-DZ_ruyUV.js} +7 -6
- package/dist/message-DZ_ruyUV.js.map +1 -0
- package/dist/metadata-list-8N16ZMW_.js +405 -0
- package/dist/metadata-list-8N16ZMW_.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-Bnotn4AQ.js +145 -0
- package/dist/navigation-Bnotn4AQ.js.map +1 -0
- package/dist/navigation-BzhHI3lo.js +269 -0
- package/dist/navigation-BzhHI3lo.js.map +1 -0
- package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
- package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
- package/dist/{number-CKRBYmZK.js → number-DbV1Dija.js} +36 -34
- package/dist/{number-CKRBYmZK.js.map → number-DbV1Dija.js.map} +1 -1
- package/dist/overflow-tab-bar-CWY7Nogn.js +282 -0
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
- package/dist/overlay.recipes-8GHqmlb4.js +6 -0
- package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
- package/dist/overlays-DNWmZrJ4.js +1001 -0
- package/dist/overlays-DNWmZrJ4.js.map +1 -0
- package/dist/page-Bgl1F560.js +224 -0
- package/dist/page-Bgl1F560.js.map +1 -0
- package/dist/page-header-commands-DOb6WsfD.js +126 -0
- package/dist/page-header-commands-DOb6WsfD.js.map +1 -0
- package/dist/pagination-BL25hu2s.js +158 -0
- package/dist/pagination-BL25hu2s.js.map +1 -0
- package/dist/{popover-Dcv_9jxr.js → popover-7_m66eYW.js} +11 -10
- package/dist/popover-7_m66eYW.js.map +1 -0
- package/dist/popover-menu-B9WWygpa.js +100 -0
- package/dist/popover-menu-B9WWygpa.js.map +1 -0
- package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-D3j8R8Yp.js} +18 -11
- package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
- package/dist/{primitives-BHrwQXFC.js → primitives-BFK08r9M.js} +45 -44
- package/dist/primitives-BFK08r9M.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-Br9WTFya.js → progress-B1VnCT0K.js} +9 -9
- package/dist/{progress-Br9WTFya.js.map → progress-B1VnCT0K.js.map} +1 -1
- package/dist/{receipt-CV89q1fs.js → receipt-BVSOH3Xo.js} +9 -6
- package/dist/{receipt-CV89q1fs.js.map → receipt-BVSOH3Xo.js.map} +1 -1
- package/dist/rich-text-GOUyKQ-s.js +78 -0
- package/dist/rich-text-GOUyKQ-s.js.map +1 -0
- package/dist/rich-text-editor-cRLC-eBK.js +1196 -0
- package/dist/rich-text-editor-cRLC-eBK.js.map +1 -0
- package/dist/rich-text-editor-toolbar-DfXg0-VC.js +94 -0
- package/dist/rich-text-editor-toolbar-DfXg0-VC.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-DcI-M1UT.js +48 -0
- package/dist/scroll-area-DcI-M1UT.js.map +1 -0
- package/dist/{separator-Do5GWDYi.js → separator-BDV-Y648.js} +3 -3
- package/dist/{separator-Do5GWDYi.js.map → separator-BDV-Y648.js.map} +1 -1
- package/dist/{separator-BMEvwnSX.js → separator-Bom7NsGO.js} +2 -2
- package/dist/{separator-BMEvwnSX.js.map → separator-Bom7NsGO.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-ybnjVwbd.js +171 -0
- package/dist/settings-ybnjVwbd.js.map +1 -0
- package/dist/sheet-CGpB3omz.js +211 -0
- package/dist/sheet-CGpB3omz.js.map +1 -0
- package/dist/{sidebar-Cb8WzOvE.js → sidebar-A0ElHINE.js} +17 -16
- package/dist/sidebar-A0ElHINE.js.map +1 -0
- package/dist/{sidebar-Crc9M9JV.js → sidebar-CPx_7YBa.js} +205 -203
- package/dist/sidebar-CPx_7YBa.js.map +1 -0
- package/dist/{skeleton-DVMXr15h.js → skeleton-Byjnt7qr.js} +9 -9
- package/dist/{skeleton-DVMXr15h.js.map → skeleton-Byjnt7qr.js.map} +1 -1
- package/dist/smart-card-DiC5aac3.js +604 -0
- package/dist/smart-card-DiC5aac3.js.map +1 -0
- package/dist/{structure-hzCW-XsV.js → structure-BmisBK-3.js} +2 -2
- package/dist/{structure-hzCW-XsV.js.map → structure-BmisBK-3.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-BweFy_P9.js +1530 -0
- package/dist/table-BweFy_P9.js.map +1 -0
- package/dist/table-DsfzoUia.js +175 -0
- package/dist/table-DsfzoUia.js.map +1 -0
- package/dist/tabs-CDocW5D1.js +191 -0
- package/dist/tabs-CDocW5D1.js.map +1 -0
- package/dist/text-inputs-f9Ia-aCi.js +353 -0
- package/dist/text-inputs-f9Ia-aCi.js.map +1 -0
- package/dist/theme-mode-css-BB-_RYab.js +14 -0
- package/dist/theme-mode-css-BB-_RYab.js.map +1 -0
- package/dist/theme-scope-BJ6eE2xt.js +50 -0
- package/dist/theme-scope-BJ6eE2xt.js.map +1 -0
- package/dist/theme.css +285 -228
- package/dist/themes/green.css +16 -12
- package/dist/timelines-CwM_9IhD.js +457 -0
- package/dist/timelines-CwM_9IhD.js.map +1 -0
- package/dist/tone-recipes-BPsRAvhu.js +73 -0
- package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
- package/dist/tooltip-yiRJUFjp.js +111 -0
- package/dist/tooltip-yiRJUFjp.js.map +1 -0
- package/dist/{tree-BotPlyiD.js → tree-WnKQzwbq.js} +69 -67
- package/dist/tree-WnKQzwbq.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-UTnveOEy.js +117 -0
- package/dist/typography-UTnveOEy.js.map +1 -0
- package/dist/typography.js +2 -2
- package/dist/{ui-provider-D2_TeLqw.js → ui-provider-C_U0Xma4.js} +13 -5
- package/dist/ui-provider-C_U0Xma4.js.map +1 -0
- package/dist/ui-provider.js +3 -3
- package/dist/{upload-B0WHW7ak.js → upload-CXyxmQBP.js} +210 -209
- package/dist/upload-CXyxmQBP.js.map +1 -0
- package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-Boscubn9.js} +111 -111
- package/dist/upload-queue-Boscubn9.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-BhO5eqkX.js} +45 -29
- package/dist/usage-card-BhO5eqkX.js.map +1 -0
- package/dist/{utils-Cospvlj1.js → utils-BRhFDwuU.js} +114 -67
- package/dist/utils-BRhFDwuU.js.map +1 -0
- package/dist/value-inputs-DXPDjvBU.js +963 -0
- package/dist/value-inputs-DXPDjvBU.js.map +1 -0
- package/dist/{value-typography-Deb3yQZg.js → value-typography-BP8OG6h5.js} +2 -2
- package/dist/{value-typography-Deb3yQZg.js.map → value-typography-BP8OG6h5.js.map} +1 -1
- package/dist/workspace-Cdrg7k9f.js +408 -0
- package/dist/workspace-Cdrg7k9f.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +21 -22
- 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 +58 -13
- package/docs/consumer-skill/references/design-contract.md +12 -3
- package/docs/consumer-skill/references/installation.md +11 -1
- package/docs/consumer-skill/references/integration.md +4 -3
- package/docs/consumer-skill/references/public-api.json +956 -453
- package/docs/consumer-skill/references/review.md +32 -5
- package/docs/consumer-skill/references/theming.md +78 -9
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +54 -10
- package/docs/consumer-skill/scripts/composition-policy.mjs +42 -11
- package/docs/consumer-skill/scripts/surface-policy.mjs +150 -5
- package/package.json +17 -5
- package/dist/accordion-CQXVcd7Q.js +0 -205
- 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 +0 -68
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
- package/dist/ai-artifact-2PQ2fItc.js +0 -1112
- 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 +0 -66
- package/dist/cards-QoJ4syG9.js.map +0 -1
- package/dist/chart-DwYRKKc-.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 +0 -272
- package/dist/combobox-6dvVny2q.js.map +0 -1
- package/dist/combobox-CB7039j7.js +0 -865
- 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/date-pickers-CnFCb0n2.js +0 -174
- package/dist/date-pickers-CnFCb0n2.js.map +0 -1
- package/dist/display-DrdvPwF0.js +0 -343
- package/dist/display-DrdvPwF0.js.map +0 -1
- package/dist/dropdown-menu-CURh59jb.js +0 -193
- package/dist/dropdown-menu-CURh59jb.js.map +0 -1
- package/dist/editable-text-recipe-Bkm6wKHp.js +0 -10
- package/dist/editable-text-recipe-Bkm6wKHp.js.map +0 -1
- package/dist/feedback-C7nR0UtT.js +0 -232
- package/dist/feedback-C7nR0UtT.js.map +0 -1
- package/dist/field-affordance-recipes-CkOCdE2y.js +0 -46
- 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-field-VZRULhUK.js.map +0 -1
- package/dist/form-sizing-uWP4lzVh.js.map +0 -1
- package/dist/forms-numeric-D3CO60IF.js +0 -905
- 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-BoLm9Hks.js +0 -20
- package/dist/input-BoLm9Hks.js.map +0 -1
- package/dist/input-DhQdBnV3.js +0 -255
- package/dist/input-DhQdBnV3.js.map +0 -1
- package/dist/item-xzh8Df65.js +0 -264
- 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/message-YfFmbXNP.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/pagination-Cm0jqa3I.js +0 -149
- package/dist/pagination-Cm0jqa3I.js.map +0 -1
- package/dist/popover-Dcv_9jxr.js.map +0 -1
- package/dist/popover-menu-DnRFKnHP.js +0 -99
- package/dist/popover-menu-DnRFKnHP.js.map +0 -1
- package/dist/popover.recipes-wmbvL8Ah.js.map +0 -1
- package/dist/primitives-BHrwQXFC.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/spinner-CmTAbEp0.js +0 -80
- package/dist/spinner-CmTAbEp0.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 +0 -162
- 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 +0 -189
- package/dist/tabs-Dk8E_knt.js.map +0 -1
- package/dist/text-inputs-BFpku0Qd.js +0 -331
- package/dist/text-inputs-BFpku0Qd.js.map +0 -1
- package/dist/theme-scope-kStaAer0.js +0 -39
- package/dist/theme-scope-kStaAer0.js.map +0 -1
- package/dist/timelines-CxuAFIc2.js +0 -439
- 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/usage-card-U0YBLTNT.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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-K5_ghvze.js","names":["ItemGroup","ItemSeparator","React","Item","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter","_Fragment","BaseItem","BaseItemGroup","BaseItemSeparator","BaseItemMedia","BaseItemContent","BaseItemActions","BaseItemHeader","BaseItemFooter","BaseItemTitle","BaseItemDescription","useItemConfig","useDensityConfig","resolveComponentScale","cn","Separator","Text","RunningTextContext","focusRecipes","ICON_DESCENDANT_SIZE_CLASSNAMES","rowBlockPaddingClasses","React$1","Fragment$1","ItemGroup$1","props","className","ItemSeparator$1","itemVariants","cva","ItemPhrasingContext","usePartTagName","tagName","Item$1","element","useRender","mergeProps","render","itemMediaVariants","ItemMedia$1","ItemContent$1","ItemTitle$1","ItemDescription$1","ItemActions$1","ItemHeader$1","ItemFooter$1","Item","forwardRef","convenienceMode","itemProps","resolvedSize","size","defaultScale","primitiveSize","resolvedVariant","variant","defaultVariant","textSizeClass","paddingClass","padding","flushEdgeClass","borderClass","resolvedChildren","media","ItemMedia","mediaVariant","ItemContent","ItemTitle","titleBold","title","description","ItemDescription","descriptionClamp","trailing","actions","ItemActions","children","density","ItemGroup","ItemSeparator","baseVariant","iconClass","textGap","ItemHeader","ItemFooter","isSimpleText","bold","CLAMP_CLASS","clamp"],"sources":["../src/components/ui/item.tsx","../src/components/base/item/item.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { rowBlockPaddingClasses } from \"../../lib/row-recipes\"\nimport { Separator } from \"./separator\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-space-md\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n `group/item flex w-full flex-wrap items-center rounded-inner border text-sm transition-colors outline-none ${focusRecipes.frame} [a]:transition-colors [a]:hover:bg-accent [a]:hover:text-accent-foreground`,\n {\n variants: {\n variant: {\n default: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n default: cn(\"gap-space-lg px-row-x\", rowBlockPaddingClasses.comfortable),\n sm: cn(\"gap-space-lg px-row-x\", rowBlockPaddingClasses.default),\n xs: cn(\"gap-space-md px-row-x in-data-[slot=dropdown-menu-content]:p-0\", rowBlockPaddingClasses.compact),\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\n// An Item rendered as a button or link may hold phrasing content only, so its\n// parts render as spans there. Their classes set their display, so the layout\n// is the same either way.\nconst ItemPhrasingContext = React.createContext(false)\n\nfunction usePartTagName(tagName: \"div\" | \"p\") {\n return React.useContext(ItemPhrasingContext) ? \"span\" : tagName\n}\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"div\"> & VariantProps<typeof itemVariants>) {\n const element = useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(itemVariants({ variant, size, className })),\n },\n props\n ),\n render,\n state: {\n slot: \"item\",\n variant,\n size,\n },\n })\n\n return (\n <ItemPhrasingContext.Provider value={render !== undefined}>\n {element}\n </ItemPhrasingContext.Provider>\n )\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-space-md group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-icon\",\n image:\n \"size-10 overflow-hidden rounded-inner group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 group-data-[size=xs]/item:rounded-inner [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(itemMediaVariants({ variant, className })),\n },\n props\n ),\n state: { slot: \"item-media\", variant },\n })\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-content\" },\n })\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"line-clamp-1 flex w-fit items-center gap-space-md text-sm leading-snug font-medium underline-offset-4\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-title\" },\n })\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return useRender({\n defaultTagName: usePartTagName(\"p\"),\n props: mergeProps<\"p\">(\n {\n className: cn(\n \"m-0 line-clamp-2 text-start text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-description\" },\n })\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\"flex items-center\", className),\n },\n props\n ),\n state: { slot: \"item-actions\" },\n })\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex basis-full items-center justify-between gap-space-md\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-header\" },\n })\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex basis-full items-center justify-between gap-space-md\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-footer\" },\n })\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n}\n","/**\n * Item — base wrapper around the shadcn `Item` primitive.\n *\n * Why this wrapper exists (rules 1, 8, 12, 17):\n * - Resolves `size` and `variant` against `<UIProvider>` (`useItemConfig()`),\n * so consumers set library-wide density once.\n * - Routes `ItemTitle` / `ItemDescription` text through our `<Text>` typography\n * so a title is always `weight=\"semibold\"` and secondary copy follows the\n * shared control/display tokens — no rogue `<div className=\"text-sm font-medium\">`\n * blobs at call sites.\n * - Re-exports every compound part untouched, so `<Item>` keeps working as a\n * drop-in replacement for hand-rolled \"icon-left + text-stack + actions\" rows.\n *\n * Layer rule: import from `@/components/base/item`, never from `@/components/ui/item`.\n */\nimport { forwardRef, type ComponentRef } from 'react';\n\nimport {\n\tItem as BaseItem,\n\tItemActions as BaseItemActions,\n\tItemContent as BaseItemContent,\n\tItemDescription as BaseItemDescription,\n\tItemFooter as BaseItemFooter,\n\tItemGroup as BaseItemGroup,\n\tItemHeader as BaseItemHeader,\n\tItemMedia as BaseItemMedia,\n\tItemSeparator as BaseItemSeparator,\n\tItemTitle as BaseItemTitle,\n} from '../../ui/item';\nimport { ICON_DESCENDANT_SIZE_CLASSNAMES } from '../display/icon-size';\nimport { Text } from '../../typography';\nimport { RunningTextContext } from '../../typography/running-text';\nimport { useDensityConfig, useItemConfig } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport { rowBlockPaddingClasses } from '../../../lib/row-recipes';\nimport { focusRecipes } from '../../../lib/focus-recipes';\n\nimport type {\n\tItemActionsProps,\n\tItemContentProps,\n\tItemDescriptionProps,\n\tItemFooterProps,\n\tItemGroupProps,\n\tItemHeaderProps,\n\tItemMediaProps,\n\tItemProps,\n\tItemTitleProps,\n} from './item.types';\n\nconst Item = forwardRef<ComponentRef<typeof BaseItem>, ItemProps>(function Item(\n\titemProps,\n\tref,\n) {\n\tconst convenienceMode = 'title' in itemProps;\n\tconst {\n\t\tsize,\n\t\tdensity = 'default',\n\t\tvariant,\n\t\tpadding = 'none',\n\t\ttextGap = 'dense',\n\t\trender,\n\t\tclassName,\n\t\tchildren,\n\t\tmedia,\n\t\tmediaVariant,\n\t\ttitle,\n\t\tdescription,\n\t\ttrailing,\n\t\tactions,\n\t\ttitleBold,\n\t\tdescriptionClamp,\n\t\t...props\n\t} = itemProps;\n\tconst { defaultVariant = 'default' } = useItemConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst resolvedSize = resolveComponentScale(size, defaultScale);\n\tconst primitiveSize = resolvedSize === 'sm' ? 'xs' : 'sm';\n\tconst resolvedVariant = variant ?? defaultVariant;\n\tconst textSizeClass = resolvedSize === 'sm' ? 'text-pxs' : resolvedSize === 'lg' ? 'text-base' : 'text-sm';\n\tconst paddingClass = padding === 'default' ? 'px-row-x' : 'px-0';\n\t// A plain flush row draws no box, so in a group its outer edges sit on the group's\n\t// edges and the parent's gap or surface padding owns the space around the list.\n\tconst flushEdgeClass = resolvedVariant === 'default' && padding === 'none'\n\t\t? 'in-data-[slot=item-group]:first:pt-0 in-data-[slot=item-group]:last:pb-0'\n\t\t: undefined;\n\t// The default variant draws no box; a transparent 1px border only nudged its text off the shared edge.\n\t// Without a border, an interactive row draws its focus edge inset instead.\n\tconst borderClass = resolvedVariant === 'default' ? `border-0 ${focusRecipes.edge}` : undefined;\n\tconst resolvedChildren = convenienceMode ? (\n\t\t<>\n\t\t\t{media != null ? <ItemMedia variant={mediaVariant}>{media}</ItemMedia> : null}\n\t\t\t<ItemContent textGap={textGap} className=\"basis-48\">\n\t\t\t\t<ItemTitle bold={titleBold}>{title}</ItemTitle>\n\t\t\t\t{description != null ? (\n\t\t\t\t\t<ItemDescription clamp={descriptionClamp}>{description}</ItemDescription>\n\t\t\t\t) : null}\n\t\t\t</ItemContent>\n\t\t\t{trailing != null || actions != null ? (\n\t\t\t\t<ItemActions>\n\t\t\t\t\t{trailing}\n\t\t\t\t\t{actions}\n\t\t\t\t</ItemActions>\n\t\t\t) : null}\n\t\t</>\n\t) : children;\n\treturn (\n\t\t<BaseItem\n\t\t\tref={ref}\n\t\t\tsize={primitiveSize}\n\t\t\tvariant={resolvedVariant}\n\t\t\trender={render}\n\t\t\tclassName={cn(\n\t\t\t\t'item--component box-border font-sans gap-space-lg rounded-inner',\n\t\t\t\trowBlockPaddingClasses[density],\n\t\t\t\tpaddingClass,\n\t\t\t\tflushEdgeClass,\n\t\t\t\tborderClass,\n\t\t\t\ttextSizeClass,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{resolvedChildren}\n\t\t</BaseItem>\n\t);\n});\nItem.displayName = 'Item';\n\nconst ItemGroup = forwardRef<ComponentRef<typeof BaseItemGroup>, ItemGroupProps>(function ItemGroup(\n\t{ className, role, ...props },\n\tref,\n) {\n\treturn (\n\t\t<BaseItemGroup\n\t\t\tref={ref}\n\t\t\trole={role}\n\t\t\t// Boxed rows (outline/muted) keep a small gap between boxes. Plain rows touch,\n\t\t\t// so their own density padding is the only space between them.\n\t\t\tclassName={cn('item-group--component gap-space-sm has-[>[data-slot=item][data-variant=default]]:gap-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemGroup.displayName = 'ItemGroup';\n\nconst ItemSeparator = forwardRef<\n\tComponentRef<typeof BaseItemSeparator>,\n\tParameters<typeof BaseItemSeparator>[0]\n>(function ItemSeparator({ className, ...props }, ref) {\n\treturn <BaseItemSeparator ref={ref} className={cn('item--separator', className)} {...props} />;\n});\nItemSeparator.displayName = 'ItemSeparator';\n\nconst ItemMedia = forwardRef<ComponentRef<typeof BaseItemMedia>, ItemMediaProps>(function ItemMedia(\n\t{ variant = 'default', className, ...props },\n\tref,\n) {\n\tconst baseVariant = variant === 'image' || variant === 'avatar' ? 'image' : 'default';\n\tconst iconClass =\n\t\tvariant === 'icon'\n\t\t\t? cn(\n\t\t\t\t\tICON_DESCENDANT_SIZE_CLASSNAMES.md,\n\t\t\t\t\t\"group-data-[size=xs]/item:[&_svg:not([class*='size-'])]:size-icon-sm\",\n\t\t\t\t)\n\t\t\t: undefined;\n\tconst avatarClass =\n\t\tvariant === 'avatar'\n\t\t\t? 'rounded-full group-data-[size=sm]/item:rounded-full group-data-[size=xs]/item:rounded-full'\n\t\t\t: undefined;\n\treturn (\n\t\t<BaseItemMedia\n\t\t\tref={ref}\n\t\t\tvariant={baseVariant}\n\t\t\tclassName={cn(\n\t\t\t\t'item--media',\n\t\t\t\t'group-has-data-[slot=item-description]/item:translate-y-0',\n\t\t\t\ticonClass,\n\t\t\t\tavatarClass,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemMedia.displayName = 'ItemMedia';\n\nconst ItemContent = forwardRef<ComponentRef<typeof BaseItemContent>, ItemContentProps>(function ItemContent(\n\t{ className, textGap = 'dense', ...props },\n\tref,\n) {\n\treturn (\n\t\t<BaseItemContent\n\t\t\tref={ref}\n\t\t\tclassName={cn('item--content min-w-0', textGap === 'dense' ? 'gap-dense group-data-[size=xs]/item:gap-dense' : 'gap-normal group-data-[size=xs]/item:gap-normal', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemContent.displayName = 'ItemContent';\n\nconst ItemActions = forwardRef<ComponentRef<typeof BaseItemActions>, ItemActionsProps>(function ItemActions(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemActions ref={ref} className={cn('item--actions max-w-full flex-wrap shrink-0 gap-space-xs', className)} {...props} />;\n});\nItemActions.displayName = 'ItemActions';\n\nconst ItemHeader = forwardRef<ComponentRef<typeof BaseItemHeader>, ItemHeaderProps>(function ItemHeader(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemHeader ref={ref} className={cn('item--header', className)} {...props} />;\n});\nItemHeader.displayName = 'ItemHeader';\n\nconst ItemFooter = forwardRef<ComponentRef<typeof BaseItemFooter>, ItemFooterProps>(function ItemFooter(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemFooter ref={ref} className={cn('item--footer', className)} {...props} />;\n});\nItemFooter.displayName = 'ItemFooter';\n\nconst ItemTitle = forwardRef<ComponentRef<typeof BaseItemTitle>, ItemTitleProps>(function ItemTitle(\n\t{ bold = true, className, children, ...props },\n\tref,\n) {\n\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\treturn (\n\t\t<BaseItemTitle\n\t\t\tref={ref}\n\t\t\tclassName={cn('item--title min-w-0 max-w-full overflow-hidden m-0 text-inherit [&>p]:m-0 [&>p]:text-start', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText ? (\n\t\t\t\t// The title is a flex row, where text-overflow has no effect: the text itself\n\t\t\t\t// shrinks and ends in an ellipsis instead of clipping a long token mid-glyph.\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight={bold ? 'semibold' : 'regular'} lineHeight=\"tight\" className=\"min-w-0 overflow-hidden text-ellipsis text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : <RunningTextContext.Provider value>{children}</RunningTextContext.Provider>}\n\t\t</BaseItemTitle>\n\t);\n});\nItemTitle.displayName = 'ItemTitle';\n\nconst CLAMP_CLASS: Record<NonNullable<ItemDescriptionProps['clamp']>, string> = {\n\t1: 'line-clamp-1',\n\t2: 'line-clamp-2',\n\t3: 'line-clamp-3',\n\t4: 'line-clamp-4',\n\tnone: 'line-clamp-none',\n};\n\nconst ItemDescription = forwardRef<ComponentRef<typeof BaseItemDescription>, ItemDescriptionProps>(\n\tfunction ItemDescription({ clamp = 2, className, children, ...props }, ref) {\n\t\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\t\treturn (\n\t\t\t<BaseItemDescription\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'item--description',\n\t\t\t\t\t'm-0',\n\t\t\t\t\t!isSimpleText && 'text-xs text-muted-foreground leading-tight',\n\t\t\t\t\tCLAMP_CLASS[clamp],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{isSimpleText ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" lineHeight=\"tight\">\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Text>\n\t\t\t\t) : <RunningTextContext.Provider value>{children}</RunningTextContext.Provider>}\n\t\t\t</BaseItemDescription>\n\t\t);\n\t},\n);\nItemDescription.displayName = 'ItemDescription';\n\nexport {\n\tItem,\n\tItemGroup,\n\tItemSeparator,\n\tItemMedia,\n\tItemContent,\n\tItemTitle,\n\tItemDescription,\n\tItemActions,\n\tItemHeader,\n\tItemFooter,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/lib/layer-recipes.ts
|
|
2
|
+
var e = {
|
|
3
|
+
raised: "z-10",
|
|
4
|
+
sticky: "z-20",
|
|
5
|
+
stickyOver: "z-30",
|
|
6
|
+
chrome: "z-40",
|
|
7
|
+
overlay: "z-50",
|
|
8
|
+
nestedOverlay: "z-[100]"
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { e as t };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=layer-recipes-CCpklYME.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-recipes-CCpklYME.js","names":["layerRecipes"],"sources":["../src/lib/layer-recipes.ts"],"sourcesContent":["/**\n * One stacking scale. Local overlap inside a component is raised; sticky regions\n * stack under the app chrome; popups and modal layers sit above the page. Local\n * ordering may also use z-0, z-[1] and z-[-1]. Design lint rejects other layers.\n */\nexport const layerRecipes = {\n\t/** Overlap inside one component: a badge on a tile, an action over media. */\n\traised: 'z-10',\n\t/** Sticky headers and toolbars inside a scroll region. */\n\tsticky: 'z-20',\n\t/** Sticky parts that must stay above other sticky ones: a sticky corner cell or footer. */\n\tstickyOver: 'z-30',\n\t/** Application chrome: the shell header and floating panels. */\n\tchrome: 'z-40',\n\t/** Popups, menus, tooltips and modal layers. */\n\toverlay: 'z-50',\n\t/** A popup portaled into a consumer container clears the modal layer it opened from. */\n\tnestedOverlay: 'z-[100]',\n} as const;\n"],"mappings":";AAKA,IAAaA,IAAe;CAE3B,QAAQ;CAER,QAAQ;CAER,YAAY;CAEZ,QAAQ;CAER,SAAS;CAET,eAAe;AAChB"}
|
package/dist/layout/app-shell.js
CHANGED
package/dist/layout/auth.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "../auth-
|
|
2
|
+
import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "../auth-ax2BqjrI.js";
|
|
3
3
|
export { e as AuthCard, c as AuthFooterLinks, p as AuthForm, s as AuthFormRow, h as AuthMethodSwitch, t as AuthShell, m as AuthSocialProviderButton, n as AuthSocialProviders, d as AuthSplitPanel, g as defaultAuthFooterLinksStrings, r as defaultAuthMethodSwitchStrings, i as defaultAuthShellStrings, f as defaultAuthSocialProvidersStrings, l as isAuthBrandConfig, o as useAuthLinks, u as useAuthMethodSwitch, a as useAuthShell };
|
package/dist/layout/header.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../header-
|
|
2
|
+
import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../header-CGXuhcRm.js";
|
|
3
3
|
export { u as Header, n as HeaderBreadcrumbs, e as HeaderGlobalSearchTrigger, l as HeaderNotifications, o as HeaderSearch, r as HeaderToolButton, s as HeaderToolPopover, a as HeaderUserMenu, c as defaultHeaderNotificationsStrings, t as defaultHeaderSearchStrings, i as defaultHeaderUserMenuStrings };
|
package/dist/layout/hooks.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../navigation-
|
|
2
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../navigation-BzhHI3lo.js";
|
|
3
3
|
export { r as BreadcrumbProgress, e as CategoryNav, i as SectionNav, o as SideNav, a as defaultBreadcrumbProgressStrings, t as defaultSectionNavStrings, n as defaultSideNavStrings };
|
package/dist/layout/page.js
CHANGED
package/dist/layout/settings.js
CHANGED
package/dist/layout/sidebar.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, i as t, l as n, o as r, r as i, s as a, u as o } from "../hooks-
|
|
3
|
-
import { a as s, c, d as l, f as u, i as d, l as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y } from "../sidebar-
|
|
2
|
+
import { a as e, i as t, l as n, o as r, r as i, s as a, u as o } from "../hooks-Dkz0K2WT.js";
|
|
3
|
+
import { a as s, c, d as l, f as u, i as d, l as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y } from "../sidebar-A0ElHINE.js";
|
|
4
4
|
export { d as AppSidebar, h as LayoutSidebar, l as LayoutSidebarProvider, t as NavBadge, c as SidebarGroupedNavigation, i as SidebarIcon, _ as SidebarLogo, g as SidebarNavigation, m as SidebarNavigationFooter, v as SidebarNavigationUser, s as SidebarWorkspaceDropdown, f as defaultSidebarNavigationStrings, p as defaultSidebarNavigationUserStrings, y as defaultSidebarWorkspaceDropdownStrings, e as getNavKey, r as getNavLabel, a as isPathMatch, n as resolveNavBadge, o as toPath, u as useLayoutSidebar };
|
package/dist/layout/workspace.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../workspace-
|
|
2
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../workspace-Cdrg7k9f.js";
|
|
3
3
|
export { o as WorkspaceLayout, n as WorkspaceLocaleStrip, i as WorkspaceNav, t as WorkspaceRecordHeader, e as defaultWorkspaceLocaleStripStrings, r as defaultWorkspaceNavStrings, a as defaultWorkspaceRecordHeaderStrings };
|
package/dist/layout.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { n as e, t } from "./layout.types-Cn7aUzJp.js";
|
|
3
|
-
import { a as n, d as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./hooks-
|
|
4
|
-
import { i as f, n as p, r as m, t as h } from "./containers-
|
|
5
|
-
import { i as g, n as _, r as v, t as y } from "./app-shell-
|
|
6
|
-
import { i as b, n as x, r as S, t as C } from "./page-
|
|
7
|
-
import { n as w, r as T, t as E } from "./settings-
|
|
8
|
-
import { a as D, c as O, d as k, i as A, l as j, n as M, o as N, r as P, s as F, t as I, u as L } from "./header-
|
|
9
|
-
import { a as R, i as z, n as B, o as V, r as H, s as U, t as W } from "./navigation-
|
|
10
|
-
import { a as G, c as K, d as q, f as J, i as Y, l as X, n as Z, o as Q, p as $, r as ee, s as te, t as ne, u as re } from "./sidebar-
|
|
11
|
-
import { _ as ie, a as ae, c as oe, d as se, f as ce, g as le, h as ue, i as de, l as fe, m as pe, n as me, o as he, p as ge, r as _e, s as ve, t as ye, u as be } from "./auth-
|
|
12
|
-
import { a as xe, i as Se, n as Ce, o as we, r as Te, s as Ee, t as De } from "./workspace-
|
|
3
|
+
import { a as n, d as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./hooks-Dkz0K2WT.js";
|
|
4
|
+
import { i as f, n as p, r as m, t as h } from "./containers-Mu1LMGV1.js";
|
|
5
|
+
import { i as g, n as _, r as v, t as y } from "./app-shell-C4FhvCqF.js";
|
|
6
|
+
import { i as b, n as x, r as S, t as C } from "./page-Bgl1F560.js";
|
|
7
|
+
import { n as w, r as T, t as E } from "./settings-ybnjVwbd.js";
|
|
8
|
+
import { a as D, c as O, d as k, i as A, l as j, n as M, o as N, r as P, s as F, t as I, u as L } from "./header-CGXuhcRm.js";
|
|
9
|
+
import { a as R, i as z, n as B, o as V, r as H, s as U, t as W } from "./navigation-BzhHI3lo.js";
|
|
10
|
+
import { a as G, c as K, d as q, f as J, i as Y, l as X, n as Z, o as Q, p as $, r as ee, s as te, t as ne, u as re } from "./sidebar-A0ElHINE.js";
|
|
11
|
+
import { _ as ie, a as ae, c as oe, d as se, f as ce, g as le, h as ue, i as de, l as fe, m as pe, n as me, o as he, p as ge, r as _e, s as ve, t as ye, u as be } from "./auth-ax2BqjrI.js";
|
|
12
|
+
import { a as xe, i as Se, n as Ce, o as we, r as Te, s as Ee, t as De } from "./workspace-Cdrg7k9f.js";
|
|
13
13
|
export { y as AppLayout, Y as AppSidebar, E as AsideNavShell, ie as AuthCard, fe as AuthFooterLinks, _e as AuthForm, de as AuthFormRow, ye as AuthMethodSwitch, ae as AuthShell, ve as AuthSocialProviderButton, oe as AuthSocialProviders, he as AuthSplitPanel, V as BreadcrumbProgress, R as CategoryNav, f as Container, L as Header, k as HeaderBreadcrumbs, D as HeaderGlobalSearchTrigger, I as HeaderNotifications, N as HeaderSearch, A as HeaderToolButton, P as HeaderToolPopover, M as HeaderUserMenu, $ as LayoutSidebar, q as LayoutSidebarProvider, i as NavBadge, S as Page, C as PageActions, b as PageHeader, m as PageViewport, p as Section, H as SectionNav, w as SettingsShell, W as SideNav, K as SidebarGroupedNavigation, c as SidebarIcon, v as SidebarInsetLayout, te as SidebarLogo, ee as SidebarNavigation, Q as SidebarNavigationFooter, ne as SidebarNavigationUser, G as SidebarWorkspaceDropdown, _ as StackedLayout, g as TopbarSidebarLayout, h as TwoColumnLayout, De as WorkspaceLayout, Ce as WorkspaceLocaleStrip, Te as WorkspaceNav, Se as WorkspaceRecordHeader, T as defaultAsideNavShellStrings, be as defaultAuthFooterLinksStrings, se as defaultAuthMethodSwitchStrings, ce as defaultAuthShellStrings, ge as defaultAuthSocialProvidersStrings, U as defaultBreadcrumbProgressStrings, F as defaultHeaderNotificationsStrings, O as defaultHeaderSearchStrings, j as defaultHeaderUserMenuStrings, x as defaultPageActionsStrings, t as defaultRenderLink, z as defaultSectionNavStrings, B as defaultSideNavStrings, X as defaultSidebarNavigationStrings, Z as defaultSidebarNavigationUserStrings, re as defaultSidebarWorkspaceDropdownStrings, xe as defaultWorkspaceLocaleStripStrings, we as defaultWorkspaceNavStrings, Ee as defaultWorkspaceRecordHeaderStrings, n as getNavKey, s as getNavLabel, pe as isAuthBrandConfig, l as isPathMatch, e as resolveLayoutLinkRenderer, a as resolveNavBadge, d as toPath, o as useActivePath, ue as useAuthLinks, me as useAuthMethodSwitch, le as useAuthShell, u as useCommandShortcut, r as useLayoutLinkRenderer, J as useLayoutSidebar };
|
|
@@ -58,6 +58,78 @@ export declare const affordanceGeometry: {
|
|
|
58
58
|
readonly md: "py-[min(calc(0.25rem*var(--space-scale)),calc((var(--height-action)*var(--density-scale)-1lh)/2-1px))]";
|
|
59
59
|
readonly lg: "py-[min(calc(0.25rem*var(--space-scale)),calc((var(--height-action)*10/9*var(--density-scale)-1lh)/2-1px))]";
|
|
60
60
|
};
|
|
61
|
+
readonly controlTextMinHeight: "min-h-[calc(1lh+2px)]";
|
|
62
|
+
readonly controlBlockPadding: {
|
|
63
|
+
readonly sm: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)))]";
|
|
64
|
+
readonly md: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)))]";
|
|
65
|
+
readonly lg: "py-[max(0px,min(calc(0.375rem*var(--space-scale)),calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)))]";
|
|
66
|
+
};
|
|
67
|
+
readonly fileField: {
|
|
68
|
+
readonly minHeight: "min-h-[calc(max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-pxs)*var(--text-pxs--line-height)+2px)))+2px)]";
|
|
69
|
+
readonly buttonMinHeight: "file:min-h-[calc(1lh+2px)]";
|
|
70
|
+
readonly blockPadding: {
|
|
71
|
+
readonly sm: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*8/9*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-pxs)*var(--text-pxs--line-height)+2px))))/2-1px)))]";
|
|
72
|
+
readonly md: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-pxs)*var(--text-pxs--line-height)+2px))))/2-1px)))]";
|
|
73
|
+
readonly lg: "py-[max(0px,min(calc(0.375rem*var(--space-scale)),calc((var(--height-control)*10/9*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-pxs)*var(--text-pxs--line-height)+2px))))/2-1px)))]";
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
readonly rawFileField: {
|
|
77
|
+
readonly minHeight: "min-h-[calc(max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-sm)*var(--text-sm--line-height)+0px)))+2px)]";
|
|
78
|
+
readonly buttonMinHeight: "file:min-h-[calc(1lh+0px)]";
|
|
79
|
+
readonly blockPadding: {
|
|
80
|
+
readonly sm: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*8/9*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-sm)*var(--text-sm--line-height)+0px))))/2-1px)))]";
|
|
81
|
+
readonly md: "py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-sm)*var(--text-sm--line-height)+0px))))/2-1px)))]";
|
|
82
|
+
readonly lg: "py-[max(0px,min(calc(0.375rem*var(--space-scale)),calc((var(--height-control)*10/9*var(--density-scale)-max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-sm)*var(--text-sm--line-height)+0px))))/2-1px)))]";
|
|
83
|
+
};
|
|
84
|
+
};
|
|
61
85
|
readonly overlayClose: "absolute top-[calc(var(--surface-y)*var(--space-scale)+(var(--text-base)*var(--leading-snug)-var(--height-action)*8/9*var(--density-scale))/2)] end-[calc(var(--surface-x)*var(--space-scale))]";
|
|
62
86
|
readonly overlayHeader: "[[data-slot$=-content]:has(>[data-overlay-close])>&]:pe-[calc(var(--surface-x)*var(--space-scale)+var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
87
|
+
readonly selectToggleTrack: {
|
|
88
|
+
readonly sm: "end-[calc(var(--control-x)*0.8333333*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon)*0.75)/2)]";
|
|
89
|
+
readonly md: "end-[calc(var(--control-x)*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon))/2)]";
|
|
90
|
+
readonly lg: "end-[calc(var(--control-x)*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon)*1.25)/2)]";
|
|
91
|
+
};
|
|
92
|
+
readonly selectTogglePadding: {
|
|
93
|
+
readonly sm: "pe-[calc((var(--control-x)*0.8333333+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon)*0.75)/2)]";
|
|
94
|
+
readonly md: "pe-[calc((var(--control-x)+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon))/2)]";
|
|
95
|
+
readonly lg: "pe-[calc((var(--control-x)+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon)*1.25)/2)]";
|
|
96
|
+
};
|
|
97
|
+
readonly textareaBlockPadding: {
|
|
98
|
+
readonly sm: "py-[calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)]";
|
|
99
|
+
readonly md: "py-[calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)]";
|
|
100
|
+
readonly lg: "py-[calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)]";
|
|
101
|
+
};
|
|
102
|
+
readonly textareaClearTop: {
|
|
103
|
+
readonly sm: "top-[calc((var(--height-control)*8/9-1.375rem)*var(--density-scale)/2)]";
|
|
104
|
+
readonly md: "top-[calc((var(--height-control)-1.375rem)*var(--density-scale)/2)]";
|
|
105
|
+
readonly lg: "top-[calc((var(--height-control)*10/9-1.375rem)*var(--density-scale)/2)]";
|
|
106
|
+
};
|
|
107
|
+
readonly textareaIconTop: {
|
|
108
|
+
readonly sm: "top-[calc((var(--height-control)*8/9*var(--density-scale)-var(--icon))/2)]";
|
|
109
|
+
readonly md: "top-[calc((var(--height-control)*var(--density-scale)-var(--icon))/2)]";
|
|
110
|
+
readonly lg: "top-[calc((var(--height-control)*10/9*var(--density-scale)-var(--icon))/2)]";
|
|
111
|
+
};
|
|
112
|
+
readonly clearTargetBleed: "-my-[calc((1.375rem*var(--density-scale)-var(--icon)*0.75)/2)]";
|
|
113
|
+
readonly actionGutter: {
|
|
114
|
+
readonly sm: {
|
|
115
|
+
readonly start: "ps-[calc(var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
116
|
+
readonly end: "pe-[calc(var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
117
|
+
};
|
|
118
|
+
readonly md: {
|
|
119
|
+
readonly start: "ps-[calc(var(--height-action)*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
120
|
+
readonly end: "pe-[calc(var(--height-action)*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
121
|
+
};
|
|
122
|
+
readonly lg: {
|
|
123
|
+
readonly start: "ps-[calc(var(--height-action)*10/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
124
|
+
readonly end: "pe-[calc(var(--height-action)*10/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
readonly menuActionReserve: {
|
|
128
|
+
readonly item: "group-has-[>[data-sidebar=menu-action]]/menu-item:pe-[calc(var(--height-action)*7/9*var(--density-scale)+var(--control-x)*var(--space-scale))]!";
|
|
129
|
+
readonly subItem: "group-has-[>[data-sidebar=menu-action]]/menu-sub-item:pe-[calc(var(--height-action)*7/9*var(--density-scale)+var(--control-x)*var(--space-scale))]!";
|
|
130
|
+
};
|
|
131
|
+
readonly toastCloseReserve: "has-[[data-close-button]]:!pe-[calc(var(--height-action)*8/9*var(--density-scale)+0.75rem*var(--space-scale))]";
|
|
132
|
+
readonly calendarCell: "[--cell-size:calc(var(--height-action)*8/9*var(--density-scale))] [--cell-radius:min(calc(var(--radius)*0.75),calc(min(var(--height-action),var(--height-control))*var(--density-scale)/4))]";
|
|
133
|
+
readonly calendarCompactCell: "[--cell-size:calc(1.875rem*var(--density-scale))] sm:[--cell-size:calc(var(--height-action)*8/9*var(--density-scale))]";
|
|
134
|
+
readonly overlayHeaderCentered: "[[data-slot$=-content]:has(>[data-overlay-close])>&]:ps-[calc(var(--surface-x)*var(--space-scale)+var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
63
135
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** Editable
|
|
1
|
+
/** Editable values own regular weight; coarse pointers retain the touch input size at every width. */
|
|
2
2
|
export declare const editableTextSizeClasses: {
|
|
3
|
-
readonly sm: "text-pxs pointer-coarse:text-base";
|
|
4
|
-
readonly md: "text-sm pointer-coarse:text-base";
|
|
5
|
-
readonly lg: "text-sm pointer-coarse:text-base";
|
|
3
|
+
readonly sm: "font-normal text-pxs pointer-coarse:text-base";
|
|
4
|
+
readonly md: "font-normal text-sm pointer-coarse:text-base";
|
|
5
|
+
readonly lg: "font-normal text-sm pointer-coarse:text-base";
|
|
6
6
|
};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one clear glyph: a plain X drawn at `fieldAffordanceRecipes.icon`, never a
|
|
3
|
+
* circled X, so Input, Textarea, Cascader and Combobox clear actions match.
|
|
4
|
+
*/
|
|
5
|
+
export declare const FieldClearGlyph: import("lucide-react").LucideIcon;
|
|
1
6
|
/** Field affordances have one target/clearance owner. Primitives own behavior. */
|
|
2
7
|
export declare const fieldAffordanceRecipes: {
|
|
3
8
|
/** Content-sized targets for a chip/reaction that already owns its chrome. */
|
|
4
|
-
readonly inline: "box-border m-0 inline-flex shrink-0 items-center justify-center rounded-inner
|
|
5
|
-
readonly target: "box-border border-0 bg-transparent font-sans inline-flex size-control-clear shrink-0 items-center justify-center rounded-inner
|
|
6
|
-
readonly focus: "focus-visible:z-10 focus-visible:
|
|
9
|
+
readonly inline: "box-border m-0 border-0 bg-transparent p-0 font-sans inline-flex shrink-0 items-center justify-center rounded-inner outline-none transition-[color,box-shadow]";
|
|
10
|
+
readonly target: "box-border m-0 border-0 bg-transparent p-0 font-sans inline-flex size-control-clear shrink-0 items-center justify-center rounded-inner outline-none transition-[color,box-shadow]";
|
|
11
|
+
readonly focus: "focus-visible:z-10 focus-visible:inset-ring focus-visible:inset-ring-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50";
|
|
7
12
|
readonly clear: "text-muted-foreground hover:text-foreground";
|
|
8
13
|
readonly toggle: "text-muted-foreground hover:bg-accent hover:text-accent-foreground";
|
|
9
14
|
readonly icon: "size-control-clear-icon shrink-0 max-h-full max-w-full";
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/** Native fields and field-shaped triggers share one frame-state contract.
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Focus is the shared frame recipe: the 1px frame takes --ring inside a soft
|
|
3
|
+
* halo. Validation marks the frame with the destructive border; a focused
|
|
4
|
+
* invalid field keeps that border and shows the halo in the destructive color.
|
|
5
|
+
* Editable values retain the semantic foreground. Compound fields apply the same
|
|
6
|
+
* state to their outer frame, never each child.
|
|
6
7
|
*/
|
|
7
8
|
export declare const fieldStateRecipes: {
|
|
8
|
-
readonly focus: "focus-visible:border-
|
|
9
|
-
readonly invalid: "aria-invalid:
|
|
10
|
-
readonly groupFocus: "has-[[data-slot=input-group-control]:focus-visible]:border-
|
|
11
|
-
readonly groupInvalid: "has-[[data-slot][aria-invalid=true]]:
|
|
9
|
+
readonly focus: "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50";
|
|
10
|
+
readonly invalid: "aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive aria-invalid:focus-visible:ring-destructive/30 dark:aria-invalid:focus-visible:ring-destructive/50";
|
|
11
|
+
readonly groupFocus: "has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50";
|
|
12
|
+
readonly groupInvalid: "has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:border-destructive has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:ring-destructive/30 dark:has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:ring-destructive/50";
|
|
12
13
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one focus indicator for every interactive element: a crisp 1px edge in
|
|
3
|
+
* --ring inside a soft 3px halo of --ring at 50%. The edge carries the tested
|
|
4
|
+
* 3:1 contrast; the halo makes focus stand out without reading as a heavier
|
|
5
|
+
* border. Each recipe draws the same indicator for a different element shape.
|
|
6
|
+
*
|
|
7
|
+
* Other spellings of the same state (a `has-[…:focus-visible]` frame, a
|
|
8
|
+
* `group-focus-visible` child, a `data-[focused=true]` day) use this vocabulary:
|
|
9
|
+
* `ring-3`, `ring-ring/50` and a full-strength `border-ring`, `inset-ring-ring` or
|
|
10
|
+
* `outline-ring` edge. Design lint rejects any other focus ring width, offset or
|
|
11
|
+
* halo strength.
|
|
12
|
+
*/
|
|
13
|
+
export declare const focusRecipes: {
|
|
14
|
+
/** Bordered controls (buttons, fields, triggers, checkboxes, switches, tabs): the 1px border becomes the edge. */
|
|
15
|
+
readonly frame: "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50";
|
|
16
|
+
/** Borderless rows, links, tiles and regions: an inset 1px edge stands in for the border. */
|
|
17
|
+
readonly edge: "focus-visible:inset-ring focus-visible:inset-ring-ring focus-visible:ring-3 focus-visible:ring-ring/50";
|
|
18
|
+
/** Inline text (links, text buttons) has no padding: the edge is an outline just outside the glyphs. */
|
|
19
|
+
readonly text: "focus-visible:outline-solid focus-visible:outline-1 focus-visible:outline-offset-0 focus-visible:outline-ring focus-visible:ring-3 focus-visible:ring-ring/50";
|
|
20
|
+
/** Inside a clipped group or scroll viewport: the edge and the halo are both drawn inside. */
|
|
21
|
+
readonly inset: "focus-visible:inset-ring focus-visible:inset-ring-ring focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-ring/50";
|
|
22
|
+
/** Sidebar rows draw the edge with the sidebar's own focus role. */
|
|
23
|
+
readonly sidebar: "focus-visible:inset-ring focus-visible:inset-ring-sidebar-ring focus-visible:ring-3 focus-visible:ring-sidebar-ring/50";
|
|
24
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interaction fills, one recipe per element shape. The theme documents --accent as
|
|
3
|
+
* the hover and selected-row fill and --muted as a passive region, so every
|
|
4
|
+
* clickable row, toggle, table and segmented track agrees on what hover, selection
|
|
5
|
+
* and the current location look like. Design lint rejects other interaction fills.
|
|
6
|
+
*/
|
|
7
|
+
export declare const interactionRecipes: {
|
|
8
|
+
/**
|
|
9
|
+
* A native `<button>` with its browser chrome removed: the package ships no
|
|
10
|
+
* preflight, so every button that draws its own shape starts from this.
|
|
11
|
+
*/
|
|
12
|
+
readonly nativeButtonReset: "box-border m-0 border-0 bg-transparent p-0 font-sans";
|
|
13
|
+
/** Clickable rows (navigation, lists, trees, results, disclosure triggers) and ghost actions. */
|
|
14
|
+
readonly rowHover: "hover:bg-accent hover:text-accent-foreground";
|
|
15
|
+
/** A selected or keyboard-highlighted row: the hover fill held. */
|
|
16
|
+
readonly rowSelected: "bg-accent text-accent-foreground";
|
|
17
|
+
/** The current location: the selected fill plus medium weight, so a hover never reads as current. */
|
|
18
|
+
readonly rowCurrent: "bg-accent text-accent-foreground font-medium";
|
|
19
|
+
/** Toggles show their pressed state by fill alone, so hover is the lighter muted fill. */
|
|
20
|
+
readonly toggleHover: "hover:bg-muted hover:text-foreground";
|
|
21
|
+
readonly togglePressed: "bg-accent text-accent-foreground";
|
|
22
|
+
/** The toggle hover on a Button, whose complete hover selector would otherwise show the pressed fill. */
|
|
23
|
+
readonly toggleHoverButton: "[&:hover:not(:active):not(:disabled):not([data-disabled]):not([aria-disabled=true])]:bg-muted [&:hover:not(:active):not(:disabled):not([data-disabled]):not([aria-disabled=true])]:text-foreground";
|
|
24
|
+
/** Wide tabular rows stay quieter: stripe, hover and selection step up one tint at a time. */
|
|
25
|
+
readonly tableHead: "bg-muted/50";
|
|
26
|
+
readonly tableStripe: "bg-muted/30";
|
|
27
|
+
readonly tableRowHover: "hover:bg-muted/50";
|
|
28
|
+
readonly tableRowSelected: "data-[state=selected]:bg-muted";
|
|
29
|
+
/** Media and choice tiles: hover strengthens the resting edge to the control boundary; selection draws primary. */
|
|
30
|
+
readonly tileHover: "hover:border-input";
|
|
31
|
+
/** Segments on a muted track: the active one is lifted, the others change colour only. */
|
|
32
|
+
readonly segmentActive: "bg-card text-foreground shadow-sm";
|
|
33
|
+
readonly segmentInactive: "text-muted-foreground hover:text-foreground";
|
|
34
|
+
/** The same inactive segment rendered by a ghost Button: its complete hover and press selectors are cleared too. */
|
|
35
|
+
readonly segmentInactiveButton: "text-muted-foreground hover:text-foreground [&:hover:not(:active):not(:disabled):not([data-disabled]):not([aria-disabled=true])]:bg-transparent [&:active:not(:disabled):not([data-disabled]):not([aria-disabled=true])]:bg-transparent";
|
|
36
|
+
/** The active segment rendered by a ghost Button stays lifted under hover and press instead of taking the Button's fill. */
|
|
37
|
+
readonly segmentActiveButton: "bg-card text-foreground shadow-sm hover:text-foreground [&:hover:not(:active):not(:disabled):not([data-disabled]):not([aria-disabled=true])]:bg-card [&:active:not(:disabled):not([data-disabled]):not([aria-disabled=true])]:bg-card";
|
|
38
|
+
/** A solid Button marking the current location holds its fill: no hover or press filter. */
|
|
39
|
+
readonly currentButtonHold: "[&:hover:not(:active):not(:disabled):not([data-disabled]):not([aria-disabled=true])]:brightness-100 [&:active:not(:disabled):not([data-disabled]):not([aria-disabled=true])]:brightness-100";
|
|
40
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One stacking scale. Local overlap inside a component is raised; sticky regions
|
|
3
|
+
* stack under the app chrome; popups and modal layers sit above the page. Local
|
|
4
|
+
* ordering may also use z-0, z-[1] and z-[-1]. Design lint rejects other layers.
|
|
5
|
+
*/
|
|
6
|
+
export declare const layerRecipes: {
|
|
7
|
+
/** Overlap inside one component: a badge on a tile, an action over media. */
|
|
8
|
+
readonly raised: "z-10";
|
|
9
|
+
/** Sticky headers and toolbars inside a scroll region. */
|
|
10
|
+
readonly sticky: "z-20";
|
|
11
|
+
/** Sticky parts that must stay above other sticky ones: a sticky corner cell or footer. */
|
|
12
|
+
readonly stickyOver: "z-30";
|
|
13
|
+
/** Application chrome: the shell header and floating panels. */
|
|
14
|
+
readonly chrome: "z-40";
|
|
15
|
+
/** Popups, menus, tooltips and modal layers. */
|
|
16
|
+
readonly overlay: "z-50";
|
|
17
|
+
/** A popup portaled into a consumer container clears the modal layer it opened from. */
|
|
18
|
+
readonly nestedOverlay: "z-[100]";
|
|
19
|
+
};
|
|
@@ -5,4 +5,5 @@ export declare const motionRecipes: {
|
|
|
5
5
|
readonly popup: `transition-[opacity,scale,translate] duration-150 ease-out data-ending-style:duration-100 data-starting-style:opacity-0 data-ending-style:opacity-0 data-starting-style:scale-95 data-ending-style:scale-95 ${string} motion-reduce:transition-none motion-reduce:duration-0 motion-reduce:data-ending-style:duration-0`;
|
|
6
6
|
readonly disclosure: "overflow-hidden transition-[height,padding-block] duration-200 ease-out data-starting-style:h-0 data-ending-style:h-0 data-starting-style:py-0! data-ending-style:py-0! motion-reduce:transition-none motion-reduce:duration-0 motion-reduce:data-ending-style:duration-0";
|
|
7
7
|
readonly chevron: "transition-transform duration-200 ease-out motion-reduce:transition-none motion-reduce:duration-0 motion-reduce:data-ending-style:duration-0";
|
|
8
|
+
readonly dock: "transition-[opacity,translate] duration-150 ease-out starting:opacity-0 starting:translate-y-space-lg motion-reduce:transition-none motion-reduce:duration-0 motion-reduce:data-ending-style:duration-0";
|
|
8
9
|
};
|
|
@@ -5,4 +5,5 @@
|
|
|
5
5
|
export declare const overlayAnatomyRecipes: {
|
|
6
6
|
readonly close: "absolute top-[calc(var(--surface-y)*var(--space-scale)+(var(--text-base)*var(--leading-snug)-var(--height-action)*8/9*var(--density-scale))/2)] end-[calc(var(--surface-x)*var(--space-scale))]";
|
|
7
7
|
readonly header: "[[data-slot$=-content]:has(>[data-overlay-close])>&]:pe-[calc(var(--surface-x)*var(--space-scale)+var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
8
|
+
readonly headerCentered: "[[data-slot$=-content]:has(>[data-overlay-close])>&]:ps-[calc(var(--surface-x)*var(--space-scale)+var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]";
|
|
8
9
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Schemes an image `src` may use: web URLs and same-document `blob:` previews. */
|
|
2
|
+
export declare const SAFE_IMAGE_SCHEMES: readonly ["http", "https", "blob"];
|
|
3
|
+
/**
|
|
4
|
+
* The one image-source policy shared by the editor and read-only rich text.
|
|
5
|
+
* Returns the source when it is a web URL, a `blob:` preview or a relative
|
|
6
|
+
* path, and `undefined` otherwise: script, `data:` and other schemes and
|
|
7
|
+
* protocol-relative (`//host`) URLs are refused. Control characters and
|
|
8
|
+
* whitespace inside a scheme are ignored, so `java\tscript:` is still refused.
|
|
9
|
+
*/
|
|
10
|
+
export declare function safeImageSrc(value: unknown): string | undefined;
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
+
import type { Root } from 'hast';
|
|
2
|
+
export interface SanitizeHtmlOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Keeps `<img>` with `src`, `alt`, `title`, `width` and `height` when its
|
|
5
|
+
* source passes `safeImageSrc`; an image without a safe source is removed.
|
|
6
|
+
* Default: `false`, which removes every image.
|
|
7
|
+
*/
|
|
8
|
+
images?: boolean;
|
|
9
|
+
}
|
|
1
10
|
/**
|
|
2
11
|
* Sanitize package-rendered rich text with an intentionally small HTML
|
|
3
12
|
* vocabulary. Styling, event handlers, embedded media, and protocol-relative
|
|
4
|
-
* URLs are excluded
|
|
5
|
-
*
|
|
13
|
+
* URLs are excluded; images only with `options.images` and a safe source.
|
|
14
|
+
* Mention identity attributes remain available so the Mentions feature can
|
|
15
|
+
* replace serialized references with React components.
|
|
6
16
|
*/
|
|
7
|
-
export declare function sanitizeHtml(input: string): string;
|
|
17
|
+
export declare function sanitizeHtml(input: string, options?: SanitizeHtmlOptions): string;
|
|
18
|
+
/** The sanitized tree behind `sanitizeHtml`, for renderers that substitute elements. */
|
|
19
|
+
export declare function sanitizeHtmlTree(input: string, options?: SanitizeHtmlOptions): Root;
|
|
8
20
|
export default sanitizeHtml;
|
|
@@ -6,6 +6,7 @@ export declare const surfaceDividerRecipes: {
|
|
|
6
6
|
readonly shell: "border border-border";
|
|
7
7
|
readonly header: "border-b border-border";
|
|
8
8
|
readonly footer: "border-t border-border";
|
|
9
|
+
readonly ring: "ring-4 ring-border/30";
|
|
9
10
|
};
|
|
10
11
|
readonly anchored: {
|
|
11
12
|
readonly shell: "border border-border";
|
|
@@ -16,17 +17,56 @@ export declare const surfaceDividerRecipes: {
|
|
|
16
17
|
readonly modal: {
|
|
17
18
|
readonly shell: "border border-border/70";
|
|
18
19
|
readonly edge: "border-border/70 data-[side=left]:border-r data-[side=right]:border-l data-[side=top]:border-b data-[side=bottom]:border-t";
|
|
19
|
-
readonly
|
|
20
|
+
readonly region: "border-border/60 [[data-modal-region]:not(.sr-only)~&]:border-t";
|
|
20
21
|
};
|
|
21
22
|
readonly sidebar: {
|
|
22
23
|
readonly footer: "border-t border-sidebar-border";
|
|
23
24
|
};
|
|
24
25
|
};
|
|
25
|
-
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
/** Each region owns its full inset once and the shell adds none, so the rules
|
|
27
|
+
* between regions span the surface edge to edge (header, body and footer read as
|
|
28
|
+
* three bands). The body scrolls between the pinned header and footer; scrolling
|
|
29
|
+
* and alignment remain with the family. */
|
|
28
30
|
export declare const modalRegionRecipes: {
|
|
29
|
-
readonly header: "shrink-0
|
|
30
|
-
readonly body: "min-h-0 flex-1 overflow-y-auto
|
|
31
|
-
readonly footer: "shrink-0 flex-wrap gap-space-sm
|
|
31
|
+
readonly header: "shrink-0 p-surface text-start border-border/60 [[data-modal-region]:not(.sr-only)~&]:border-t";
|
|
32
|
+
readonly body: "min-h-0 flex-1 overflow-y-auto p-surface border-border/60 [[data-modal-region]:not(.sr-only)~&]:border-t";
|
|
33
|
+
readonly footer: "shrink-0 flex-wrap gap-space-sm p-surface border-border/60 [[data-modal-region]:not(.sr-only)~&]:border-t";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Neutral fills, one strength per role, so quiet regions, strips, tracks, chips and
|
|
37
|
+
* neutral markers read alike in every family. Design lint rejects other strengths.
|
|
38
|
+
* - `wash`: a quiet region inside a surface: wells, empty states, stripes, media placeholders.
|
|
39
|
+
* - `band`: a header, toolbar or footer strip, and a soft icon tile.
|
|
40
|
+
* - `track`: the solid track behind segments, meters and progress.
|
|
41
|
+
* - `chip`: a neutral chip or icon tile that reads on any surface, tinted or not.
|
|
42
|
+
* - `chipOnInverse`: the same chip on an inverse surface.
|
|
43
|
+
* - `marker`: a neutral dot or filled meter segment; `markerIdle`: an inactive indicator.
|
|
44
|
+
* Floating chips and lifted panels use an opaque surface instead of a translucent one.
|
|
45
|
+
*/
|
|
46
|
+
export declare const neutralFillRecipes: {
|
|
47
|
+
readonly wash: "bg-muted/30";
|
|
48
|
+
readonly band: "bg-muted/50";
|
|
49
|
+
readonly track: "bg-muted";
|
|
50
|
+
readonly chip: "bg-foreground/8";
|
|
51
|
+
readonly chipOnInverse: "bg-background/10";
|
|
52
|
+
readonly marker: "bg-muted-foreground";
|
|
53
|
+
readonly markerIdle: "bg-muted-foreground/40";
|
|
54
|
+
};
|
|
55
|
+
/** A key cap for shortcut hints: a solid track-coloured chip with the compact secondary text role. */
|
|
56
|
+
export declare const kbdRecipe = "pointer-events-none inline-flex h-5 w-fit min-w-5 shrink-0 select-none items-center justify-center gap-space-2xs rounded-radius-xs bg-muted px-space-xs font-sans text-xs font-medium leading-none text-muted-foreground";
|
|
57
|
+
/**
|
|
58
|
+
* Elevation, one theme shadow per role; the theme owns the shadow ladder itself.
|
|
59
|
+
* - `resting`: tiles, rows and table frames that sit on a surface.
|
|
60
|
+
* - `card`: cards, lifted segments, thumbs and small controls floating over media.
|
|
61
|
+
* - `raised`: raised cards, hover lifts, anchored popups and controls over media.
|
|
62
|
+
* - `lifted`: dragged items, toasts and drawers.
|
|
63
|
+
* - `modal`: dialogs and command palettes.
|
|
64
|
+
* `shadow-none` clears elevation. Box-shadow divider lines draw var(--border) instead.
|
|
65
|
+
*/
|
|
66
|
+
export declare const elevationRecipes: {
|
|
67
|
+
readonly resting: "shadow-xs";
|
|
68
|
+
readonly card: "shadow-sm";
|
|
69
|
+
readonly raised: "shadow-md";
|
|
70
|
+
readonly lifted: "shadow-lg";
|
|
71
|
+
readonly modal: "shadow-xl";
|
|
32
72
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** CSS emitted by public chart/theme serializers follows the same inherited
|
|
2
|
+
* mode marker as Tailwind's dark variant. A selector list is one scope, not a
|
|
3
|
+
* string to prefix with an ancestor .dark selector. */
|
|
4
|
+
export declare function serializeScopedThemeModes(scope: string, declarations: {
|
|
5
|
+
light: readonly string[];
|
|
6
|
+
dark: readonly string[];
|
|
7
|
+
}): string;
|
|
@@ -44,9 +44,6 @@ export declare const tokenClassGroups: {
|
|
|
44
44
|
mt: {
|
|
45
45
|
mt: string[];
|
|
46
46
|
}[];
|
|
47
|
-
my: {
|
|
48
|
-
my: string[];
|
|
49
|
-
}[];
|
|
50
47
|
"space-x": {
|
|
51
48
|
"space-x": string[];
|
|
52
49
|
}[];
|
|
@@ -62,6 +59,12 @@ export declare const tokenClassGroups: {
|
|
|
62
59
|
py: {
|
|
63
60
|
py: string[];
|
|
64
61
|
}[];
|
|
62
|
+
inset: {
|
|
63
|
+
inset: string[];
|
|
64
|
+
}[];
|
|
65
|
+
my: {
|
|
66
|
+
my: string[];
|
|
67
|
+
}[];
|
|
65
68
|
bottom: {
|
|
66
69
|
bottom: string[];
|
|
67
70
|
}[];
|
|
@@ -98,9 +101,6 @@ export declare const tokenClassGroups: {
|
|
|
98
101
|
me: {
|
|
99
102
|
me: string[];
|
|
100
103
|
}[];
|
|
101
|
-
inset: {
|
|
102
|
-
inset: string[];
|
|
103
|
-
}[];
|
|
104
104
|
"inset-x": {
|
|
105
105
|
"inset-x": string[];
|
|
106
106
|
}[];
|
|
@@ -140,5 +140,8 @@ export declare const tokenClassGroups: {
|
|
|
140
140
|
start: {
|
|
141
141
|
start: string[];
|
|
142
142
|
}[];
|
|
143
|
+
"translate-y": {
|
|
144
|
+
"translate-y": string[];
|
|
145
|
+
}[];
|
|
143
146
|
};
|
|
144
147
|
export declare const tokenCandidates: string[][];
|