themelia-react-ui 2.0.3 → 2.0.4
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 +50 -0
- package/README.md +65 -28
- package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
- package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
- package/dist/action-menu-CHgs8vmj.js +281 -0
- package/dist/action-menu-CHgs8vmj.js.map +1 -0
- package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
- package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
- package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
- package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
- package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
- package/dist/app-shell-D63ATkIK.js.map +1 -0
- package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
- package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
- package/dist/{auth-BGua8ouh.js → auth-D2FVZ1MH.js} +10 -10
- package/dist/{auth-BGua8ouh.js.map → auth-D2FVZ1MH.js.map} +1 -1
- package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
- package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
- package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
- package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.js.map} +1 -1
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +13 -13
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +3 -3
- package/dist/base/inline-edit.js +10 -10
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +6 -6
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +1 -1
- package/dist/base/repeaters.js +9 -9
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +6 -6
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +4 -4
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +3 -3
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
- package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
- package/dist/blocks/admin.js +20 -20
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +15 -15
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +17 -17
- 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 +570 -567
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
- package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
- package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
- package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
- package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
- package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
- package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
- package/dist/cards-4JTWqvVe.js.map +1 -0
- package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
- package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
- package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
- package/dist/checkbox-CzYUTPeJ.js.map +1 -0
- package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
- package/dist/choice-inputs-JLtij2y4.js.map +1 -0
- package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
- package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
- package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
- package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
- package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
- package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
- package/dist/{combobox-Dxo2fAYQ.js → combobox-CBJDs6w_.js} +12 -12
- package/dist/{combobox-Dxo2fAYQ.js.map → combobox-CBJDs6w_.js.map} +1 -1
- package/dist/{combobox-DaHESuiL.js → combobox-hbhSS18O.js} +7 -7
- package/dist/{combobox-DaHESuiL.js.map → combobox-hbhSS18O.js.map} +1 -1
- package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
- package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
- package/dist/{comments-DD0DUPwJ.js → comments-Di4w0H_S.js} +383 -382
- package/dist/comments-Di4w0H_S.js.map +1 -0
- package/dist/components/base/action-menu/action-menu.d.ts +2 -0
- package/dist/components/base/cards/card.recipes.d.ts +12 -5
- package/dist/components/base/cards/smart-card.types.d.ts +12 -7
- package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
- package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
- package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
- package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
- package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
- package/dist/components/base/forms/form-field.d.ts +5 -3
- package/dist/components/base/forms/index.d.ts +1 -0
- package/dist/components/base/forms/server-errors.d.ts +16 -0
- package/dist/components/base/forms/workflow.d.ts +5 -2
- package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
- package/dist/components/base/structure/composition.recipes.d.ts +17 -0
- package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
- package/dist/components/base/text-inputs/input.d.ts +4 -2
- package/dist/components/base/text-inputs/textarea.d.ts +4 -2
- package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
- package/dist/components/base/value-inputs/slider.d.ts +5 -1
- package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
- package/dist/components/typography/text.styles.d.ts +26 -1
- package/dist/composition.recipes-COdiFhxB.js +19 -0
- package/dist/composition.recipes-COdiFhxB.js.map +1 -0
- package/dist/containers-CRmHf7GP.js +104 -0
- package/dist/containers-CRmHf7GP.js.map +1 -0
- package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
- package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
- package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
- package/dist/data-display-D4oujtx0.js.map +1 -0
- package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
- package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
- package/dist/{date-picker-B2K3ucWn.js → date-picker-zOt1oNss.js} +102 -90
- package/dist/date-picker-zOt1oNss.js.map +1 -0
- package/dist/date-pickers-cj8IXbDC.js +179 -0
- package/dist/date-pickers-cj8IXbDC.js.map +1 -0
- package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
- package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
- package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
- package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
- package/dist/features/activities.js +11 -11
- package/dist/features/ai-chat.js +9 -9
- package/dist/features/appointment-calendar.js +222 -220
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +8 -8
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +10 -10
- package/dist/features/email-composer.js +275 -274
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +199 -198
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +12 -12
- package/dist/features/kanban.js +4 -4
- package/dist/features/map.js +7 -7
- package/dist/features/media-library.js +623 -622
- 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 +973 -969
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +12 -12
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +113 -112
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +254 -253
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +19 -19
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
- package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
- package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
- package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
- package/dist/{filters-DJVAveHA.js → filters-BcT-uoFy.js} +19 -19
- package/dist/{filters-DJVAveHA.js.map → filters-BcT-uoFy.js.map} +1 -1
- package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
- package/dist/form-field-CsgRmdit.js.map +1 -0
- package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
- package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
- package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
- package/dist/forms-BV5m5aQF.js.map +1 -0
- package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
- package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
- package/dist/{header-BSfIEWbI.js → header-BA697l4a.js} +14 -14
- package/dist/{header-BSfIEWbI.js.map → header-BA697l4a.js.map} +1 -1
- package/dist/hooks/useFormErrors.d.ts +1 -1
- package/dist/{hooks-ClH9thn4.js → hooks-BQ-L7Uu2.js} +2 -2
- package/dist/{hooks-ClH9thn4.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
- package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
- package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/input-Cdw4k0fb.js +289 -0
- package/dist/input-Cdw4k0fb.js.map +1 -0
- package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
- package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
- package/dist/item-BvZ2DR_x.js +277 -0
- package/dist/item-BvZ2DR_x.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +1 -1
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +10 -10
- package/dist/lib/affordance-geometry.generated.d.ts +6 -0
- package/dist/lib/ui-provider/types.d.ts +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
- package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
- package/dist/{mentions-CGlEJ15c.js → mentions-RKOQaaIB.js} +8 -8
- package/dist/{mentions-CGlEJ15c.js.map → mentions-RKOQaaIB.js.map} +1 -1
- package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
- package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
- package/dist/metadata-list-qVV7AVxa.js +443 -0
- package/dist/metadata-list-qVV7AVxa.js.map +1 -0
- package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
- package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
- package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
- package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
- package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
- package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
- package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
- package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
- package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
- package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
- package/dist/{overlays-tMkF-VAN.js → overlays-BlKynmde.js} +228 -227
- package/dist/overlays-BlKynmde.js.map +1 -0
- package/dist/page-CIwNUtGr.js +227 -0
- package/dist/page-CIwNUtGr.js.map +1 -0
- package/dist/page-header-commands-DFMlNYzN.js +128 -0
- package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
- package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
- package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
- package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-BYaCdFhf.js} +6 -6
- package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
- package/dist/{popover-gnTOhbFM.js → popover-uwzX2vo7.js} +4 -4
- package/dist/{popover-gnTOhbFM.js.map → popover-uwzX2vo7.js.map} +1 -1
- package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
- package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
- package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
- package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
- package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
- package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
- package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
- package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
- package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
- package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
- package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
- package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
- package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
- package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
- package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
- package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
- package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/settings-BA2iboic.js +174 -0
- package/dist/settings-BA2iboic.js.map +1 -0
- package/dist/{sheet-ijlsjq-n.js → sheet-DoAxTb2J.js} +7 -7
- package/dist/{sheet-ijlsjq-n.js.map → sheet-DoAxTb2J.js.map} +1 -1
- package/dist/{sidebar-DkTO4VTO.js → sidebar-ByqKR_W5.js} +13 -13
- package/dist/{sidebar-DkTO4VTO.js.map → sidebar-ByqKR_W5.js.map} +1 -1
- package/dist/{sidebar-Db6gkh3U.js → sidebar-D2iSnGJ7.js} +11 -11
- package/dist/{sidebar-Db6gkh3U.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
- package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
- package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
- package/dist/smart-card-CqkzQsK-.js +614 -0
- package/dist/smart-card-CqkzQsK-.js.map +1 -0
- package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
- package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
- package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
- package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
- package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
- package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
- package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
- package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
- package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
- package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
- package/dist/text-inputs-DXItiR0O.js.map +1 -0
- package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
- package/dist/text.styles-B64My8RZ.js.map +1 -0
- package/dist/theme.css +152 -112
- package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
- package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
- package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
- package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
- package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
- package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-CSyJrh28.js +117 -0
- package/dist/typography-CSyJrh28.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
- package/dist/ui-provider-CQCuCBcy.js.map +1 -0
- package/dist/ui-provider.js +1 -1
- package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
- package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
- package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
- package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
- package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
- package/dist/usage-card-DVTRDmGz.js.map +1 -0
- package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
- package/dist/utils-CF3c95Io.js.map +1 -0
- package/dist/value-inputs-C0o70p-U.js +980 -0
- package/dist/value-inputs-C0o70p-U.js.map +1 -0
- package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
- package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
- package/dist/workspace-9EFVXUyk.js +410 -0
- package/dist/workspace-9EFVXUyk.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +14 -129
- package/docs/consumer-skill/examples/app-layout.tsx +22 -12
- package/docs/consumer-skill/examples/authentication.tsx +77 -0
- package/docs/consumer-skill/examples/edit.tsx +30 -38
- package/docs/consumer-skill/examples/manifest.json +51 -1
- package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
- package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
- package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
- package/docs/consumer-skill/references/agents-md.md +17 -7
- package/docs/consumer-skill/references/authentication.md +42 -0
- package/docs/consumer-skill/references/component-contracts.json +319824 -0
- package/docs/consumer-skill/references/composition-mapping.md +92 -0
- package/docs/consumer-skill/references/composition.md +43 -19
- package/docs/consumer-skill/references/design-contract.md +32 -0
- package/docs/consumer-skill/references/discovery.md +84 -7
- package/docs/consumer-skill/references/installation.md +40 -36
- package/docs/consumer-skill/references/integration.md +6 -2
- package/docs/consumer-skill/references/public-api.json +1519 -65
- package/docs/consumer-skill/references/review.md +9 -4
- package/docs/consumer-skill/references/rhf-workflows.md +86 -0
- package/docs/consumer-skill/references/screen-archetypes.md +22 -0
- package/docs/consumer-skill/references/theming.md +8 -9
- package/docs/consumer-skill/references/tokens.json +12 -3
- package/docs/consumer-skill/references/workflows.md +2 -1
- package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
- package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
- package/docs/consumer-skill/scripts/composition.mjs +198 -0
- package/docs/consumer-skill/scripts/discovery.mjs +42 -10
- package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
- package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
- package/docs/consumer-skill/scripts/inspection.mjs +138 -0
- package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
- package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
- package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
- package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
- package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
- package/package.json +4 -2
- package/templates/README.md +39 -0
- package/templates/admin-shell-template.tsx +382 -0
- package/templates/analytics-operations-template.tsx +376 -0
- package/templates/customers-template.tsx +509 -0
- package/templates/index.ts +29 -0
- package/templates/orders-template.tsx +1102 -0
- package/templates/products-template.tsx +834 -0
- package/templates/user-permissions-template.tsx +450 -0
- package/dist/action-menu-CllU52Mm.js +0 -280
- package/dist/action-menu-CllU52Mm.js.map +0 -1
- package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
- package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
- package/dist/app-shell-C4FhvCqF.js.map +0 -1
- package/dist/cards-BaBZR-AU.js.map +0 -1
- package/dist/checkbox-AWIhNhmo.js.map +0 -1
- package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
- package/dist/comments-DD0DUPwJ.js.map +0 -1
- package/dist/containers-Mu1LMGV1.js +0 -103
- package/dist/containers-Mu1LMGV1.js.map +0 -1
- package/dist/data-display-DT_khPl_.js.map +0 -1
- package/dist/date-picker-B2K3ucWn.js.map +0 -1
- package/dist/date-pickers-Ds8gLaoP.js +0 -175
- package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
- package/dist/form-field-CwH9y77i.js.map +0 -1
- package/dist/forms-B9G_xwzi.js.map +0 -1
- package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
- package/dist/input-DQdEd0YD.js +0 -263
- package/dist/input-DQdEd0YD.js.map +0 -1
- package/dist/item-K5_ghvze.js +0 -275
- package/dist/item-K5_ghvze.js.map +0 -1
- package/dist/metadata-list-8N16ZMW_.js +0 -405
- package/dist/metadata-list-8N16ZMW_.js.map +0 -1
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
- package/dist/overlays-tMkF-VAN.js.map +0 -1
- package/dist/page-CL9YeH_V.js +0 -224
- package/dist/page-CL9YeH_V.js.map +0 -1
- package/dist/page-header-commands-DOb6WsfD.js +0 -126
- package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
- package/dist/settings-ybnjVwbd.js +0 -171
- package/dist/settings-ybnjVwbd.js.map +0 -1
- package/dist/smart-card-DiC5aac3.js +0 -604
- package/dist/smart-card-DiC5aac3.js.map +0 -1
- package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
- package/dist/text.styles-g4He6UIW.js.map +0 -1
- package/dist/typography-UTnveOEy.js +0 -117
- package/dist/typography-UTnveOEy.js.map +0 -1
- package/dist/ui-provider-C_U0Xma4.js.map +0 -1
- package/dist/usage-card-BhO5eqkX.js.map +0 -1
- package/dist/utils-BRhFDwuU.js.map +0 -1
- package/dist/value-inputs-TaX4OjNk.js +0 -963
- package/dist/value-inputs-TaX4OjNk.js.map +0 -1
- package/dist/workspace-B-OEm3Kf.js +0 -408
- package/dist/workspace-B-OEm3Kf.js.map +0 -1
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { s as e, v as t } from "./ui-provider-CQCuCBcy.js";
|
|
3
|
+
import { useStrings as n } from "./lib/strings.js";
|
|
4
|
+
import { t as r } from "./utils-CF3c95Io.js";
|
|
5
|
+
import { n as i } from "./buttons-BbfzgczK.js";
|
|
6
|
+
import { c as a } from "./typography-CSyJrh28.js";
|
|
7
|
+
import { t as o } from "./composition.recipes-COdiFhxB.js";
|
|
8
|
+
import { i as s, t as c } from "./popover.recipes-D3j8R8Yp.js";
|
|
9
|
+
import { t as l } from "./collection-content-C0e8SsTm.js";
|
|
10
|
+
import { a as u, d, g as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dropdown-menu-CjY8Vt7W.js";
|
|
11
|
+
import y, { isValidElement as b } from "react";
|
|
12
|
+
import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
13
|
+
import { MoreHorizontal as w } from "lucide-react";
|
|
14
|
+
//#region src/components/base/action-menu/action-menu.recipes.ts
|
|
15
|
+
var T = {
|
|
16
|
+
icon: w,
|
|
17
|
+
context: {
|
|
18
|
+
inline: {
|
|
19
|
+
tone: "secondary",
|
|
20
|
+
buttonStyle: "ghost",
|
|
21
|
+
glyph: "text-muted-foreground"
|
|
22
|
+
},
|
|
23
|
+
commands: {
|
|
24
|
+
tone: "secondary",
|
|
25
|
+
buttonStyle: "outline",
|
|
26
|
+
glyph: void 0
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, E = { openMenuLabel: "More actions" };
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/components/base/action-menu/action-menu.tsx
|
|
32
|
+
function D(e) {
|
|
33
|
+
return e.tone === "destructive";
|
|
34
|
+
}
|
|
35
|
+
function O(e, t = !1) {
|
|
36
|
+
let n = e.filter((e) => e.visible !== !1);
|
|
37
|
+
if (t) return n;
|
|
38
|
+
let r = n.filter((e) => !D(e)), i = n.filter(D);
|
|
39
|
+
return [...r, ...i];
|
|
40
|
+
}
|
|
41
|
+
function k(e, t) {
|
|
42
|
+
return e.id ?? (typeof e.label == "string" ? e.label : `action-${t}`);
|
|
43
|
+
}
|
|
44
|
+
function A(e) {
|
|
45
|
+
return e ? b(e) ? e : typeof e == "function" ? /* @__PURE__ */ S(e, {
|
|
46
|
+
className: "size-icon-sm",
|
|
47
|
+
"aria-hidden": "true"
|
|
48
|
+
}) : typeof e == "object" && e && "$$typeof" in e ? /* @__PURE__ */ S(e, {
|
|
49
|
+
className: "size-icon-sm",
|
|
50
|
+
"aria-hidden": !0
|
|
51
|
+
}) : e : null;
|
|
52
|
+
}
|
|
53
|
+
function j(e, t) {
|
|
54
|
+
return typeof e == "string" || typeof e == "number" || typeof e == "bigint" ? /* @__PURE__ */ S(a, {
|
|
55
|
+
tag: "span",
|
|
56
|
+
size: "inherit",
|
|
57
|
+
weight: "medium",
|
|
58
|
+
lineHeight: "tight",
|
|
59
|
+
className: r("text-inherit", t),
|
|
60
|
+
children: e
|
|
61
|
+
}) : t ? /* @__PURE__ */ S("span", {
|
|
62
|
+
className: t,
|
|
63
|
+
children: e
|
|
64
|
+
}) : e;
|
|
65
|
+
}
|
|
66
|
+
function M(e) {
|
|
67
|
+
return e === "destructive" ? "destructive" : "default";
|
|
68
|
+
}
|
|
69
|
+
function N(e) {
|
|
70
|
+
let t = e.buttonStyle;
|
|
71
|
+
return t === "link" ? {
|
|
72
|
+
tone: e.tone,
|
|
73
|
+
buttonStyle: "ghost",
|
|
74
|
+
className: "underline underline-offset-[0.2em]"
|
|
75
|
+
} : {
|
|
76
|
+
tone: e.tone,
|
|
77
|
+
buttonStyle: t
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function P({ action: e, index: t, density: n, closeOnSelect: i, renderLink: a }) {
|
|
81
|
+
let o = k(e, t), s = e.closeOnSelect ?? i;
|
|
82
|
+
if (e.render) return /* @__PURE__ */ S("div", {
|
|
83
|
+
className: "action-menu--item",
|
|
84
|
+
children: e.render
|
|
85
|
+
}, o);
|
|
86
|
+
let d = A(e.icon), f = /* @__PURE__ */ S(l, {
|
|
87
|
+
label: e.label,
|
|
88
|
+
leading: d,
|
|
89
|
+
wrap: !0,
|
|
90
|
+
className: r("action-menu--item-content w-full", e.contentClassName),
|
|
91
|
+
leadingClassName: "action-menu--item-icon text-inherit",
|
|
92
|
+
labelClassName: "action-menu--item-label"
|
|
93
|
+
}), p = r("action-menu--item", n === "table" && c.tableRow, e.className);
|
|
94
|
+
if (e.type === "checkbox") return /* @__PURE__ */ S(m, {
|
|
95
|
+
checked: !!e.checked,
|
|
96
|
+
disabled: e.disabled,
|
|
97
|
+
closeOnClick: s,
|
|
98
|
+
onCheckedChange: e.onCheckedChange,
|
|
99
|
+
className: p,
|
|
100
|
+
children: f
|
|
101
|
+
}, o);
|
|
102
|
+
if (e.href && !e.disabled) {
|
|
103
|
+
let t = e.href;
|
|
104
|
+
return /* @__PURE__ */ S(_, {
|
|
105
|
+
href: t,
|
|
106
|
+
variant: M(e.tone),
|
|
107
|
+
closeOnClick: s,
|
|
108
|
+
onClick: e.onClick,
|
|
109
|
+
render: a ? a({
|
|
110
|
+
href: t,
|
|
111
|
+
children: f,
|
|
112
|
+
target: e.target,
|
|
113
|
+
rel: e.rel,
|
|
114
|
+
external: e.external,
|
|
115
|
+
disabled: e.disabled
|
|
116
|
+
}) : (n) => /* @__PURE__ */ S("a", {
|
|
117
|
+
...n,
|
|
118
|
+
href: t,
|
|
119
|
+
target: e.target,
|
|
120
|
+
rel: e.rel
|
|
121
|
+
}),
|
|
122
|
+
className: p,
|
|
123
|
+
children: f
|
|
124
|
+
}, o);
|
|
125
|
+
}
|
|
126
|
+
return /* @__PURE__ */ S(u, {
|
|
127
|
+
disabled: e.disabled,
|
|
128
|
+
variant: M(e.tone),
|
|
129
|
+
closeOnClick: s,
|
|
130
|
+
onClick: e.onClick,
|
|
131
|
+
className: p,
|
|
132
|
+
children: f
|
|
133
|
+
}, o);
|
|
134
|
+
}
|
|
135
|
+
function F(e) {
|
|
136
|
+
let t = [], n = null;
|
|
137
|
+
return e.actions.forEach((i, a) => {
|
|
138
|
+
let o = i.group ?? null, s = o !== n;
|
|
139
|
+
t.length > 0 && s && t.push(/* @__PURE__ */ S(d, { className: i.groupClassName }, `sep-${n ?? "root"}-${o ?? "root"}-${a}`)), s && (n = o, typeof o == "string" && t.push(/* @__PURE__ */ S(h, {
|
|
140
|
+
className: r("normal-case", i.groupClassName),
|
|
141
|
+
children: o
|
|
142
|
+
}, `group-${o}-${a}`))), t.push(P({
|
|
143
|
+
...e,
|
|
144
|
+
action: i,
|
|
145
|
+
index: a
|
|
146
|
+
}));
|
|
147
|
+
}), t;
|
|
148
|
+
}
|
|
149
|
+
function I(e, t) {
|
|
150
|
+
typeof e == "function" ? e(t) : e && (e.current = t);
|
|
151
|
+
}
|
|
152
|
+
var L = y.forwardRef(function({ actions: o, label: c, icon: l = T.icon, srText: u, context: d = "inline", buttonProps: m, align: h = "end", side: _ = "bottom", contentClassName: b = "", width: w = "w-auto", closeOnSelect: D = !0, density: k = "default", labelVisibility: j = "visible", preserveOrder: M = !1, renderLink: N, renderTrigger: P, strings: L }, R) {
|
|
153
|
+
let [z, B] = y.useState(!1), { defaultScale: V } = e(), H = n(E, L), U = u ?? H.openMenuLabel, W = y.useMemo(() => O(o, M), [o, M]);
|
|
154
|
+
if (W.length === 0) return null;
|
|
155
|
+
let G = !!c && j === "visible", K = !!c && j === "responsive", q = T.context[d] ?? T.context.inline, J = G ? m?.size ?? "sm" : t(m?.size, V), Y = J === "sm" ? "size-action-sm" : J === "lg" ? "size-action-lg" : "size-action", X = {
|
|
156
|
+
tone: q.tone,
|
|
157
|
+
buttonStyle: q.buttonStyle,
|
|
158
|
+
size: J,
|
|
159
|
+
iconOnly: !G,
|
|
160
|
+
className: G ? void 0 : K ? `${Y} p-0 sm:w-auto sm:gap-space-sm sm:px-control-sm` : r(`${Y} p-0`, q.glyph)
|
|
161
|
+
}, { tone: Z = q.tone, buttonStyle: Q = q.buttonStyle, size: ee = J, iconOnly: te = !G, className: ne, ...re } = {
|
|
162
|
+
...X,
|
|
163
|
+
...m,
|
|
164
|
+
className: r(X.className, m?.className)
|
|
165
|
+
}, ie = j === "hidden" ? "sr-only" : j === "responsive" ? "sr-only sm:not-sr-only" : void 0, $ = A(l), ae = c ? /* @__PURE__ */ C(x, { children: [$, /* @__PURE__ */ S(a, {
|
|
166
|
+
tag: "span",
|
|
167
|
+
size: "inherit",
|
|
168
|
+
weight: "medium",
|
|
169
|
+
lineHeight: "tight",
|
|
170
|
+
className: r("whitespace-nowrap text-inherit", ie),
|
|
171
|
+
children: c
|
|
172
|
+
})] }) : /* @__PURE__ */ C(x, { children: [$, /* @__PURE__ */ S(a, {
|
|
173
|
+
tag: "span",
|
|
174
|
+
size: "inherit",
|
|
175
|
+
className: "sr-only",
|
|
176
|
+
children: U
|
|
177
|
+
})] });
|
|
178
|
+
return /* @__PURE__ */ C(v, {
|
|
179
|
+
open: z,
|
|
180
|
+
onOpenChange: B,
|
|
181
|
+
children: [/* @__PURE__ */ S(f, { render: P ?? ((e) => {
|
|
182
|
+
let { ref: t } = e, n = (e) => {
|
|
183
|
+
I(t, e), I(R, e);
|
|
184
|
+
};
|
|
185
|
+
return /* @__PURE__ */ S(i, {
|
|
186
|
+
...re,
|
|
187
|
+
...e,
|
|
188
|
+
ref: n,
|
|
189
|
+
type: "button",
|
|
190
|
+
tone: Z,
|
|
191
|
+
buttonStyle: Q,
|
|
192
|
+
size: ee,
|
|
193
|
+
iconOnly: te,
|
|
194
|
+
"data-context": d,
|
|
195
|
+
className: r("action-menu--component", ne, e.className),
|
|
196
|
+
children: ae
|
|
197
|
+
});
|
|
198
|
+
}) }), /* @__PURE__ */ S(g, {
|
|
199
|
+
density: k === "table" ? "compact" : k,
|
|
200
|
+
align: h,
|
|
201
|
+
side: _,
|
|
202
|
+
className: r("action-menu--content", w, s.menuMin, b),
|
|
203
|
+
children: /* @__PURE__ */ S(p, {
|
|
204
|
+
className: "action-menu--group",
|
|
205
|
+
children: F({
|
|
206
|
+
actions: W,
|
|
207
|
+
density: k,
|
|
208
|
+
closeOnSelect: D,
|
|
209
|
+
renderLink: N
|
|
210
|
+
})
|
|
211
|
+
})
|
|
212
|
+
})]
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
L.displayName = "ActionMenu";
|
|
216
|
+
var R = y.forwardRef(function({ actions: e, className: t, buttonClassName: n, size: a = "sm", renderLink: s }, c) {
|
|
217
|
+
let l = O(e, !0);
|
|
218
|
+
return l.length === 0 ? null : /* @__PURE__ */ S("div", {
|
|
219
|
+
ref: c,
|
|
220
|
+
className: r("action-buttons--component flex flex-wrap items-center", o.commands, t),
|
|
221
|
+
children: l.map((e, t) => {
|
|
222
|
+
let o = k(e, t);
|
|
223
|
+
if (e.render) return /* @__PURE__ */ S(y.Fragment, { children: e.render }, o);
|
|
224
|
+
let c = A(e.icon), l = N(e), u = /* @__PURE__ */ C(x, { children: [!!c && /* @__PURE__ */ S("span", {
|
|
225
|
+
className: "action-buttons--icon inline-flex shrink-0 items-center",
|
|
226
|
+
children: c
|
|
227
|
+
}), j(e.label, "action-buttons--label")] });
|
|
228
|
+
if (e.href && !e.disabled && s) {
|
|
229
|
+
let t = e.href;
|
|
230
|
+
return /* @__PURE__ */ S(i, {
|
|
231
|
+
type: "button",
|
|
232
|
+
tone: l.tone,
|
|
233
|
+
buttonStyle: l.buttonStyle,
|
|
234
|
+
size: e.buttonSize ?? a,
|
|
235
|
+
nativeButton: !1,
|
|
236
|
+
className: r("action-buttons--item", l.className, n, e.className),
|
|
237
|
+
onClick: () => {
|
|
238
|
+
e.onClick?.();
|
|
239
|
+
},
|
|
240
|
+
render: (n) => s({
|
|
241
|
+
...n,
|
|
242
|
+
href: t,
|
|
243
|
+
children: n.children,
|
|
244
|
+
target: e.target,
|
|
245
|
+
rel: e.rel,
|
|
246
|
+
external: e.external,
|
|
247
|
+
disabled: e.disabled
|
|
248
|
+
}),
|
|
249
|
+
children: u
|
|
250
|
+
}, o);
|
|
251
|
+
}
|
|
252
|
+
return e.href && !e.disabled ? /* @__PURE__ */ S(i, {
|
|
253
|
+
href: e.href,
|
|
254
|
+
target: e.target,
|
|
255
|
+
rel: e.rel,
|
|
256
|
+
tone: l.tone,
|
|
257
|
+
buttonStyle: l.buttonStyle,
|
|
258
|
+
size: e.buttonSize ?? a,
|
|
259
|
+
className: r("action-buttons--item", l.className, n, e.className),
|
|
260
|
+
onClick: e.onClick,
|
|
261
|
+
children: u
|
|
262
|
+
}, o) : /* @__PURE__ */ S(i, {
|
|
263
|
+
type: "button",
|
|
264
|
+
tone: l.tone,
|
|
265
|
+
buttonStyle: l.buttonStyle,
|
|
266
|
+
size: e.buttonSize ?? a,
|
|
267
|
+
className: r("action-buttons--item", l.className, n, e.className),
|
|
268
|
+
disabled: !!e.disabled,
|
|
269
|
+
onClick: () => {
|
|
270
|
+
e.onClick?.();
|
|
271
|
+
},
|
|
272
|
+
children: u
|
|
273
|
+
}, o);
|
|
274
|
+
})
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
R.displayName = "ActionButtons";
|
|
278
|
+
//#endregion
|
|
279
|
+
export { L as n, E as r, R as t };
|
|
280
|
+
|
|
281
|
+
//# sourceMappingURL=action-menu-CHgs8vmj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-menu-CHgs8vmj.js","names":["Icon","_Fragment","_jsx","useDensityConfig","resolveComponentScale","cn","Button","Text","compositionClasses","popoverWidthRecipes","collectionRecipes","CollectionContent","DropdownMenuItem","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuCheckboxItem","DropdownMenuLabel","DropdownMenuContent","DropdownMenuLinkItem","DropdownMenu","React","Fragment$1","overflowTriggerRecipes","MoreHorizontal","defaultActionMenuStrings","isDestructiveAction","action","resolveActions","visible","actions","preserveOrder","standard","destructive","getActionKey","index","renderActionIcon","icon","isValidElement","renderActionLabel","label","className","toMenuVariant","tone","toButtonPresentation","buttonStyle","renderMenuAction","key","shouldCloseOnSelect","closeOnSelect","content","density","href","renderLink","props","renderGroupedActions","nodes","currentGroup","args","nextGroup","groupChanged","DropdownMenuSeparator","assignRef","ref","node","ActionMenu","stringsProp","open","setOpen","strings","useStrings","resolvedSrText","srText","resolvedActions","hasVisibleLabel","labelVisibility","hasResponsiveLabel","recipe","context","requestedSize","buttonProps","defaultScale","squareClass","defaultButtonProps","triggerClassName","triggerProps","labelClassName","triggerIcon","buttonContent","renderTrigger","baseTriggerRef","dropdownTriggerProps","composedRef","width","contentClassName","ActionButtons","visibleActions","resolved","children","size","buttonClassName","buttonRenderProps"],"sources":["../src/components/base/action-menu/action-menu.recipes.ts","../src/components/base/action-menu/action-menu.strings.ts","../src/components/base/action-menu/action-menu.tsx"],"sourcesContent":["/**\n * Overflow trigger recipe — the one `⋯` square every overflow menu shares.\n *\n * The glyph and the default \"More actions\" name are fixed. `context` picks the\n * treatment for where the menu sits, and the square takes the size of the\n * controls beside it (`buttonProps.size`) or the provider scale, like every\n * other Button. A menu that shares a row with a primary command ends that row.\n */\nimport { MoreHorizontal } from 'lucide-react';\n\n/**\n * Where an overflow menu sits. `inline` is the quiet ghost square for rows,\n * cards, list items and footers; `commands` is the outline square that ends a\n * row of outline commands, such as a page header or toolbar.\n */\nexport type ActionMenuContext = 'inline' | 'commands';\n\nexport const overflowTriggerRecipes = {\n\ticon: MoreHorizontal,\n\tcontext: {\n\t\t// No fill until hover, and a muted glyph that does not compete with the content.\n\t\tinline: { tone: 'secondary', buttonStyle: 'ghost', glyph: 'text-muted-foreground' },\n\t\t// The commands' own boundary and ink.\n\t\tcommands: { tone: 'secondary', buttonStyle: 'outline', glyph: undefined },\n\t},\n} as const;\n","export interface ActionMenuStrings {\n\topenMenuLabel: string;\n}\n\nexport const defaultActionMenuStrings: ActionMenuStrings = {\n\topenMenuLabel: 'More actions',\n};\n","/**\n * ActionMenu — centralized action chrome for page, card, table, and row\n * overflow menus.\n *\n * Primary API is definition-driven: pass `actions={[...]}` and the component\n * renders the trigger, menu surface, grouping, checkbox rows, destructive\n * separation, links, disabled state, and density. `ActionButtons` renders the\n * same definitions as inline buttons for page/toolbars that need visible\n * actions plus an overflow menu.\n *\n * Without a visible `label` the trigger is the shared overflow square from\n * `action-menu.recipes.ts`: a `⋯` glyph named \"More actions\", ghost `inline`\n * or outline `commands`, at the size of the controls beside it or the\n * provider scale.\n */\nimport type { LucideIcon } from 'lucide-react';\nimport React, { isValidElement, type ComponentType, type ElementType, type ReactElement, type ReactNode } from 'react';\n\nimport { Button, type ButtonSize, type ButtonStyle } from '../buttons';\nimport { compositionClasses } from '../structure/composition.recipes';\nimport { collectionRecipes, popoverWidthRecipes, type CollectionDensity } from '../popover/popover.recipes';\nimport { CollectionContent } from '../popover/collection-content';\nimport {\n\tDropdownMenu,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuLinkItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from '../navigation/dropdown-menu';\nimport { Text } from '../../typography';\nimport type { ActionButtonStyle, ActionPresentation } from '../../../lib/action-presentation';\nimport { resolveComponentScale, useDensityConfig } from '../../../lib/ui-provider';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport { overflowTriggerRecipes, type ActionMenuContext } from './action-menu.recipes';\nimport {\n\tdefaultActionMenuStrings,\n\ttype ActionMenuStrings,\n} from './action-menu.strings';\n\ntype ActionMenuButtonProps = Partial<React.ComponentPropsWithoutRef<typeof Button>> & {\n\t[key: `data-${string}`]: string | boolean | undefined;\n\t'aria-label'?: string;\n\tonPointerDown?: React.PointerEventHandler<HTMLButtonElement>;\n};\nexport type ActionMenuDensity = CollectionDensity | 'table';\nexport type ActionMenuLabelVisibility = 'visible' | 'responsive' | 'hidden';\nexport interface ActionMenuLinkRenderProps extends React.ComponentPropsWithoutRef<'a'> {\n\thref: string;\n\tdisabled?: boolean;\n\texternal?: boolean;\n}\n\nexport type ActionMenuIcon = LucideIcon | ComponentType<{ className?: string }> | ReactNode;\n\nexport interface ActionMenuAction extends ActionPresentation {\n\t/** Stable React key. Falls back to a string `label`, then the index. */\n\tid?: string;\n\t/** Visible label for the entry. */\n\tlabel: ReactNode;\n\t/** Leading glyph. Accepts a Lucide icon, a component, or a rendered node. */\n\ticon?: ActionMenuIcon;\n\t/** `'checkbox'` renders a toggle driven by `checked`/`onCheckedChange`. Defaults to `'item'`. */\n\ttype?: 'item' | 'checkbox';\n\t/**\n\t * Renders the entry as a link. By default this is a native `<a href>`, so it\n\t * performs a full page navigation; pass `renderLink` on `ActionMenu` to route\n\t * it through your framework's router instead.\n\t */\n\thref?: string;\n\t/** Anchor target forwarded to the rendered link. Requires `href`. */\n\ttarget?: string;\n\t/** Anchor rel forwarded to the rendered link. Requires `href`. */\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Runs when the entry is chosen. This is the handler for a normal item. */\n\tonClick?: () => void;\n\t/** Checked state for a `'checkbox'` entry. */\n\tchecked?: boolean;\n\t/** Fires with the next checked state for a `'checkbox'` entry. */\n\tonCheckedChange?: (checked: boolean) => void;\n\t/**\n\t * Starts a new group, drawing a separator above this entry. A string also\n\t * captions the group; `true` rules off without a heading, for the common\n\t * case of holding one entry apart (a sign-out, a delete) with no label to\n\t * write.\n\t */\n\tgroup?: string | true;\n\t/** Class merged onto this group's starting separator/caption, for example a responsive boundary. Does not style or hide the action rows. */\n\tgroupClassName?: string;\n\t/** Overrides the button size when the action renders as a button. */\n\tbuttonSize?: ButtonSize;\n\t/** Escape hatch merged onto the entry root. */\n\tclassName?: string;\n\t/** Escape hatch merged onto the entry's inner content. */\n\tcontentClassName?: string;\n\t/** Overrides the menu's `closeOnSelect` for this entry. */\n\tcloseOnSelect?: boolean;\n\t/** Replaces the rendered entry, e.g. to emit a framework `<Link>`. */\n\trender?: ReactNode;\n}\n\nexport interface ActionMenuProps {\n\t/**\n\t * Commands to offer. Destructive entries are moved last unless\n\t * `preserveOrder` is set.\n\t */\n\tactions: readonly ActionMenuAction[];\n\t/** Trigger text. Omit for the shared icon-only overflow trigger, and set `srText` to name it. */\n\tlabel?: string;\n\t/** Trigger glyph. Defaults to the horizontal ellipsis (`MoreHorizontal`) every overflow menu shares. */\n\ticon?: ActionMenuIcon;\n\t/** Accessible name when the trigger shows no visible `label`. Defaults to `strings.openMenuLabel`, \"More actions\". */\n\tsrText?: string;\n\t/**\n\t * Where the menu sits, which picks the trigger treatment. `inline` (the\n\t * default) is the quiet ghost square for rows, cards and footers; `commands`\n\t * is the outline square that ends a row of outline commands. Place the menu\n\t * after any primary command in the same row.\n\t */\n\tcontext?: ActionMenuContext;\n\t/**\n\t * Escape hatch forwarded to the trigger button. An icon-only trigger takes\n\t * `size` from here to match the controls beside it, otherwise the provider\n\t * scale.\n\t */\n\tbuttonProps?: ActionMenuButtonProps;\n\t/** Menu alignment against the trigger. Defaults to `end`. */\n\talign?: 'center' | 'start' | 'end';\n\t/** Which edge of the trigger the menu opens from. Defaults to `bottom`. */\n\tside?: 'top' | 'right' | 'bottom' | 'left';\n\t/** Merged onto the menu surface. */\n\tcontentClassName?: string;\n\t/** Fixed menu width. Defaults to sizing from the widest item. */\n\twidth?: string;\n\t/** Closes the menu after an action runs. Defaults to `true`. */\n\tcloseOnSelect?: boolean;\n\t/** Vertical row rhythm; table preserves the legacy tight action spacing. Inline room stays stable. */\n\tdensity?: ActionMenuDensity;\n\t/** Whether the trigger's `label` is visible, hidden, or responsive. */\n\tlabelVisibility?: ActionMenuLabelVisibility;\n\t/** Preserve incoming action order instead of moving destructive items last. */\n\tpreserveOrder?: boolean;\n\t/**\n\t * Renders actions carrying an `href` through the consumer's router, keeping\n\t * this component framework-agnostic. Without it, such actions render as\n\t * plain anchors.\n\t */\n\trenderLink?: (props: ActionMenuLinkRenderProps) => ReactElement;\n\t/**\n\t * Replaces the default trigger button entirely, so a menu can hang off a\n\t * shape that is not a button with a glyph — an account block, a sidebar\n\t * row, a tab that has to match its siblings.\n\t *\n\t * Takes Base UI's `render` contract: either an element, whose props are\n\t * merged for you, or a function receiving the props to spread. Either way\n\t * the ARIA wiring, the open/close handlers and the popup's anchor ref reach\n\t * a real DOM node without anyone cloning anything.\n\t *\n\t * For a plain button that just needs different words or a different glyph,\n\t * `label`, `icon` and `buttonProps` are the smaller tools; reach for this\n\t * only when the trigger is a different thing.\n\t */\n\trenderTrigger?: React.ComponentProps<typeof DropdownMenuTrigger>['render'];\n\t/** Overrides the menu's own copy (the default trigger label). */\n\tstrings?: StringsProp<ActionMenuStrings>;\n}\n\nexport interface ActionButtonsProps {\n\t/**\n\t * Commands to render side by side rather than collapsed into a menu. Each\n\t * resolves like `Button`: untoned actions are the default outline button and\n\t * a `tone` without `buttonStyle` is solid, so mark the main command\n\t * `tone: 'primary'`.\n\t */\n\tactions: readonly ActionMenuAction[];\n\t/** Merged onto the button group. */\n\tclassName?: string;\n\t/** Merged onto every button in the group. */\n\tbuttonClassName?: string;\n\t/** Height preset applied to each button. */\n\tsize?: ButtonSize;\n\t/** Renders actions carrying an `href` through the consumer's router. */\n\trenderLink?: (props: ActionMenuLinkRenderProps) => ReactElement;\n}\n\nfunction isDestructiveAction(action: ActionMenuAction) {\n\treturn action.tone === 'destructive';\n}\n\nfunction resolveActions(actions: readonly ActionMenuAction[], preserveOrder = false) {\n\tconst visible = actions.filter((action) => action.visible !== false);\n\tif (preserveOrder) return visible;\n\n\tconst standard = visible.filter((action) => !isDestructiveAction(action));\n\tconst destructive = visible.filter(isDestructiveAction);\n\treturn [...standard, ...destructive];\n}\n\nfunction getActionKey(action: ActionMenuAction, index: number) {\n\treturn action.id ?? (typeof action.label === 'string' ? action.label : `action-${index}`);\n}\n\nfunction renderActionIcon(icon: ActionMenuAction['icon']) {\n\tif (!icon) return null;\n\tif (isValidElement(icon)) return icon;\n\tif (typeof icon === 'function') {\n\t\tconst Icon = icon as LucideIcon;\n\t\treturn <Icon className=\"size-icon-sm\" aria-hidden=\"true\" />;\n\t}\n\tif (typeof icon === 'object' && icon !== null && '$$typeof' in icon) {\n\t\tconst Icon = icon as unknown as ElementType<{ className?: string; 'aria-hidden'?: boolean }>;\n\t\treturn <Icon className=\"size-icon-sm\" aria-hidden />;\n\t}\n\treturn icon;\n}\n\nfunction renderActionLabel(label: ReactNode, className?: string) {\n\tif (typeof label === 'string' || typeof label === 'number' || typeof label === 'bigint') {\n\t\t// Same label recipe as Button: inherited size, medium weight.\n\t\treturn <Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className={cn('text-inherit', className)}>{label}</Text>;\n\t}\n\treturn className ? <span className={className}>{label}</span> : label;\n}\n\nfunction toMenuVariant(tone: ActionMenuAction['tone']): 'default' | 'destructive' {\n\treturn tone === 'destructive' ? 'destructive' : 'default';\n}\n\n/**\n * Inline actions resolve exactly like `Button`: an untoned action is the neutral\n * default button, and a tone without a style asks for that tone's solid treatment.\n * Mark the one main command with `tone: 'primary'`.\n */\nfunction toButtonPresentation(action: Pick<ActionMenuAction, 'tone' | 'buttonStyle'>): {\n\ttone?: ActionMenuAction['tone'];\n\tbuttonStyle?: ButtonStyle;\n\tclassName?: string;\n} {\n\tconst buttonStyle: ActionButtonStyle | undefined = action.buttonStyle;\n\tif (buttonStyle === 'link') {\n\t\treturn {\n\t\t\ttone: action.tone,\n\t\t\tbuttonStyle: 'ghost',\n\t\t\tclassName: 'underline underline-offset-[0.2em]',\n\t\t};\n\t}\n\treturn { tone: action.tone, buttonStyle };\n}\n\nfunction renderMenuAction({\n\taction,\n\tindex,\n\tdensity,\n\tcloseOnSelect,\n\trenderLink,\n}: {\n\taction: ActionMenuAction;\n\tindex: number;\n\tdensity: ActionMenuDensity;\n\tcloseOnSelect: boolean;\n\trenderLink?: (props: ActionMenuLinkRenderProps) => ReactElement;\n}) {\n\tconst key = getActionKey(action, index);\n\tconst shouldCloseOnSelect = action.closeOnSelect ?? closeOnSelect;\n\tif (action.render) {\n\t\treturn <div key={key} className=\"action-menu--item\">{action.render}</div>;\n\t}\n\n\tconst icon = renderActionIcon(action.icon);\n\tconst content = (\n\t\t<CollectionContent label={action.label} leading={icon} wrap\n\t\t className={cn('action-menu--item-content w-full',action.contentClassName)}\n\t\t leadingClassName=\"action-menu--item-icon text-inherit\" labelClassName=\"action-menu--item-label\"/>\n\t);\n\tconst className = cn(\n\t\t'action-menu--item',\n\t\tdensity === 'table' && collectionRecipes.tableRow,\n\t\taction.className,\n\t);\n\tif (action.type === 'checkbox') {\n\t\treturn (\n\t\t\t<DropdownMenuCheckboxItem\n\t\t\t\tkey={key}\n\t\t\t\tchecked={!!action.checked}\n\t\t\t\tdisabled={action.disabled}\n\t\t\t\tcloseOnClick={shouldCloseOnSelect}\n\t\t\t\tonCheckedChange={action.onCheckedChange}\n\t\t\t\tclassName={className}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</DropdownMenuCheckboxItem>\n\t\t);\n\t}\n\n\tif (action.href && !action.disabled) {\n\t\tconst href = action.href;\n\t\treturn (\n\t\t\t<DropdownMenuLinkItem\n\t\t\t\tkey={key}\n\t\t\t\thref={href}\n\t\t\t\tvariant={toMenuVariant(action.tone)}\n\t\t\t\tcloseOnClick={shouldCloseOnSelect}\n\t\t\t\tonClick={action.onClick}\n\t\t\t\t// Element form, not a function, when the consumer supplies a link\n\t\t\t\t// renderer. The function form hands the menu-item props to the\n\t\t\t\t// consumer and trusts them to spread — and the renderer people\n\t\t\t\t// actually write destructures href/children/className and drops the\n\t\t\t\t// rest, which silently costs the row its `role=\"menuitem\"`. Handing\n\t\t\t\t// back an element lets the menu merge its own props on afterwards,\n\t\t\t\t// so a narrow renderer stays accessible.\n\t\t\t\trender={\n\t\t\t\t\trenderLink\n\t\t\t\t\t\t? (renderLink({\n\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\tchildren: content,\n\t\t\t\t\t\t\ttarget: action.target,\n\t\t\t\t\t\t\trel: action.rel,\n\t\t\t\t\t\t\texternal: action.external,\n\t\t\t\t\t\t\tdisabled: action.disabled,\n\t\t\t\t\t\t}) as ReactElement)\n\t\t\t\t\t\t: (props) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\ttarget={action.target}\n\t\t\t\t\t\t\t\trel={action.rel}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tclassName={className}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</DropdownMenuLinkItem>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\tkey={key}\n\t\tdisabled={action.disabled}\n\t\tvariant={toMenuVariant(action.tone)}\n\t\tcloseOnClick={shouldCloseOnSelect}\n\t\tonClick={action.onClick}\n\t\tclassName={className}\n\t\t>\n\t\t\t{content}\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction renderGroupedActions(args: {\n\tactions: readonly ActionMenuAction[];\n\tdensity: ActionMenuDensity;\n\tcloseOnSelect: boolean;\n\trenderLink?: (props: ActionMenuLinkRenderProps) => ReactElement;\n}) {\n\tconst nodes: ReactNode[] = [];\n\tlet currentGroup: string | true | null = null;\n\n\targs.actions.forEach((action, index) => {\n\t\tconst nextGroup = action.group ?? null;\n\t\tconst groupChanged = nextGroup !== currentGroup;\n\n\t\tif (nodes.length > 0 && groupChanged) {\n\t\t\tnodes.push(<DropdownMenuSeparator key={`sep-${currentGroup ?? 'root'}-${nextGroup ?? 'root'}-${index}`} className={action.groupClassName} />);\n\t\t}\n\n\t\tif (groupChanged) {\n\t\t\tcurrentGroup = nextGroup;\n\t\t\tif (typeof nextGroup === 'string') {\n\t\t\t\tnodes.push(\n\t\t\t\t\t<DropdownMenuLabel\n\t\t\t\t\t\tkey={`group-${nextGroup}-${index}`}\n\t\t\t\t\t\tclassName={cn('normal-case', action.groupClassName)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{nextGroup}\n\t\t\t\t\t</DropdownMenuLabel>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tnodes.push(renderMenuAction({ ...args, action, index }));\n\t});\n\n\treturn nodes;\n}\n\n/**\n * Writes a node into a ref of either shape. `ActionMenu` has two claims on its\n * trigger — Base UI's own anchor ref and the consumer's — so neither may\n * overwrite the other.\n */\nfunction assignRef<T>(ref: React.Ref<T> | undefined, node: T | null) {\n\tif (typeof ref === 'function') {\n\t\tref(node);\n\t} else if (ref) {\n\t\t(ref as React.RefObject<T | null>).current = node;\n\t}\n}\n\nexport const ActionMenu = React.forwardRef<HTMLButtonElement, ActionMenuProps>(function ActionMenu({\n\tactions,\n\tlabel,\n\ticon = overflowTriggerRecipes.icon,\n\tsrText,\n\tcontext = 'inline',\n\tbuttonProps,\n\talign = 'end',\n\tside = 'bottom',\n\tcontentClassName = '',\n\twidth = 'w-auto',\n\tcloseOnSelect = true,\n\tdensity = 'default',\n\tlabelVisibility = 'visible',\n\tpreserveOrder = false,\n\trenderLink,\n\trenderTrigger,\n\tstrings: stringsProp,\n}: ActionMenuProps, ref) {\n\tconst [open, setOpen] = React.useState(false);\n\tconst { defaultScale } = useDensityConfig();\n\tconst strings = useStrings(defaultActionMenuStrings, stringsProp);\n\tconst resolvedSrText = srText ?? strings.openMenuLabel;\n\tconst resolvedActions = React.useMemo(\n\t\t() => resolveActions(actions, preserveOrder),\n\t\t[actions, preserveOrder],\n\t);\n\n\tif (resolvedActions.length === 0) return null;\n\tconst hasVisibleLabel = Boolean(label) && labelVisibility === 'visible';\n\tconst hasResponsiveLabel = Boolean(label) && labelVisibility === 'responsive';\n\n\t// The icon-only square takes the size of the controls beside it\n\t// (`buttonProps.size`), otherwise the provider scale like every other Button.\n\tconst recipe = overflowTriggerRecipes.context[context] ?? overflowTriggerRecipes.context.inline;\n\tconst requestedSize = hasVisibleLabel ? buttonProps?.size ?? 'sm' : resolveComponentScale(buttonProps?.size, defaultScale);\n\tconst squareClass = requestedSize === 'sm' ? 'size-action-sm' : requestedSize === 'lg' ? 'size-action-lg' : 'size-action';\n\tconst defaultButtonProps: ActionMenuButtonProps = {\n\t\ttone: recipe.tone,\n\t\tbuttonStyle: recipe.buttonStyle,\n\t\tsize: requestedSize,\n\t\ticonOnly: !hasVisibleLabel,\n\t\tclassName: hasVisibleLabel\n\t\t\t? undefined\n\t\t\t: hasResponsiveLabel\n\t\t\t\t? `${squareClass} p-0 sm:w-auto sm:gap-space-sm sm:px-control-sm`\n\t\t\t\t: cn(`${squareClass} p-0`, recipe.glyph),\n\t};\n\n\tconst mergedButtonProps = {\n\t\t...defaultButtonProps,\n\t\t...buttonProps,\n\t\tclassName: cn(defaultButtonProps.className, buttonProps?.className),\n\t};\n\n\tconst {\n\t\ttone = recipe.tone,\n\t\tbuttonStyle = recipe.buttonStyle,\n\t\tsize = requestedSize,\n\t\ticonOnly = !hasVisibleLabel,\n\t\tclassName: triggerClassName,\n\t\t...triggerProps\n\t} = mergedButtonProps;\n\n\tconst labelClassName =\n\t\tlabelVisibility === 'hidden'\n\t\t\t? 'sr-only'\n\t\t\t: labelVisibility === 'responsive'\n\t\t\t\t? 'sr-only sm:not-sr-only'\n\t\t\t\t: undefined;\n\n\tconst triggerIcon = renderActionIcon(icon);\n\n\tconst buttonContent = label ? (\n\t\t<>\n\t\t\t{triggerIcon}\n\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className={cn('whitespace-nowrap text-inherit', labelClassName)}>\n\t\t\t\t{label}\n\t\t\t</Text>\n\t\t</>\n\t) : (\n\t\t<>\n\t\t\t{triggerIcon}\n\t\t\t<Text tag=\"span\" size=\"inherit\" className=\"sr-only\">{resolvedSrText}</Text>\n\t\t</>\n\t);\n\n\treturn (\n\t\t<DropdownMenu open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={renderTrigger ?? ((dropdownTriggerProps) => {\n\t\t\t\t\t// Base UI supplies its own trigger ref through `render`. Composing\n\t\t\t\t\t// rather than overwriting keeps the popup anchored while still\n\t\t\t\t\t// handing the consumer the trigger element.\n\t\t\t\t\tconst { ref: baseTriggerRef } = dropdownTriggerProps as {\n\t\t\t\t\t\tref?: React.Ref<HTMLButtonElement>;\n\t\t\t\t\t};\n\n\t\t\t\t\tconst composedRef = (node: HTMLButtonElement | null) => {\n\t\t\t\t\t\tassignRef(baseTriggerRef, node);\n\t\t\t\t\t\tassignRef(ref, node);\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t{...dropdownTriggerProps}\n\t\t\t\t\t\t\tref={composedRef}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ttone={tone}\n\t\t\t\t\t\t\tbuttonStyle={buttonStyle}\n\t\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\t\ticonOnly={iconOnly}\n\t\t\t\t\t\t\tdata-context={context}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'action-menu--component',\n\t\t\t\t\t\t\t\ttriggerClassName,\n\t\t\t\t\t\t\t\t(dropdownTriggerProps as { className?: string }).className,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{buttonContent}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\tdensity={density === 'table' ? 'compact' : density}\n\t\t\t\talign={align}\n\t\t\t\tside={side}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'action-menu--content',\n\t\t\t\t\twidth,\n\t\t\t\t\tpopoverWidthRecipes.menuMin,\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<DropdownMenuGroup className=\"action-menu--group\">\n\t\t\t\t\t{renderGroupedActions({\n\t\t\t\t\t\tactions: resolvedActions,\n\t\t\t\t\t\tdensity,\n\t\t\t\t\t\tcloseOnSelect,\n\t\t\t\t\t\trenderLink,\n\t\t\t\t\t})}\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n});\n\nActionMenu.displayName = 'ActionMenu';\n\nexport const ActionButtons = React.forwardRef<HTMLDivElement, ActionButtonsProps>(function ActionButtons({\n\tactions,\n\tclassName,\n\tbuttonClassName,\n\tsize = 'sm',\n\trenderLink,\n}: ActionButtonsProps, ref) {\n\tconst visibleActions = resolveActions(actions, true);\n\tif (visibleActions.length === 0) return null;\n\n\treturn (\n\t\t<div ref={ref} className={cn('action-buttons--component flex flex-wrap items-center', compositionClasses.commands, className)}>\n\t\t\t{visibleActions.map((action, index) => {\n\t\t\t\tconst key = getActionKey(action, index);\n\t\t\t\tif (action.render) {\n\t\t\t\t\treturn <React.Fragment key={key}>{action.render}</React.Fragment>;\n\t\t\t\t}\n\n\t\t\t\tconst icon = renderActionIcon(action.icon);\n\t\t\t\tconst resolved = toButtonPresentation(action);\n\t\t\t\tconst children = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{!!icon && <span className=\"action-buttons--icon inline-flex shrink-0 items-center\">{icon}</span>}\n\t\t\t\t\t\t{renderActionLabel(action.label, 'action-buttons--label')}\n\t\t\t\t\t</>\n\t\t\t\t);\n\n\t\t\t\tif (action.href && !action.disabled && renderLink) {\n\t\t\t\t\tconst href = action.href;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ttone={resolved.tone}\n\t\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\t\tsize={action.buttonSize ?? size}\n\t\t\t\t\t\t\tnativeButton={false}\n\t\t\t\t\t\t\tclassName={cn('action-buttons--item', resolved.className, buttonClassName, action.className)}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\taction.onClick?.();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trender={(buttonRenderProps) =>\n\t\t\t\t\t\t\t\trenderLink({\n\t\t\t\t\t\t\t\t\t...buttonRenderProps,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\tchildren: buttonRenderProps.children,\n\t\t\t\t\t\t\t\t\ttarget: action.target,\n\t\t\t\t\t\t\t\t\trel: action.rel,\n\t\t\t\t\t\t\t\t\texternal: action.external,\n\t\t\t\t\t\t\t\t\tdisabled: action.disabled,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (action.href && !action.disabled) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button key={key} href={action.href} target={action.target} rel={action.rel} tone={resolved.tone} buttonStyle={resolved.buttonStyle} size={action.buttonSize ?? size} className={cn('action-buttons--item', resolved.className, buttonClassName, action.className)} onClick={action.onClick}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst button = (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\ttone={resolved.tone}\n\t\t\t\t\t\tbuttonStyle={resolved.buttonStyle}\n\t\t\t\t\t\tsize={action.buttonSize ?? size}\n\t\t\t\t\t\tclassName={cn('action-buttons--item', resolved.className, buttonClassName, action.className)}\n\t\t\t\t\t\tdisabled={!!action.disabled}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\taction.onClick?.();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\n\t\t\t\treturn button;\n\t\t\t})}\n\t\t</div>\n\t);\n});\n\nActionButtons.displayName = 'ActionButtons';\n\nexport {\n\tdefaultActionMenuStrings,\n\ttype ActionMenuStrings,\n} from './action-menu.strings';\n"],"mappings":"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"}
|
package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js}
RENAMED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
//#region src/lib/affordance-geometry.generated.ts
|
|
2
2
|
var e = {
|
|
3
|
+
surfaceGap: {
|
|
4
|
+
xs: "gap-[calc(var(--surface-y)*0.5*var(--space-scale))]",
|
|
5
|
+
sm: "gap-[calc(var(--surface-y)*2/3*var(--space-scale))]",
|
|
6
|
+
md: "gap-[calc(var(--surface-y)*var(--space-scale))]",
|
|
7
|
+
lg: "gap-[calc(var(--surface-y)*4/3*var(--space-scale))]"
|
|
8
|
+
},
|
|
3
9
|
inlineEditColumns: {
|
|
4
10
|
single: "grid-cols-[minmax(0,1fr)_calc(var(--height-action)*8/9*var(--density-scale)*2+0.25rem*var(--space-scale))]",
|
|
5
11
|
multiline: "grid-cols-[minmax(0,1fr)_calc(var(--height-action)*8/9*var(--density-scale))]"
|
|
@@ -137,4 +143,4 @@ var e = {
|
|
|
137
143
|
//#endregion
|
|
138
144
|
export { e as t };
|
|
139
145
|
|
|
140
|
-
//# sourceMappingURL=affordance-geometry.generated-
|
|
146
|
+
//# sourceMappingURL=affordance-geometry.generated-B8yGOr8-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"affordance-geometry.generated-B8yGOr8-.js","names":["affordanceGeometry","\"surfaceGap\"","\"xs\"","\"sm\"","\"md\"","\"lg\"","\"inlineEditColumns\"","\"single\"","\"multiline\"","\"avatarOverlap\"","\"navigationGuideStart\"","\"clearEnd\"","\"clearPadding\"","\"pairedClearPadding\"","\"pairedIconPadding\"","\"pairedAddonPadding\"","\"pairedCountPadding\"","\"measuredPadding\"","\"measuredStartPadding\"","\"textareaCountPadding\"","\"togglePadding\"","\"largeIconStart\"","\"largeIconEnd\"","\"buttonBlockPadding\"","\"controlTextMinHeight\"","\"controlBlockPadding\"","\"fileField\"","\"minHeight\"","\"buttonMinHeight\"","\"blockPadding\"","\"rawFileField\"","\"overlayClose\"","\"overlayHeader\"","\"selectToggleTrack\"","\"selectTogglePadding\"","\"textareaBlockPadding\"","\"textareaClearTop\"","\"textareaIconTop\"","\"clearTargetBleed\"","\"actionGutter\"","\"start\"","\"end\"","\"menuActionReserve\"","\"item\"","\"subItem\"","\"toastCloseReserve\"","\"calendarCell\"","\"calendarCompactCell\"","\"overlayHeaderCentered\""],"sources":["../src/lib/affordance-geometry.generated.ts"],"sourcesContent":["/* Generated by scripts/primitive-geometry.mjs; recipes, not theme roots. */\nexport const affordanceGeometry = {\n \"surfaceGap\": {\n \"xs\": \"gap-[calc(var(--surface-y)*0.5*var(--space-scale))]\",\n \"sm\": \"gap-[calc(var(--surface-y)*2/3*var(--space-scale))]\",\n \"md\": \"gap-[calc(var(--surface-y)*var(--space-scale))]\",\n \"lg\": \"gap-[calc(var(--surface-y)*4/3*var(--space-scale))]\"\n },\n \"inlineEditColumns\": {\n \"single\": \"grid-cols-[minmax(0,1fr)_calc(var(--height-action)*8/9*var(--density-scale)*2+0.25rem*var(--space-scale))]\",\n \"multiline\": \"grid-cols-[minmax(0,1fr)_calc(var(--height-action)*8/9*var(--density-scale))]\"\n },\n \"avatarOverlap\": {\n \"sm\": \"has-data-[scale=sm]:-space-x-[calc(var(--avatar)*0.75/4)]\",\n \"md\": \"-space-x-[calc(var(--avatar)/4)]\",\n \"lg\": \"has-data-[scale=lg]:-space-x-[calc(var(--avatar)*1.25/4)]\"\n },\n \"navigationGuideStart\": \"ms-[calc(var(--control-x)*0.8333333*var(--space-scale)+var(--icon)*0.75/2)]\",\n \"clearEnd\": {\n \"sm\": \"end-[calc(var(--control-x)*0.8333333*var(--space-scale))]\",\n \"md\": \"end-[calc(var(--control-x)*var(--space-scale))]\",\n \"lg\": \"end-[calc(var(--control-x)*var(--space-scale))]\"\n },\n \"clearPadding\": {\n \"sm\": \"pe-[calc(var(--control-x)*0.8333333*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"md\": \"pe-[calc(var(--control-x)*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc(var(--control-x)*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\"\n },\n \"pairedClearPadding\": {\n \"sm\": \"pe-[calc(var(--control-x)*0.8333333*var(--space-scale)+2.75rem*var(--density-scale)+0.75rem*var(--space-scale))]\",\n \"md\": \"pe-[calc(var(--control-x)*var(--space-scale)+2.75rem*var(--density-scale)+0.75rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc(var(--control-x)*var(--space-scale)+2.75rem*var(--density-scale)+0.75rem*var(--space-scale))]\"\n },\n \"pairedIconPadding\": {\n \"sm\": \"pe-[calc((var(--control-x)*0.8333333+0.375rem)*var(--space-scale)+var(--icon)*0.75+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"md\": \"pe-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)*1.25+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\"\n },\n \"pairedAddonPadding\": {\n \"sm\": \"pe-[calc(var(--control-x)*0.8333333*var(--space-scale)+1.25rem+0.375rem*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"md\": \"pe-[calc(var(--control-x)*var(--space-scale)+1.5rem+0.375rem*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc(var(--control-x)*var(--space-scale)+1.5rem+0.375rem*var(--space-scale)+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\"\n },\n \"pairedCountPadding\": {\n \"sm\": \"pe-[calc(var(--control-x)*0.8333333*var(--space-scale)+2.25rem+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"md\": \"pe-[calc(var(--control-x)*var(--space-scale)+2.5rem+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc(var(--control-x)*var(--space-scale)+2.5rem+1.375rem*var(--density-scale)+0.375rem*var(--space-scale))]\"\n },\n \"measuredPadding\": {\n \"sm\": \"pe-[calc(var(--control-x)*0.8333333*var(--space-scale)+var(--field-trailing-width)+0.375rem*var(--space-scale))]\",\n \"md\": \"pe-[calc(var(--control-x)*var(--space-scale)+var(--field-trailing-width)+0.375rem*var(--space-scale))]\",\n \"lg\": \"pe-[calc(var(--control-x)*var(--space-scale)+var(--field-trailing-width)+0.375rem*var(--space-scale))]\"\n },\n \"measuredStartPadding\": {\n \"sm\": \"ps-[calc(var(--control-x)*0.8333333*var(--space-scale)+var(--field-leading-width)+0.375rem*var(--space-scale))]\",\n \"md\": \"ps-[calc(var(--control-x)*var(--space-scale)+var(--field-leading-width)+0.375rem*var(--space-scale))]\",\n \"lg\": \"ps-[calc(var(--control-x)*var(--space-scale)+var(--field-leading-width)+0.375rem*var(--space-scale))]\"\n },\n \"textareaCountPadding\": \"pb-[calc(var(--text-xs)*var(--leading-normal)+0.625rem*var(--space-scale))]\",\n \"togglePadding\": \"pe-[calc(1.375rem*var(--density-scale)+0.625rem*var(--space-scale))]\",\n \"largeIconStart\": \"ps-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)*1.25)]\",\n \"largeIconEnd\": \"pe-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)*1.25)]\",\n \"buttonBlockPadding\": {\n \"sm\": \"py-[min(calc(0.25rem*var(--space-scale)),calc((var(--height-action)*8/9*var(--density-scale)-1lh)/2-1px))]\",\n \"md\": \"py-[min(calc(0.25rem*var(--space-scale)),calc((var(--height-action)*var(--density-scale)-1lh)/2-1px))]\",\n \"lg\": \"py-[min(calc(0.25rem*var(--space-scale)),calc((var(--height-action)*10/9*var(--density-scale)-1lh)/2-1px))]\"\n },\n \"controlTextMinHeight\": \"min-h-[calc(1lh+2px)]\",\n \"controlBlockPadding\": {\n \"sm\": \"py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)))]\",\n \"md\": \"py-[max(0px,min(calc(0.25rem*var(--space-scale)),calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)))]\",\n \"lg\": \"py-[max(0px,min(calc(0.375rem*var(--space-scale)),calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)))]\"\n },\n \"fileField\": {\n \"minHeight\": \"min-h-[calc(max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-pxs)*var(--text-pxs--line-height)+2px)))+2px)]\",\n \"buttonMinHeight\": \"file:min-h-[calc(1lh+2px)]\",\n \"blockPadding\": {\n \"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)))]\",\n \"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)))]\",\n \"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)))]\"\n }\n },\n \"rawFileField\": {\n \"minHeight\": \"min-h-[calc(max(1lh,max(calc(1.75rem*var(--density-scale)),calc(var(--text-sm)*var(--text-sm--line-height)+0px)))+2px)]\",\n \"buttonMinHeight\": \"file:min-h-[calc(1lh+0px)]\",\n \"blockPadding\": {\n \"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)))]\",\n \"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)))]\",\n \"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)))]\"\n }\n },\n \"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))]\",\n \"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))]\",\n \"selectToggleTrack\": {\n \"sm\": \"end-[calc(var(--control-x)*0.8333333*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon)*0.75)/2)]\",\n \"md\": \"end-[calc(var(--control-x)*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon))/2)]\",\n \"lg\": \"end-[calc(var(--control-x)*var(--space-scale)+1px-(1.375rem*var(--density-scale)-var(--icon)*1.25)/2)]\"\n },\n \"selectTogglePadding\": {\n \"sm\": \"pe-[calc((var(--control-x)*0.8333333+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon)*0.75)/2)]\",\n \"md\": \"pe-[calc((var(--control-x)+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon))/2)]\",\n \"lg\": \"pe-[calc((var(--control-x)+0.375rem)*var(--space-scale)+1px+(1.375rem*var(--density-scale)+var(--icon)*1.25)/2)]\"\n },\n \"textareaBlockPadding\": {\n \"sm\": \"py-[calc((var(--height-control)*8/9*var(--density-scale)-1lh)/2-1px)]\",\n \"md\": \"py-[calc((var(--height-control)*var(--density-scale)-1lh)/2-1px)]\",\n \"lg\": \"py-[calc((var(--height-control)*10/9*var(--density-scale)-1lh)/2-1px)]\"\n },\n \"textareaClearTop\": {\n \"sm\": \"top-[calc((var(--height-control)*8/9-1.375rem)*var(--density-scale)/2)]\",\n \"md\": \"top-[calc((var(--height-control)-1.375rem)*var(--density-scale)/2)]\",\n \"lg\": \"top-[calc((var(--height-control)*10/9-1.375rem)*var(--density-scale)/2)]\"\n },\n \"textareaIconTop\": {\n \"sm\": \"top-[calc((var(--height-control)*8/9*var(--density-scale)-var(--icon))/2)]\",\n \"md\": \"top-[calc((var(--height-control)*var(--density-scale)-var(--icon))/2)]\",\n \"lg\": \"top-[calc((var(--height-control)*10/9*var(--density-scale)-var(--icon))/2)]\"\n },\n \"clearTargetBleed\": \"-my-[calc((1.375rem*var(--density-scale)-var(--icon)*0.75)/2)]\",\n \"actionGutter\": {\n \"sm\": {\n \"start\": \"ps-[calc(var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]\",\n \"end\": \"pe-[calc(var(--height-action)*8/9*var(--density-scale)+0.5rem*var(--space-scale))]\"\n },\n \"md\": {\n \"start\": \"ps-[calc(var(--height-action)*var(--density-scale)+0.5rem*var(--space-scale))]\",\n \"end\": \"pe-[calc(var(--height-action)*var(--density-scale)+0.5rem*var(--space-scale))]\"\n },\n \"lg\": {\n \"start\": \"ps-[calc(var(--height-action)*10/9*var(--density-scale)+0.5rem*var(--space-scale))]\",\n \"end\": \"pe-[calc(var(--height-action)*10/9*var(--density-scale)+0.5rem*var(--space-scale))]\"\n }\n },\n \"menuActionReserve\": {\n \"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))]!\",\n \"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))]!\"\n },\n \"toastCloseReserve\": \"has-[[data-close-button]]:!pe-[calc(var(--height-action)*8/9*var(--density-scale)+0.75rem*var(--space-scale))]\",\n \"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))]\",\n \"calendarCompactCell\": \"[--cell-size:calc(1.875rem*var(--density-scale))] sm:[--cell-size:calc(var(--height-action)*8/9*var(--density-scale))]\",\n \"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))]\"\n} as const;\n"],"mappings":";AACA,IAAaA,IAAqB;CAChCC,YAAc;EACZC,IAAM;EACNC,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAC,mBAAqB;EACnBC,QAAU;EACVC,WAAa;CACf;CACAC,eAAiB;EACfN,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAK,sBAAwB;CACxBC,UAAY;EACVR,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAO,cAAgB;EACdT,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAQ,oBAAsB;EACpBV,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAS,mBAAqB;EACnBX,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAU,oBAAsB;EACpBZ,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAW,oBAAsB;EACpBb,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAY,iBAAmB;EACjBd,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAa,sBAAwB;EACtBf,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAc,sBAAwB;CACxBC,eAAiB;CACjBC,gBAAkB;CAClBC,cAAgB;CAChBC,oBAAsB;EACpBpB,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAmB,sBAAwB;CACxBC,qBAAuB;EACrBtB,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAqB,WAAa;EACXC,WAAa;EACbC,iBAAmB;EACnBC,cAAgB;GACd1B,IAAM;GACNC,IAAM;GACNC,IAAM;EACR;CACF;CACAyB,cAAgB;EACdH,WAAa;EACbC,iBAAmB;EACnBC,cAAgB;GACd1B,IAAM;GACNC,IAAM;GACNC,IAAM;EACR;CACF;CACA0B,cAAgB;CAChBC,eAAiB;CACjBC,mBAAqB;EACnB9B,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACA6B,qBAAuB;EACrB/B,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACA8B,sBAAwB;EACtBhC,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACA+B,kBAAoB;EAClBjC,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAgC,iBAAmB;EACjBlC,IAAM;EACNC,IAAM;EACNC,IAAM;CACR;CACAiC,kBAAoB;CACpBC,cAAgB;EACdpC,IAAM;GACJqC,OAAS;GACTC,KAAO;EACT;EACArC,IAAM;GACJoC,OAAS;GACTC,KAAO;EACT;EACApC,IAAM;GACJmC,OAAS;GACTC,KAAO;EACT;CACF;CACAC,mBAAqB;EACnBC,MAAQ;EACRC,SAAW;CACb;CACAC,mBAAqB;CACrBC,cAAgB;CAChBC,qBAAuB;CACvBC,uBAAyB;AAC3B"}
|