admin-ui-starter-kit 0.6.5 → 0.6.6
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/.agents/skills/component-library-rules/references/components/base__cards.md +3 -4
- package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +2 -2
- package/dist/_shared/accordion-BRj4TDQx.js +135 -0
- package/dist/_shared/accordion-BRj4TDQx.js.map +1 -0
- package/dist/_shared/accordion-DvlDjk29.cjs +2 -0
- package/dist/_shared/accordion-DvlDjk29.cjs.map +1 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
- package/dist/_shared/action-menu-Crn22LKo.js +96 -0
- package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
- package/dist/_shared/ai-artifact-BHgd3agA.js +1099 -0
- package/dist/_shared/ai-artifact-BHgd3agA.js.map +1 -0
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs +3 -0
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +1 -0
- package/dist/_shared/alert-CMVVt2Br.js +81 -0
- package/dist/_shared/alert-CMVVt2Br.js.map +1 -0
- package/dist/_shared/alert-Dmhtbmpg.cjs +2 -0
- package/dist/_shared/alert-Dmhtbmpg.cjs.map +1 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
- package/dist/_shared/auth-DZW6NkJx.cjs +2 -0
- package/dist/_shared/auth-DZW6NkJx.cjs.map +1 -0
- package/dist/_shared/auth-Dh790NI_.js +643 -0
- package/dist/_shared/auth-Dh790NI_.js.map +1 -0
- package/dist/_shared/badge-B8xGFpfM.cjs +2 -0
- package/dist/_shared/badge-B8xGFpfM.cjs.map +1 -0
- package/dist/_shared/badge-BYNwSWh5.js +110 -0
- package/dist/_shared/badge-BYNwSWh5.js.map +1 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
- package/dist/_shared/button-BMiPFJIb.cjs +2 -0
- package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
- package/dist/_shared/button-vv59_uS_.js +189 -0
- package/dist/_shared/button-vv59_uS_.js.map +1 -0
- package/dist/_shared/buttons-CvqIMv3I.js +137 -0
- package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
- package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
- package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
- package/dist/_shared/card-radio-group-Bhe8gAbH.js +150 -0
- package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +1 -0
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs +2 -0
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +1 -0
- package/dist/_shared/cards-Cu6p1Brd.cjs +2 -0
- package/dist/_shared/cards-Cu6p1Brd.cjs.map +1 -0
- package/dist/_shared/cards-cQ9lL6zy.js +354 -0
- package/dist/_shared/cards-cQ9lL6zy.js.map +1 -0
- package/dist/_shared/combobox-BGYjyXeN.cjs +2 -0
- package/dist/_shared/combobox-BGYjyXeN.cjs.map +1 -0
- package/dist/_shared/combobox-DTwomOBt.js +954 -0
- package/dist/_shared/combobox-DTwomOBt.js.map +1 -0
- package/dist/_shared/comments-C97vL5km.js +952 -0
- package/dist/_shared/comments-C97vL5km.js.map +1 -0
- package/dist/_shared/comments-DBe6dP-d.cjs +2 -0
- package/dist/_shared/comments-DBe6dP-d.cjs.map +1 -0
- package/dist/_shared/copyable-BgFdERqs.js +38 -0
- package/dist/_shared/copyable-BgFdERqs.js.map +1 -0
- package/dist/_shared/copyable-Ce8rmE-V.cjs +2 -0
- package/dist/_shared/copyable-Ce8rmE-V.cjs.map +1 -0
- package/dist/_shared/data-display-DUWxoDKq.js +1873 -0
- package/dist/_shared/data-display-DUWxoDKq.js.map +1 -0
- package/dist/_shared/data-display-o-rbMuIA.cjs +2 -0
- package/dist/_shared/data-display-o-rbMuIA.cjs.map +1 -0
- package/dist/_shared/date-picker-Cxx9jllA.js +1361 -0
- package/dist/_shared/date-picker-Cxx9jllA.js.map +1 -0
- package/dist/_shared/date-picker-DE5A8yqN.cjs +2 -0
- package/dist/_shared/date-picker-DE5A8yqN.cjs.map +1 -0
- package/dist/_shared/date-pickers-Dex1Mfye.cjs +2 -0
- package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +1 -0
- package/dist/_shared/date-pickers-m0dpDcqH.js +329 -0
- package/dist/_shared/date-pickers-m0dpDcqH.js.map +1 -0
- package/dist/_shared/display-Bro3Kufg.js +986 -0
- package/dist/_shared/display-Bro3Kufg.js.map +1 -0
- package/dist/_shared/display-CRQjSjgB.cjs +2 -0
- package/dist/_shared/display-CRQjSjgB.cjs.map +1 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
- package/dist/_shared/forms-D-SNQmtB.cjs +2 -0
- package/dist/_shared/forms-D-SNQmtB.cjs.map +1 -0
- package/dist/_shared/forms-p7cfzJwf.js +3533 -0
- package/dist/_shared/forms-p7cfzJwf.js.map +1 -0
- package/dist/_shared/header-8C71wVRp.js +447 -0
- package/dist/_shared/header-8C71wVRp.js.map +1 -0
- package/dist/_shared/header-CYgFCnjZ.cjs +2 -0
- package/dist/_shared/header-CYgFCnjZ.cjs.map +1 -0
- package/dist/_shared/hooks-Ci1LFWRG.js +95 -0
- package/dist/_shared/hooks-Ci1LFWRG.js.map +1 -0
- package/dist/_shared/hooks-Cjl7LJpn.cjs +2 -0
- package/dist/_shared/hooks-Cjl7LJpn.cjs.map +1 -0
- package/dist/_shared/input-BgcP6x4C.js +182 -0
- package/dist/_shared/input-BgcP6x4C.js.map +1 -0
- package/dist/_shared/input-DV3g7Fm5.cjs +2 -0
- package/dist/_shared/input-DV3g7Fm5.cjs.map +1 -0
- package/dist/_shared/item-D7GTzvhf.js +226 -0
- package/dist/_shared/item-D7GTzvhf.js.map +1 -0
- package/dist/_shared/item-DTrnHpfm.cjs +2 -0
- package/dist/_shared/item-DTrnHpfm.cjs.map +1 -0
- package/dist/_shared/layout-BExg7Vlx.js +261 -0
- package/dist/_shared/layout-BExg7Vlx.js.map +1 -0
- package/dist/_shared/layout-CKRD_goE.cjs +2 -0
- package/dist/_shared/layout-CKRD_goE.cjs.map +1 -0
- package/dist/_shared/mentions-BtGhYisA.js +506 -0
- package/dist/_shared/mentions-BtGhYisA.js.map +1 -0
- package/dist/_shared/mentions-CnVOuQJU.cjs +2 -0
- package/dist/_shared/mentions-CnVOuQJU.cjs.map +1 -0
- package/dist/_shared/money-display-BvVpRUs5.cjs +2 -0
- package/dist/_shared/money-display-BvVpRUs5.cjs.map +1 -0
- package/dist/_shared/money-display-D6Qtvyyv.js +198 -0
- package/dist/_shared/money-display-D6Qtvyyv.js.map +1 -0
- package/dist/_shared/navigation-C4dO1I82.cjs +2 -0
- package/dist/_shared/navigation-C4dO1I82.cjs.map +1 -0
- package/dist/_shared/navigation-Ct-LFlpY.js +436 -0
- package/dist/_shared/navigation-Ct-LFlpY.js.map +1 -0
- package/dist/_shared/overlays-ChyqXn0n.js +735 -0
- package/dist/_shared/overlays-ChyqXn0n.js.map +1 -0
- package/dist/_shared/overlays-Dn2bt3CL.cjs +2 -0
- package/dist/_shared/overlays-Dn2bt3CL.cjs.map +1 -0
- package/dist/_shared/popover-menu-17Dxn25O.js +93 -0
- package/dist/_shared/popover-menu-17Dxn25O.js.map +1 -0
- package/dist/_shared/popover-menu-DXVN0bvj.cjs +2 -0
- package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-BRpcNkj1.js +620 -0
- package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +1 -0
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +2 -0
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +1 -0
- package/dist/_shared/settings-CW9yzfQM.js +143 -0
- package/dist/_shared/settings-CW9yzfQM.js.map +1 -0
- package/dist/_shared/settings-cCPrw7si.cjs +2 -0
- package/dist/_shared/settings-cCPrw7si.cjs.map +1 -0
- package/dist/_shared/sidebar-Cq6J_I4l.cjs +2 -0
- package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +1 -0
- package/dist/_shared/sidebar-DtF_ihE3.js +548 -0
- package/dist/_shared/sidebar-DtF_ihE3.js.map +1 -0
- package/dist/_shared/spinner-DY2de3Wt.cjs +2 -0
- package/dist/_shared/spinner-DY2de3Wt.cjs.map +1 -0
- package/dist/_shared/spinner-ZmIq_zsx.js +67 -0
- package/dist/_shared/spinner-ZmIq_zsx.js.map +1 -0
- package/dist/_shared/table-BBWc-wIw.js +1377 -0
- package/dist/_shared/table-BBWc-wIw.js.map +1 -0
- package/dist/_shared/table-DMDkdLzV.cjs +2 -0
- package/dist/_shared/table-DMDkdLzV.cjs.map +1 -0
- package/dist/_shared/textarea-C1TeJ7Vt.cjs +2 -0
- package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +1 -0
- package/dist/_shared/textarea-CGRkgH5z.js +118 -0
- package/dist/_shared/textarea-CGRkgH5z.js.map +1 -0
- package/dist/_shared/typography-CzFVA1w1.js +201 -0
- package/dist/_shared/typography-CzFVA1w1.js.map +1 -0
- package/dist/_shared/typography-GtkgK9QX.cjs +2 -0
- package/dist/_shared/typography-GtkgK9QX.cjs.map +1 -0
- package/dist/_shared/workspace-BF5BtDhD.cjs +2 -0
- package/dist/_shared/workspace-BF5BtDhD.cjs.map +1 -0
- package/dist/_shared/workspace-IvsczduM.js +357 -0
- package/dist/_shared/workspace-IvsczduM.js.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/badge.d.ts.map +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +3 -3
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +3 -3
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.js +3 -3
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +3 -3
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/data-table.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.js +11 -11
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +8 -8
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.js +3 -3
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +7 -7
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.js +8 -8
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +5 -5
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +3 -3
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +4 -4
- package/dist/components/features/ai-chat/index.cjs +1 -1
- package/dist/components/features/ai-chat/index.js +5 -5
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.js +2 -2
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +4 -4
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.js +6 -6
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.js +4 -4
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +8 -8
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +11 -11
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +4 -4
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/app-shell/index.cjs +1 -1
- package/dist/components/layout/app-shell/index.js +1 -1
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +6 -0
- package/dist/showcase/assets/CompositeItem-D9zznn01.js +1 -0
- package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +1 -0
- package/dist/showcase/assets/LabelableContext-_EE-HBND.js +1 -0
- package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +1 -0
- package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +1 -0
- package/dist/showcase/assets/Separator-CHVXO6nj.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +1 -0
- package/dist/showcase/assets/accordion-CA84bxb2.js +171 -0
- package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +1 -0
- package/dist/showcase/assets/action-menu-D0q5z-Kq.js +1 -0
- package/dist/showcase/assets/actions-DnqxABJU.js +310 -0
- package/dist/showcase/assets/activities-BC9hoMy9.js +500 -0
- package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +1 -0
- package/dist/showcase/assets/admin-CMnMsugJ.js +140 -0
- package/dist/showcase/assets/ai-B6_sE9Zg.js +207 -0
- package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +2 -0
- package/dist/showcase/assets/ai-chat-lcXeqJrA.js +568 -0
- package/dist/showcase/assets/ai-elements-B32o_UjE.js +387 -0
- package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +1 -0
- package/dist/showcase/assets/alert-B1p1Grce.js +62 -0
- package/dist/showcase/assets/alert-BBiffYsY.js +93 -0
- package/dist/showcase/assets/alert-vH0nJ8J9.js +1 -0
- package/dist/showcase/assets/api-key-list-BrSc6V1y.js +1 -0
- package/dist/showcase/assets/api-key-list-CoKe_PaL.js +73 -0
- package/dist/showcase/assets/app-sidebar-R93lRPB4.js +1 -0
- package/dist/showcase/assets/arrow-down-xxVIADbv.js +1 -0
- package/dist/showcase/assets/arrow-left-DxnlnN8R.js +1 -0
- package/dist/showcase/assets/arrow-right-S5k93UPM.js +1 -0
- package/dist/showcase/assets/arrow-up-OlEVG7a-.js +1 -0
- package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +1 -0
- package/dist/showcase/assets/avatar-BbiXvZq7.js +67 -0
- package/dist/showcase/assets/avatar-Bwpw-hQo.js +57 -0
- package/dist/showcase/assets/avatar-D0DKQ1lK.js +1 -0
- package/dist/showcase/assets/avatar-WyjSBov9.js +1 -0
- package/dist/showcase/assets/badge-BzLZQO3L.js +31 -0
- package/dist/showcase/assets/badge-check-TFWm1m3F.js +1 -0
- package/dist/showcase/assets/bell-CmuQlO_k.js +1 -0
- package/dist/showcase/assets/bot-Bu518AJB.js +1 -0
- package/dist/showcase/assets/box-D-wrSdOJ.js +1 -0
- package/dist/showcase/assets/braces-CgCdmdAl.js +1 -0
- package/dist/showcase/assets/brain-DkHdwgHO.js +1 -0
- package/dist/showcase/assets/brand-CpovnVoG.js +36 -0
- package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +1 -0
- package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +52 -0
- package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +1 -0
- package/dist/showcase/assets/briefcase-CQBh2kok.js +1 -0
- package/dist/showcase/assets/building-2-D07Ej6iR.js +1 -0
- package/dist/showcase/assets/button-CCZ4KEGQ.js +44 -0
- package/dist/showcase/assets/button-group-BTjeHOvz.js +1 -0
- package/dist/showcase/assets/buttons-D45Wwiwn.js +272 -0
- package/dist/showcase/assets/calendar-BsEWULmZ.js +16 -0
- package/dist/showcase/assets/calendar-CkPefzIO.js +1 -0
- package/dist/showcase/assets/calendar-DZlT3qTq.js +1 -0
- package/dist/showcase/assets/calendar-days-C9awTMru.js +1 -0
- package/dist/showcase/assets/camera-CQhMw-RD.js +1 -0
- package/dist/showcase/assets/card-CKrz_UHt.js +1 -0
- package/dist/showcase/assets/card-DZgZgjXO.js +188 -0
- package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +1 -0
- package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +1 -0
- package/dist/showcase/assets/cards-Cd24XZ9l.js +353 -0
- package/dist/showcase/assets/carousel-Doon04yO.js +449 -0
- package/dist/showcase/assets/cell-renderers-CTay3duH.js +1 -0
- package/dist/showcase/assets/chart-CkvbdpWw.js +358 -0
- package/dist/showcase/assets/chart-column-Dz57kUMl.js +1 -0
- package/dist/showcase/assets/checkbox-L-L4-wvA.js +1 -0
- package/dist/showcase/assets/checkbox-sP254E7e.js +1 -0
- package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +1 -0
- package/dist/showcase/assets/chevron-left-CMRIGOJt.js +1 -0
- package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-C519RKki.js +1 -0
- package/dist/showcase/assets/circle-B_tOHWTY.js +1 -0
- package/dist/showcase/assets/circle-alert-B56AFULT.js +1 -0
- package/dist/showcase/assets/circle-check-B4XZj4Ty.js +1 -0
- package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +1 -0
- package/dist/showcase/assets/circle-dot-DPdJZkc6.js +1 -0
- package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +1 -0
- package/dist/showcase/assets/circle-x-B4FwM-sI.js +1 -0
- package/dist/showcase/assets/clock-3-DZhjBuw8.js +1 -0
- package/dist/showcase/assets/clock-B9Fna2Q3.js +1 -0
- package/dist/showcase/assets/code-xml-B6Xb_vIg.js +1 -0
- package/dist/showcase/assets/collapsible-Bf7Oo37i.js +27 -0
- package/dist/showcase/assets/collapsible-BfLeooy8.js +1 -0
- package/dist/showcase/assets/combobox-4NYfJznY.js +685 -0
- package/dist/showcase/assets/command-7jRRucHf.js +1 -0
- package/dist/showcase/assets/command-D56CjgNc.js +1 -0
- package/dist/showcase/assets/comment-composer-BWeXIZfK.js +1 -0
- package/dist/showcase/assets/comment-item-ChkiK-ut.js +1 -0
- package/dist/showcase/assets/comments-YnEop7v3.js +357 -0
- package/dist/showcase/assets/commerce-7XxWJChs.js +267 -0
- package/dist/showcase/assets/composite-CHcyYCsk.js +1 -0
- package/dist/showcase/assets/contact-card-BXw-VuBm.js +65 -0
- package/dist/showcase/assets/content-container-C4uopCBg.js +1 -0
- package/dist/showcase/assets/copyable-CjVYEJ0P.js +1 -0
- package/dist/showcase/assets/copyable-Cz2jW7yL.js +96 -0
- package/dist/showcase/assets/course-card-CvK3dw9W.js +77 -0
- package/dist/showcase/assets/cpu-Vk5WgcC1.js +1 -0
- package/dist/showcase/assets/credit-card-CaigqZGk.js +1 -0
- package/dist/showcase/assets/css-variables-hLaBmeMt.js +1190 -0
- package/dist/showcase/assets/currency-yO1giHp1.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +90 -0
- package/dist/showcase/assets/data-view-CjjXn5VT.js +124 -0
- package/dist/showcase/assets/data-view-DF0n8uva.js +4 -0
- package/dist/showcase/assets/database-ChUBDe8E.js +1 -0
- package/dist/showcase/assets/date-block-DUg1Oyn4.js +1 -0
- package/dist/showcase/assets/date-picker-CoQPZa34.js +1 -0
- package/dist/showcase/assets/date-pickers-B-IUbyXw.js +73 -0
- package/dist/showcase/assets/dense-info-zVQSWqOU.js +106 -0
- package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +264 -0
- package/dist/showcase/assets/dialog-BtilpgxJ.js +1 -0
- package/dist/showcase/assets/dialog-kf9WwmTC.js +1 -0
- package/dist/showcase/assets/display-utilities-BBzG5EPX.js +267 -0
- package/dist/showcase/assets/dist-9gFIhkw-.js +45 -0
- package/dist/showcase/assets/dist-CGpz_7Mu.js +1 -0
- package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +1 -0
- package/dist/showcase/assets/download-Bt_z-poH.js +1 -0
- package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +1 -0
- package/dist/showcase/assets/dropzone-D5BGVTnl.js +1 -0
- package/dist/showcase/assets/earth-sP5mIgG3.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +1 -0
- package/dist/showcase/assets/ellipsis-yqIF49C8.js +1 -0
- package/dist/showcase/assets/empty-DIrJgtrh.js +1 -0
- package/dist/showcase/assets/empty-item-GgnZk2yf.js +49 -0
- package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +190 -0
- package/dist/showcase/assets/empty-state-n_Fspzt-.js +1 -0
- package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +1 -0
- package/dist/showcase/assets/esm-CyFPn936.js +2 -0
- package/dist/showcase/assets/event-calendar-Czo7yBDx.js +138 -0
- package/dist/showcase/assets/event-log-DJ3B3nMV.js +330 -0
- package/dist/showcase/assets/example-eGsLGIcp.js +1 -0
- package/dist/showcase/assets/external-link-DPOQEVWH.js +1 -0
- package/dist/showcase/assets/eye-CN92NVL0.js +1 -0
- package/dist/showcase/assets/feature-announcement-BXkSW17e.js +34 -0
- package/dist/showcase/assets/file-CFHePlKG.js +1 -0
- package/dist/showcase/assets/file-text--WYCYQMw.js +1 -0
- package/dist/showcase/assets/filter-layout-B35gGmcO.js +1 -0
- package/dist/showcase/assets/filters-GDW_oiT3.js +139 -0
- package/dist/showcase/assets/flag-XsT9XFPr.js +1 -0
- package/dist/showcase/assets/folder-open-RtsQ8vxf.js +1 -0
- package/dist/showcase/assets/form-field-Bijd1Gex.js +1 -0
- package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
- package/dist/showcase/assets/format-Ckw4OM66.js +1 -0
- package/dist/showcase/assets/forms-00bU7LN8.js +915 -0
- package/dist/showcase/assets/funnel-qu25WlXD.js +1 -0
- package/dist/showcase/assets/generic-Bf82Wiol.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +1 -0
- package/dist/showcase/assets/gift-D4GQoqzV.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +85 -0
- package/dist/showcase/assets/git-branch-B2QG2zRg.js +1 -0
- package/dist/showcase/assets/global-search-CRAB9TSF.js +1 -0
- package/dist/showcase/assets/global-search-DY0cKfhY.js +215 -0
- package/dist/showcase/assets/globe-BxZW28rG.js +1 -0
- package/dist/showcase/assets/gradient-card-CQGnXG8r.js +58 -0
- package/dist/showcase/assets/hash-CsRtIoKK.js +1 -0
- package/dist/showcase/assets/header-DzYOgZLP.js +1 -0
- package/dist/showcase/assets/header-notifications-D_CJPbvs.js +1 -0
- package/dist/showcase/assets/heart-B2YsYprq.js +1 -0
- package/dist/showcase/assets/hooks-BhUMA4Tb.js +220 -0
- package/dist/showcase/assets/house-HeRFNhI0.js +1 -0
- package/dist/showcase/assets/icon-badge-CpDkc-S0.js +37 -0
- package/dist/showcase/assets/icon-badge-eNEGgpAV.js +1 -0
- package/dist/showcase/assets/image-T88JyDag.js +1 -0
- package/dist/showcase/assets/inbox-DLrLLnTR.js +1 -0
- package/dist/showcase/assets/index-DDZl6kOS.js +10 -0
- package/dist/showcase/assets/index-nOkXemgw.css +2 -0
- package/dist/showcase/assets/inertValue-BajuuRy4.js +1 -0
- package/dist/showcase/assets/info-CNYfw2Yz.js +1 -0
- package/dist/showcase/assets/inline-stat-BN6yhDR5.js +15 -0
- package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +1 -0
- package/dist/showcase/assets/input-C-9K6F0N.js +1 -0
- package/dist/showcase/assets/input-DaZzfkZV.js +1 -0
- package/dist/showcase/assets/input-group-DE-Xdhv4.js +1 -0
- package/dist/showcase/assets/input-group-DIQZnytn.js +47 -0
- package/dist/showcase/assets/inputs-Cl_JgSR4.js +155 -0
- package/dist/showcase/assets/installation-DdhD4Dkq.js +134 -0
- package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +36 -0
- package/dist/showcase/assets/invoice-items-1EuA62mF.js +36 -0
- package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +14 -0
- package/dist/showcase/assets/invoice-table--mDTs1Iz.js +30 -0
- package/dist/showcase/assets/isSameDay-BNB1yam4.js +1 -0
- package/dist/showcase/assets/isToday-BugOpGJC.js +1 -0
- package/dist/showcase/assets/italic-Ck4UD2ZT.js +1 -0
- package/dist/showcase/assets/item-BcesxqFS.js +139 -0
- package/dist/showcase/assets/item-BgPlwUMv.js +1 -0
- package/dist/showcase/assets/item-CB9k_rmo.js +1 -0
- package/dist/showcase/assets/kanban-cPuSVqWY.js +188 -0
- package/dist/showcase/assets/key-round-BmYjd5dk.js +1 -0
- package/dist/showcase/assets/label-BTIBJBqN.js +1 -0
- package/dist/showcase/assets/languages-he6FNXRs.js +1 -0
- package/dist/showcase/assets/layers-B_48DtOz.js +1 -0
- package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +608 -0
- package/dist/showcase/assets/layout-auth-2Zv5lr52.js +790 -0
- package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +101 -0
- package/dist/showcase/assets/layout-header-TJ-WVmG3.js +203 -0
- package/dist/showcase/assets/layout-page-CIVQCKXK.js +314 -0
- package/dist/showcase/assets/layout-primitives-i_O81fzT.js +34 -0
- package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +224 -0
- package/dist/showcase/assets/layout-users-CWSaFBLj.js +117 -0
- package/dist/showcase/assets/layout-workspace-w3oe32GE.js +191 -0
- package/dist/showcase/assets/lib-CoS0xjP8.js +1 -0
- package/dist/showcase/assets/list-checks-DecRPpK3.js +1 -0
- package/dist/showcase/assets/lock-D9f8uXol.js +1 -0
- package/dist/showcase/assets/lock-keyhole-C20eixH6.js +1 -0
- package/dist/showcase/assets/mail-CVgP8Qlo.js +1 -0
- package/dist/showcase/assets/mail-check-mplTKcSH.js +1 -0
- package/dist/showcase/assets/map-B6OGeOup.js +124 -0
- package/dist/showcase/assets/map-pin-BZXSwrzT.js +1 -0
- package/dist/showcase/assets/media-library-DSlVIM1Q.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +1 -0
- package/dist/showcase/assets/mentions-Cb3g4hDN.js +138 -0
- package/dist/showcase/assets/menus-CE0Hlj8N.js +171 -0
- package/dist/showcase/assets/message-square-HliU8vbW.js +1 -0
- package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +286 -0
- package/dist/showcase/assets/metadata-list-DY92-pw2.js +1 -0
- package/dist/showcase/assets/metric-DxMTjIvU.js +1 -0
- package/dist/showcase/assets/metric-bar-cW9nWCRl.js +1 -0
- package/dist/showcase/assets/metric-grid-CvfO52X1.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +50 -0
- package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +42 -0
- package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +54 -0
- package/dist/showcase/assets/minus-BW62vCxf.js +1 -0
- package/dist/showcase/assets/money-display-CAdGk5Lr.js +1 -0
- package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +1 -0
- package/dist/showcase/assets/navigation-C4uSLvbZ.js +90 -0
- package/dist/showcase/assets/navigation-SjsZrtIc.js +231 -0
- package/dist/showcase/assets/navigation-extras-CMVNVskk.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +1 -0
- package/dist/showcase/assets/overlays-0Y8MAz39.js +159 -0
- package/dist/showcase/assets/overlays-ClOnjahL.js +408 -0
- package/dist/showcase/assets/overview-B5ztGmTp.js +184 -0
- package/dist/showcase/assets/package-check-MeSw6bS4.js +1 -0
- package/dist/showcase/assets/package-vYJ0q0QM.js +1 -0
- package/dist/showcase/assets/page-4lMKtBQ7.js +1 -0
- package/dist/showcase/assets/page-action-button-C5-TGSzy.js +1 -0
- package/dist/showcase/assets/page-header-C_-KYryO.js +1 -0
- package/dist/showcase/assets/pagination-D3L3Iwus.js +1 -0
- package/dist/showcase/assets/pagination-dZXPxwHx.js +42 -0
- package/dist/showcase/assets/paperclip-BZhdPOw8.js +1 -0
- package/dist/showcase/assets/password-input-CDSMtGxt.js +1 -0
- package/dist/showcase/assets/pencil-DiYr3CZ9.js +1 -0
- package/dist/showcase/assets/phone-Dm5qzlG8.js +1 -0
- package/dist/showcase/assets/plus-pfGaA3St.js +1 -0
- package/dist/showcase/assets/popover-CjVWDO7C.js +1 -0
- package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +1 -0
- package/dist/showcase/assets/popover-pZ4Jbp0s.js +1 -0
- package/dist/showcase/assets/products-C62MKtAR.js +423 -0
- package/dist/showcase/assets/progress-Btw-ZUaU.js +18 -0
- package/dist/showcase/assets/progress-DpB5LL6R.js +1 -0
- package/dist/showcase/assets/props-table-Bjc9IHmp.js +1 -0
- package/dist/showcase/assets/quote-DcxVd1fj.js +1 -0
- package/dist/showcase/assets/receipt-BHns-S5Q.js +1 -0
- package/dist/showcase/assets/receipt-text-L0aYasyt.js +1 -0
- package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +189 -0
- package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +1 -0
- package/dist/showcase/assets/resource-CIn_zKZ4.js +139 -0
- package/dist/showcase/assets/resource-DxktLgEK.js +1 -0
- package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +43 -0
- package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +124 -0
- package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +1 -0
- package/dist/showcase/assets/route-BeXaXTk8.js +1 -0
- package/dist/showcase/assets/save-EE7Tc5OT.js +1 -0
- package/dist/showcase/assets/schema-form-RK9Zpz1E.js +327 -0
- package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +32 -0
- package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +1 -0
- package/dist/showcase/assets/section-Cv8i4DIx.js +1 -0
- package/dist/showcase/assets/select-Cuy3YKW9.js +1 -0
- package/dist/showcase/assets/select-qFy1jm91.js +1 -0
- package/dist/showcase/assets/send-CXv0ST9u.js +1 -0
- package/dist/showcase/assets/separator-CecGyBaV.js +1 -0
- package/dist/showcase/assets/separator-CqtFQXrk.js +28 -0
- package/dist/showcase/assets/settings-2-CCeMwMOj.js +1 -0
- package/dist/showcase/assets/settings-CXjN6wTC.js +1 -0
- package/dist/showcase/assets/sheet-Csyrmkqp.js +1 -0
- package/dist/showcase/assets/shield-DR0ZfAFA.js +1 -0
- package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +1 -0
- package/dist/showcase/assets/shield-check-ClL4B_Cd.js +1 -0
- package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +1 -0
- package/dist/showcase/assets/showcase-CQKt5VGi.js +132 -0
- package/dist/showcase/assets/sidebar-CXy94md1.js +1 -0
- package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +1 -0
- package/dist/showcase/assets/skeleton-B8wC5P66.js +29 -0
- package/dist/showcase/assets/skeleton-DBlCLlBC.js +1 -0
- package/dist/showcase/assets/slider-BcjkNx6W.js +1 -0
- package/dist/showcase/assets/smart-card-Cg6rtWH9.js +1 -0
- package/dist/showcase/assets/sonner-ZGBQ13wS.js +22 -0
- package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +5 -0
- package/dist/showcase/assets/sparkles-q1-9JZqa.js +1 -0
- package/dist/showcase/assets/spinner-CKg8QLHu.js +1 -0
- package/dist/showcase/assets/spinner-D1Ao9j9T.js +49 -0
- package/dist/showcase/assets/spinner-oahLIkgb.js +30 -0
- package/dist/showcase/assets/square-pen-DZ3bQJia.js +1 -0
- package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +1 -0
- package/dist/showcase/assets/star-suetD-KI.js +1 -0
- package/dist/showcase/assets/startOfDay-OjIsUeiv.js +1 -0
- package/dist/showcase/assets/styles-1mYOoC2k.js +1 -0
- package/dist/showcase/assets/suggestions-DLYaI-In.js +126 -0
- package/dist/showcase/assets/switch-CTTrJNwo.js +1 -0
- package/dist/showcase/assets/switch-ChJWWmxN.js +1 -0
- package/dist/showcase/assets/sync-DsHYydvo.js +124 -0
- package/dist/showcase/assets/table-Ck2ptin2.js +686 -0
- package/dist/showcase/assets/table-DyJ9oADQ.js +1 -0
- package/dist/showcase/assets/table-actions-COU4zHfh.js +1 -0
- package/dist/showcase/assets/tabs-Bl_RHGIw.js +1 -0
- package/dist/showcase/assets/tabs-DS-4VSkb.js +19 -0
- package/dist/showcase/assets/tags-input-BlYzb5fF.js +1 -0
- package/dist/showcase/assets/text-button-OPdNs3fb.js +1 -0
- package/dist/showcase/assets/text-link-D27gqGeg.js +1 -0
- package/dist/showcase/assets/textarea-DpC7J5F-.js +1 -0
- package/dist/showcase/assets/textarea-JtXUjxvc.js +1 -0
- package/dist/showcase/assets/timelines-DQM-B4Xo.js +200 -0
- package/dist/showcase/assets/toggle-group-CMneKREH.js +1 -0
- package/dist/showcase/assets/toggles-CAXXgjO_.js +71 -0
- package/dist/showcase/assets/toggles-group-CHRqrpoM.js +32 -0
- package/dist/showcase/assets/tooltip-CwGZAioX.js +31 -0
- package/dist/showcase/assets/trash-2-BpMb9Zbb.js +1 -0
- package/dist/showcase/assets/trending-up-B1BzitCg.js +1 -0
- package/dist/showcase/assets/truck-CDSE5-HZ.js +1 -0
- package/dist/showcase/assets/typography-BoNJ1hRZ.js +223 -0
- package/dist/showcase/assets/ui-badge-Djh6NiB2.js +28 -0
- package/dist/showcase/assets/ui-card-QC_rl_H2.js +30 -0
- package/dist/showcase/assets/ui-table-qAGsc3qN.js +42 -0
- package/dist/showcase/assets/upload-tray-DKCJgW5u.js +138 -0
- package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +1 -0
- package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +1 -0
- package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +1 -0
- package/dist/showcase/assets/useRender-BPoNv-Lm.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +1 -0
- package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +1 -0
- package/dist/showcase/assets/user-BGchdtV_.js +1 -0
- package/dist/showcase/assets/user-plus-BifI_xVA.js +1 -0
- package/dist/showcase/assets/users-Cl5yYqdg.js +1 -0
- package/dist/showcase/assets/vendor-profile-BNW4FYna.js +37 -0
- package/dist/showcase/assets/video-BtQPixYN.js +1 -0
- package/dist/showcase/assets/wrench-CRalc5fG.js +1 -0
- package/dist/showcase/assets/x-D6hUY89S.js +1 -0
- package/dist/showcase/assets/zap-v_qbqeI5.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +6 -6
- package/src/css/tokens/foundation.css +6 -6
- package/dist/_shared/accordion-B9EjlZLY.js +0 -135
- package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
- package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
- package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
- package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
- package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
- package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
- package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
- package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
- package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
- package/dist/_shared/alert-V0V36Sny.cjs +0 -2
- package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
- package/dist/_shared/alert-m-4s0Hqq.js +0 -81
- package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
- package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
- package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
- package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
- package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
- package/dist/_shared/auth-BZY91F5_.cjs +0 -2
- package/dist/_shared/auth-BZY91F5_.cjs.map +0 -1
- package/dist/_shared/auth-DcotjEbY.js +0 -643
- package/dist/_shared/auth-DcotjEbY.js.map +0 -1
- package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
- package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
- package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
- package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
- package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
- package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
- package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
- package/dist/_shared/button-DHksjMvc.js +0 -189
- package/dist/_shared/button-DHksjMvc.js.map +0 -1
- package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
- package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
- package/dist/_shared/buttons-DcynMPnE.js +0 -137
- package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
- package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
- package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
- package/dist/_shared/cards-C1ythc0Q.js +0 -354
- package/dist/_shared/cards-C1ythc0Q.js.map +0 -1
- package/dist/_shared/cards-GSYfJ-oX.cjs +0 -2
- package/dist/_shared/cards-GSYfJ-oX.cjs.map +0 -1
- package/dist/_shared/combobox-BIe72dV3.js +0 -954
- package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
- package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
- package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
- package/dist/_shared/comments-CmljtbAW.js +0 -952
- package/dist/_shared/comments-CmljtbAW.js.map +0 -1
- package/dist/_shared/comments-ColUq7eh.cjs +0 -2
- package/dist/_shared/comments-ColUq7eh.cjs.map +0 -1
- package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
- package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
- package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
- package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
- package/dist/_shared/data-display-BTsCY7A5.js +0 -1873
- package/dist/_shared/data-display-BTsCY7A5.js.map +0 -1
- package/dist/_shared/data-display-BdGQMXit.cjs +0 -2
- package/dist/_shared/data-display-BdGQMXit.cjs.map +0 -1
- package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
- package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
- package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
- package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
- package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
- package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
- package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
- package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
- package/dist/_shared/display-B0wLVN8t.js +0 -986
- package/dist/_shared/display-B0wLVN8t.js.map +0 -1
- package/dist/_shared/display-Bin2vVex.cjs +0 -2
- package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
- package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
- package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
- package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
- package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
- package/dist/_shared/forms-CEE1te78.cjs +0 -2
- package/dist/_shared/forms-CEE1te78.cjs.map +0 -1
- package/dist/_shared/forms-CQoGvG7q.js +0 -3533
- package/dist/_shared/forms-CQoGvG7q.js.map +0 -1
- package/dist/_shared/header-B9IPDQRW.js +0 -447
- package/dist/_shared/header-B9IPDQRW.js.map +0 -1
- package/dist/_shared/header-C_1x4-rd.cjs +0 -2
- package/dist/_shared/header-C_1x4-rd.cjs.map +0 -1
- package/dist/_shared/hooks---vunGQ6.js +0 -95
- package/dist/_shared/hooks---vunGQ6.js.map +0 -1
- package/dist/_shared/hooks-CjVzmgvY.cjs +0 -2
- package/dist/_shared/hooks-CjVzmgvY.cjs.map +0 -1
- package/dist/_shared/input-CB6hxh-5.cjs +0 -2
- package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
- package/dist/_shared/input-CfnHBT--.js +0 -182
- package/dist/_shared/input-CfnHBT--.js.map +0 -1
- package/dist/_shared/item-Xs-fgzaT.js +0 -226
- package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
- package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
- package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
- package/dist/_shared/layout-BXrQqUKq.js +0 -262
- package/dist/_shared/layout-BXrQqUKq.js.map +0 -1
- package/dist/_shared/layout-DWicdsPI.cjs +0 -2
- package/dist/_shared/layout-DWicdsPI.cjs.map +0 -1
- package/dist/_shared/mentions-BahbwDwU.js +0 -506
- package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
- package/dist/_shared/mentions-aHalksbt.cjs +0 -2
- package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
- package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
- package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
- package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
- package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
- package/dist/_shared/navigation-BcYAwgzo.js +0 -436
- package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
- package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
- package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
- package/dist/_shared/overlays-DW8OIK5R.js +0 -735
- package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
- package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
- package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
- package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
- package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
- package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
- package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
- package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
- package/dist/_shared/settings-Bfr6PgSi.cjs +0 -2
- package/dist/_shared/settings-Bfr6PgSi.cjs.map +0 -1
- package/dist/_shared/settings-CrPaYr4A.js +0 -143
- package/dist/_shared/settings-CrPaYr4A.js.map +0 -1
- package/dist/_shared/sidebar-CDOLD8fN.js +0 -548
- package/dist/_shared/sidebar-CDOLD8fN.js.map +0 -1
- package/dist/_shared/sidebar-DcsxeNml.cjs +0 -2
- package/dist/_shared/sidebar-DcsxeNml.cjs.map +0 -1
- package/dist/_shared/spinner-D35zNriU.cjs +0 -2
- package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
- package/dist/_shared/spinner-DMC2IIml.js +0 -67
- package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
- package/dist/_shared/table-B_pqCQxC.js +0 -1377
- package/dist/_shared/table-B_pqCQxC.js.map +0 -1
- package/dist/_shared/table-CGVOXtdv.cjs +0 -2
- package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
- package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
- package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
- package/dist/_shared/textarea-ChLRmmVU.js +0 -118
- package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
- package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
- package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
- package/dist/_shared/typography-DE0NGEIE.js +0 -201
- package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
- package/dist/_shared/workspace-C1twu23r.cjs +0 -2
- package/dist/_shared/workspace-C1twu23r.cjs.map +0 -1
- package/dist/_shared/workspace-CkOZLdcN.js +0 -357
- package/dist/_shared/workspace-CkOZLdcN.js.map +0 -1
- package/dist/showcase/assets/AreaChart-WJREayr9.js +0 -6
- package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +0 -1
- package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +0 -1
- package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +0 -1
- package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +0 -1
- package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +0 -1
- package/dist/showcase/assets/RadioGroup-VBtGFETg.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +0 -1
- package/dist/showcase/assets/Separator-BfKe0YiY.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +0 -1
- package/dist/showcase/assets/accordion-BEN0VkL4.js +0 -171
- package/dist/showcase/assets/accordion-variants-QFG3H38z.js +0 -1
- package/dist/showcase/assets/action-menu-Bfw1tFqM.js +0 -1
- package/dist/showcase/assets/actions-CFpHs5IC.js +0 -310
- package/dist/showcase/assets/activities-CDxlaghU.js +0 -500
- package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +0 -1
- package/dist/showcase/assets/admin-DFpHXeuv.js +0 -140
- package/dist/showcase/assets/ai-DyO6VqQP.js +0 -207
- package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +0 -2
- package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +0 -568
- package/dist/showcase/assets/ai-elements-DlFqIOYp.js +0 -387
- package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +0 -1
- package/dist/showcase/assets/alert-CmRK2lOe.js +0 -1
- package/dist/showcase/assets/alert-DCIVryEp.js +0 -62
- package/dist/showcase/assets/alert-DDP3Ktic.js +0 -93
- package/dist/showcase/assets/api-key-list-CWa997YX.js +0 -1
- package/dist/showcase/assets/api-key-list-mTPebHF3.js +0 -73
- package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +0 -1
- package/dist/showcase/assets/arrow-down-CCYWFimd.js +0 -1
- package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +0 -1
- package/dist/showcase/assets/arrow-right-eLxbBrdm.js +0 -1
- package/dist/showcase/assets/arrow-up-kA33fcPv.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +0 -1
- package/dist/showcase/assets/avatar-BDGhB3aA.js +0 -57
- package/dist/showcase/assets/avatar-CLBQvnYG.js +0 -1
- package/dist/showcase/assets/avatar-WUMW3Qjo.js +0 -1
- package/dist/showcase/assets/avatar-cKSNuTzf.js +0 -67
- package/dist/showcase/assets/badge--mqVg8Ry.js +0 -31
- package/dist/showcase/assets/badge-check-D7YjWqnm.js +0 -1
- package/dist/showcase/assets/bell-6YyocFK6.js +0 -1
- package/dist/showcase/assets/bot-BC4pGAB3.js +0 -1
- package/dist/showcase/assets/box-CPGIu4Nv.js +0 -1
- package/dist/showcase/assets/braces-9jywZtTA.js +0 -1
- package/dist/showcase/assets/brain-wf_S427C.js +0 -1
- package/dist/showcase/assets/brand-78lhbKSW.js +0 -36
- package/dist/showcase/assets/breadcrumb-6XHObtqO.js +0 -1
- package/dist/showcase/assets/breadcrumb-BVrrS53_.js +0 -52
- package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +0 -1
- package/dist/showcase/assets/briefcase-BViWYew9.js +0 -1
- package/dist/showcase/assets/building-2-CwR3gV1I.js +0 -1
- package/dist/showcase/assets/button-BWwsy37B.js +0 -44
- package/dist/showcase/assets/button-group-BTiMRQIO.js +0 -1
- package/dist/showcase/assets/buttons-D9pH8hPs.js +0 -272
- package/dist/showcase/assets/calendar-Bzl2i1lu.js +0 -1
- package/dist/showcase/assets/calendar-CNMlC7Fn.js +0 -16
- package/dist/showcase/assets/calendar-D5NdEmaD.js +0 -1
- package/dist/showcase/assets/calendar-days-j8QDBUc5.js +0 -1
- package/dist/showcase/assets/camera-Cwb84N8a.js +0 -1
- package/dist/showcase/assets/card-CX3vQ2Te.js +0 -1
- package/dist/showcase/assets/card-FLJkfdKP.js +0 -188
- package/dist/showcase/assets/card-primitives-C2s13Uvp.js +0 -1
- package/dist/showcase/assets/card-radio-group-BP27dErL.js +0 -1
- package/dist/showcase/assets/cards-DcdxRM9W.js +0 -354
- package/dist/showcase/assets/carousel-CTKyiHD2.js +0 -449
- package/dist/showcase/assets/cell-renderers-ouSypXTE.js +0 -1
- package/dist/showcase/assets/chart-CMsMyCah.js +0 -358
- package/dist/showcase/assets/chart-column-BrwpEFzy.js +0 -1
- package/dist/showcase/assets/checkbox-4qgEfnjv.js +0 -1
- package/dist/showcase/assets/checkbox-ratLYBAF.js +0 -1
- package/dist/showcase/assets/chevron-down-BInaIfd1.js +0 -1
- package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +0 -1
- package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +0 -1
- package/dist/showcase/assets/circle-G0dEx2Ay.js +0 -1
- package/dist/showcase/assets/circle-alert-CiibDCe8.js +0 -1
- package/dist/showcase/assets/circle-check-Bqm54c03.js +0 -1
- package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +0 -1
- package/dist/showcase/assets/circle-dot-VNm7CEgH.js +0 -1
- package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +0 -1
- package/dist/showcase/assets/circle-x-2tzzp_vB.js +0 -1
- package/dist/showcase/assets/clock-3-CfdZnMP2.js +0 -1
- package/dist/showcase/assets/clock-ByB7C11p.js +0 -1
- package/dist/showcase/assets/code-xml-D2fN-BaU.js +0 -1
- package/dist/showcase/assets/collapsible-B2lI_uVI.js +0 -1
- package/dist/showcase/assets/collapsible-Bs5YFx-M.js +0 -27
- package/dist/showcase/assets/combobox-BqNSwFaM.js +0 -685
- package/dist/showcase/assets/command-Dcbh_YP-.js +0 -1
- package/dist/showcase/assets/command-Mb30xkwq.js +0 -1
- package/dist/showcase/assets/comment-composer-DqTw0zIM.js +0 -1
- package/dist/showcase/assets/comment-item-DbQAZ3yP.js +0 -1
- package/dist/showcase/assets/comments-CGMOOi7k.js +0 -357
- package/dist/showcase/assets/commerce-bVpLHwpS.js +0 -267
- package/dist/showcase/assets/composite-CTpmYme_.js +0 -1
- package/dist/showcase/assets/contact-card-nuS10UKK.js +0 -65
- package/dist/showcase/assets/content-container-NexBp0FV.js +0 -1
- package/dist/showcase/assets/copyable-CNltkC2A.js +0 -1
- package/dist/showcase/assets/copyable-qr6--oJx.js +0 -96
- package/dist/showcase/assets/course-card-0kkl37FX.js +0 -77
- package/dist/showcase/assets/cpu-DSD9h0l5.js +0 -1
- package/dist/showcase/assets/credit-card-CN0E6FU8.js +0 -1
- package/dist/showcase/assets/css-variables-CzmmLWxt.js +0 -1190
- package/dist/showcase/assets/currency-BtofP745.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +0 -90
- package/dist/showcase/assets/data-view-3W7_KBli.js +0 -124
- package/dist/showcase/assets/data-view-snL5QtHe.js +0 -4
- package/dist/showcase/assets/database-BarEYzaF.js +0 -1
- package/dist/showcase/assets/date-block-dTt9Rcfd.js +0 -1
- package/dist/showcase/assets/date-picker-BKzZeQGc.js +0 -1
- package/dist/showcase/assets/date-pickers-CYERVYRo.js +0 -73
- package/dist/showcase/assets/dense-info-hnKZfRnQ.js +0 -106
- package/dist/showcase/assets/design-system-consistency-D6qngflS.js +0 -264
- package/dist/showcase/assets/dialog-mO0FpHmT.js +0 -1
- package/dist/showcase/assets/dialog-xbuhPXmf.js +0 -1
- package/dist/showcase/assets/display-utilities-C4IflxoK.js +0 -267
- package/dist/showcase/assets/dist-BFChHTWK.js +0 -45
- package/dist/showcase/assets/dist-BkVfs5PY.js +0 -1
- package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +0 -1
- package/dist/showcase/assets/download-CuEg-4DT.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +0 -1
- package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +0 -1
- package/dist/showcase/assets/earth-Cmx-Axig.js +0 -1
- package/dist/showcase/assets/ellipsis-Co7iTzp_.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +0 -1
- package/dist/showcase/assets/empty-Dw4ozyll.js +0 -1
- package/dist/showcase/assets/empty-item-DQwAsl0J.js +0 -49
- package/dist/showcase/assets/empty-state-BKvbnAy1.js +0 -1
- package/dist/showcase/assets/empty-state-Dv6f2fmP.js +0 -190
- package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +0 -1
- package/dist/showcase/assets/esm-oZ6qcNoa.js +0 -2
- package/dist/showcase/assets/event-calendar-ChXdeehr.js +0 -138
- package/dist/showcase/assets/event-log-DeOCb2tT.js +0 -330
- package/dist/showcase/assets/example-CDvNeHNP.js +0 -1
- package/dist/showcase/assets/external-link-BaiCqIx3.js +0 -1
- package/dist/showcase/assets/eye-zG-fqYfd.js +0 -1
- package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +0 -34
- package/dist/showcase/assets/file-sAbDfDuO.js +0 -1
- package/dist/showcase/assets/file-text-Boa9IOND.js +0 -1
- package/dist/showcase/assets/filter-layout-tZmZz-2B.js +0 -1
- package/dist/showcase/assets/filters-D8gEkDAE.js +0 -139
- package/dist/showcase/assets/flag-Cu20rcE4.js +0 -1
- package/dist/showcase/assets/folder-open-Cuk6KKLi.js +0 -1
- package/dist/showcase/assets/form-field-D8sL8tat.js +0 -1
- package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
- package/dist/showcase/assets/format-CaRklI--.js +0 -1
- package/dist/showcase/assets/forms-CNk2oX65.js +0 -915
- package/dist/showcase/assets/funnel-B2kBprKZ.js +0 -1
- package/dist/showcase/assets/generic-oWYKMvId.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +0 -1
- package/dist/showcase/assets/gift-C_D_-5GL.js +0 -1
- package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +0 -85
- package/dist/showcase/assets/git-branch-DlTTLnjW.js +0 -1
- package/dist/showcase/assets/global-search-BjHAfaqS.js +0 -215
- package/dist/showcase/assets/global-search-hKQWHfrf.js +0 -1
- package/dist/showcase/assets/globe-D-gH7XQ2.js +0 -1
- package/dist/showcase/assets/gradient-card-jVxEisUP.js +0 -58
- package/dist/showcase/assets/hash-DySqEhph.js +0 -1
- package/dist/showcase/assets/header-B8hHkAVl.js +0 -1
- package/dist/showcase/assets/header-notifications-s180jNb1.js +0 -1
- package/dist/showcase/assets/heart-DDFCk8Tb.js +0 -1
- package/dist/showcase/assets/hooks-0A_FzYrt.js +0 -220
- package/dist/showcase/assets/house-BqE1X-Wf.js +0 -1
- package/dist/showcase/assets/icon-badge-CyiMjD7j.js +0 -37
- package/dist/showcase/assets/icon-badge-fJVhEHym.js +0 -1
- package/dist/showcase/assets/image-DCtwKHqe.js +0 -1
- package/dist/showcase/assets/inbox-DZA-pAGB.js +0 -1
- package/dist/showcase/assets/index-B37z19z3.js +0 -10
- package/dist/showcase/assets/index-CIsKgiSF.css +0 -2
- package/dist/showcase/assets/inertValue-SPYMBsOM.js +0 -1
- package/dist/showcase/assets/info-DrfDr3GT.js +0 -1
- package/dist/showcase/assets/inline-stat-BVJNx4xR.js +0 -1
- package/dist/showcase/assets/inline-stat-C3cWbSUK.js +0 -15
- package/dist/showcase/assets/input-CKTTGrnR.js +0 -1
- package/dist/showcase/assets/input-UHuWYPMF.js +0 -1
- package/dist/showcase/assets/input-group-BR_lU__a.js +0 -1
- package/dist/showcase/assets/input-group-iZaLbsTP.js +0 -47
- package/dist/showcase/assets/inputs-C7j8Xivm.js +0 -155
- package/dist/showcase/assets/installation-DYnTwaPR.js +0 -134
- package/dist/showcase/assets/invoice-header-D_0KvXQe.js +0 -36
- package/dist/showcase/assets/invoice-items-jcNb-sST.js +0 -36
- package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +0 -14
- package/dist/showcase/assets/invoice-table-DlAw0U4U.js +0 -30
- package/dist/showcase/assets/isSameDay-Cl6v_syG.js +0 -1
- package/dist/showcase/assets/isToday-BBoFjSnJ.js +0 -1
- package/dist/showcase/assets/italic-j2U8krYa.js +0 -1
- package/dist/showcase/assets/item-B2WoC1SD.js +0 -139
- package/dist/showcase/assets/item-BMJ5hfT5.js +0 -1
- package/dist/showcase/assets/item-C_5-EHNK.js +0 -1
- package/dist/showcase/assets/kanban-Cv64Szxq.js +0 -188
- package/dist/showcase/assets/key-round-CORDYqE2.js +0 -1
- package/dist/showcase/assets/label-B0UjYqfw.js +0 -1
- package/dist/showcase/assets/languages-Njdo5y8i.js +0 -1
- package/dist/showcase/assets/layers-Dyew-8IP.js +0 -1
- package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +0 -608
- package/dist/showcase/assets/layout-auth-BT84haSd.js +0 -790
- package/dist/showcase/assets/layout-containers-D6SP4vRB.js +0 -101
- package/dist/showcase/assets/layout-header-kLYjJnHz.js +0 -203
- package/dist/showcase/assets/layout-page-CmS4d8jw.js +0 -314
- package/dist/showcase/assets/layout-primitives-BW858Ymj.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +0 -224
- package/dist/showcase/assets/layout-users-HyZHQIov.js +0 -117
- package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +0 -191
- package/dist/showcase/assets/lib-Dhty05ZR.js +0 -1
- package/dist/showcase/assets/list-checks-CcWjdDq8.js +0 -1
- package/dist/showcase/assets/lock-CwH3bXx5.js +0 -1
- package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +0 -1
- package/dist/showcase/assets/mail-Cn94c8yp.js +0 -1
- package/dist/showcase/assets/mail-check-D-q_vPxD.js +0 -1
- package/dist/showcase/assets/map-BfUZMScw.js +0 -124
- package/dist/showcase/assets/map-pin-BZB9GUXP.js +0 -1
- package/dist/showcase/assets/media-library-DguE2q94.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +0 -1
- package/dist/showcase/assets/mentions-lmr_XmfN.js +0 -138
- package/dist/showcase/assets/menus-D0qYbzKk.js +0 -171
- package/dist/showcase/assets/message-square-7VpiUwcS.js +0 -1
- package/dist/showcase/assets/metadata-list-B8O2ljIS.js +0 -1
- package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +0 -286
- package/dist/showcase/assets/metric-HzQnjCpO.js +0 -1
- package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +0 -1
- package/dist/showcase/assets/metric-grid-CM-P894v.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +0 -50
- package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +0 -42
- package/dist/showcase/assets/metrics-overview-D-km110k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +0 -54
- package/dist/showcase/assets/minus-DZsXg5PW.js +0 -1
- package/dist/showcase/assets/money-display-C7Hp2pT3.js +0 -1
- package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +0 -1
- package/dist/showcase/assets/navigation-0nrtBP5O.js +0 -90
- package/dist/showcase/assets/navigation-BaWNq9oa.js +0 -231
- package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +0 -1
- package/dist/showcase/assets/overlays-CNfiB-zF.js +0 -408
- package/dist/showcase/assets/overlays-CuxuFGC8.js +0 -159
- package/dist/showcase/assets/overview-CBmdAWO6.js +0 -184
- package/dist/showcase/assets/package-BwwfLMWb.js +0 -1
- package/dist/showcase/assets/package-check-BepTKJLy.js +0 -1
- package/dist/showcase/assets/page-_JDFUWqe.js +0 -1
- package/dist/showcase/assets/page-action-button-Cf34I-B2.js +0 -1
- package/dist/showcase/assets/page-header-pdHFvyTo.js +0 -1
- package/dist/showcase/assets/pagination-Db1WJvjK.js +0 -42
- package/dist/showcase/assets/pagination-s8_MGk9D.js +0 -1
- package/dist/showcase/assets/paperclip-B9HQ47_2.js +0 -1
- package/dist/showcase/assets/password-input-D-eZWMGX.js +0 -1
- package/dist/showcase/assets/pencil-Dm53P6Db.js +0 -1
- package/dist/showcase/assets/phone-a4Ja9xAp.js +0 -1
- package/dist/showcase/assets/plus-DbOlx2x0.js +0 -1
- package/dist/showcase/assets/popover-B8qrRgt3.js +0 -1
- package/dist/showcase/assets/popover-Bm5wETUP.js +0 -1
- package/dist/showcase/assets/popover-menu-EH4P-BuI.js +0 -1
- package/dist/showcase/assets/products-n6VBSMDh.js +0 -423
- package/dist/showcase/assets/progress-D9r6PSCF.js +0 -1
- package/dist/showcase/assets/progress-DVnMcpeq.js +0 -18
- package/dist/showcase/assets/props-table-udnF7Z46.js +0 -1
- package/dist/showcase/assets/quote-qVQF4JC7.js +0 -1
- package/dist/showcase/assets/receipt-DaC4l-Mr.js +0 -1
- package/dist/showcase/assets/receipt-text-BnwhWHdU.js +0 -1
- package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +0 -189
- package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +0 -1
- package/dist/showcase/assets/resource-D1fXD_Pt.js +0 -139
- package/dist/showcase/assets/resource-i2YV9aHL.js +0 -1
- package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +0 -143
- package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +0 -124
- package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +0 -1
- package/dist/showcase/assets/route-EGSdKgEp.js +0 -1
- package/dist/showcase/assets/save-nXKvyYEx.js +0 -1
- package/dist/showcase/assets/schema-form-D_9UkVBe.js +0 -327
- package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +0 -1
- package/dist/showcase/assets/scroll-area-DCHN9iYj.js +0 -32
- package/dist/showcase/assets/section-C2ovQgbv.js +0 -1
- package/dist/showcase/assets/select-BTOraQSw.js +0 -1
- package/dist/showcase/assets/select-CE0BbUs7.js +0 -1
- package/dist/showcase/assets/send-CI0r12bX.js +0 -1
- package/dist/showcase/assets/separator-CmGfh7lI.js +0 -1
- package/dist/showcase/assets/separator-PhQTNRIB.js +0 -28
- package/dist/showcase/assets/settings-2-qkVb0lyz.js +0 -1
- package/dist/showcase/assets/settings-YXjlZ9zs.js +0 -1
- package/dist/showcase/assets/sheet-CFDUB2H1.js +0 -1
- package/dist/showcase/assets/shield-Dr_UeG6H.js +0 -1
- package/dist/showcase/assets/shield-alert-7rAVXg-K.js +0 -1
- package/dist/showcase/assets/shield-check-BbzHL-nM.js +0 -1
- package/dist/showcase/assets/shopping-bag-DeprN0fB.js +0 -1
- package/dist/showcase/assets/showcase-BU6Fvpg_.js +0 -132
- package/dist/showcase/assets/sidebar-CudnhnWN.js +0 -1
- package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +0 -1
- package/dist/showcase/assets/skeleton-DD6VPVrv.js +0 -1
- package/dist/showcase/assets/skeleton-Dc5LvW7E.js +0 -29
- package/dist/showcase/assets/slider-BxvP9nxk.js +0 -1
- package/dist/showcase/assets/smart-card-B0Llbpiy.js +0 -1
- package/dist/showcase/assets/sonner-mszFoDWT.js +0 -22
- package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +0 -5
- package/dist/showcase/assets/sparkles-CQSdl3Gw.js +0 -1
- package/dist/showcase/assets/spinner-BSxBn2qs.js +0 -49
- package/dist/showcase/assets/spinner-DJxoGJtq.js +0 -30
- package/dist/showcase/assets/spinner-DihTCcve.js +0 -1
- package/dist/showcase/assets/square-pen-CGMSA_p6.js +0 -1
- package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +0 -1
- package/dist/showcase/assets/star-DFlmmJdh.js +0 -1
- package/dist/showcase/assets/startOfDay-BedffeNt.js +0 -1
- package/dist/showcase/assets/styles-jR6uS97D.js +0 -1
- package/dist/showcase/assets/suggestions-DnjJ-U9n.js +0 -126
- package/dist/showcase/assets/switch-Dkojf4Yd.js +0 -1
- package/dist/showcase/assets/switch-bTb6CSLr.js +0 -1
- package/dist/showcase/assets/sync-rk8eFwoJ.js +0 -124
- package/dist/showcase/assets/table-4qIerTVI.js +0 -686
- package/dist/showcase/assets/table-BjMmmYd7.js +0 -1
- package/dist/showcase/assets/table-actions-DqofOI1V.js +0 -1
- package/dist/showcase/assets/tabs-BV6mMsfk.js +0 -19
- package/dist/showcase/assets/tabs-u2fkHRw8.js +0 -1
- package/dist/showcase/assets/tags-input-Cu_UwlwT.js +0 -1
- package/dist/showcase/assets/text-button-Fyy21evq.js +0 -1
- package/dist/showcase/assets/text-link-WRyY3ZZo.js +0 -1
- package/dist/showcase/assets/textarea-BbCxWNzV.js +0 -1
- package/dist/showcase/assets/textarea-CtD7JQsv.js +0 -1
- package/dist/showcase/assets/timelines-BBPQpCFX.js +0 -200
- package/dist/showcase/assets/toggle-group-B8mQ6wer.js +0 -1
- package/dist/showcase/assets/toggles-CCClWVXZ.js +0 -71
- package/dist/showcase/assets/toggles-group-DgCilPMo.js +0 -32
- package/dist/showcase/assets/tooltip-ClJCWWTI.js +0 -31
- package/dist/showcase/assets/trash-2-Cs7y4-K-.js +0 -1
- package/dist/showcase/assets/trending-up-spYhMxs6.js +0 -1
- package/dist/showcase/assets/truck-DENWgqxK.js +0 -1
- package/dist/showcase/assets/typography-DMmYNFQj.js +0 -223
- package/dist/showcase/assets/ui-badge-BJEtsa7X.js +0 -28
- package/dist/showcase/assets/ui-card-CrPKoi3P.js +0 -30
- package/dist/showcase/assets/ui-table-2HhDwPcu.js +0 -42
- package/dist/showcase/assets/upload-tray-CUZAErkI.js +0 -138
- package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +0 -1
- package/dist/showcase/assets/useLabelableId-D__l5sQX.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +0 -1
- package/dist/showcase/assets/useRender-BV0akLbc.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +0 -1
- package/dist/showcase/assets/user-B9eCi5Vl.js +0 -1
- package/dist/showcase/assets/user-plus-Uo4IAY7e.js +0 -1
- package/dist/showcase/assets/users-DLep-WjV.js +0 -1
- package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +0 -37
- package/dist/showcase/assets/video-BasdlaQE.js +0 -1
- package/dist/showcase/assets/wrench-BYUVe1-z.js +0 -1
- package/dist/showcase/assets/x-Bx9ayVXr.js +0 -1
- package/dist/showcase/assets/zap-Mgu5HEtF.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor-VIBlL0x3.js","names":[],"sources":["../../src/components/features/rich-text-editor/partials/rich-text-editor-toolbar.tsx","../../src/components/features/rich-text-editor/rich-text-editor.strings.ts","../../src/components/features/rich-text-editor/partials/caret-helpers.ts","../../src/components/features/rich-text-editor/partials/counts-footer.tsx","../../src/components/features/rich-text-editor/partials/html-helpers.ts","../../src/components/features/rich-text-editor/partials/rich-text-editor-tiptap.tsx","../../src/components/features/rich-text-editor/partials/rich-text-editor-fallback.tsx","../../src/components/features/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { Code2 } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '@/components/base/buttons/button';\n\nimport type { RichTextEditorStrings } from '../rich-text-editor.strings';\nimport type {\n\tRichTextEditorToolbarItem,\n\tToolbarButtonConfig,\n} from '../rich-text-editor.types';\n\nexport interface RichTextEditorToolbarProps {\n\tbuttons: ToolbarButtonConfig[];\n\textraToolbarItems?: ReadonlyArray<RichTextEditorToolbarItem>;\n\thideSourceToggle?: boolean;\n\tsourceMode: boolean;\n\ttoggleSourceMode: () => void;\n\tdisabled?: boolean;\n\t/**\n\t * The TipTap variant disables built-in buttons until the editor instance\n\t * is ready; the fallback variant simply marks them disabled. This flag\n\t * lets callers force the disabled state without re-deriving it per button.\n\t */\n\thasEditor?: boolean;\n\ttoolbarTrailing?: ReactNode;\n\tstrings: RichTextEditorStrings;\n}\n\nexport function RichTextEditorToolbar({\n\tbuttons,\n\textraToolbarItems,\n\thideSourceToggle = false,\n\tsourceMode,\n\ttoggleSourceMode,\n\tdisabled = false,\n\thasEditor = true,\n\ttoolbarTrailing,\n\tstrings,\n}: RichTextEditorToolbarProps) {\n\tconst hasExtras = (extraToolbarItems?.length ?? 0) > 0;\n\n\treturn (\n\t\t<div className=\"border-border flex flex-wrap items-center gap-1 border-b p-1.5\">\n\t\t\t{buttons.map((button) => {\n\t\t\t\tconst Icon = button.icon;\n\t\t\t\tconst isActive = button.isActive();\n\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={button.id}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={isActive ? 'primary' : 'secondary'}\n\t\t\t\t\t\tbuttonStyle={isActive ? 'solid' : 'ghost'}\n\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\tonClick={button.run}\n\t\t\t\t\t\tdisabled={disabled || !hasEditor || sourceMode || button.disabled}\n\t\t\t\t\t\taria-label={button.label}\n\t\t\t\t\t\ttitle={button.label}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className=\"h-3.5 w-3.5\" />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{!hideSourceToggle && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"bg-border mx-1 h-4 w-px\" />\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant={sourceMode ? 'primary' : 'secondary'}\n\t\t\t\t\t\tbuttonStyle={sourceMode ? 'solid' : 'ghost'}\n\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\tonClick={toggleSourceMode}\n\t\t\t\t\t\tdisabled={disabled || !hasEditor}\n\t\t\t\t\t\taria-label={strings.toolbar.sourceCode}\n\t\t\t\t\t\ttitle={strings.toolbar.sourceCode}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Code2 className=\"h-3.5 w-3.5\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{hasExtras && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"bg-border mx-1 h-4 w-px\" />\n\t\t\t\t\t{extraToolbarItems?.map((item) => {\n\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\tconst isActive = item.isActive?.() ?? false;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tvariant={isActive ? 'primary' : 'secondary'}\n\t\t\t\t\t\t\t\tbuttonStyle={isActive ? 'solid' : 'ghost'}\n\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\tonClick={item.onClick}\n\t\t\t\t\t\t\t\tdisabled={disabled || !hasEditor || sourceMode || item.disabled}\n\t\t\t\t\t\t\t\taria-label={item.label}\n\t\t\t\t\t\t\t\ttitle={item.label}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon className=\"h-3.5 w-3.5\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{!!toolbarTrailing && (\n\t\t\t\t<div className=\"ml-auto flex items-center gap-1\">{toolbarTrailing}</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nRichTextEditorToolbar.displayName = 'RichTextEditorToolbar';\n","/**\n * Default user-facing strings for `<RichTextEditor>`.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <RichTextEditor strings={{ toolbar: { bold: t('editor.bold') } }} … />\n */\n\nexport interface RichTextEditorStrings {\n\t/** Accessible label for the editable rich-text surface. */\n\teditorLabel: string;\n\t/** Accessible label for the HTML source textarea. */\n\tsourceLabel: string;\n\t/** Toolbar button labels (used for `aria-label` and tooltip `title`). */\n\ttoolbar: {\n\t\tbold: string;\n\t\titalic: string;\n\t\tstrike: string;\n\t\tbulletList: string;\n\t\torderedList: string;\n\t\tblockquote: string;\n\t\tundo: string;\n\t\tredo: string;\n\t\tsourceCode: string;\n\t};\n\t/** Footer count labels — `{n}` is replaced with the count. */\n\tcounts: {\n\t\tcharacters: string;\n\t\twords: string;\n\t\tmax: string;\n\t};\n}\n\nexport const defaultRichTextEditorStrings: RichTextEditorStrings = {\n\teditorLabel: 'Rich text editor',\n\tsourceLabel: 'HTML source',\n\ttoolbar: {\n\t\tbold: 'Bold',\n\t\titalic: 'Italic',\n\t\tstrike: 'Strike',\n\t\tbulletList: 'Bullet list',\n\t\torderedList: 'Ordered list',\n\t\tblockquote: 'Quote',\n\t\tundo: 'Undo',\n\t\tredo: 'Redo',\n\t\tsourceCode: 'Source code',\n\t},\n\tcounts: {\n\t\tcharacters: 'characters',\n\t\twords: 'words',\n\t\tmax: 'max',\n\t},\n};\n","/**\n * Caret-introspection helpers used by `<RichTextEditor>` to expose the\n * text before the caret and replace a leading run of characters with\n * inline HTML — the building blocks for `@`-mention chips and similar\n * inline triggers.\n */\nimport type { RichTextCaretContext, TiptapEditor } from '../rich-text-editor.types';\n\n/**\n * Read the current selection's caret context.\n *\n * Walks back from the caret through the current text node and any\n * preceding sibling text nodes inside the same block-level container\n * (paragraph / list-item / heading) collecting plain text. Returns the\n * accumulated text plus the caret's bounding rect when available.\n *\n * Returns `null` when there is no live selection or the selection isn't\n * a text caret inside a contenteditable.\n */\nexport function readCaretContext(): RichTextCaretContext | null {\n\tif (typeof window === 'undefined') return null;\n\tconst sel = window.getSelection();\n\tif (!sel || sel.rangeCount === 0) return null;\n\tconst range = sel.getRangeAt(0);\n\tif (!range.collapsed) return null;\n\n\tconst startNode = range.startContainer;\n\tconst startOffset = range.startOffset;\n\n\tlet block: Node | null = startNode;\n\twhile (block && block.nodeType !== Node.ELEMENT_NODE) {\n\t\tblock = block.parentNode;\n\t}\n\tif (!block) return null;\n\tconst editable =\n\t\t(block as Element).closest('[contenteditable=\"true\"]') ??\n\t\t(block as Element).closest('.ProseMirror');\n\tif (!editable) return null;\n\n\tlet text = '';\n\tif (startNode.nodeType === Node.TEXT_NODE) {\n\t\ttext = (startNode.textContent ?? '').slice(0, startOffset);\n\t}\n\n\tlet cursor: Node | null = startNode;\n\twhile (cursor && cursor !== editable && cursor !== block) {\n\t\tlet prev: Node | null = cursor.previousSibling;\n\t\twhile (prev) {\n\t\t\ttext = (prev.textContent ?? '') + text;\n\t\t\tprev = prev.previousSibling;\n\t\t}\n\t\tcursor = cursor.parentNode;\n\t\tif (cursor && (cursor as Element).matches?.('p, li, h1, h2, h3, h4, h5, h6, blockquote')) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlet rect: RichTextCaretContext['rect'];\n\tconst r = range.getBoundingClientRect();\n\tif (r && (r.top || r.left || r.right || r.bottom)) {\n\t\trect = { top: r.top, left: r.left, bottom: r.bottom, right: r.right };\n\t}\n\n\treturn { textBefore: text, rect };\n}\n\n/**\n * Extend the selection backwards by `length` characters, then insert\n * `html`. The selection extension means `editor.insertContent` (or the\n * fallback's `range.deleteContents()` + insert) replaces the trigger\n * range with the chip atomically — no manual text-content mutation, no\n * timing races between \"delete\" and \"insert\".\n */\nexport function replaceBeforeCaret(\n\teditor: TiptapEditor | null,\n\tlength: number,\n\thtml: string,\n\tnotifyChange: (next: string) => void,\n): void {\n\tif (typeof window === 'undefined') return;\n\tconst sel = window.getSelection();\n\tif (!sel || sel.rangeCount === 0) return;\n\tconst caret = sel.getRangeAt(0);\n\tif (!caret.collapsed) return;\n\n\tlet remaining = length;\n\tlet startNode: Node = caret.startContainer;\n\tlet startOffset = caret.startOffset;\n\n\twhile (remaining > 0) {\n\t\tif (startNode.nodeType === Node.TEXT_NODE) {\n\t\t\tconst take = Math.min(startOffset, remaining);\n\t\t\tstartOffset -= take;\n\t\t\tremaining -= take;\n\t\t\tif (remaining === 0) break;\n\t\t}\n\t\tconst prev = previousTextNode(startNode);\n\t\tif (!prev) break;\n\t\tstartNode = prev;\n\t\tstartOffset = prev.textContent?.length ?? 0;\n\t}\n\n\tconst range = document.createRange();\n\trange.setStart(startNode, startOffset);\n\trange.setEnd(caret.endContainer, caret.endOffset);\n\tsel.removeAllRanges();\n\tsel.addRange(range);\n\n\tif (editor) {\n\t\teditor.chain().focus().insertContent(html).run();\n\t\tnotifyChange(editor.getHTML());\n\t\treturn;\n\t}\n\n\trange.deleteContents();\n\tconst fragment = document.createRange().createContextualFragment(html);\n\trange.insertNode(fragment);\n\tsel.collapseToEnd();\n\tconst editable =\n\t\t(startNode as Element | null)?.parentElement?.closest?.('[contenteditable=\"true\"]') ?? null;\n\tif (editable) notifyChange((editable as HTMLElement).innerHTML);\n}\n\nexport function insertHtmlIntoEditable(editable: HTMLElement | null, html: string): void {\n\tif (typeof window === 'undefined' || !editable) return;\n\teditable.focus();\n\n\tconst sel = window.getSelection();\n\tif (!sel || sel.rangeCount === 0) {\n\t\teditable.insertAdjacentHTML('beforeend', html);\n\t\treturn;\n\t}\n\n\tconst range = sel.getRangeAt(0);\n\tif (!editable.contains(range.commonAncestorContainer)) {\n\t\teditable.insertAdjacentHTML('beforeend', html);\n\t\treturn;\n\t}\n\n\trange.deleteContents();\n\tconst fragment = document.createRange().createContextualFragment(html);\n\trange.insertNode(fragment);\n\trange.collapse(false);\n\tsel.removeAllRanges();\n\tsel.addRange(range);\n}\n\nfunction previousTextNode(node: Node): Node | null {\n\tlet current: Node | null = node;\n\twhile (current) {\n\t\tif (current.previousSibling) {\n\t\t\tcurrent = current.previousSibling;\n\t\t\twhile (current && current.lastChild) {\n\t\t\t\tcurrent = current.lastChild;\n\t\t\t}\n\t\t\tif (current && current.nodeType === Node.TEXT_NODE) return current;\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent = current.parentNode;\n\t\tif (!current || (current as Element).matches?.('p, li, h1, h2, h3, h4, h5, h6, blockquote, [contenteditable=\"true\"]')) {\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn null;\n}\n","import { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { RichTextEditorStrings } from '../rich-text-editor.strings';\nimport type { TiptapEditor } from '../rich-text-editor.types';\n\ninterface CountsFooterTextProps {\n\ttext: string;\n\tmaxLength?: number;\n\tstrings: RichTextEditorStrings;\n}\n\nexport function CountsFooterText({ text, maxLength, strings }: CountsFooterTextProps) {\n\tconst chars = text.length;\n\tconst words = text.trim().length > 0 ? text.trim().split(/\\s+/).length : 0;\n\tconst overLimit = typeof maxLength === 'number' && chars > maxLength;\n\n\treturn (\n\t\t<div className=\"border-border flex items-center justify-end gap-3 border-t px-3 py-1.5\">\n\t\t\t<Text\n\t\t\t\ttag=\"span\"\n\t\t\t\tsize=\"xs\"\n\t\t\t\ttype={overLimit ? 'error' : 'secondary'}\n\t\t\t\tweight={overLimit ? 'medium' : 'regular'}\n\t\t\t\tclassName={cn('tabular-nums')}\n\t\t\t>\n\t\t\t\t{chars}\n\t\t\t\t{typeof maxLength === 'number' ? ` / ${maxLength}` : ''} {strings.counts.characters}\n\t\t\t</Text>\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"tabular-nums\">\n\t\t\t\t{words} {strings.counts.words}\n\t\t\t</Text>\n\t\t</div>\n\t);\n}\n\nCountsFooterText.displayName = 'CountsFooterText';\n\ninterface CountsFooterProps {\n\teditor: TiptapEditor;\n\tsourceMode: boolean;\n\tsourceValue: string;\n\tmaxLength?: number;\n\tstrings: RichTextEditorStrings;\n}\n\nexport function CountsFooter({\n\teditor,\n\tsourceMode,\n\tsourceValue,\n\tmaxLength,\n\tstrings,\n}: CountsFooterProps) {\n\tconst text = sourceMode\n\t\t? sourceValue.replace(/<[^>]*>/g, '')\n\t\t: (editor?.getText() ?? '');\n\n\treturn <CountsFooterText text={text} maxLength={maxLength} strings={strings} />;\n}\n\nCountsFooter.displayName = 'CountsFooter';\n","/**\n * Plain HTML normalization shared by the TipTap and contenteditable\n * fallback editors. Keeping these out of the React tree means the\n * editor partials stay focused on rendering.\n */\n\nexport function normalizeHtml(value: string): string {\n\tconst trimmed = value.trim();\n\n\tif (trimmed === '' || trimmed === '<p></p>' || trimmed === '<p><br></p>') {\n\t\treturn '';\n\t}\n\n\treturn trimmed;\n}\n\nexport function toEditorContent(value: string): string {\n\tconst normalized = normalizeHtml(value);\n\treturn normalized === '' ? '<p></p>' : normalized;\n}\n","import {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport {\n\tBold,\n\tItalic,\n\tList,\n\tListOrdered,\n\tQuote,\n\tRedo2,\n\tStrikethrough,\n\tUndo2,\n} from 'lucide-react';\nimport * as TiptapReact from '@tiptap/react';\nimport * as StarterKitModule from '@tiptap/starter-kit';\n\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultRichTextEditorStrings } from '../rich-text-editor.strings';\nimport type {\n\tRichTextEditorHandle,\n\tRichTextEditorProps,\n\tToolbarButtonConfig,\n} from '../rich-text-editor.types';\nimport { readCaretContext, replaceBeforeCaret } from './caret-helpers';\nimport { CountsFooter } from './counts-footer';\nimport { normalizeHtml, toEditorContent } from './html-helpers';\nimport { RichTextEditorToolbar } from './rich-text-editor-toolbar';\n\nconst EditorContent = TiptapReact.EditorContent;\nconst useTiptapEditor = TiptapReact.useEditor;\nconst StarterKit =\n\t'default' in StarterKitModule ? StarterKitModule.default : StarterKitModule;\n\nexport const TiptapRichTextEditor = forwardRef<RichTextEditorHandle, RichTextEditorProps>(function TiptapRichTextEditor(\n\t{\n\t\tvalue,\n\t\tonChange,\n\t\tplaceholder,\n\t\tcompact = false,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tdisabled = false,\n\t\tshowCounts = false,\n\t\tmaxLength,\n\t\textraToolbarItems,\n\t\ttoolbarTrailing,\n\t\tfooterSlot,\n\t\thideSourceToggle = false,\n\t\tautoFocus = false,\n\t\tclassName,\n\t\tonCaretChange,\n\t\tstrings: stringsProp,\n\t},\n\tref,\n) {\n\tconst strings = useStrings(defaultRichTextEditorStrings, stringsProp);\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [sourceMode, setSourceMode] = useState(false);\n\tconst [sourceValue, setSourceValue] = useState('');\n\tconst isFocusedRef = useRef(false);\n\tconst externalValueRef = useRef<string>(normalizeHtml(value));\n\tconst onCaretChangeRef = useRef(onCaretChange);\n\tonCaretChangeRef.current = onCaretChange;\n\n\tconst editor = useTiptapEditor({\n\t\textensions: [StarterKit],\n\t\tcontent: toEditorContent(value),\n\t\teditable: !disabled,\n\t\timmediatelyRender: false,\n\t\tautofocus: autoFocus ? 'end' : false,\n\t\tonFocus: () => {\n\t\t\tisFocusedRef.current = true;\n\t\t\tsetIsFocused(true);\n\t\t},\n\t\tonBlur: () => {\n\t\t\tisFocusedRef.current = false;\n\t\t\tsetIsFocused(false);\n\t\t},\n\t\tonUpdate: ({ editor: currentEditor }: { editor: { getHTML: () => string } }) => {\n\t\t\tconst html = normalizeHtml(currentEditor.getHTML());\n\t\t\tif (!isFocusedRef.current) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (html !== externalValueRef.current) {\n\t\t\t\texternalValueRef.current = html;\n\t\t\t\tonChange(html);\n\t\t\t}\n\n\t\t\tonCaretChangeRef.current?.();\n\t\t},\n\t\teditorProps: {\n\t\t\tattributes: {\n\t\t\t\trole: 'textbox',\n\t\t\t\t'aria-label': strings.editorLabel,\n\t\t\t\t'aria-multiline': 'true',\n\t\t\t\tclass: 'prose prose-sm prose-p:my-0.5 prose-p:leading-relaxed prose-headings:my-1 prose-ul:my-1 prose-ol:my-1 prose-li:my-0.5 max-w-none px-3 py-2 text-sm focus-visible:outline-none dark:prose-invert',\n\t\t\t},\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tif (!editor) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst current = normalizeHtml(editor.getHTML());\n\t\tconst next = normalizeHtml(value);\n\t\texternalValueRef.current = next;\n\n\t\tif (current !== next) {\n\t\t\teditor.commands.setContent(toEditorContent(next), { emitUpdate: false });\n\t\t}\n\t}, [editor, value]);\n\n\tuseEffect(() => {\n\t\tif (!editor) {\n\t\t\treturn;\n\t\t}\n\n\t\teditor.setEditable(!disabled);\n\t}, [disabled, editor]);\n\n\tuseEffect(() => {\n\t\tif (typeof document === 'undefined') return;\n\t\tconst handler = () => {\n\t\t\tif (!isFocusedRef.current) return;\n\t\t\tonCaretChangeRef.current?.();\n\t\t};\n\t\tdocument.addEventListener('selectionchange', handler);\n\t\treturn () => document.removeEventListener('selectionchange', handler);\n\t}, []);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tfocus: () => {\n\t\t\t\teditor?.chain().focus().run();\n\t\t\t},\n\t\t\tgetHTML: () => normalizeHtml(editor?.getHTML() ?? ''),\n\t\t\tsetHTML: (html: string) => {\n\t\t\t\tconst next = normalizeHtml(html);\n\t\t\t\texternalValueRef.current = next;\n\t\t\t\teditor?.commands.setContent(toEditorContent(next), { emitUpdate: false });\n\t\t\t\tonChange(next);\n\t\t\t},\n\t\t\tinsertHTML: (html: string) => {\n\t\t\t\tif (!editor) return;\n\t\t\t\teditor.chain().focus().insertContent(html).run();\n\t\t\t},\n\t\t\tisEmpty: () => normalizeHtml(editor?.getHTML() ?? '') === '',\n\t\t\tclear: () => {\n\t\t\t\texternalValueRef.current = '';\n\t\t\t\teditor?.commands.setContent('<p></p>', { emitUpdate: false });\n\t\t\t\tonChange('');\n\t\t\t},\n\t\t\tgetCaretContext: () => readCaretContext(),\n\t\t\treplaceBeforeCaret: (length: number, html: string) => {\n\t\t\t\treplaceBeforeCaret(editor, length, html, (next) => {\n\t\t\t\t\texternalValueRef.current = normalizeHtml(next);\n\t\t\t\t\tonChange(externalValueRef.current);\n\t\t\t\t});\n\t\t\t},\n\t\t}),\n\t\t[editor, onChange],\n\t);\n\n\tconst contentStyle = useMemo(\n\t\t() => ({\n\t\t\tminHeight: minHeight ?? (compact ? '2rem' : '12rem'),\n\t\t\t...(maxHeight ? { maxHeight, overflowY: 'auto' as const } : {}),\n\t\t}),\n\t\t[compact, maxHeight, minHeight],\n\t);\n\n\tconst toggleSourceMode = useCallback(() => {\n\t\tif (!editor) return;\n\n\t\tif (sourceMode) {\n\t\t\tconst html = toEditorContent(sourceValue);\n\t\t\teditor.commands.setContent(html, { emitUpdate: false });\n\t\t\tconst normalized = normalizeHtml(sourceValue);\n\t\t\texternalValueRef.current = normalized;\n\t\t\tonChange(normalized);\n\t\t\tsetSourceMode(false);\n\t\t} else {\n\t\t\tsetSourceValue(editor.getHTML());\n\t\t\tsetSourceMode(true);\n\t\t}\n\t}, [editor, onChange, sourceMode, sourceValue]);\n\n\tconst handleSourceChange = useCallback(\n\t\t(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\tconst next = e.target.value;\n\t\t\tsetSourceValue(next);\n\t\t\tconst normalized = normalizeHtml(next);\n\t\t\texternalValueRef.current = normalized;\n\t\t\tonChange(normalized);\n\t\t},\n\t\t[onChange],\n\t);\n\n\tconst toolbarButtons = useMemo<ToolbarButtonConfig[]>(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: 'bold',\n\t\t\t\ticon: Bold,\n\t\t\t\tlabel: strings.toolbar.bold,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('bold')),\n\t\t\t\trun: () => editor?.chain().focus().toggleBold().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'italic',\n\t\t\t\ticon: Italic,\n\t\t\t\tlabel: strings.toolbar.italic,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('italic')),\n\t\t\t\trun: () => editor?.chain().focus().toggleItalic().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'strike',\n\t\t\t\ticon: Strikethrough,\n\t\t\t\tlabel: strings.toolbar.strike,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('strike')),\n\t\t\t\trun: () => editor?.chain().focus().toggleStrike().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'bullet-list',\n\t\t\t\ticon: List,\n\t\t\t\tlabel: strings.toolbar.bulletList,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('bulletList')),\n\t\t\t\trun: () => editor?.chain().focus().toggleBulletList().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'ordered-list',\n\t\t\t\ticon: ListOrdered,\n\t\t\t\tlabel: strings.toolbar.orderedList,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('orderedList')),\n\t\t\t\trun: () => editor?.chain().focus().toggleOrderedList().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'blockquote',\n\t\t\t\ticon: Quote,\n\t\t\t\tlabel: strings.toolbar.blockquote,\n\t\t\t\tisActive: () => Boolean(editor?.isActive('blockquote')),\n\t\t\t\trun: () => editor?.chain().focus().toggleBlockquote().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'undo',\n\t\t\t\ticon: Undo2,\n\t\t\t\tlabel: strings.toolbar.undo,\n\t\t\t\tisActive: () => false,\n\t\t\t\trun: () => editor?.chain().focus().undo().run(),\n\t\t\t\tdisabled: !editor?.can().chain().focus().undo().run(),\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'redo',\n\t\t\t\ticon: Redo2,\n\t\t\t\tlabel: strings.toolbar.redo,\n\t\t\t\tisActive: () => false,\n\t\t\t\trun: () => editor?.chain().focus().redo().run(),\n\t\t\t\tdisabled: !editor?.can().chain().focus().redo().run(),\n\t\t\t},\n\t\t],\n\t\t[editor, strings],\n\t);\n\n\tconst countsFooter =\n\t\tshowCounts && editor ? (\n\t\t\t<CountsFooter\n\t\t\t\teditor={editor}\n\t\t\t\tsourceMode={sourceMode}\n\t\t\t\tsourceValue={sourceValue}\n\t\t\t\tmaxLength={maxLength}\n\t\t\t\tstrings={strings}\n\t\t\t/>\n\t\t) : null;\n\n\tconst placeholderText = typeof placeholder === 'string' ? placeholder : '';\n\tconst showPlaceholder =\n\t\tplaceholderText.length > 0 && !isFocused && Boolean(editor?.isEmpty);\n\tconst placeholderNode = showPlaceholder ? (\n\t\t<span className=\"text-muted-foreground pointer-events-none absolute left-3 top-2 text-sm\">\n\t\t\t{placeholderText}\n\t\t</span>\n\t) : null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'border-input bg-background rounded-md border',\n\t\t\t\tdisabled && 'opacity-70',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<RichTextEditorToolbar\n\t\t\t\tbuttons={toolbarButtons}\n\t\t\t\textraToolbarItems={extraToolbarItems}\n\t\t\t\thideSourceToggle={hideSourceToggle}\n\t\t\t\tsourceMode={sourceMode}\n\t\t\t\ttoggleSourceMode={toggleSourceMode}\n\t\t\t\tdisabled={disabled}\n\t\t\t\thasEditor={Boolean(editor)}\n\t\t\t\ttoolbarTrailing={toolbarTrailing}\n\t\t\t\tstrings={strings}\n\t\t\t/>\n\n\t\t\t{sourceMode ? (\n\t\t\t\t<textarea\n\t\t\t\t\taria-label={strings.sourceLabel}\n\t\t\t\t\tvalue={sourceValue}\n\t\t\t\t\tonChange={handleSourceChange}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tspellCheck={false}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'bg-muted/50 w-full resize-y px-3 py-2 font-mono text-xs leading-relaxed focus-visible:outline-none',\n\t\t\t\t\t\tdisabled && 'cursor-not-allowed',\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={contentStyle}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"relative\" style={contentStyle}>\n\t\t\t\t\t{placeholderNode}\n\n\t\t\t\t\t<EditorContent\n\t\t\t\t\t\teditor={editor}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'h-full',\n\t\t\t\t\t\t\t'[&_.ProseMirror]:h-full',\n\t\t\t\t\t\t\t'[&_.ProseMirror]:min-h-full',\n\t\t\t\t\t\t\t'[&_.ProseMirror]:outline-none',\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!!footerSlot && (\n\t\t\t\t<div className=\"px-3 pb-2 pt-1\">{footerSlot}</div>\n\t\t\t)}\n\n\t\t\t{countsFooter}\n\t\t</div>\n\t);\n});\n\nTiptapRichTextEditor.displayName = 'TiptapRichTextEditor';\n\nexport const hasTiptapRuntime =\n\ttypeof EditorContent === 'function' &&\n\ttypeof useTiptapEditor === 'function' &&\n\ttypeof StarterKit === 'object' &&\n\tStarterKit !== null;\n","import {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport {\n\tBold,\n\tItalic,\n\tList,\n\tListOrdered,\n\tQuote,\n\tRedo2,\n\tStrikethrough,\n\tUndo2,\n} from 'lucide-react';\n\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultRichTextEditorStrings } from '../rich-text-editor.strings';\nimport type {\n\tRichTextEditorHandle,\n\tRichTextEditorProps,\n\tToolbarButtonConfig,\n} from '../rich-text-editor.types';\nimport {\n\tinsertHtmlIntoEditable,\n\treadCaretContext,\n\treplaceBeforeCaret,\n} from './caret-helpers';\nimport { CountsFooterText } from './counts-footer';\nimport { normalizeHtml, toEditorContent } from './html-helpers';\nimport { RichTextEditorToolbar } from './rich-text-editor-toolbar';\n\n/**\n * Fallback editor used when the TipTap runtime is unavailable (e.g. in\n * environments where the package failed to load). Renders a\n * `contenteditable` surface with the same imperative handle so callers\n * never need to care which variant they got.\n */\nexport const FallbackRichTextEditor = forwardRef<RichTextEditorHandle, RichTextEditorProps>(function FallbackRichTextEditor(\n\t{\n\t\tvalue,\n\t\tonChange,\n\t\tplaceholder,\n\t\tcompact = false,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tdisabled = false,\n\t\tshowCounts = false,\n\t\tmaxLength,\n\t\textraToolbarItems,\n\t\ttoolbarTrailing,\n\t\tfooterSlot,\n\t\thideSourceToggle = false,\n\t\tautoFocus = false,\n\t\tclassName,\n\t\tonCaretChange,\n\t\tstrings: stringsProp,\n\t},\n\tref,\n) {\n\tconst strings = useStrings(defaultRichTextEditorStrings, stringsProp);\n\tconst editableRef = useRef<HTMLDivElement>(null);\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [sourceMode, setSourceMode] = useState(false);\n\tconst [sourceValue, setSourceValue] = useState('');\n\tconst externalValueRef = useRef<string>(normalizeHtml(value));\n\tconst onCaretChangeRef = useRef(onCaretChange);\n\tonCaretChangeRef.current = onCaretChange;\n\n\tuseEffect(() => {\n\t\tconst editable = editableRef.current;\n\t\tif (!editable || isFocused) return;\n\t\tconst next = toEditorContent(value);\n\t\tif (normalizeHtml(editable.innerHTML) !== normalizeHtml(next)) {\n\t\t\teditable.innerHTML = next;\n\t\t}\n\t\texternalValueRef.current = normalizeHtml(value);\n\t}, [isFocused, value]);\n\n\tuseEffect(() => {\n\t\tif (!autoFocus) return;\n\t\teditableRef.current?.focus();\n\t}, [autoFocus]);\n\n\tconst emitEditableChange = useCallback(() => {\n\t\tconst editable = editableRef.current;\n\t\tconst html = normalizeHtml(editable?.innerHTML ?? '');\n\t\texternalValueRef.current = html;\n\t\tonChange(html);\n\t\tonCaretChangeRef.current?.();\n\t}, [onChange]);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tfocus: () => editableRef.current?.focus(),\n\t\t\tgetHTML: () => normalizeHtml(editableRef.current?.innerHTML ?? ''),\n\t\t\tsetHTML: (html: string) => {\n\t\t\t\tconst next = normalizeHtml(html);\n\t\t\t\texternalValueRef.current = next;\n\t\t\t\tif (editableRef.current) {\n\t\t\t\t\teditableRef.current.innerHTML = toEditorContent(next);\n\t\t\t\t}\n\t\t\t\tonChange(next);\n\t\t\t},\n\t\t\tinsertHTML: (html: string) => {\n\t\t\t\tinsertHtmlIntoEditable(editableRef.current, html);\n\t\t\t\temitEditableChange();\n\t\t\t},\n\t\t\tisEmpty: () => normalizeHtml(editableRef.current?.innerHTML ?? '') === '',\n\t\t\tclear: () => {\n\t\t\t\texternalValueRef.current = '';\n\t\t\t\tif (editableRef.current) editableRef.current.innerHTML = '<p></p>';\n\t\t\t\tonChange('');\n\t\t\t},\n\t\t\tgetCaretContext: () => readCaretContext(),\n\t\t\treplaceBeforeCaret: (length: number, html: string) => {\n\t\t\t\treplaceBeforeCaret(null, length, html, () => emitEditableChange());\n\t\t\t},\n\t\t}),\n\t\t[emitEditableChange, onChange],\n\t);\n\n\tconst contentStyle = useMemo(\n\t\t() => ({\n\t\t\tminHeight: minHeight ?? (compact ? '2rem' : '12rem'),\n\t\t\t...(maxHeight ? { maxHeight, overflowY: 'auto' as const } : {}),\n\t\t}),\n\t\t[compact, maxHeight, minHeight],\n\t);\n\n\tconst toggleSourceMode = useCallback(() => {\n\t\tif (sourceMode) {\n\t\t\tconst normalized = normalizeHtml(sourceValue);\n\t\t\texternalValueRef.current = normalized;\n\t\t\tif (editableRef.current) {\n\t\t\t\teditableRef.current.innerHTML = toEditorContent(normalized);\n\t\t\t}\n\t\t\tonChange(normalized);\n\t\t\tsetSourceMode(false);\n\t\t\treturn;\n\t\t}\n\t\tsetSourceValue(editableRef.current?.innerHTML ?? toEditorContent(value));\n\t\tsetSourceMode(true);\n\t}, [onChange, sourceMode, sourceValue, value]);\n\n\tconst handleSourceChange = useCallback(\n\t\t(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\tconst next = e.target.value;\n\t\t\tsetSourceValue(next);\n\t\t\tconst normalized = normalizeHtml(next);\n\t\t\texternalValueRef.current = normalized;\n\t\t\tonChange(normalized);\n\t\t},\n\t\t[onChange],\n\t);\n\n\tconst placeholderText = typeof placeholder === 'string' ? placeholder : '';\n\tconst isEmpty = normalizeHtml(externalValueRef.current) === '';\n\tconst placeholderNode =\n\t\tplaceholderText.length > 0 && !isFocused && isEmpty ? (\n\t\t\t<span className=\"text-muted-foreground pointer-events-none absolute left-3 top-2 text-sm\">\n\t\t\t\t{placeholderText}\n\t\t\t</span>\n\t\t) : null;\n\n\tconst toolbarButtons = useMemo<ToolbarButtonConfig[]>(\n\t\t() => [\n\t\t\t{ id: 'bold', icon: Bold, label: strings.toolbar.bold, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'italic', icon: Italic, label: strings.toolbar.italic, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'strike', icon: Strikethrough, label: strings.toolbar.strike, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'bullet-list', icon: List, label: strings.toolbar.bulletList, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'ordered-list', icon: ListOrdered, label: strings.toolbar.orderedList, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'blockquote', icon: Quote, label: strings.toolbar.blockquote, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'undo', icon: Undo2, label: strings.toolbar.undo, isActive: () => false, run: () => undefined, disabled: true },\n\t\t\t{ id: 'redo', icon: Redo2, label: strings.toolbar.redo, isActive: () => false, run: () => undefined, disabled: true },\n\t\t],\n\t\t[strings],\n\t);\n\n\tconst text = sourceMode\n\t\t? sourceValue.replace(/<[^>]*>/g, '')\n\t\t: (editableRef.current?.innerText ?? normalizeHtml(value).replace(/<[^>]*>/g, ''));\n\tconst countsFooter =\n\t\tshowCounts ? (\n\t\t\t<CountsFooterText text={text} maxLength={maxLength} strings={strings} />\n\t\t) : null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'border-input bg-background rounded-md border',\n\t\t\t\tdisabled && 'opacity-70',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<RichTextEditorToolbar\n\t\t\t\tbuttons={toolbarButtons}\n\t\t\t\textraToolbarItems={extraToolbarItems}\n\t\t\t\thideSourceToggle={hideSourceToggle}\n\t\t\t\tsourceMode={sourceMode}\n\t\t\t\ttoggleSourceMode={toggleSourceMode}\n\t\t\t\tdisabled={disabled}\n\t\t\t\thasEditor\n\t\t\t\ttoolbarTrailing={toolbarTrailing}\n\t\t\t\tstrings={strings}\n\t\t\t/>\n\n\t\t\t{sourceMode ? (\n\t\t\t\t<textarea\n\t\t\t\t\taria-label={strings.sourceLabel}\n\t\t\t\t\tvalue={sourceValue}\n\t\t\t\t\tonChange={handleSourceChange}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tspellCheck={false}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'bg-muted/50 w-full resize-y px-3 py-2 font-mono text-xs leading-relaxed focus-visible:outline-none',\n\t\t\t\t\t\tdisabled && 'cursor-not-allowed',\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={contentStyle}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div className=\"relative\" style={contentStyle}>\n\t\t\t\t\t{placeholderNode}\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={editableRef}\n\t\t\t\t\t\trole=\"textbox\"\n\t\t\t\t\t\taria-label={strings.editorLabel}\n\t\t\t\t\t\taria-multiline=\"true\"\n\t\t\t\t\t\tcontentEditable={!disabled}\n\t\t\t\t\t\tsuppressContentEditableWarning\n\t\t\t\t\t\tonInput={emitEditableChange}\n\t\t\t\t\t\tonKeyUp={() => onCaretChangeRef.current?.()}\n\t\t\t\t\t\tonMouseUp={() => onCaretChangeRef.current?.()}\n\t\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'prose prose-sm prose-p:my-0.5 prose-p:leading-relaxed prose-headings:my-1 prose-ul:my-1 prose-ol:my-1 prose-li:my-0.5 max-w-none px-3 py-2 text-sm focus-visible:outline-none dark:prose-invert',\n\t\t\t\t\t\t\t'h-full min-h-full',\n\t\t\t\t\t\t\tdisabled && 'cursor-not-allowed',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: toEditorContent(value) }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!!footerSlot && (\n\t\t\t\t<div className=\"px-3 pb-2 pt-1\">{footerSlot}</div>\n\t\t\t)}\n\n\t\t\t{countsFooter}\n\t\t</div>\n\t);\n});\n\nFallbackRichTextEditor.displayName = 'FallbackRichTextEditor';\n","/**\n * Public `<RichTextEditor>` shell — picks the TipTap-backed editor when\n * the runtime is loaded and falls back to a plain `contenteditable`\n * surface otherwise. Both variants implement the same imperative\n * `RichTextEditorHandle`, so callers don't have to branch.\n *\n * Heavy lifting lives in `partials/`:\n * - `partials/rich-text-editor-tiptap.tsx` — TipTap variant\n * - `partials/rich-text-editor-fallback.tsx` — contenteditable variant\n * - `partials/rich-text-editor-toolbar.tsx` — shared toolbar\n * - `partials/counts-footer.tsx` — char/word counts\n * - `partials/caret-helpers.ts` — caret introspection\n * - `partials/html-helpers.ts` — HTML normalization\n */\nimport { forwardRef } from 'react';\n\nimport {\n\tFallbackRichTextEditor,\n\tTiptapRichTextEditor,\n\thasTiptapRuntime,\n} from './partials';\nimport type {\n\tRichTextEditorHandle,\n\tRichTextEditorProps,\n} from './rich-text-editor.types';\n\nexport const RichTextEditor = forwardRef<RichTextEditorHandle, RichTextEditorProps>(function RichTextEditor(\n\tprops,\n\tref,\n) {\n\tif (!hasTiptapRuntime) {\n\t\treturn <FallbackRichTextEditor className=\"rich-text-editor--component\" {...props} ref={ref} />;\n\t}\n\n\treturn <TiptapRichTextEditor {...props} ref={ref} />;\n});\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport type {\n\tRichTextEditorProps,\n\tRichTextEditorHandle,\n\tRichTextEditorToolbarItem,\n\tRichTextCaretContext,\n} from './rich-text-editor.types';\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("../lib/strings.cjs"),t=require("../lib/utils.cjs"),n=require("./typography-CO9uwZhF.cjs"),r=require("./badge-BeSKxX1u.cjs"),i=require("./cards-GSYfJ-oX.cjs"),a=require("./layout.types-CXFAjJCj.cjs");let o=require("react/jsx-runtime");var s={navigationAriaLabel:`Settings navigation`};function c(e){if(!e)return``;try{let t=typeof window<`u`?window.location.origin:`http://localhost`,n=new URL(e,t).pathname.replace(/\/+$/,``);return n.length>0?n:`/`}catch{let t=(e.split(`?`)[0]??e).replace(/\/+$/,``);return t.length>0?t:`/`}}function l(e,t,n){if(t)return e.id===t;if(!n||!e.href)return!1;let r=c(n),i=c(e.href);return r===i||r.startsWith(`${i}/`)}function u({title:c,description:u,groups:d,currentId:f,currentPath:p,children:m,aside:h,actions:g,footer:_,className:v,navClassName:y,contentClassName:b,renderLink:x,LinkComponent:S,strings:C}){let w=e.useStrings(s,C),T=a.r({renderLink:x,LinkComponent:S});return(0,o.jsxs)(`section`,{"data-component":`aside-nav-shell`,"data-slot":`aside-nav-shell`,className:t.cn(`aside-nav-shell--component grid min-w-0 gap-5 lg:grid-cols-[17rem_minmax(0,1fr)]`,v),children:[(0,o.jsx)(`aside`,{"data-slot":`aside-nav-shell-aside`,className:`aside-nav-shell--aside min-w-0`,children:(0,o.jsxs)(i.t,{padding:`default`,surface:`card`,className:t.cn(`aside-nav-shell--nav-card sticky top-[calc(var(--topbar-height)_+_1rem)]`,y),contentClassName:`grid gap-4`,children:[!!h&&(0,o.jsx)(`div`,{className:`aside-nav-shell--aside-header`,children:h}),(0,o.jsx)(`nav`,{"aria-label":w.navigationAriaLabel,className:`grid gap-4`,children:d.map(e=>(0,o.jsxs)(`div`,{className:`grid gap-1.5`,children:[!!e.label&&(0,o.jsx)(n.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:`px-2 uppercase tracking-normal`,children:e.label}),(0,o.jsx)(`div`,{className:`grid gap-0.5`,children:e.items.map(e=>{let i=e.icon,a=l(e,f,p),s=(0,o.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[!!i&&(0,o.jsx)(i,{className:t.cn(`size-4 shrink-0`,a?`text-primary`:`text-muted-foreground`)}),(0,o.jsxs)(`span`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,o.jsx)(n.s,{tag:`span`,weight:a?`semibold`:`medium`,className:`truncate`,children:e.label}),!!e.description&&(0,o.jsx)(n.s,{tag:`span`,size:`xs`,type:`secondary`,className:`truncate`,children:e.description})]}),!!e.badge&&(0,o.jsx)(r.t,{variant:a?`primary`:`secondary`,className:`shrink-0`,children:e.badge})]});return(0,o.jsx)(`div`,{onClick:()=>e.onSelect?.(e.id),children:T({href:e.href,children:s,active:a,disabled:e.disabled,external:e.external,className:t.cn(`aside-nav-shell--item flex min-w-0 rounded-md px-2 py-2 text-sm transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,a?`bg-primary/8 text-foreground`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`,e.disabled&&`pointer-events-none opacity-50`),"aria-label":typeof e.label==`string`?e.label:void 0})},e.id)})})]},e.id))})]})}),(0,o.jsxs)(`div`,{"data-slot":`aside-nav-shell-main`,className:t.cn(`aside-nav-shell--main min-w-0 space-y-4`,b),children:[(c||u||g)&&(0,o.jsxs)(`header`,{className:`aside-nav-shell--header flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,o.jsxs)(`div`,{className:`min-w-0`,children:[!!c&&(0,o.jsx)(n.o,{tag:`h2`,className:`border-0 pb-0`,children:c}),!!u&&(0,o.jsx)(n.s,{type:`secondary`,className:`mt-1 max-w-3xl`,children:u})]}),!!g&&(0,o.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:g})]}),(0,o.jsx)(`div`,{"data-slot":`aside-nav-shell-content`,className:`aside-nav-shell--content min-w-0`,children:m}),!!_&&(0,o.jsx)(`footer`,{className:`aside-nav-shell--footer`,children:_})]})]})}var d=u;u.displayName=`AsideNavShell`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
|
|
2
|
-
//# sourceMappingURL=settings-Bfr6PgSi.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings-Bfr6PgSi.cjs","names":[],"sources":["../../src/components/layout/settings/settings.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Heading, Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\n\nexport interface AsideNavShellStrings {\n\tnavigationAriaLabel: string;\n}\n\nexport const defaultAsideNavShellStrings: AsideNavShellStrings = {\n\tnavigationAriaLabel: 'Settings navigation',\n};\n\nexport interface AsideNavItem {\n\tid: string;\n\tlabel: ReactNode;\n\thref?: string;\n\tdescription?: ReactNode;\n\ticon?: ComponentType<{ className?: string }>;\n\tbadge?: ReactNode;\n\tdisabled?: boolean;\n\texternal?: boolean;\n\tonSelect?: (id: string) => void;\n}\n\nexport interface AsideNavGroup {\n\tid: string;\n\tlabel?: ReactNode;\n\titems: AsideNavItem[];\n}\n\nexport interface AsideNavShellProps extends LayoutNavigationAdapter {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tgroups: AsideNavGroup[];\n\tcurrentId?: string;\n\tcurrentPath?: string;\n\tchildren?: ReactNode;\n\taside?: ReactNode;\n\tactions?: ReactNode;\n\tfooter?: ReactNode;\n\tclassName?: string;\n\tnavClassName?: string;\n\tcontentClassName?: string;\n\tstrings?: StringsProp<AsideNavShellStrings>;\n}\n\nexport type SettingsShellProps = AsideNavShellProps;\n\nfunction normalizePath(rawUrl?: string): string {\n\tif (!rawUrl) return '';\n\ttry {\n\t\tconst baseOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost';\n\t\tconst parsed = new URL(rawUrl, baseOrigin);\n\t\tconst trimmed = parsed.pathname.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t} catch {\n\t\tconst clean = rawUrl.split('?')[0] ?? rawUrl;\n\t\tconst trimmed = clean.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t}\n}\n\nfunction isActiveItem(item: AsideNavItem, currentId?: string, currentPath?: string): boolean {\n\tif (currentId) return item.id === currentId;\n\tif (!currentPath || !item.href) return false;\n\tconst activePath = normalizePath(currentPath);\n\tconst itemPath = normalizePath(item.href);\n\treturn activePath === itemPath || activePath.startsWith(`${itemPath}/`);\n}\n\nexport function AsideNavShell({\n\ttitle,\n\tdescription,\n\tgroups,\n\tcurrentId,\n\tcurrentPath,\n\tchildren,\n\taside,\n\tactions,\n\tfooter,\n\tclassName,\n\tnavClassName,\n\tcontentClassName,\n\trenderLink,\n\tLinkComponent,\n\tstrings: stringsProp,\n}: AsideNavShellProps) {\n\tconst strings = useStrings(defaultAsideNavShellStrings, stringsProp);\n\tconst linkRenderer = resolveLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<section\n\t\t\tdata-component=\"aside-nav-shell\"\n\t\t\tdata-slot=\"aside-nav-shell\"\n\t\t\tclassName={cn('aside-nav-shell--component grid min-w-0 gap-5 lg:grid-cols-[17rem_minmax(0,1fr)]', className)}\n\t\t>\n\t\t\t<aside data-slot=\"aside-nav-shell-aside\" className=\"aside-nav-shell--aside min-w-0\">\n\t\t\t\t<SmartCard\n\t\t\t\t\tpadding=\"default\"\n\t\t\t\t\tsurface=\"card\"\n\t\t\t\t\tclassName={cn('aside-nav-shell--nav-card sticky top-[calc(var(--topbar-height)_+_1rem)]', navClassName)}\n\t\t\t\t\tcontentClassName=\"grid gap-4\"\n\t\t\t\t>\n\t\t\t\t\t{!!aside && <div className=\"aside-nav-shell--aside-header\">{aside}</div>}\n\t\t\t\t\t<nav aria-label={strings.navigationAriaLabel} className=\"grid gap-4\">\n\t\t\t\t\t\t{groups.map((group) => (\n\t\t\t\t\t\t\t<div key={group.id} className=\"grid gap-1.5\">\n\t\t\t\t\t\t\t\t{!!group.label && (\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 uppercase tracking-normal\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{group.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className=\"grid gap-0.5\">\n\t\t\t\t\t\t\t\t\t{group.items.map((item) => {\n\t\t\t\t\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\t\t\t\t\tconst active = isActiveItem(item, currentId, currentPath);\n\t\t\t\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'size-4 shrink-0',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive ? 'text-primary' : 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 flex-1 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight={active ? 'semibold' : 'medium'} className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div key={item.id} onClick={() => item.onSelect?.(item.id)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{linkRenderer({\n\t\t\t\t\t\t\t\t\t\t\t\t\thref: item.href,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: content,\n\t\t\t\t\t\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\t\t\t\t\t\texternal: item.external,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aside-nav-shell--item flex min-w-0 rounded-md px-2 py-2 text-sm transition-colors',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary/8 text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground hover:bg-muted/60 hover:text-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': typeof item.label === 'string' ? item.label : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</nav>\n\t\t\t\t</SmartCard>\n\t\t\t</aside>\n\n\t\t\t<div data-slot=\"aside-nav-shell-main\" className={cn('aside-nav-shell--main min-w-0 space-y-4', contentClassName)}>\n\t\t\t\t{(title || description || actions) && (\n\t\t\t\t\t<header className=\"aside-nav-shell--header flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between\">\n\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t{!!title && <Heading tag=\"h2\" className=\"border-0 pb-0\">{title}</Heading>}\n\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t<Text type=\"secondary\" className=\"mt-1 max-w-3xl\">\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!!actions && <div className=\"flex shrink-0 flex-wrap items-center gap-2\">{actions}</div>}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\t\t\t\t<div data-slot=\"aside-nav-shell-content\" className=\"aside-nav-shell--content min-w-0\">\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{!!footer && <footer className=\"aside-nav-shell--footer\">{footer}</footer>}\n\t\t\t</div>\n\t\t</section>\n\t);\n}\n\nexport const SettingsShell = AsideNavShell;\n\nAsideNavShell.displayName = 'AsideNavShell';\n"],"mappings":"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"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { useStrings as e } from "../lib/strings.js";
|
|
2
|
-
import { cn as t } from "../lib/utils.js";
|
|
3
|
-
import { o as n, s as r } from "./typography-DE0NGEIE.js";
|
|
4
|
-
import { t as i } from "./badge-a2Z3K5aQ.js";
|
|
5
|
-
import { t as a } from "./cards-C1ythc0Q.js";
|
|
6
|
-
import { r as o } from "./layout.types-ip8BYRa7.js";
|
|
7
|
-
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
8
|
-
//#region src/components/layout/settings/settings.tsx
|
|
9
|
-
var l = { navigationAriaLabel: "Settings navigation" };
|
|
10
|
-
function u(e) {
|
|
11
|
-
if (!e) return "";
|
|
12
|
-
try {
|
|
13
|
-
let t = typeof window < "u" ? window.location.origin : "http://localhost", n = new URL(e, t).pathname.replace(/\/+$/, "");
|
|
14
|
-
return n.length > 0 ? n : "/";
|
|
15
|
-
} catch {
|
|
16
|
-
let t = (e.split("?")[0] ?? e).replace(/\/+$/, "");
|
|
17
|
-
return t.length > 0 ? t : "/";
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function d(e, t, n) {
|
|
21
|
-
if (t) return e.id === t;
|
|
22
|
-
if (!n || !e.href) return !1;
|
|
23
|
-
let r = u(n), i = u(e.href);
|
|
24
|
-
return r === i || r.startsWith(`${i}/`);
|
|
25
|
-
}
|
|
26
|
-
function f({ title: u, description: f, groups: p, currentId: m, currentPath: h, children: g, aside: _, actions: v, footer: y, className: b, navClassName: x, contentClassName: S, renderLink: C, LinkComponent: w, strings: T }) {
|
|
27
|
-
let E = e(l, T), D = o({
|
|
28
|
-
renderLink: C,
|
|
29
|
-
LinkComponent: w
|
|
30
|
-
});
|
|
31
|
-
return /* @__PURE__ */ c("section", {
|
|
32
|
-
"data-component": "aside-nav-shell",
|
|
33
|
-
"data-slot": "aside-nav-shell",
|
|
34
|
-
className: t("aside-nav-shell--component grid min-w-0 gap-5 lg:grid-cols-[17rem_minmax(0,1fr)]", b),
|
|
35
|
-
children: [/* @__PURE__ */ s("aside", {
|
|
36
|
-
"data-slot": "aside-nav-shell-aside",
|
|
37
|
-
className: "aside-nav-shell--aside min-w-0",
|
|
38
|
-
children: /* @__PURE__ */ c(a, {
|
|
39
|
-
padding: "default",
|
|
40
|
-
surface: "card",
|
|
41
|
-
className: t("aside-nav-shell--nav-card sticky top-[calc(var(--topbar-height)_+_1rem)]", x),
|
|
42
|
-
contentClassName: "grid gap-4",
|
|
43
|
-
children: [!!_ && /* @__PURE__ */ s("div", {
|
|
44
|
-
className: "aside-nav-shell--aside-header",
|
|
45
|
-
children: _
|
|
46
|
-
}), /* @__PURE__ */ s("nav", {
|
|
47
|
-
"aria-label": E.navigationAriaLabel,
|
|
48
|
-
className: "grid gap-4",
|
|
49
|
-
children: p.map((e) => /* @__PURE__ */ c("div", {
|
|
50
|
-
className: "grid gap-1.5",
|
|
51
|
-
children: [!!e.label && /* @__PURE__ */ s(r, {
|
|
52
|
-
size: "xxs",
|
|
53
|
-
type: "secondary",
|
|
54
|
-
weight: "medium",
|
|
55
|
-
className: "px-2 uppercase tracking-normal",
|
|
56
|
-
children: e.label
|
|
57
|
-
}), /* @__PURE__ */ s("div", {
|
|
58
|
-
className: "grid gap-0.5",
|
|
59
|
-
children: e.items.map((e) => {
|
|
60
|
-
let n = e.icon, a = d(e, m, h), o = /* @__PURE__ */ c("span", {
|
|
61
|
-
className: "flex min-w-0 items-center gap-2",
|
|
62
|
-
children: [
|
|
63
|
-
!!n && /* @__PURE__ */ s(n, { className: t("size-4 shrink-0", a ? "text-primary" : "text-muted-foreground") }),
|
|
64
|
-
/* @__PURE__ */ c("span", {
|
|
65
|
-
className: "grid min-w-0 flex-1 gap-0.5",
|
|
66
|
-
children: [/* @__PURE__ */ s(r, {
|
|
67
|
-
tag: "span",
|
|
68
|
-
weight: a ? "semibold" : "medium",
|
|
69
|
-
className: "truncate",
|
|
70
|
-
children: e.label
|
|
71
|
-
}), !!e.description && /* @__PURE__ */ s(r, {
|
|
72
|
-
tag: "span",
|
|
73
|
-
size: "xs",
|
|
74
|
-
type: "secondary",
|
|
75
|
-
className: "truncate",
|
|
76
|
-
children: e.description
|
|
77
|
-
})]
|
|
78
|
-
}),
|
|
79
|
-
!!e.badge && /* @__PURE__ */ s(i, {
|
|
80
|
-
variant: a ? "primary" : "secondary",
|
|
81
|
-
className: "shrink-0",
|
|
82
|
-
children: e.badge
|
|
83
|
-
})
|
|
84
|
-
]
|
|
85
|
-
});
|
|
86
|
-
return /* @__PURE__ */ s("div", {
|
|
87
|
-
onClick: () => e.onSelect?.(e.id),
|
|
88
|
-
children: D({
|
|
89
|
-
href: e.href,
|
|
90
|
-
children: o,
|
|
91
|
-
active: a,
|
|
92
|
-
disabled: e.disabled,
|
|
93
|
-
external: e.external,
|
|
94
|
-
className: t("aside-nav-shell--item flex min-w-0 rounded-md px-2 py-2 text-sm transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40", a ? "bg-primary/8 text-foreground" : "text-muted-foreground hover:bg-muted/60 hover:text-foreground", e.disabled && "pointer-events-none opacity-50"),
|
|
95
|
-
"aria-label": typeof e.label == "string" ? e.label : void 0
|
|
96
|
-
})
|
|
97
|
-
}, e.id);
|
|
98
|
-
})
|
|
99
|
-
})]
|
|
100
|
-
}, e.id))
|
|
101
|
-
})]
|
|
102
|
-
})
|
|
103
|
-
}), /* @__PURE__ */ c("div", {
|
|
104
|
-
"data-slot": "aside-nav-shell-main",
|
|
105
|
-
className: t("aside-nav-shell--main min-w-0 space-y-4", S),
|
|
106
|
-
children: [
|
|
107
|
-
(u || f || v) && /* @__PURE__ */ c("header", {
|
|
108
|
-
className: "aside-nav-shell--header flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
|
|
109
|
-
children: [/* @__PURE__ */ c("div", {
|
|
110
|
-
className: "min-w-0",
|
|
111
|
-
children: [!!u && /* @__PURE__ */ s(n, {
|
|
112
|
-
tag: "h2",
|
|
113
|
-
className: "border-0 pb-0",
|
|
114
|
-
children: u
|
|
115
|
-
}), !!f && /* @__PURE__ */ s(r, {
|
|
116
|
-
type: "secondary",
|
|
117
|
-
className: "mt-1 max-w-3xl",
|
|
118
|
-
children: f
|
|
119
|
-
})]
|
|
120
|
-
}), !!v && /* @__PURE__ */ s("div", {
|
|
121
|
-
className: "flex shrink-0 flex-wrap items-center gap-2",
|
|
122
|
-
children: v
|
|
123
|
-
})]
|
|
124
|
-
}),
|
|
125
|
-
/* @__PURE__ */ s("div", {
|
|
126
|
-
"data-slot": "aside-nav-shell-content",
|
|
127
|
-
className: "aside-nav-shell--content min-w-0",
|
|
128
|
-
children: g
|
|
129
|
-
}),
|
|
130
|
-
!!y && /* @__PURE__ */ s("footer", {
|
|
131
|
-
className: "aside-nav-shell--footer",
|
|
132
|
-
children: y
|
|
133
|
-
})
|
|
134
|
-
]
|
|
135
|
-
})]
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
var p = f;
|
|
139
|
-
f.displayName = "AsideNavShell";
|
|
140
|
-
//#endregion
|
|
141
|
-
export { p as n, l as r, f as t };
|
|
142
|
-
|
|
143
|
-
//# sourceMappingURL=settings-CrPaYr4A.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings-CrPaYr4A.js","names":[],"sources":["../../src/components/layout/settings/settings.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { SmartCard } from '@/components/base/cards';\nimport { Heading, Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\n\nexport interface AsideNavShellStrings {\n\tnavigationAriaLabel: string;\n}\n\nexport const defaultAsideNavShellStrings: AsideNavShellStrings = {\n\tnavigationAriaLabel: 'Settings navigation',\n};\n\nexport interface AsideNavItem {\n\tid: string;\n\tlabel: ReactNode;\n\thref?: string;\n\tdescription?: ReactNode;\n\ticon?: ComponentType<{ className?: string }>;\n\tbadge?: ReactNode;\n\tdisabled?: boolean;\n\texternal?: boolean;\n\tonSelect?: (id: string) => void;\n}\n\nexport interface AsideNavGroup {\n\tid: string;\n\tlabel?: ReactNode;\n\titems: AsideNavItem[];\n}\n\nexport interface AsideNavShellProps extends LayoutNavigationAdapter {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tgroups: AsideNavGroup[];\n\tcurrentId?: string;\n\tcurrentPath?: string;\n\tchildren?: ReactNode;\n\taside?: ReactNode;\n\tactions?: ReactNode;\n\tfooter?: ReactNode;\n\tclassName?: string;\n\tnavClassName?: string;\n\tcontentClassName?: string;\n\tstrings?: StringsProp<AsideNavShellStrings>;\n}\n\nexport type SettingsShellProps = AsideNavShellProps;\n\nfunction normalizePath(rawUrl?: string): string {\n\tif (!rawUrl) return '';\n\ttry {\n\t\tconst baseOrigin = typeof window !== 'undefined' ? window.location.origin : 'http://localhost';\n\t\tconst parsed = new URL(rawUrl, baseOrigin);\n\t\tconst trimmed = parsed.pathname.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t} catch {\n\t\tconst clean = rawUrl.split('?')[0] ?? rawUrl;\n\t\tconst trimmed = clean.replace(/\\/+$/, '');\n\t\treturn trimmed.length > 0 ? trimmed : '/';\n\t}\n}\n\nfunction isActiveItem(item: AsideNavItem, currentId?: string, currentPath?: string): boolean {\n\tif (currentId) return item.id === currentId;\n\tif (!currentPath || !item.href) return false;\n\tconst activePath = normalizePath(currentPath);\n\tconst itemPath = normalizePath(item.href);\n\treturn activePath === itemPath || activePath.startsWith(`${itemPath}/`);\n}\n\nexport function AsideNavShell({\n\ttitle,\n\tdescription,\n\tgroups,\n\tcurrentId,\n\tcurrentPath,\n\tchildren,\n\taside,\n\tactions,\n\tfooter,\n\tclassName,\n\tnavClassName,\n\tcontentClassName,\n\trenderLink,\n\tLinkComponent,\n\tstrings: stringsProp,\n}: AsideNavShellProps) {\n\tconst strings = useStrings(defaultAsideNavShellStrings, stringsProp);\n\tconst linkRenderer = resolveLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<section\n\t\t\tdata-component=\"aside-nav-shell\"\n\t\t\tdata-slot=\"aside-nav-shell\"\n\t\t\tclassName={cn('aside-nav-shell--component grid min-w-0 gap-5 lg:grid-cols-[17rem_minmax(0,1fr)]', className)}\n\t\t>\n\t\t\t<aside data-slot=\"aside-nav-shell-aside\" className=\"aside-nav-shell--aside min-w-0\">\n\t\t\t\t<SmartCard\n\t\t\t\t\tpadding=\"default\"\n\t\t\t\t\tsurface=\"card\"\n\t\t\t\t\tclassName={cn('aside-nav-shell--nav-card sticky top-[calc(var(--topbar-height)_+_1rem)]', navClassName)}\n\t\t\t\t\tcontentClassName=\"grid gap-4\"\n\t\t\t\t>\n\t\t\t\t\t{!!aside && <div className=\"aside-nav-shell--aside-header\">{aside}</div>}\n\t\t\t\t\t<nav aria-label={strings.navigationAriaLabel} className=\"grid gap-4\">\n\t\t\t\t\t\t{groups.map((group) => (\n\t\t\t\t\t\t\t<div key={group.id} className=\"grid gap-1.5\">\n\t\t\t\t\t\t\t\t{!!group.label && (\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 uppercase tracking-normal\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{group.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className=\"grid gap-0.5\">\n\t\t\t\t\t\t\t\t\t{group.items.map((item) => {\n\t\t\t\t\t\t\t\t\t\tconst Icon = item.icon;\n\t\t\t\t\t\t\t\t\t\tconst active = isActiveItem(item, currentId, currentPath);\n\t\t\t\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"flex min-w-0 items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t{!!Icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'size-4 shrink-0',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive ? 'text-primary' : 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 flex-1 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight={active ? 'semibold' : 'medium'} className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{!!item.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{!!item.badge && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge variant={active ? 'primary' : 'secondary'} className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.badge}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div key={item.id} onClick={() => item.onSelect?.(item.id)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{linkRenderer({\n\t\t\t\t\t\t\t\t\t\t\t\t\thref: item.href,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: content,\n\t\t\t\t\t\t\t\t\t\t\t\t\tactive,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled: item.disabled,\n\t\t\t\t\t\t\t\t\t\t\t\t\texternal: item.external,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aside-nav-shell--item flex min-w-0 rounded-md px-2 py-2 text-sm transition-colors',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary/8 text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground hover:bg-muted/60 hover:text-foreground',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-label': typeof item.label === 'string' ? item.label : undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</nav>\n\t\t\t\t</SmartCard>\n\t\t\t</aside>\n\n\t\t\t<div data-slot=\"aside-nav-shell-main\" className={cn('aside-nav-shell--main min-w-0 space-y-4', contentClassName)}>\n\t\t\t\t{(title || description || actions) && (\n\t\t\t\t\t<header className=\"aside-nav-shell--header flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between\">\n\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t{!!title && <Heading tag=\"h2\" className=\"border-0 pb-0\">{title}</Heading>}\n\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t<Text type=\"secondary\" className=\"mt-1 max-w-3xl\">\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{!!actions && <div className=\"flex shrink-0 flex-wrap items-center gap-2\">{actions}</div>}\n\t\t\t\t\t</header>\n\t\t\t\t)}\n\t\t\t\t<div data-slot=\"aside-nav-shell-content\" className=\"aside-nav-shell--content min-w-0\">\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{!!footer && <footer className=\"aside-nav-shell--footer\">{footer}</footer>}\n\t\t\t</div>\n\t\t</section>\n\t);\n}\n\nexport const SettingsShell = AsideNavShell;\n\nAsideNavShell.displayName = 'AsideNavShell';\n"],"mappings":";;;;;;;;AAiBA,IAAa,IAAoD,EAChE,qBAAqB,sBACtB;AAsCA,SAAS,EAAc,GAAyB;CAC/C,IAAI,CAAC,GAAQ,OAAO;CACpB,IAAI;EACH,IAAM,IAAa,OAAO,SAAW,MAAc,OAAO,SAAS,SAAS,oBAEtE,IAAU,IADG,IAAI,GAAQ,CACf,EAAO,SAAS,QAAQ,QAAQ,EAAE;EAClD,OAAO,EAAQ,SAAS,IAAI,IAAU;CACvC,QAAQ;EAEP,IAAM,KADQ,EAAO,MAAM,GAAG,EAAE,MAAM,GAChB,QAAQ,QAAQ,EAAE;EACxC,OAAO,EAAQ,SAAS,IAAI,IAAU;CACvC;AACD;AAEA,SAAS,EAAa,GAAoB,GAAoB,GAA+B;CAC5F,IAAI,GAAW,OAAO,EAAK,OAAO;CAClC,IAAI,CAAC,KAAe,CAAC,EAAK,MAAM,OAAO;CACvC,IAAM,IAAa,EAAc,CAAW,GACtC,IAAW,EAAc,EAAK,IAAI;CACxC,OAAO,MAAe,KAAY,EAAW,WAAW,GAAG,EAAS,EAAE;AACvE;AAEA,SAAgB,EAAc,EAC7B,UACA,gBACA,WACA,cACA,gBACA,aACA,UACA,YACA,WACA,cACA,iBACA,qBACA,eACA,kBACA,SAAS,KACa;CACtB,IAAM,IAAU,EAAW,GAA6B,CAAW,GAC7D,IAAe,EAA0B;EAAE;EAAY;CAAc,CAAC;CAE5E,OACC,kBAAC,WAAD;EACC,kBAAe;EACf,aAAU;EACV,WAAW,EAAG,oFAAoF,CAAS;YAH5G,CAKC,kBAAC,SAAD;GAAO,aAAU;GAAwB,WAAU;aAClD,kBAAC,GAAD;IACC,SAAQ;IACR,SAAQ;IACR,WAAW,EAAG,4EAA4E,CAAY;IACtG,kBAAiB;cAJlB,CAME,CAAC,CAAC,KAAS,kBAAC,OAAD;KAAK,WAAU;eAAiC;IAAW,CAAA,GACvE,kBAAC,OAAD;KAAK,cAAY,EAAQ;KAAqB,WAAU;eACtD,EAAO,KAAK,MACZ,kBAAC,OAAD;MAAoB,WAAU;gBAA9B,CACE,CAAC,CAAC,EAAM,SACR,kBAAC,GAAD;OACC,MAAK;OACL,MAAK;OACL,QAAO;OACP,WAAU;iBAET,EAAM;MACF,CAAA,GAEP,kBAAC,OAAD;OAAK,WAAU;iBACb,EAAM,MAAM,KAAK,MAAS;QAC1B,IAAM,IAAO,EAAK,MACZ,IAAS,EAAa,GAAM,GAAW,CAAW,GAClD,IACL,kBAAC,QAAD;SAAM,WAAU;mBAAhB;UACE,CAAC,CAAC,KACF,kBAAC,GAAD,EACC,WAAW,EACV,mBACA,IAAS,iBAAiB,uBAC3B,EACA,CAAA;UAEF,kBAAC,QAAD;WAAM,WAAU;qBAAhB,CACC,kBAAC,GAAD;YAAM,KAAI;YAAO,QAAQ,IAAS,aAAa;YAAU,WAAU;sBACjE,EAAK;WACD,CAAA,GACL,CAAC,CAAC,EAAK,eACP,kBAAC,GAAD;YAAM,KAAI;YAAO,MAAK;YAAK,MAAK;YAAY,WAAU;sBACpD,EAAK;WACD,CAAA,CAEF;;UACL,CAAC,CAAC,EAAK,SACP,kBAAC,GAAD;WAAO,SAAS,IAAS,YAAY;WAAa,WAAU;qBAC1D,EAAK;UACA,CAAA;SAEH;;QAGP,OACC,kBAAC,OAAD;SAAmB,eAAe,EAAK,WAAW,EAAK,EAAE;mBACvD,EAAa;UACb,MAAM,EAAK;UACX,UAAU;UACV;UACA,UAAU,EAAK;UACf,UAAU,EAAK;UACf,WAAW,EACV,qFACA,8EACA,IACG,iCACA,iEACH,EAAK,YAAY,gCAClB;UACA,cAAc,OAAO,EAAK,SAAU,WAAW,EAAK,QAAQ,KAAA;SAC7D,CAAC;QACG,GAjBK,EAAK,EAiBV;OAEP,CAAC;MACG,CAAA,CACD;QAjEK,EAAM,EAiEX,CACL;IACG,CAAA,CACK;;EACL,CAAA,GAEP,kBAAC,OAAD;GAAK,aAAU;GAAuB,WAAW,EAAG,2CAA2C,CAAgB;aAA/G;KACG,KAAS,KAAe,MACzB,kBAAC,UAAD;KAAQ,WAAU;eAAlB,CACC,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,CAAC,CAAC,KAAS,kBAAC,GAAD;OAAS,KAAI;OAAK,WAAU;iBAAiB;MAAe,CAAA,GACvE,CAAC,CAAC,KACF,kBAAC,GAAD;OAAM,MAAK;OAAY,WAAU;iBAC/B;MACI,CAAA,CAEH;SACJ,CAAC,CAAC,KAAW,kBAAC,OAAD;MAAK,WAAU;gBAA8C;KAAa,CAAA,CACjF;;IAET,kBAAC,OAAD;KAAK,aAAU;KAA0B,WAAU;KACjD;IACG,CAAA;IACJ,CAAC,CAAC,KAAU,kBAAC,UAAD;KAAQ,WAAU;eAA2B;IAAe,CAAA;GACrE;IACG;;AAEX;AAEA,IAAa,IAAgB;AAE7B,EAAc,cAAc"}
|