admin-ui-starter-kit 0.6.2 → 0.6.5
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/dist/_shared/auth-BZY91F5_.cjs +2 -0
- package/dist/_shared/auth-BZY91F5_.cjs.map +1 -0
- package/dist/_shared/auth-DcotjEbY.js +643 -0
- package/dist/_shared/auth-DcotjEbY.js.map +1 -0
- package/dist/_shared/buttons-Bek9F7qK.cjs +2 -0
- package/dist/_shared/buttons-Bek9F7qK.cjs.map +1 -0
- package/dist/_shared/buttons-DcynMPnE.js +137 -0
- package/dist/_shared/buttons-DcynMPnE.js.map +1 -0
- package/dist/_shared/cards-C1ythc0Q.js +354 -0
- package/dist/_shared/cards-C1ythc0Q.js.map +1 -0
- package/dist/_shared/cards-GSYfJ-oX.cjs +2 -0
- package/dist/_shared/cards-GSYfJ-oX.cjs.map +1 -0
- package/dist/_shared/comments-CmljtbAW.js +952 -0
- package/dist/_shared/comments-CmljtbAW.js.map +1 -0
- package/dist/_shared/comments-ColUq7eh.cjs +2 -0
- package/dist/_shared/comments-ColUq7eh.cjs.map +1 -0
- package/dist/_shared/containers-CB7zaAvN.cjs +2 -0
- package/dist/_shared/containers-CB7zaAvN.cjs.map +1 -0
- package/dist/_shared/containers-CLBmhGfs.js +48 -0
- package/dist/_shared/containers-CLBmhGfs.js.map +1 -0
- package/dist/_shared/data-display-BTsCY7A5.js +1873 -0
- package/dist/_shared/data-display-BTsCY7A5.js.map +1 -0
- package/dist/_shared/data-display-BdGQMXit.cjs +2 -0
- package/dist/_shared/data-display-BdGQMXit.cjs.map +1 -0
- package/dist/_shared/forms-CEE1te78.cjs +2 -0
- package/dist/_shared/forms-CEE1te78.cjs.map +1 -0
- package/dist/_shared/forms-CQoGvG7q.js +3533 -0
- package/dist/_shared/forms-CQoGvG7q.js.map +1 -0
- package/dist/_shared/header-B9IPDQRW.js +447 -0
- package/dist/_shared/header-B9IPDQRW.js.map +1 -0
- package/dist/_shared/header-C_1x4-rd.cjs +2 -0
- package/dist/_shared/header-C_1x4-rd.cjs.map +1 -0
- package/dist/_shared/hooks---vunGQ6.js +95 -0
- package/dist/_shared/hooks---vunGQ6.js.map +1 -0
- package/dist/_shared/hooks-CjVzmgvY.cjs +2 -0
- package/dist/_shared/hooks-CjVzmgvY.cjs.map +1 -0
- package/dist/_shared/layout-BXrQqUKq.js +262 -0
- package/dist/_shared/layout-BXrQqUKq.js.map +1 -0
- package/dist/_shared/layout-DWicdsPI.cjs +2 -0
- package/dist/_shared/layout-DWicdsPI.cjs.map +1 -0
- package/dist/_shared/layout.types-CXFAjJCj.cjs +2 -0
- package/dist/_shared/layout.types-CXFAjJCj.cjs.map +1 -0
- package/dist/_shared/layout.types-ip8BYRa7.js +28 -0
- package/dist/_shared/layout.types-ip8BYRa7.js.map +1 -0
- package/dist/_shared/settings-Bfr6PgSi.cjs +2 -0
- package/dist/_shared/settings-Bfr6PgSi.cjs.map +1 -0
- package/dist/_shared/settings-CrPaYr4A.js +143 -0
- package/dist/_shared/settings-CrPaYr4A.js.map +1 -0
- package/dist/_shared/sidebar-CDOLD8fN.js +548 -0
- package/dist/_shared/sidebar-CDOLD8fN.js.map +1 -0
- package/dist/_shared/sidebar-DcsxeNml.cjs +2 -0
- package/dist/_shared/sidebar-DcsxeNml.cjs.map +1 -0
- package/dist/_shared/table-B_pqCQxC.js +1377 -0
- package/dist/_shared/table-B_pqCQxC.js.map +1 -0
- package/dist/_shared/table-CGVOXtdv.cjs +2 -0
- package/dist/_shared/table-CGVOXtdv.cjs.map +1 -0
- package/dist/_shared/workspace-C1twu23r.cjs +2 -0
- package/dist/_shared/workspace-C1twu23r.cjs.map +1 -0
- package/dist/_shared/workspace-CkOZLdcN.js +357 -0
- package/dist/_shared/workspace-CkOZLdcN.js.map +1 -0
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +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 +2 -2
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.js +2 -2
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.js +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.js +2 -2
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.js +2 -2
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +1 -1
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.js +1 -1
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.js +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.js +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +1 -1
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +2 -2
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.js +4 -4
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.js +2 -2
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +2 -2
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/containers/containers.types.d.ts +2 -2
- package/dist/components/layout/containers/containers.types.d.ts.map +1 -1
- package/dist/components/layout/containers/content-container.d.ts.map +1 -1
- package/dist/components/layout/containers/index.cjs +1 -1
- package/dist/components/layout/containers/index.js +1 -2
- 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 +10 -11
- package/dist/components/layout/layout.types.d.ts.map +1 -1
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +2 -2
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts.map +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/showcase/assets/AreaChart-WJREayr9.js +6 -0
- package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +1 -0
- package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +1 -0
- package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +1 -0
- package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +1 -0
- package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +1 -0
- package/dist/showcase/assets/RadioGroup-VBtGFETg.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +1 -0
- package/dist/showcase/assets/Separator-BfKe0YiY.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +1 -0
- package/dist/showcase/assets/accordion-BEN0VkL4.js +171 -0
- package/dist/showcase/assets/accordion-variants-QFG3H38z.js +1 -0
- package/dist/showcase/assets/action-menu-Bfw1tFqM.js +1 -0
- package/dist/showcase/assets/actions-CFpHs5IC.js +310 -0
- package/dist/showcase/assets/activities-CDxlaghU.js +500 -0
- package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +1 -0
- package/dist/showcase/assets/admin-DFpHXeuv.js +140 -0
- package/dist/showcase/assets/ai-DyO6VqQP.js +207 -0
- package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +2 -0
- package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +568 -0
- package/dist/showcase/assets/ai-elements-DlFqIOYp.js +387 -0
- package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +1 -0
- package/dist/showcase/assets/alert-CmRK2lOe.js +1 -0
- package/dist/showcase/assets/alert-DCIVryEp.js +62 -0
- package/dist/showcase/assets/alert-DDP3Ktic.js +93 -0
- package/dist/showcase/assets/api-key-list-CWa997YX.js +1 -0
- package/dist/showcase/assets/api-key-list-mTPebHF3.js +73 -0
- package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +1 -0
- package/dist/showcase/assets/arrow-down-CCYWFimd.js +1 -0
- package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +1 -0
- package/dist/showcase/assets/arrow-right-eLxbBrdm.js +1 -0
- package/dist/showcase/assets/arrow-up-kA33fcPv.js +1 -0
- package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +1 -0
- package/dist/showcase/assets/avatar-BDGhB3aA.js +57 -0
- package/dist/showcase/assets/avatar-CLBQvnYG.js +1 -0
- package/dist/showcase/assets/avatar-WUMW3Qjo.js +1 -0
- package/dist/showcase/assets/avatar-cKSNuTzf.js +67 -0
- package/dist/showcase/assets/badge--mqVg8Ry.js +31 -0
- package/dist/showcase/assets/badge-check-D7YjWqnm.js +1 -0
- package/dist/showcase/assets/bell-6YyocFK6.js +1 -0
- package/dist/showcase/assets/bot-BC4pGAB3.js +1 -0
- package/dist/showcase/assets/box-CPGIu4Nv.js +1 -0
- package/dist/showcase/assets/braces-9jywZtTA.js +1 -0
- package/dist/showcase/assets/brain-wf_S427C.js +1 -0
- package/dist/showcase/assets/brand-78lhbKSW.js +36 -0
- package/dist/showcase/assets/breadcrumb-6XHObtqO.js +1 -0
- package/dist/showcase/assets/breadcrumb-BVrrS53_.js +52 -0
- package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +1 -0
- package/dist/showcase/assets/briefcase-BViWYew9.js +1 -0
- package/dist/showcase/assets/building-2-CwR3gV1I.js +1 -0
- package/dist/showcase/assets/button-BWwsy37B.js +44 -0
- package/dist/showcase/assets/button-group-BTiMRQIO.js +1 -0
- package/dist/showcase/assets/buttons-D9pH8hPs.js +272 -0
- package/dist/showcase/assets/calendar-Bzl2i1lu.js +1 -0
- package/dist/showcase/assets/calendar-CNMlC7Fn.js +16 -0
- package/dist/showcase/assets/calendar-D5NdEmaD.js +1 -0
- package/dist/showcase/assets/calendar-days-j8QDBUc5.js +1 -0
- package/dist/showcase/assets/camera-Cwb84N8a.js +1 -0
- package/dist/showcase/assets/card-CX3vQ2Te.js +1 -0
- package/dist/showcase/assets/card-FLJkfdKP.js +188 -0
- package/dist/showcase/assets/card-primitives-C2s13Uvp.js +1 -0
- package/dist/showcase/assets/card-radio-group-BP27dErL.js +1 -0
- package/dist/showcase/assets/cards-DcdxRM9W.js +354 -0
- package/dist/showcase/assets/carousel-CTKyiHD2.js +449 -0
- package/dist/showcase/assets/cell-renderers-ouSypXTE.js +1 -0
- package/dist/showcase/assets/chart-CMsMyCah.js +358 -0
- package/dist/showcase/assets/chart-column-BrwpEFzy.js +1 -0
- package/dist/showcase/assets/checkbox-4qgEfnjv.js +1 -0
- package/dist/showcase/assets/checkbox-ratLYBAF.js +1 -0
- package/dist/showcase/assets/chevron-down-BInaIfd1.js +1 -0
- package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +1 -0
- package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +1 -0
- package/dist/showcase/assets/circle-G0dEx2Ay.js +1 -0
- package/dist/showcase/assets/circle-alert-CiibDCe8.js +1 -0
- package/dist/showcase/assets/circle-check-Bqm54c03.js +1 -0
- package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +1 -0
- package/dist/showcase/assets/circle-dot-VNm7CEgH.js +1 -0
- package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +1 -0
- package/dist/showcase/assets/circle-x-2tzzp_vB.js +1 -0
- package/dist/showcase/assets/clock-3-CfdZnMP2.js +1 -0
- package/dist/showcase/assets/clock-ByB7C11p.js +1 -0
- package/dist/showcase/assets/code-xml-D2fN-BaU.js +1 -0
- package/dist/showcase/assets/collapsible-B2lI_uVI.js +1 -0
- package/dist/showcase/assets/collapsible-Bs5YFx-M.js +27 -0
- package/dist/showcase/assets/combobox-BqNSwFaM.js +685 -0
- package/dist/showcase/assets/command-Dcbh_YP-.js +1 -0
- package/dist/showcase/assets/command-Mb30xkwq.js +1 -0
- package/dist/showcase/assets/comment-composer-DqTw0zIM.js +1 -0
- package/dist/showcase/assets/comment-item-DbQAZ3yP.js +1 -0
- package/dist/showcase/assets/comments-CGMOOi7k.js +357 -0
- package/dist/showcase/assets/commerce-bVpLHwpS.js +267 -0
- package/dist/showcase/assets/composite-CTpmYme_.js +1 -0
- package/dist/showcase/assets/contact-card-nuS10UKK.js +65 -0
- package/dist/showcase/assets/content-container-NexBp0FV.js +1 -0
- package/dist/showcase/assets/copyable-CNltkC2A.js +1 -0
- package/dist/showcase/assets/copyable-qr6--oJx.js +96 -0
- package/dist/showcase/assets/course-card-0kkl37FX.js +77 -0
- package/dist/showcase/assets/cpu-DSD9h0l5.js +1 -0
- package/dist/showcase/assets/credit-card-CN0E6FU8.js +1 -0
- package/dist/showcase/assets/css-variables-CzmmLWxt.js +1190 -0
- package/dist/showcase/assets/currency-BtofP745.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +90 -0
- package/dist/showcase/assets/data-view-3W7_KBli.js +124 -0
- package/dist/showcase/assets/data-view-snL5QtHe.js +4 -0
- package/dist/showcase/assets/database-BarEYzaF.js +1 -0
- package/dist/showcase/assets/date-block-dTt9Rcfd.js +1 -0
- package/dist/showcase/assets/date-picker-BKzZeQGc.js +1 -0
- package/dist/showcase/assets/date-pickers-CYERVYRo.js +73 -0
- package/dist/showcase/assets/dense-info-hnKZfRnQ.js +106 -0
- package/dist/showcase/assets/design-system-consistency-D6qngflS.js +264 -0
- package/dist/showcase/assets/dialog-mO0FpHmT.js +1 -0
- package/dist/showcase/assets/dialog-xbuhPXmf.js +1 -0
- package/dist/showcase/assets/display-utilities-C4IflxoK.js +267 -0
- package/dist/showcase/assets/dist-BFChHTWK.js +45 -0
- package/dist/showcase/assets/dist-BkVfs5PY.js +1 -0
- package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +1 -0
- package/dist/showcase/assets/download-CuEg-4DT.js +1 -0
- package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +1 -0
- package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +1 -0
- package/dist/showcase/assets/earth-Cmx-Axig.js +1 -0
- package/dist/showcase/assets/ellipsis-Co7iTzp_.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +1 -0
- package/dist/showcase/assets/empty-Dw4ozyll.js +1 -0
- package/dist/showcase/assets/empty-item-DQwAsl0J.js +49 -0
- package/dist/showcase/assets/empty-state-BKvbnAy1.js +1 -0
- package/dist/showcase/assets/empty-state-Dv6f2fmP.js +190 -0
- package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +1 -0
- package/dist/showcase/assets/esm-oZ6qcNoa.js +2 -0
- package/dist/showcase/assets/event-calendar-ChXdeehr.js +138 -0
- package/dist/showcase/assets/event-log-DeOCb2tT.js +330 -0
- package/dist/showcase/assets/example-CDvNeHNP.js +1 -0
- package/dist/showcase/assets/external-link-BaiCqIx3.js +1 -0
- package/dist/showcase/assets/eye-zG-fqYfd.js +1 -0
- package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +34 -0
- package/dist/showcase/assets/file-sAbDfDuO.js +1 -0
- package/dist/showcase/assets/file-text-Boa9IOND.js +1 -0
- package/dist/showcase/assets/filter-layout-tZmZz-2B.js +1 -0
- package/dist/showcase/assets/filters-D8gEkDAE.js +139 -0
- package/dist/showcase/assets/flag-Cu20rcE4.js +1 -0
- package/dist/showcase/assets/folder-open-Cuk6KKLi.js +1 -0
- package/dist/showcase/assets/form-field-D8sL8tat.js +1 -0
- package/dist/showcase/assets/format-CaRklI--.js +1 -0
- package/dist/showcase/assets/forms-CNk2oX65.js +915 -0
- package/dist/showcase/assets/funnel-B2kBprKZ.js +1 -0
- package/dist/showcase/assets/generic-oWYKMvId.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +1 -0
- package/dist/showcase/assets/gift-C_D_-5GL.js +1 -0
- package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +85 -0
- package/dist/showcase/assets/git-branch-DlTTLnjW.js +1 -0
- package/dist/showcase/assets/global-search-BjHAfaqS.js +215 -0
- package/dist/showcase/assets/global-search-hKQWHfrf.js +1 -0
- package/dist/showcase/assets/globe-D-gH7XQ2.js +1 -0
- package/dist/showcase/assets/gradient-card-jVxEisUP.js +58 -0
- package/dist/showcase/assets/hash-DySqEhph.js +1 -0
- package/dist/showcase/assets/header-B8hHkAVl.js +1 -0
- package/dist/showcase/assets/header-notifications-s180jNb1.js +1 -0
- package/dist/showcase/assets/heart-DDFCk8Tb.js +1 -0
- package/dist/showcase/assets/hooks-0A_FzYrt.js +220 -0
- package/dist/showcase/assets/house-BqE1X-Wf.js +1 -0
- package/dist/showcase/assets/icon-badge-CyiMjD7j.js +37 -0
- package/dist/showcase/assets/icon-badge-fJVhEHym.js +1 -0
- package/dist/showcase/assets/image-DCtwKHqe.js +1 -0
- package/dist/showcase/assets/inbox-DZA-pAGB.js +1 -0
- package/dist/showcase/assets/index-B37z19z3.js +10 -0
- package/dist/showcase/assets/index-CIsKgiSF.css +2 -0
- package/dist/showcase/assets/inertValue-SPYMBsOM.js +1 -0
- package/dist/showcase/assets/info-DrfDr3GT.js +1 -0
- package/dist/showcase/assets/inline-stat-BVJNx4xR.js +1 -0
- package/dist/showcase/assets/inline-stat-C3cWbSUK.js +15 -0
- package/dist/showcase/assets/input-CKTTGrnR.js +1 -0
- package/dist/showcase/assets/input-UHuWYPMF.js +1 -0
- package/dist/showcase/assets/input-group-BR_lU__a.js +1 -0
- package/dist/showcase/assets/input-group-iZaLbsTP.js +47 -0
- package/dist/showcase/assets/inputs-C7j8Xivm.js +155 -0
- package/dist/showcase/assets/installation-DYnTwaPR.js +134 -0
- package/dist/showcase/assets/invoice-header-D_0KvXQe.js +36 -0
- package/dist/showcase/assets/invoice-items-jcNb-sST.js +36 -0
- package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +14 -0
- package/dist/showcase/assets/invoice-table-DlAw0U4U.js +30 -0
- package/dist/showcase/assets/isSameDay-Cl6v_syG.js +1 -0
- package/dist/showcase/assets/isToday-BBoFjSnJ.js +1 -0
- package/dist/showcase/assets/italic-j2U8krYa.js +1 -0
- package/dist/showcase/assets/item-B2WoC1SD.js +139 -0
- package/dist/showcase/assets/item-BMJ5hfT5.js +1 -0
- package/dist/showcase/assets/item-C_5-EHNK.js +1 -0
- package/dist/showcase/assets/kanban-Cv64Szxq.js +188 -0
- package/dist/showcase/assets/key-round-CORDYqE2.js +1 -0
- package/dist/showcase/assets/label-B0UjYqfw.js +1 -0
- package/dist/showcase/assets/languages-Njdo5y8i.js +1 -0
- package/dist/showcase/assets/layers-Dyew-8IP.js +1 -0
- package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +608 -0
- package/dist/showcase/assets/layout-auth-BT84haSd.js +790 -0
- package/dist/showcase/assets/layout-containers-D6SP4vRB.js +101 -0
- package/dist/showcase/assets/layout-header-kLYjJnHz.js +203 -0
- package/dist/showcase/assets/layout-page-CmS4d8jw.js +314 -0
- package/dist/showcase/assets/layout-primitives-BW858Ymj.js +34 -0
- package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +224 -0
- package/dist/showcase/assets/layout-users-HyZHQIov.js +117 -0
- package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +191 -0
- package/dist/showcase/assets/lib-Dhty05ZR.js +1 -0
- package/dist/showcase/assets/list-checks-CcWjdDq8.js +1 -0
- package/dist/showcase/assets/lock-CwH3bXx5.js +1 -0
- package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +1 -0
- package/dist/showcase/assets/mail-Cn94c8yp.js +1 -0
- package/dist/showcase/assets/mail-check-D-q_vPxD.js +1 -0
- package/dist/showcase/assets/map-BfUZMScw.js +124 -0
- package/dist/showcase/assets/map-pin-BZB9GUXP.js +1 -0
- package/dist/showcase/assets/media-library-DguE2q94.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +1 -0
- package/dist/showcase/assets/mentions-lmr_XmfN.js +138 -0
- package/dist/showcase/assets/menus-D0qYbzKk.js +171 -0
- package/dist/showcase/assets/message-square-7VpiUwcS.js +1 -0
- package/dist/showcase/assets/metadata-list-B8O2ljIS.js +1 -0
- package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +286 -0
- package/dist/showcase/assets/metric-HzQnjCpO.js +1 -0
- package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +1 -0
- package/dist/showcase/assets/metric-grid-CM-P894v.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +50 -0
- package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +42 -0
- package/dist/showcase/assets/metrics-overview-D-km110k.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +54 -0
- package/dist/showcase/assets/minus-DZsXg5PW.js +1 -0
- package/dist/showcase/assets/money-display-C7Hp2pT3.js +1 -0
- package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +1 -0
- package/dist/showcase/assets/navigation-0nrtBP5O.js +90 -0
- package/dist/showcase/assets/navigation-BaWNq9oa.js +231 -0
- package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +1 -0
- package/dist/showcase/assets/overlays-CNfiB-zF.js +408 -0
- package/dist/showcase/assets/overlays-CuxuFGC8.js +159 -0
- package/dist/showcase/assets/overview-CBmdAWO6.js +184 -0
- package/dist/showcase/assets/package-BwwfLMWb.js +1 -0
- package/dist/showcase/assets/package-check-BepTKJLy.js +1 -0
- package/dist/showcase/assets/page-_JDFUWqe.js +1 -0
- package/dist/showcase/assets/page-action-button-Cf34I-B2.js +1 -0
- package/dist/showcase/assets/page-header-pdHFvyTo.js +1 -0
- package/dist/showcase/assets/pagination-Db1WJvjK.js +42 -0
- package/dist/showcase/assets/pagination-s8_MGk9D.js +1 -0
- package/dist/showcase/assets/paperclip-B9HQ47_2.js +1 -0
- package/dist/showcase/assets/password-input-D-eZWMGX.js +1 -0
- package/dist/showcase/assets/pencil-Dm53P6Db.js +1 -0
- package/dist/showcase/assets/phone-a4Ja9xAp.js +1 -0
- package/dist/showcase/assets/plus-DbOlx2x0.js +1 -0
- package/dist/showcase/assets/popover-B8qrRgt3.js +1 -0
- package/dist/showcase/assets/popover-Bm5wETUP.js +1 -0
- package/dist/showcase/assets/popover-menu-EH4P-BuI.js +1 -0
- package/dist/showcase/assets/products-n6VBSMDh.js +423 -0
- package/dist/showcase/assets/progress-D9r6PSCF.js +1 -0
- package/dist/showcase/assets/progress-DVnMcpeq.js +18 -0
- package/dist/showcase/assets/props-table-udnF7Z46.js +1 -0
- package/dist/showcase/assets/quote-qVQF4JC7.js +1 -0
- package/dist/showcase/assets/receipt-DaC4l-Mr.js +1 -0
- package/dist/showcase/assets/receipt-text-BnwhWHdU.js +1 -0
- package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +189 -0
- package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +1 -0
- package/dist/showcase/assets/resource-D1fXD_Pt.js +139 -0
- package/dist/showcase/assets/resource-i2YV9aHL.js +1 -0
- package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +43 -0
- package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +143 -0
- package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +124 -0
- package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +1 -0
- package/dist/showcase/assets/route-EGSdKgEp.js +1 -0
- package/dist/showcase/assets/save-nXKvyYEx.js +1 -0
- package/dist/showcase/assets/schema-form-D_9UkVBe.js +327 -0
- package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +1 -0
- package/dist/showcase/assets/scroll-area-DCHN9iYj.js +32 -0
- package/dist/showcase/assets/section-C2ovQgbv.js +1 -0
- package/dist/showcase/assets/select-BTOraQSw.js +1 -0
- package/dist/showcase/assets/select-CE0BbUs7.js +1 -0
- package/dist/showcase/assets/send-CI0r12bX.js +1 -0
- package/dist/showcase/assets/separator-CmGfh7lI.js +1 -0
- package/dist/showcase/assets/separator-PhQTNRIB.js +28 -0
- package/dist/showcase/assets/settings-2-qkVb0lyz.js +1 -0
- package/dist/showcase/assets/settings-YXjlZ9zs.js +1 -0
- package/dist/showcase/assets/sheet-CFDUB2H1.js +1 -0
- package/dist/showcase/assets/shield-Dr_UeG6H.js +1 -0
- package/dist/showcase/assets/shield-alert-7rAVXg-K.js +1 -0
- package/dist/showcase/assets/shield-check-BbzHL-nM.js +1 -0
- package/dist/showcase/assets/shopping-bag-DeprN0fB.js +1 -0
- package/dist/showcase/assets/showcase-BU6Fvpg_.js +132 -0
- package/dist/showcase/assets/sidebar-CudnhnWN.js +1 -0
- package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +1 -0
- package/dist/showcase/assets/skeleton-DD6VPVrv.js +1 -0
- package/dist/showcase/assets/skeleton-Dc5LvW7E.js +29 -0
- package/dist/showcase/assets/slider-BxvP9nxk.js +1 -0
- package/dist/showcase/assets/smart-card-B0Llbpiy.js +1 -0
- package/dist/showcase/assets/sonner-mszFoDWT.js +22 -0
- package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +5 -0
- package/dist/showcase/assets/sparkles-CQSdl3Gw.js +1 -0
- package/dist/showcase/assets/spinner-BSxBn2qs.js +49 -0
- package/dist/showcase/assets/spinner-DJxoGJtq.js +30 -0
- package/dist/showcase/assets/spinner-DihTCcve.js +1 -0
- package/dist/showcase/assets/square-pen-CGMSA_p6.js +1 -0
- package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +1 -0
- package/dist/showcase/assets/star-DFlmmJdh.js +1 -0
- package/dist/showcase/assets/startOfDay-BedffeNt.js +1 -0
- package/dist/showcase/assets/styles-jR6uS97D.js +1 -0
- package/dist/showcase/assets/suggestions-DnjJ-U9n.js +126 -0
- package/dist/showcase/assets/switch-Dkojf4Yd.js +1 -0
- package/dist/showcase/assets/switch-bTb6CSLr.js +1 -0
- package/dist/showcase/assets/sync-rk8eFwoJ.js +124 -0
- package/dist/showcase/assets/table-4qIerTVI.js +686 -0
- package/dist/showcase/assets/table-BjMmmYd7.js +1 -0
- package/dist/showcase/assets/table-actions-DqofOI1V.js +1 -0
- package/dist/showcase/assets/tabs-BV6mMsfk.js +19 -0
- package/dist/showcase/assets/tabs-u2fkHRw8.js +1 -0
- package/dist/showcase/assets/tags-input-Cu_UwlwT.js +1 -0
- package/dist/showcase/assets/text-button-Fyy21evq.js +1 -0
- package/dist/showcase/assets/text-link-WRyY3ZZo.js +1 -0
- package/dist/showcase/assets/textarea-BbCxWNzV.js +1 -0
- package/dist/showcase/assets/textarea-CtD7JQsv.js +1 -0
- package/dist/showcase/assets/timelines-BBPQpCFX.js +200 -0
- package/dist/showcase/assets/toggle-group-B8mQ6wer.js +1 -0
- package/dist/showcase/assets/toggles-CCClWVXZ.js +71 -0
- package/dist/showcase/assets/toggles-group-DgCilPMo.js +32 -0
- package/dist/showcase/assets/tooltip-ClJCWWTI.js +31 -0
- package/dist/showcase/assets/trash-2-Cs7y4-K-.js +1 -0
- package/dist/showcase/assets/trending-up-spYhMxs6.js +1 -0
- package/dist/showcase/assets/truck-DENWgqxK.js +1 -0
- package/dist/showcase/assets/typography-DMmYNFQj.js +223 -0
- package/dist/showcase/assets/ui-badge-BJEtsa7X.js +28 -0
- package/dist/showcase/assets/ui-card-CrPKoi3P.js +30 -0
- package/dist/showcase/assets/ui-table-2HhDwPcu.js +42 -0
- package/dist/showcase/assets/upload-tray-CUZAErkI.js +138 -0
- package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +1 -0
- package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +1 -0
- package/dist/showcase/assets/useLabelableId-D__l5sQX.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +1 -0
- package/dist/showcase/assets/useRender-BV0akLbc.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +1 -0
- package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +1 -0
- package/dist/showcase/assets/user-B9eCi5Vl.js +1 -0
- package/dist/showcase/assets/user-plus-Uo4IAY7e.js +1 -0
- package/dist/showcase/assets/users-DLep-WjV.js +1 -0
- package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +37 -0
- package/dist/showcase/assets/video-BasdlaQE.js +1 -0
- package/dist/showcase/assets/wrench-BYUVe1-z.js +1 -0
- package/dist/showcase/assets/x-Bx9ayVXr.js +1 -0
- package/dist/showcase/assets/zap-Mgu5HEtF.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/_shared/auth-B_KVUjsB.cjs +0 -2
- package/dist/_shared/auth-B_KVUjsB.cjs.map +0 -1
- package/dist/_shared/auth-C_TgyzDl.js +0 -643
- package/dist/_shared/auth-C_TgyzDl.js.map +0 -1
- package/dist/_shared/buttons-C8jy-jMd.cjs +0 -2
- package/dist/_shared/buttons-C8jy-jMd.cjs.map +0 -1
- package/dist/_shared/buttons-MxvdokeK.js +0 -137
- package/dist/_shared/buttons-MxvdokeK.js.map +0 -1
- package/dist/_shared/cards-BKFwMTjM.cjs +0 -2
- package/dist/_shared/cards-BKFwMTjM.cjs.map +0 -1
- package/dist/_shared/cards-CtBoSZG9.js +0 -355
- package/dist/_shared/cards-CtBoSZG9.js.map +0 -1
- package/dist/_shared/comments-C8iXy9XO.cjs +0 -2
- package/dist/_shared/comments-C8iXy9XO.cjs.map +0 -1
- package/dist/_shared/comments-DGBxF9fD.js +0 -952
- package/dist/_shared/comments-DGBxF9fD.js.map +0 -1
- package/dist/_shared/containers-D7oZE4XI.cjs +0 -2
- package/dist/_shared/containers-D7oZE4XI.cjs.map +0 -1
- package/dist/_shared/containers-anBivbL9.js +0 -19
- package/dist/_shared/containers-anBivbL9.js.map +0 -1
- package/dist/_shared/content-container-CVUJCLhn.cjs +0 -2
- package/dist/_shared/content-container-CVUJCLhn.cjs.map +0 -1
- package/dist/_shared/content-container-Dv8XsAw4.js +0 -33
- package/dist/_shared/content-container-Dv8XsAw4.js.map +0 -1
- package/dist/_shared/data-display-CRFaMkxT.js +0 -1873
- package/dist/_shared/data-display-CRFaMkxT.js.map +0 -1
- package/dist/_shared/data-display-C_44_V-W.cjs +0 -2
- package/dist/_shared/data-display-C_44_V-W.cjs.map +0 -1
- package/dist/_shared/forms-qnwoUqxf.js +0 -3533
- package/dist/_shared/forms-qnwoUqxf.js.map +0 -1
- package/dist/_shared/forms-rmKcy5uO.cjs +0 -2
- package/dist/_shared/forms-rmKcy5uO.cjs.map +0 -1
- package/dist/_shared/header-CxhEtk9M.cjs +0 -2
- package/dist/_shared/header-CxhEtk9M.cjs.map +0 -1
- package/dist/_shared/header-h3f14vQx.js +0 -447
- package/dist/_shared/header-h3f14vQx.js.map +0 -1
- package/dist/_shared/hooks-CS55-w3h.js +0 -95
- package/dist/_shared/hooks-CS55-w3h.js.map +0 -1
- package/dist/_shared/hooks-sfHAyDgD.cjs +0 -2
- package/dist/_shared/hooks-sfHAyDgD.cjs.map +0 -1
- package/dist/_shared/layout.types-CYuDZ_4h.cjs +0 -2
- package/dist/_shared/layout.types-CYuDZ_4h.cjs.map +0 -1
- package/dist/_shared/layout.types-j7zZAPtg.js +0 -28
- package/dist/_shared/layout.types-j7zZAPtg.js.map +0 -1
- package/dist/_shared/page-C6EzwvTz.cjs +0 -2
- package/dist/_shared/page-C6EzwvTz.cjs.map +0 -1
- package/dist/_shared/page-DCW1eWCJ.js +0 -262
- package/dist/_shared/page-DCW1eWCJ.js.map +0 -1
- package/dist/_shared/settings-DbAyxMrX.cjs +0 -2
- package/dist/_shared/settings-DbAyxMrX.cjs.map +0 -1
- package/dist/_shared/settings-QOBrbgdN.js +0 -143
- package/dist/_shared/settings-QOBrbgdN.js.map +0 -1
- package/dist/_shared/sidebar-DfToCaiC.cjs +0 -2
- package/dist/_shared/sidebar-DfToCaiC.cjs.map +0 -1
- package/dist/_shared/sidebar-DhpRdTZH.js +0 -541
- package/dist/_shared/sidebar-DhpRdTZH.js.map +0 -1
- package/dist/_shared/table-CUA_A-oO.js +0 -1377
- package/dist/_shared/table-CUA_A-oO.js.map +0 -1
- package/dist/_shared/table-mPchjiRn.cjs +0 -2
- package/dist/_shared/table-mPchjiRn.cjs.map +0 -1
- package/dist/_shared/workspace-BgtWS9fA.cjs +0 -2
- package/dist/_shared/workspace-BgtWS9fA.cjs.map +0 -1
- package/dist/_shared/workspace-D2jJ0PlS.js +0 -357
- package/dist/_shared/workspace-D2jJ0PlS.js.map +0 -1
- package/dist/showcase/assets/AreaChart-CFYg5vW0.js +0 -6
- package/dist/showcase/assets/CompositeItem-C1v8tfgt.js +0 -1
- package/dist/showcase/assets/CompositeRoot-DVtTCBlx.js +0 -1
- package/dist/showcase/assets/DialogTrigger-CiVZgbZe.js +0 -1
- package/dist/showcase/assets/LabelableContext-CNcXHqnK.js +0 -1
- package/dist/showcase/assets/PreviewLayout-CBTybzKu.js +0 -1
- package/dist/showcase/assets/RadioGroup-DTNAD-0J.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-Gau2B-d1.js +0 -1
- package/dist/showcase/assets/Separator-DOIh4aar.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-BbugmthZ.js +0 -1
- package/dist/showcase/assets/accordion-CB4ePZYm.js +0 -171
- package/dist/showcase/assets/accordion-variants-De2q5GIH.js +0 -1
- package/dist/showcase/assets/action-menu-wJVcvfmC.js +0 -1
- package/dist/showcase/assets/actions-BL1lpPFC.js +0 -310
- package/dist/showcase/assets/activities-C578ZINa.js +0 -500
- package/dist/showcase/assets/activities-feed-card-BeXMgsNO.js +0 -1
- package/dist/showcase/assets/admin-DKJPb23G.js +0 -140
- package/dist/showcase/assets/ai-artifact-BaYtjrP5.js +0 -2
- package/dist/showcase/assets/ai-chat-DxxlaytU.js +0 -568
- package/dist/showcase/assets/ai-elements-BWraZPyC.js +0 -387
- package/dist/showcase/assets/ai-ewP8qLOJ.js +0 -207
- package/dist/showcase/assets/ai-tool-call-Da4srLLe.js +0 -1
- package/dist/showcase/assets/alert-CQI2pomK.js +0 -1
- package/dist/showcase/assets/alert-S12iMEhF.js +0 -62
- package/dist/showcase/assets/alert-xINZmLgm.js +0 -93
- package/dist/showcase/assets/api-key-list-CL6je8dF.js +0 -1
- package/dist/showcase/assets/api-key-list-wxmuRN1m.js +0 -73
- package/dist/showcase/assets/app-sidebar-LVtcgiT_.js +0 -1
- package/dist/showcase/assets/arrow-down-JuqwH6gj.js +0 -1
- package/dist/showcase/assets/arrow-left-BFq65-Ch.js +0 -1
- package/dist/showcase/assets/arrow-right-B4iFg3l1.js +0 -1
- package/dist/showcase/assets/arrow-up-RWJP_FHU.js +0 -1
- package/dist/showcase/assets/arrow-up-right-DdWl37XF.js +0 -1
- package/dist/showcase/assets/avatar-BEvs3dD_.js +0 -1
- package/dist/showcase/assets/avatar-Bv9x1eBh.js +0 -67
- package/dist/showcase/assets/avatar-CC3R0R-x.js +0 -57
- package/dist/showcase/assets/avatar-D29-FL5U.js +0 -1
- package/dist/showcase/assets/badge-B1YIk7bi.js +0 -31
- package/dist/showcase/assets/badge-check-DGmg0_g_.js +0 -1
- package/dist/showcase/assets/bell-Cq9n0a2v.js +0 -1
- package/dist/showcase/assets/bot-DxRjlJlO.js +0 -1
- package/dist/showcase/assets/box-CIh-_2DI.js +0 -1
- package/dist/showcase/assets/braces-BI_smuFG.js +0 -1
- package/dist/showcase/assets/brain-BCAmDdGT.js +0 -1
- package/dist/showcase/assets/brand-CYmrK-FI.js +0 -36
- package/dist/showcase/assets/breadcrumb-DXOwTQNp.js +0 -52
- package/dist/showcase/assets/breadcrumb-DdDGc08y.js +0 -1
- package/dist/showcase/assets/breadcrumbs-SwqzwYW_.js +0 -1
- package/dist/showcase/assets/briefcase-CKrv_pkI.js +0 -1
- package/dist/showcase/assets/building-2-4f1nNGpT.js +0 -1
- package/dist/showcase/assets/button-B9I1TrfQ.js +0 -44
- package/dist/showcase/assets/button-group-DUfRVZy2.js +0 -1
- package/dist/showcase/assets/buttons-Crl8nJKG.js +0 -272
- package/dist/showcase/assets/calendar-4Uqeswbn.js +0 -1
- package/dist/showcase/assets/calendar-Cl5l4Ip1.js +0 -16
- package/dist/showcase/assets/calendar-DxjW_eNc.js +0 -1
- package/dist/showcase/assets/calendar-days-DmDuaOAc.js +0 -1
- package/dist/showcase/assets/camera-j8dT39qf.js +0 -1
- package/dist/showcase/assets/card-BQ_zBZlQ.js +0 -1
- package/dist/showcase/assets/card-DRalKV4i.js +0 -188
- package/dist/showcase/assets/card-primitives-Bn6nhqUA.js +0 -1
- package/dist/showcase/assets/card-radio-group-Dq7AUPTp.js +0 -1
- package/dist/showcase/assets/cards-MR2JolOy.js +0 -354
- package/dist/showcase/assets/carousel-DMceNGDq.js +0 -449
- package/dist/showcase/assets/cell-renderers-VbI9xEAd.js +0 -1
- package/dist/showcase/assets/chart-DW4naldz.js +0 -358
- package/dist/showcase/assets/chart-column-CbUwWFn7.js +0 -1
- package/dist/showcase/assets/checkbox-BJ1yDAQ3.js +0 -1
- package/dist/showcase/assets/checkbox-BqwbtGCF.js +0 -1
- package/dist/showcase/assets/chevron-down-CBa5t2E0.js +0 -1
- package/dist/showcase/assets/chevron-left-Dqne-r3m.js +0 -1
- package/dist/showcase/assets/chevron-up-DiMFydbr.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-umMKLBIL.js +0 -1
- package/dist/showcase/assets/circle-alert-BObXfzSP.js +0 -1
- package/dist/showcase/assets/circle-check-BPhdxh7K.js +0 -1
- package/dist/showcase/assets/circle-check-big-BsQpd0CS.js +0 -1
- package/dist/showcase/assets/circle-dbSBYjvr.js +0 -1
- package/dist/showcase/assets/circle-dot-Bj1an-fp.js +0 -1
- package/dist/showcase/assets/circle-question-mark-BeRdyU_C.js +0 -1
- package/dist/showcase/assets/circle-x-Dh3sb4UC.js +0 -1
- package/dist/showcase/assets/clock-3-R65SwQwa.js +0 -1
- package/dist/showcase/assets/clock-BApGqXwn.js +0 -1
- package/dist/showcase/assets/code-xml-q7JPxij0.js +0 -1
- package/dist/showcase/assets/collapsible-BbiGHywy.js +0 -27
- package/dist/showcase/assets/collapsible-DDV7VHy5.js +0 -1
- package/dist/showcase/assets/combobox-Dv_OkynR.js +0 -685
- package/dist/showcase/assets/command-BSmiujfZ.js +0 -1
- package/dist/showcase/assets/command-Cw81GF7c.js +0 -1
- package/dist/showcase/assets/comment-composer-C09JANlW.js +0 -1
- package/dist/showcase/assets/comment-item-DsQshj1L.js +0 -1
- package/dist/showcase/assets/comments-CO3QCKyX.js +0 -357
- package/dist/showcase/assets/commerce-BvnnX8Ui.js +0 -267
- package/dist/showcase/assets/composite-BjZbcKJw.js +0 -1
- package/dist/showcase/assets/contact-card-Dq50G6UK.js +0 -65
- package/dist/showcase/assets/content-container-BQZdQhX2.js +0 -1
- package/dist/showcase/assets/copyable-BdfWxV6u.js +0 -1
- package/dist/showcase/assets/copyable-lUNYfscm.js +0 -96
- package/dist/showcase/assets/course-card-BTIFY84q.js +0 -77
- package/dist/showcase/assets/cpu-CzkgJ-zb.js +0 -1
- package/dist/showcase/assets/credit-card-D_wnXbTK.js +0 -1
- package/dist/showcase/assets/css-variables-BVjcOHGr.js +0 -1190
- package/dist/showcase/assets/currency-BCX6yQ2j.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BO6sWHrV.js +0 -90
- package/dist/showcase/assets/data-view-C8ThO9ha.js +0 -124
- package/dist/showcase/assets/data-view-DqpNNGp5.js +0 -4
- package/dist/showcase/assets/database-Ad0l2Bjl.js +0 -1
- package/dist/showcase/assets/date-block-CMKpiRdA.js +0 -1
- package/dist/showcase/assets/date-picker-CRogiefV.js +0 -1
- package/dist/showcase/assets/date-pickers-CuRRGP-F.js +0 -73
- package/dist/showcase/assets/dense-info-BL_cGFVK.js +0 -106
- package/dist/showcase/assets/design-system-consistency-BarrI2Uj.js +0 -264
- package/dist/showcase/assets/dialog-BEKecyE3.js +0 -1
- package/dist/showcase/assets/dialog-DbEG3v2T.js +0 -1
- package/dist/showcase/assets/display-utilities-CQRcCpjT.js +0 -267
- package/dist/showcase/assets/dist-CS2Ky1_m.js +0 -1
- package/dist/showcase/assets/dist-q3PLGr1_.js +0 -45
- package/dist/showcase/assets/dollar-sign-lghPxE96.js +0 -1
- package/dist/showcase/assets/download-Cx5kUzHm.js +0 -1
- package/dist/showcase/assets/dropdown-menu-CXYQqRJA.js +0 -1
- package/dist/showcase/assets/dropzone-DK0kBLfC.js +0 -1
- package/dist/showcase/assets/earth-BgJkqIAs.js +0 -1
- package/dist/showcase/assets/ellipsis-CP0hyAeS.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-BdpRiDbb.js +0 -1
- package/dist/showcase/assets/empty-CO_e2e_g.js +0 -1
- package/dist/showcase/assets/empty-item-D39AT9RK.js +0 -49
- package/dist/showcase/assets/empty-state-CTQjlkxC.js +0 -1
- package/dist/showcase/assets/empty-state-Luba-tbF.js +0 -190
- package/dist/showcase/assets/enhanced-activities-e2k5R4sk.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-CY9QcVEl.js +0 -1
- package/dist/showcase/assets/esm-DPz8A4Wl.js +0 -2
- package/dist/showcase/assets/event-calendar-DuQntfyO.js +0 -138
- package/dist/showcase/assets/event-log-B8B_0-q5.js +0 -330
- package/dist/showcase/assets/example-Rrx9vj75.js +0 -1
- package/dist/showcase/assets/external-link-BkCjE03j.js +0 -1
- package/dist/showcase/assets/eye-BKhfxIeD.js +0 -1
- package/dist/showcase/assets/feature-announcement-CRN6kk4B.js +0 -34
- package/dist/showcase/assets/file-BBUnjRPN.js +0 -1
- package/dist/showcase/assets/file-text-Clv0qFr3.js +0 -1
- package/dist/showcase/assets/filter-layout-Bskvgeps.js +0 -1
- package/dist/showcase/assets/filters-DqE5xQEz.js +0 -139
- package/dist/showcase/assets/flag-BQ0Brbw9.js +0 -1
- package/dist/showcase/assets/folder-open-CuUaUrxa.js +0 -1
- package/dist/showcase/assets/form-field-Dg_Az7lk.js +0 -1
- package/dist/showcase/assets/format-BnF8gL8z.js +0 -1
- package/dist/showcase/assets/forms-D2SGtkKv.js +0 -915
- package/dist/showcase/assets/funnel-qCC9cfXa.js +0 -1
- package/dist/showcase/assets/generic-0wwhvFWa.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-DyTpOaBA.js +0 -1
- package/dist/showcase/assets/gift-ibO6X3CO.js +0 -1
- package/dist/showcase/assets/giftcard-cards-BJ0gmgv0.js +0 -85
- package/dist/showcase/assets/git-branch-QLvR3_wX.js +0 -1
- package/dist/showcase/assets/global-search-B2zvjiO2.js +0 -215
- package/dist/showcase/assets/global-search-BtYqFKyN.js +0 -1
- package/dist/showcase/assets/globe-Byoz7QmA.js +0 -1
- package/dist/showcase/assets/gradient-card-CymI8itB.js +0 -58
- package/dist/showcase/assets/hash-DL-sHZny.js +0 -1
- package/dist/showcase/assets/header-C9RMgEgD.js +0 -1
- package/dist/showcase/assets/header-notifications-BT643QVK.js +0 -1
- package/dist/showcase/assets/heart-gHsYuS4V.js +0 -1
- package/dist/showcase/assets/hooks-Dj4gswMj.js +0 -220
- package/dist/showcase/assets/house-Dew9jimg.js +0 -1
- package/dist/showcase/assets/icon-badge-C-mGQdGQ.js +0 -37
- package/dist/showcase/assets/icon-badge-GMIN-bca.js +0 -1
- package/dist/showcase/assets/image-Cda8layy.js +0 -1
- package/dist/showcase/assets/inbox-hJEV8TEx.js +0 -1
- package/dist/showcase/assets/index-CCxHwV7T.css +0 -2
- package/dist/showcase/assets/index-o71HAmc3.js +0 -10
- package/dist/showcase/assets/inertValue-BRyHstYf.js +0 -1
- package/dist/showcase/assets/info-B4aULRpz.js +0 -1
- package/dist/showcase/assets/inline-stat-BzXB3FNC.js +0 -15
- package/dist/showcase/assets/inline-stat-CDQocPgN.js +0 -1
- package/dist/showcase/assets/input-CLysAarX.js +0 -1
- package/dist/showcase/assets/input-CYTQ9nWN.js +0 -1
- package/dist/showcase/assets/input-group-DYMTMed1.js +0 -47
- package/dist/showcase/assets/input-group-DtkAnPaQ.js +0 -1
- package/dist/showcase/assets/inputs-C2flJn12.js +0 -155
- package/dist/showcase/assets/installation-CCvBKDNO.js +0 -134
- package/dist/showcase/assets/invoice-header-C1G_aVIm.js +0 -36
- package/dist/showcase/assets/invoice-items-Ak0CMjDh.js +0 -36
- package/dist/showcase/assets/invoice-mini-B7Dda49y.js +0 -14
- package/dist/showcase/assets/invoice-table-Bl9InDl0.js +0 -30
- package/dist/showcase/assets/isSameDay-Bd_8WAf0.js +0 -1
- package/dist/showcase/assets/isToday-DSGtoEUa.js +0 -1
- package/dist/showcase/assets/italic-CJzEjX5j.js +0 -1
- package/dist/showcase/assets/item-BL_Y_0ou.js +0 -139
- package/dist/showcase/assets/item-Oe2aHuvr.js +0 -1
- package/dist/showcase/assets/item-nf1zOtF7.js +0 -1
- package/dist/showcase/assets/kanban-CB5Hghoo.js +0 -188
- package/dist/showcase/assets/key-round-BQwcojkz.js +0 -1
- package/dist/showcase/assets/label-HtkE4eII.js +0 -1
- package/dist/showcase/assets/languages-69N5-h2e.js +0 -1
- package/dist/showcase/assets/layers-CBPYgoAb.js +0 -1
- package/dist/showcase/assets/layout-app-shell-BfNh8jd0.js +0 -608
- package/dist/showcase/assets/layout-auth-Ct29XkSH.js +0 -790
- package/dist/showcase/assets/layout-containers-DWN4xKbf.js +0 -101
- package/dist/showcase/assets/layout-header-DUX4zFrH.js +0 -203
- package/dist/showcase/assets/layout-page-CsqULW71.js +0 -314
- package/dist/showcase/assets/layout-primitives-CQJ0_wTo.js +0 -34
- package/dist/showcase/assets/layout-sidebar-la-tC4xZ.js +0 -224
- package/dist/showcase/assets/layout-users-6fAYxZ3Z.js +0 -117
- package/dist/showcase/assets/layout-workspace-BbDOjmrE.js +0 -191
- package/dist/showcase/assets/lib-C46V0Rr-.js +0 -1
- package/dist/showcase/assets/list-checks-BkQYzehf.js +0 -1
- package/dist/showcase/assets/lock-CMrS2EKU.js +0 -1
- package/dist/showcase/assets/lock-keyhole-B1BEkNvm.js +0 -1
- package/dist/showcase/assets/mail-Bo_4xDQw.js +0 -1
- package/dist/showcase/assets/mail-check-BprACMug.js +0 -1
- package/dist/showcase/assets/map-Br-xZYf0.js +0 -124
- package/dist/showcase/assets/map-pin-COrIVMWa.js +0 -1
- package/dist/showcase/assets/media-library-DyPu-kR9.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-BTunE4RJ.js +0 -1
- package/dist/showcase/assets/mentions-BXSq2eCS.js +0 -138
- package/dist/showcase/assets/menus-USrp5qP5.js +0 -171
- package/dist/showcase/assets/message-square-Cyrr-QgJ.js +0 -1
- package/dist/showcase/assets/metadata-list-BJTye3J8.js +0 -286
- package/dist/showcase/assets/metadata-list-CoRYXjEw.js +0 -1
- package/dist/showcase/assets/metric-DdC_pWnF.js +0 -1
- package/dist/showcase/assets/metric-bar-PGG8KQS0.js +0 -1
- package/dist/showcase/assets/metric-grid-ZqDufV_5.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-BhCRReMp.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-U3gehGfQ.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-CzbLGAWi.js +0 -50
- package/dist/showcase/assets/metrics-comparison-B1z3nUpo.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-DZeqRxFz.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-CPyhCHXj.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-COVuNReW.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-BNSrw6sM.js +0 -42
- package/dist/showcase/assets/metrics-overview-3IHComMd.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-6Owbjvmc.js +0 -54
- package/dist/showcase/assets/minus-CwzskYaZ.js +0 -1
- package/dist/showcase/assets/money-display-CUkeS9k1.js +0 -1
- package/dist/showcase/assets/month-year-picker-CCCTmZHv.js +0 -1
- package/dist/showcase/assets/navigation-BUReVn4R.js +0 -231
- package/dist/showcase/assets/navigation-CSzYKdcR.js +0 -90
- package/dist/showcase/assets/navigation-extras-DmUhDPMz.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-C3JhV5Gb.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-CEdrls-W.js +0 -1
- package/dist/showcase/assets/overlays-BKKEzmF4.js +0 -159
- package/dist/showcase/assets/overlays-C1UodoAu.js +0 -408
- package/dist/showcase/assets/overview-Dq0MqK32.js +0 -184
- package/dist/showcase/assets/package-BaQGBJmO.js +0 -1
- package/dist/showcase/assets/package-check-C8HJfDxS.js +0 -1
- package/dist/showcase/assets/page-DvMaeo43.js +0 -1
- package/dist/showcase/assets/page-action-button-B5ZGYpYy.js +0 -1
- package/dist/showcase/assets/page-header-Y-96EPMp.js +0 -1
- package/dist/showcase/assets/pagination-Br1AfDte.js +0 -1
- package/dist/showcase/assets/pagination-yLAHxKpc.js +0 -42
- package/dist/showcase/assets/paperclip-BBDKiZeH.js +0 -1
- package/dist/showcase/assets/password-input-iwrucadb.js +0 -1
- package/dist/showcase/assets/pencil-BUhkJ_Nn.js +0 -1
- package/dist/showcase/assets/phone-DtJDFH70.js +0 -1
- package/dist/showcase/assets/plus-4gOvUk-5.js +0 -1
- package/dist/showcase/assets/popover-C8YAdHfL.js +0 -1
- package/dist/showcase/assets/popover-D9ZDWqLl.js +0 -1
- package/dist/showcase/assets/popover-menu-C5M9Up4M.js +0 -1
- package/dist/showcase/assets/products-DrKTk8Aw.js +0 -423
- package/dist/showcase/assets/progress-C1qKfCZB.js +0 -18
- package/dist/showcase/assets/progress-CpD58Wl0.js +0 -1
- package/dist/showcase/assets/props-table-C6gPyO49.js +0 -1
- package/dist/showcase/assets/quote-BXTU9evS.js +0 -1
- package/dist/showcase/assets/receipt-Dwc4p04P.js +0 -1
- package/dist/showcase/assets/receipt-text-DBEu6Gym.js +0 -1
- package/dist/showcase/assets/refinement-guide-DeO_yM8U.js +0 -189
- package/dist/showcase/assets/refresh-cw-BpV3OG_s.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-DZTrDdG0.js +0 -1
- package/dist/showcase/assets/resource-BLGoRFou.js +0 -1
- package/dist/showcase/assets/resource-D5AQesdN.js +0 -139
- package/dist/showcase/assets/resource-selector-card-BKzeUE0k.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DYkPamiq.js +0 -124
- package/dist/showcase/assets/rich-text-editor-k1dtT5bX.js +0 -143
- package/dist/showcase/assets/rotate-ccw-Dajwztf1.js +0 -1
- package/dist/showcase/assets/route-5uO9C0gV.js +0 -1
- package/dist/showcase/assets/save-DONvClxa.js +0 -1
- package/dist/showcase/assets/schema-form-BMQmx4JI.js +0 -327
- package/dist/showcase/assets/scroll-area-CnAyhKQ_.js +0 -1
- package/dist/showcase/assets/scroll-area-CxwfyjX3.js +0 -32
- package/dist/showcase/assets/section-Dd6X6IKg.js +0 -1
- package/dist/showcase/assets/select-CJSyu7sS.js +0 -1
- package/dist/showcase/assets/select-Du9VvUxt.js +0 -1
- package/dist/showcase/assets/send-3ANJL7UB.js +0 -1
- package/dist/showcase/assets/separator-BiXjWmP-.js +0 -28
- package/dist/showcase/assets/separator-y9i6EG-N.js +0 -1
- package/dist/showcase/assets/settings-2-Ynd1Lcz4.js +0 -1
- package/dist/showcase/assets/settings-CqdZB-OI.js +0 -1
- package/dist/showcase/assets/sheet-CzFOcAwE.js +0 -1
- package/dist/showcase/assets/shield-Dmxwcn3w.js +0 -1
- package/dist/showcase/assets/shield-alert-RrMsBuWp.js +0 -1
- package/dist/showcase/assets/shield-check-Bnw8RAvI.js +0 -1
- package/dist/showcase/assets/shopping-bag-DGXTQNOf.js +0 -1
- package/dist/showcase/assets/showcase-DMRZCqmg.js +0 -132
- package/dist/showcase/assets/sidebar-C0tsWnrh.js +0 -1
- package/dist/showcase/assets/sidebar.context-DXGEPgaT.js +0 -1
- package/dist/showcase/assets/skeleton-BFa4FHSC.js +0 -29
- package/dist/showcase/assets/skeleton-DOJ1RAcJ.js +0 -1
- package/dist/showcase/assets/slider-BjQs0C8N.js +0 -1
- package/dist/showcase/assets/smart-card-BwSFemlj.js +0 -1
- package/dist/showcase/assets/sonner-BXMIK3eQ.js +0 -22
- package/dist/showcase/assets/sortable.esm-BeBA3gT5.js +0 -5
- package/dist/showcase/assets/sparkles-Bc0I4qTf.js +0 -1
- package/dist/showcase/assets/spinner-HyNCtTyd.js +0 -1
- package/dist/showcase/assets/spinner-LskR5l9T.js +0 -30
- package/dist/showcase/assets/spinner-mtwVRe8M.js +0 -49
- package/dist/showcase/assets/square-pen-BrZ2OxTe.js +0 -1
- package/dist/showcase/assets/stacked-avatars-DOAFRjmZ.js +0 -1
- package/dist/showcase/assets/star-lUSxI166.js +0 -1
- package/dist/showcase/assets/startOfDay-BLhx9b6k.js +0 -1
- package/dist/showcase/assets/styles-COpnijXU.js +0 -1
- package/dist/showcase/assets/suggestions-ftPYc9p6.js +0 -126
- package/dist/showcase/assets/switch-DirKCDsg.js +0 -1
- package/dist/showcase/assets/switch-DoPIN_UN.js +0 -1
- package/dist/showcase/assets/sync-C2DEiaQz.js +0 -124
- package/dist/showcase/assets/table-D6GywZEx.js +0 -1
- package/dist/showcase/assets/table-Dex8CcfW.js +0 -664
- package/dist/showcase/assets/table-actions-CJg82sW0.js +0 -1
- package/dist/showcase/assets/tabs-B9tgdMRD.js +0 -1
- package/dist/showcase/assets/tabs-C0fSpkON.js +0 -19
- package/dist/showcase/assets/tags-input-CJSpILy6.js +0 -1
- package/dist/showcase/assets/text-button-CoPZBQiq.js +0 -1
- package/dist/showcase/assets/text-link-d9JIRU2N.js +0 -1
- package/dist/showcase/assets/textarea-BN4PUX-V.js +0 -1
- package/dist/showcase/assets/textarea-CBhdtg5X.js +0 -1
- package/dist/showcase/assets/timelines-F_mzbAPA.js +0 -200
- package/dist/showcase/assets/toggle-group-8ESepeYW.js +0 -1
- package/dist/showcase/assets/toggles-B2Cg5NVG.js +0 -71
- package/dist/showcase/assets/toggles-group-BTmtSzAa.js +0 -32
- package/dist/showcase/assets/tooltip-DNsHZ3ZE.js +0 -31
- package/dist/showcase/assets/trash-2-Bf5dpRjn.js +0 -1
- package/dist/showcase/assets/trending-up-RSklVrcZ.js +0 -1
- package/dist/showcase/assets/truck-CqmeajvP.js +0 -1
- package/dist/showcase/assets/typography-DJjQO_Ld.js +0 -223
- package/dist/showcase/assets/ui-badge-BwkZfeBs.js +0 -28
- package/dist/showcase/assets/ui-card-B3mtVa60.js +0 -30
- package/dist/showcase/assets/ui-table-DM-avYTi.js +0 -42
- package/dist/showcase/assets/upload-tray-CFI_7lcB.js +0 -138
- package/dist/showcase/assets/use-layout-link-BI4MRSHG.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DRs8fnir.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-DhgmwFn7.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-vGthv_MA.js +0 -1
- package/dist/showcase/assets/useCompositeItem-g1FeYTbw.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-CyULeWSL.js +0 -1
- package/dist/showcase/assets/useLabelableId-CBWpOnwZ.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-CQSuD7yw.js +0 -1
- package/dist/showcase/assets/useRender-Dm8qJkvr.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-B6KAsVMk.js +0 -1
- package/dist/showcase/assets/useValueChanged-DXek_Wx7.js +0 -1
- package/dist/showcase/assets/user-B35DABNz.js +0 -1
- package/dist/showcase/assets/user-plus-C69GplWt.js +0 -1
- package/dist/showcase/assets/users-DDgUGkgw.js +0 -1
- package/dist/showcase/assets/vendor-profile-Zfh99jtA.js +0 -37
- package/dist/showcase/assets/video-CDERYmRS.js +0 -1
- package/dist/showcase/assets/wrench-PjtfaRuJ.js +0 -1
- package/dist/showcase/assets/x-FNPo6qUv.js +0 -1
- package/dist/showcase/assets/zap-CzjU6LH0.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-C_TgyzDl.js","names":[],"sources":["../../src/components/layout/auth/auth-card.tsx","../../src/components/layout/auth/auth-hooks.tsx","../../src/components/layout/auth/auth.strings.ts","../../src/components/layout/auth/auth-footer-links.tsx","../../src/components/layout/auth/auth-social-providers.tsx","../../src/components/layout/auth/auth-split-panel.tsx","../../src/components/layout/auth/auth-shell.tsx","../../src/components/layout/auth/auth-method-switch.tsx"],"sourcesContent":["import {\n\tCardContent,\n\tCardFooter,\n\tCardShell,\n} from '@/components/base/cards';\nimport { Heading, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { AuthCardProps } from './auth.types';\n\nexport function AuthCard({\n\teyebrow,\n\ttitle,\n\tdescription,\n\theaderEnd,\n\tbanner,\n\tmedia,\n\tfooter,\n\tchildren,\n\tclassName,\n\theaderClassName,\n\tmediaClassName,\n\tcontentClassName,\n\tfooterClassName,\n\t...props\n}: AuthCardProps) {\n\tconst hasHeader = Boolean(eyebrow || title || description || headerEnd);\n\n\treturn (\n\t\t<CardShell\n\t\t\tdata-slot=\"auth-card\"\n\t\t\tclassName={cn(\n\t\t\t\t'auth-card--component',\n\t\t\t\t'gap-0 overflow-hidden rounded-lg border border-border/70 bg-card py-0 shadow-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!media && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'auth-card--media',\n\t\t\t\t\t\t'min-h-12 border-b border-border/60 bg-muted/50',\n\t\t\t\t\t\tmediaClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{media}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!!hasHeader && (\n\t\t\t\t<header\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'auth-card--header',\n\t\t\t\t\t\t'flex items-start justify-between gap-4 px-6 pt-6 md:px-8 md:pt-8',\n\t\t\t\t\t\theaderClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"min-w-0 space-y-1.5\">\n\t\t\t\t\t\t{!!eyebrow && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\tclassName=\"auth-card--eyebrow uppercase tracking-wide\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{eyebrow}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!title && (\n\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\ttag=\"h1\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"space-y-0\"\n\t\t\t\t\t\t\t\tclassName=\"auth-card--title border-0 pb-0 text-lg leading-tight\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tlineHeight=\"relaxed\"\n\t\t\t\t\t\t\t\tclassName=\"auth-card--description max-w-prose\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{!!headerEnd && (\n\t\t\t\t\t\t<div className=\"auth-card--header-end shrink-0\">\n\t\t\t\t\t\t\t{headerEnd}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</header>\n\t\t\t)}\n\n\t\t\t<CardContent\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-card--content',\n\t\t\t\t\t'px-6 pb-6 md:px-8 md:pb-8',\n\t\t\t\t\thasHeader ? 'pt-5' : 'pt-6 md:pt-8',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!banner && <div className=\"auth-card--banner mb-5\">{banner}</div>}\n\t\t\t\t{children}\n\t\t\t</CardContent>\n\n\t\t\t{!!footer && (\n\t\t\t\t<CardFooter\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'auth-card--footer',\n\t\t\t\t\t\t'border-t border-border/60 px-6 py-4 md:px-8',\n\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{footer}\n\t\t\t\t</CardFooter>\n\t\t\t)}\n\t\t</CardShell>\n\t);\n}\n","import { isValidElement, useMemo } from 'react';\n\nimport { useLayoutLinkRenderer } from '../hooks';\nimport type {\n\tAuthBrand,\n\tAuthBrandConfig,\n\tUseAuthLinksOptions,\n\tUseAuthLinksReturn,\n\tUseAuthShellOptions,\n\tUseAuthShellReturn,\n} from './auth.types';\n\nexport function isAuthBrandConfig(brand: AuthBrand | undefined): brand is AuthBrandConfig {\n\treturn Boolean(\n\t\tbrand &&\n\t\t\ttypeof brand === 'object' &&\n\t\t\t!isValidElement(brand) &&\n\t\t\t('logo' in brand || 'label' in brand || 'description' in brand || 'href' in brand),\n\t);\n}\n\nexport function useAuthLinks({\n\tlinks = [],\n\trenderLink,\n\tLinkComponent,\n}: UseAuthLinksOptions = {}): UseAuthLinksReturn {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst visibleLinks = useMemo(\n\t\t() => links.filter((link) => link.visible !== false),\n\t\t[links],\n\t);\n\n\treturn {\n\t\tlinks: visibleLinks,\n\t\trenderLink: resolvedRenderLink,\n\t};\n}\n\nexport function useAuthShell({\n\tvariant = 'card',\n\tbrand,\n\tfooter,\n\tfooterLinks = [],\n\tpolicyLinks = [],\n\tlanguageLinks = [],\n\tlanguageSwitcher,\n\tpostCard,\n\tsocialProviders = [],\n\tsplitPanel,\n\trenderLink,\n\tLinkComponent,\n}: UseAuthShellOptions = {}): UseAuthShellReturn {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst visibleFooterLinks = useMemo(\n\t\t() => footerLinks.filter((link) => link.visible !== false),\n\t\t[footerLinks],\n\t);\n\tconst visiblePolicyLinks = useMemo(\n\t\t() => policyLinks.filter((link) => link.visible !== false),\n\t\t[policyLinks],\n\t);\n\tconst visibleLanguageLinks = useMemo(\n\t\t() => languageLinks.filter((link) => link.visible !== false),\n\t\t[languageLinks],\n\t);\n\tconst visibleSocialProviders = useMemo(\n\t\t() => socialProviders.filter((provider) => provider.visible !== false),\n\t\t[socialProviders],\n\t);\n\tconst hasBrand = Boolean(\n\t\tbrand &&\n\t\t\t(isAuthBrandConfig(brand)\n\t\t\t\t? brand.logo || brand.label || brand.description\n\t\t\t\t: brand),\n\t);\n\tconst hasAfterCard = Boolean(\n\t\tpostCard ||\n\t\t\tfooter ||\n\t\t\tlanguageSwitcher ||\n\t\t\tvisibleFooterLinks.length > 0 ||\n\t\t\tvisiblePolicyLinks.length > 0 ||\n\t\t\tvisibleLanguageLinks.length > 0,\n\t);\n\tconst hasSplitPanel = Boolean(splitPanel);\n\n\treturn {\n\t\tvariant: hasSplitPanel ? variant : 'card',\n\t\thasBrand,\n\t\thasAfterCard,\n\t\thasSplitPanel,\n\t\thasSocialProviders: visibleSocialProviders.length > 0,\n\t\trenderLink: resolvedRenderLink,\n\t\tfooterLinks: visibleFooterLinks,\n\t\tpolicyLinks: visiblePolicyLinks,\n\t\tlanguageLinks: visibleLanguageLinks,\n\t\tsocialProviders: visibleSocialProviders,\n\t};\n}\n","export interface AuthShellStrings {\n\tsocialDivider: string;\n\tsocialProvidersLabel: string;\n\tfooterLinksLabel: string;\n\tpolicyLinksLabel: string;\n\tlanguageLinksLabel: string;\n}\n\nexport const defaultAuthShellStrings: AuthShellStrings = {\n\tsocialDivider: 'or continue with email',\n\tsocialProvidersLabel: 'Social sign-in options',\n\tfooterLinksLabel: 'Authentication links',\n\tpolicyLinksLabel: 'Policies',\n\tlanguageLinksLabel: 'Language options',\n};\n\nexport interface AuthFooterLinksStrings {\n\tlabel: string;\n}\n\nexport const defaultAuthFooterLinksStrings: AuthFooterLinksStrings = {\n\tlabel: 'Authentication links',\n};\n\nexport interface AuthSocialProvidersStrings {\n\tlabel: string;\n}\n\nexport const defaultAuthSocialProvidersStrings: AuthSocialProvidersStrings = {\n\tlabel: 'Social sign-in options',\n};\n\nexport interface AuthMethodSwitchStrings {\n\tlabel: string;\n\tdivider: string;\n}\n\nexport const defaultAuthMethodSwitchStrings: AuthMethodSwitchStrings = {\n\tlabel: 'Authentication method',\n\tdivider: 'or',\n};\n","import { Fragment } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useAuthLinks } from './auth-hooks';\nimport { defaultAuthFooterLinksStrings } from './auth.strings';\nimport type { AuthFooterLinksProps } from './auth.types';\n\nexport function AuthFooterLinks({\n\tlinks,\n\tleadingIcon,\n\tseparator = '·',\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}: AuthFooterLinksProps) {\n\tconst strings = useStrings(defaultAuthFooterLinksStrings, stringsProp);\n\tconst { links: visibleLinks, renderLink: resolvedRenderLink } = useAuthLinks({\n\t\tlinks,\n\t\trenderLink,\n\t\tLinkComponent,\n\t});\n\n\tif (visibleLinks.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<nav\n\t\t\taria-label={props['aria-label'] ?? strings.label}\n\t\t\tclassName={cn(\n\t\t\t\t'auth-footer-links--component',\n\t\t\t\t'flex flex-wrap items-center justify-center gap-x-2 gap-y-1 text-center',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!leadingIcon && (\n\t\t\t\t<span className=\"auth-footer-links--icon flex shrink-0 items-center text-muted-foreground\" aria-hidden=\"true\">\n\t\t\t\t\t{leadingIcon}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{visibleLinks.map((link, index) => {\n\t\t\t\tconst linkNode = resolvedRenderLink({\n\t\t\t\t\thref: link.href,\n\t\t\t\t\ttarget: link.target,\n\t\t\t\t\trel: link.rel,\n\t\t\t\t\texternal: link.external,\n\t\t\t\t\tdisabled: link.disabled,\n\t\t\t\t\tonClick: link.onClick,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'auth-footer-links--item',\n\t\t\t\t\t\t'text-muted-foreground transition-colors hover:text-foreground',\n\t\t\t\t\t\tlink.disabled && 'pointer-events-none opacity-50',\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">\n\t\t\t\t\t\t\t{link.label}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t),\n\t\t\t\t});\n\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={link.id ?? index}>\n\t\t\t\t\t\t{index > 0 && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName=\"auth-footer-links--separator\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{separator}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{linkNode}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</nav>\n\t);\n}\n","import { KeyRound } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../hooks';\nimport { defaultAuthSocialProvidersStrings } from './auth.strings';\nimport type {\n\tAuthSocialProvider,\n\tAuthSocialProviderButtonProps,\n\tAuthSocialProvidersProps,\n} from './auth.types';\n\nconst PROVIDER_BUTTON_CLASS = 'auth-social-provider-button--component inline-flex h-9 w-full items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-sm font-medium text-foreground shadow-xs transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50';\n\nfunction GoogleMark() {\n\treturn (\n\t\t<svg\n\t\t\taria-hidden=\"true\"\n\t\t\tclassName=\"size-4\"\n\t\t\tviewBox=\"0 0 256 262\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<path fill=\"#4285F4\" d=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\" />\n\t\t\t<path fill=\"#34A853\" d=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\" />\n\t\t\t<path fill=\"#FBBC05\" d=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\" />\n\t\t\t<path fill=\"#EB4335\" d=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\" />\n\t\t</svg>\n\t);\n}\n\nfunction MicrosoftMark() {\n\treturn (\n\t\t<svg aria-hidden=\"true\" className=\"size-4\" viewBox=\"0 0 23 23\">\n\t\t\t<path fill=\"#f25022\" d=\"M1 1h10v10H1z\" />\n\t\t\t<path fill=\"#7fba00\" d=\"M12 1h10v10H12z\" />\n\t\t\t<path fill=\"#00a4ef\" d=\"M1 12h10v10H1z\" />\n\t\t\t<path fill=\"#ffb900\" d=\"M12 12h10v10H12z\" />\n\t\t</svg>\n\t);\n}\n\nfunction GithubMark() {\n\treturn (\n\t\t<svg aria-hidden=\"true\" className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n\t\t\t<path d=\"M12 2C6.48 2 2 6.58 2 12.24c0 4.53 2.87 8.37 6.84 9.73.5.09.68-.22.68-.49 0-.24-.01-.88-.01-1.73-2.78.62-3.37-1.37-3.37-1.37-.45-1.18-1.11-1.5-1.11-1.5-.91-.64.07-.63.07-.63 1 .07 1.53 1.06 1.53 1.06.9 1.57 2.36 1.12 2.93.86.09-.67.35-1.12.64-1.38-2.22-.26-4.56-1.14-4.56-5.07 0-1.12.39-2.04 1.03-2.76-.1-.26-.45-1.31.1-2.72 0 0 .84-.28 2.75 1.05A9.32 9.32 0 0 1 12 6.95c.85 0 1.7.12 2.5.35 1.9-1.33 2.74-1.05 2.74-1.05.55 1.41.2 2.46.1 2.72.64.72 1.03 1.64 1.03 2.76 0 3.94-2.34 4.8-4.57 5.06.36.32.68.95.68 1.91 0 1.38-.01 2.49-.01 2.83 0 .27.18.59.69.49A10.12 10.12 0 0 0 22 12.24C22 6.58 17.52 2 12 2Z\" />\n\t\t</svg>\n\t);\n}\n\nfunction AppleMark() {\n\treturn (\n\t\t<svg aria-hidden=\"true\" className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n\t\t\t<path d=\"M16.37 12.05c-.02-2.26 1.85-3.35 1.94-3.4-1.06-1.55-2.69-1.76-3.26-1.78-1.37-.14-2.7.82-3.39.82-.71 0-1.78-.8-2.93-.78-1.5.02-2.9.89-3.67 2.25-1.57 2.72-.4 6.72 1.1 8.92.76 1.08 1.64 2.29 2.79 2.25 1.13-.05 1.55-.72 2.91-.72 1.35 0 1.75.72 2.93.69 1.21-.02 1.98-1.09 2.71-2.18.87-1.24 1.22-2.46 1.23-2.52-.03-.01-2.34-.9-2.36-3.55ZM14.16 5.42c.61-.76 1.03-1.8.91-2.85-.88.04-1.98.61-2.62 1.35-.57.65-1.08 1.73-.95 2.74.99.08 2.02-.5 2.66-1.24Z\" />\n\t\t</svg>\n\t);\n}\n\nfunction ProviderIcon({ provider }: { provider: AuthSocialProvider }) {\n\tif (provider.icon) return <>{provider.icon}</>;\n\tswitch (provider.provider) {\n\t\tcase 'google':\n\t\t\treturn <GoogleMark />;\n\t\tcase 'github':\n\t\t\treturn <GithubMark />;\n\t\tcase 'microsoft':\n\t\t\treturn <MicrosoftMark />;\n\t\tcase 'apple':\n\t\t\treturn <AppleMark />;\n\t\tdefault:\n\t\t\treturn <KeyRound className=\"size-4\" aria-hidden=\"true\" />;\n\t}\n}\n\nexport function AuthSocialProviderButton({\n\tprovider,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n}: AuthSocialProviderButtonProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst content = (\n\t\t<>\n\t\t\t<ProviderIcon provider={provider} />\n\t\t\t<Text tag=\"span\" className=\"text-inherit\">\n\t\t\t\t{provider.label}\n\t\t\t</Text>\n\t\t</>\n\t);\n\tconst buttonClassName = cn(\n\t\tPROVIDER_BUTTON_CLASS,\n\t\tprovider.disabled && 'pointer-events-none opacity-50',\n\t\tclassName,\n\t);\n\n\tif (provider.href) {\n\t\treturn resolvedRenderLink({\n\t\t\thref: provider.href,\n\t\t\ttarget: provider.target,\n\t\t\trel: provider.rel,\n\t\t\texternal: provider.external,\n\t\t\tdisabled: provider.disabled,\n\t\t\tonClick: provider.onClick,\n\t\t\tclassName: buttonClassName,\n\t\t\tchildren: content,\n\t\t});\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"secondary\"\n\t\t\tbuttonStyle=\"outline\"\n\t\t\tfullWidth\n\t\t\tdisabled={provider.disabled}\n\t\t\tclassName={cn('auth-social-provider-button--component', className)}\n\t\t\tonClick={(event) => provider.onClick?.(event)}\n\t\t>\n\t\t\t{content}\n\t\t</Button>\n\t);\n}\n\nexport function AuthSocialProviders({\n\tproviders,\n\tlayout = 'stack',\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}: AuthSocialProvidersProps) {\n\tconst strings = useStrings(defaultAuthSocialProvidersStrings, stringsProp);\n\tconst visibleProviders = providers?.filter((provider) => provider.visible !== false) ?? [];\n\n\tif (visibleProviders.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\trole=\"group\"\n\t\t\taria-label={props['aria-label'] ?? strings.label}\n\t\t\tdata-layout={layout}\n\t\t\tclassName={cn(\n\t\t\t\t'auth-social-providers--component',\n\t\t\t\tlayout === 'grid' ? 'grid gap-2 sm:grid-cols-2' : 'grid gap-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{visibleProviders.map((provider) => (\n\t\t\t\t<AuthSocialProviderButton\n\t\t\t\t\tkey={provider.id ?? String(provider.label)}\n\t\t\t\t\tprovider={provider}\n\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\tLinkComponent={LinkComponent}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n","import {\n\tItem,\n\tItemContent,\n\tItemDescription,\n\tItemGroup,\n\tItemMedia,\n\tItemTitle,\n} from '@/components/base/item';\nimport { Heading, Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { AuthSplitPanelProps } from './auth.types';\n\nconst SURFACE_CLASS: Record<NonNullable<AuthSplitPanelProps['surface']>, string> = {\n\tcard: 'border-border/70 bg-card',\n\tmuted: 'border-border/60 bg-muted/40',\n};\n\nexport function AuthSplitPanel({\n\teyebrow,\n\ttitle,\n\tdescription,\n\tmedia,\n\tfeatures,\n\tfooter,\n\tchildren,\n\tsurface = 'muted',\n\tclassName,\n\tcontentClassName,\n\t...props\n}: AuthSplitPanelProps) {\n\tconst hasIntro = Boolean(eyebrow || title || description);\n\tconst visibleFeatures = features?.filter((feature) => feature.title) ?? [];\n\n\treturn (\n\t\t<aside\n\t\t\tdata-slot=\"auth-split-panel\"\n\t\t\tdata-surface={surface}\n\t\t\tclassName={cn(\n\t\t\t\t'auth-split-panel--component',\n\t\t\t\t'flex min-h-full w-full flex-col justify-between overflow-hidden border',\n\t\t\t\tSURFACE_CLASS[surface],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-split-panel--content',\n\t\t\t\t\t'flex min-h-full flex-col justify-center gap-8 p-6 md:p-8 lg:p-10',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!media && (\n\t\t\t\t\t<div className=\"auth-split-panel--media overflow-hidden rounded-lg border border-border/60 bg-background/70\">\n\t\t\t\t\t\t{media}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!hasIntro && (\n\t\t\t\t\t<div className=\"auth-split-panel--intro max-w-xl space-y-2\">\n\t\t\t\t\t\t{!!eyebrow && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\tclassName=\"auth-split-panel--eyebrow uppercase tracking-wide\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{eyebrow}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!title && (\n\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\ttag=\"h2\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"space-y-0\"\n\t\t\t\t\t\t\t\tclassName=\"auth-split-panel--title border-0 pb-0 text-xl leading-tight\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tlineHeight=\"relaxed\"\n\t\t\t\t\t\t\t\tclassName=\"auth-split-panel--description max-w-prose\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{visibleFeatures.length > 0 && (\n\t\t\t\t\t<ItemGroup className=\"auth-split-panel--features grid gap-3\">\n\t\t\t\t\t\t{visibleFeatures.map((feature, index) => (\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tkey={feature.id ?? index}\n\t\t\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\t\t\tclassName=\"auth-split-panel--feature bg-background/70\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!!feature.icon && (\n\t\t\t\t\t\t\t\t\t<ItemMedia variant=\"icon\" className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t{feature.icon}\n\t\t\t\t\t\t\t\t\t</ItemMedia>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<ItemContent className=\"min-w-0 sm:min-w-48\">\n\t\t\t\t\t\t\t\t\t<ItemTitle>{feature.title}</ItemTitle>\n\t\t\t\t\t\t\t\t\t{!!feature.description && (\n\t\t\t\t\t\t\t\t\t\t<ItemDescription clamp=\"none\">{feature.description}</ItemDescription>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ItemContent>\n\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t)}\n\n\t\t\t\t{children}\n\n\t\t\t\t{!!footer && (\n\t\t\t\t\t<div className=\"auth-split-panel--footer\">\n\t\t\t\t\t\t{footer}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</aside>\n\t);\n}\n","import { Globe2 } from 'lucide-react';\nimport { isValidElement, type ReactNode } from 'react';\n\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { AuthCard } from './auth-card';\nimport { AuthFooterLinks } from './auth-footer-links';\nimport { isAuthBrandConfig, useAuthShell } from './auth-hooks';\nimport { defaultAuthShellStrings } from './auth.strings';\nimport { AuthSocialProviders } from './auth-social-providers';\nimport { AuthSplitPanel } from './auth-split-panel';\nimport type {\n\tAuthBrand,\n\tAuthBrandConfig,\n\tAuthShellProps,\n\tAuthSplitPanelProps,\n} from './auth.types';\n\nconst SIZE_CLASS: Record<NonNullable<AuthShellProps['size']>, string> = {\n\tsm: 'max-w-sm',\n\tmd: 'max-w-md',\n\tlg: 'max-w-lg',\n};\n\nfunction isSplitPanelProps(panel: AuthShellProps['splitPanel']): panel is AuthSplitPanelProps {\n\treturn Boolean(panel && typeof panel === 'object' && !isValidElement(panel));\n}\n\nfunction renderBrandContent(brand: AuthBrandConfig): ReactNode {\n\tconst hasText = Boolean(brand.label || brand.description);\n\n\treturn (\n\t\t<>\n\t\t\t{!!brand.logo && (\n\t\t\t\t<div className=\"auth-shell--brand-logo shrink-0\">\n\t\t\t\t\t{brand.logo}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{!!hasText && (\n\t\t\t\t<div className=\"auth-shell--brand-text min-w-0\">\n\t\t\t\t\t{!!brand.label && (\n\t\t\t\t\t\t<Text tag=\"div\" weight=\"semibold\" className=\"auth-shell--brand-label\">\n\t\t\t\t\t\t\t{brand.label}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!brand.description && (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\tclassName=\"auth-shell--brand-description\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{brand.description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nfunction renderBrand({\n\tbrand,\n\trenderLink,\n}: {\n\tbrand?: AuthBrand;\n\trenderLink: NonNullable<AuthShellProps['renderLink']>;\n}) {\n\tif (!brand) return null;\n\n\tif (!isAuthBrandConfig(brand)) {\n\t\treturn (\n\t\t\t<div className=\"auth-shell--brand flex items-center justify-center\">\n\t\t\t\t{brand}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst content = renderBrandContent(brand);\n\tconst className = cn(\n\t\t'auth-shell--brand',\n\t\t'inline-flex items-center justify-center gap-2.5 self-center rounded-md text-foreground',\n\t\tbrand.href && 'transition-opacity hover:opacity-80',\n\t);\n\n\tif (brand.href) {\n\t\treturn renderLink({\n\t\t\thref: brand.href,\n\t\t\t'aria-label': brand.ariaLabel,\n\t\t\tclassName,\n\t\t\tchildren: content,\n\t\t});\n\t}\n\n\treturn <div className={className}>{content}</div>;\n}\n\nfunction renderSplitPanel(panel: AuthShellProps['splitPanel']) {\n\tif (!panel) return null;\n\tif (isValidElement(panel)) return panel;\n\tif (isSplitPanelProps(panel)) return <AuthSplitPanel {...panel} />;\n\treturn null;\n}\n\nexport function AuthShell({\n\tchildren,\n\tvariant: variantProp = 'card',\n\tsize = 'md',\n\talign = 'center',\n\tbrand,\n\teyebrow,\n\ttitle,\n\tdescription,\n\theaderEnd,\n\tbanner,\n\tcardMedia,\n\tcardMediaClassName,\n\tcardFooter,\n\tpostCard,\n\tfooter,\n\tfooterLinks,\n\tpolicyLinks,\n\tlanguageLinks,\n\tlanguageSwitcher,\n\tsocialProviders,\n\tsocialProvidersLayout = 'stack',\n\tsocialDivider,\n\tsplitPanel,\n\tsplitSide = 'left',\n\tsplitMobile = 'hidden',\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tmainClassName,\n\tstackClassName,\n\tcardClassName,\n\tcardContentClassName,\n\tsplitGridClassName,\n\tsplitPanelClassName,\n\tfooterClassName,\n\tstrings: stringsProp,\n\t...props\n}: AuthShellProps) {\n\tconst strings = useStrings(defaultAuthShellStrings, stringsProp);\n\tconst {\n\t\tvariant,\n\t\thasBrand,\n\t\thasAfterCard,\n\t\thasSplitPanel,\n\t\thasSocialProviders,\n\t\trenderLink: resolvedRenderLink,\n\t\tfooterLinks: visibleFooterLinks,\n\t\tpolicyLinks: visiblePolicyLinks,\n\t\tlanguageLinks: visibleLanguageLinks,\n\t\tsocialProviders: visibleSocialProviders,\n\t} = useAuthShell({\n\t\tvariant: variantProp,\n\t\tbrand,\n\t\tfooter,\n\t\tfooterLinks,\n\t\tpolicyLinks,\n\t\tlanguageLinks,\n\t\tlanguageSwitcher,\n\t\tpostCard,\n\t\tsocialProviders,\n\t\tsplitPanel,\n\t\trenderLink,\n\t\tLinkComponent,\n\t});\n\tconst isSplit = variant === 'split' && hasSplitPanel;\n\tconst panel = renderSplitPanel(splitPanel);\n\tconst panelFirst = splitSide === 'left';\n\tconst showStackedPanel = splitMobile === 'stacked';\n\tconst brandNode = hasBrand ? renderBrand({ brand, renderLink: resolvedRenderLink }) : null;\n\n\tconst main = (\n\t\t<main\n\t\t\tclassName={cn(\n\t\t\t\t'auth-shell--main',\n\t\t\t\t'flex min-h-svh w-full items-center justify-center px-4 py-8 sm:px-6 md:px-8',\n\t\t\t\talign === 'start' && 'items-start pt-12',\n\t\t\t\tisSplit && 'lg:min-h-svh',\n\t\t\t\tmainClassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-shell--stack',\n\t\t\t\t\t'flex w-full flex-col gap-5',\n\t\t\t\t\tSIZE_CLASS[size],\n\t\t\t\t\tstackClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{brandNode}\n\n\t\t\t\t<AuthCard\n\t\t\t\t\teyebrow={eyebrow}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\theaderEnd={headerEnd}\n\t\t\t\t\tbanner={banner}\n\t\t\t\t\tmedia={cardMedia}\n\t\t\t\t\tmediaClassName={cardMediaClassName}\n\t\t\t\t\tfooter={cardFooter}\n\t\t\t\t\tclassName={cardClassName}\n\t\t\t\t\tcontentClassName={cardContentClassName}\n\t\t\t\t>\n\t\t\t\t\t{!!hasSocialProviders && (\n\t\t\t\t\t\t<div className=\"auth-shell--social mb-4 grid gap-4\">\n\t\t\t\t\t\t\t<AuthSocialProviders\n\t\t\t\t\t\t\t\tproviders={visibleSocialProviders}\n\t\t\t\t\t\t\t\tlayout={socialProvidersLayout}\n\t\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\t\tstrings={{ label: strings.socialProvidersLabel }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"auth-shell--social-divider flex items-center gap-3\">\n\t\t\t\t\t\t\t\t<span className=\"h-px min-w-0 flex-1 bg-border\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t{socialDivider ?? strings.socialDivider}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<span className=\"h-px min-w-0 flex-1 bg-border\" aria-hidden=\"true\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</AuthCard>\n\n\t\t\t\t{!!hasAfterCard && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'auth-shell--after-card',\n\t\t\t\t\t\t\t'flex flex-col items-center gap-3 text-center',\n\t\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!postCard && <div className=\"auth-shell--post-card\">{postCard}</div>}\n\t\t\t\t\t\t{!!languageSwitcher && (\n\t\t\t\t\t\t\t<div className=\"auth-shell--language-switcher\">\n\t\t\t\t\t\t\t\t{languageSwitcher}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{visibleLanguageLinks.length > 0 && (\n\t\t\t\t\t\t\t<AuthFooterLinks\n\t\t\t\t\t\t\t\tclassName=\"auth-shell--language-links\"\n\t\t\t\t\t\t\t\tlinks={visibleLanguageLinks}\n\t\t\t\t\t\t\t\tleadingIcon={<Globe2 className=\"size-3.5\" />}\n\t\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\t\tstrings={{ label: strings.languageLinksLabel }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{visibleFooterLinks.length > 0 && (\n\t\t\t\t\t\t\t<AuthFooterLinks\n\t\t\t\t\t\t\t\tclassName=\"auth-shell--footer-links\"\n\t\t\t\t\t\t\t\tlinks={visibleFooterLinks}\n\t\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\t\tstrings={{ label: strings.footerLinksLabel }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{visiblePolicyLinks.length > 0 && (\n\t\t\t\t\t\t\t<AuthFooterLinks\n\t\t\t\t\t\t\t\tclassName=\"auth-shell--policy-links\"\n\t\t\t\t\t\t\t\tlinks={visiblePolicyLinks}\n\t\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\t\tstrings={{ label: strings.policyLinksLabel }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!footer && <div className=\"auth-shell--footer\">{footer}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</main>\n\t);\n\n\tif (!isSplit) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"auth-shell\"\n\t\t\t\tdata-variant=\"card\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-shell--component',\n\t\t\t\t\t'min-h-svh bg-background text-foreground',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{main}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"auth-shell\"\n\t\t\tdata-variant=\"split\"\n\t\t\tdata-split-side={splitSide}\n\t\t\tdata-split-mobile={splitMobile}\n\t\t\tclassName={cn(\n\t\t\t\t'auth-shell--component',\n\t\t\t\t'min-h-svh bg-background text-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-shell--split-grid min-h-svh lg:grid',\n\t\t\t\t\tpanelFirst\n\t\t\t\t\t\t? 'lg:grid-cols-[minmax(0,1fr)_minmax(24rem,34rem)]'\n\t\t\t\t\t\t: 'lg:grid-cols-[minmax(24rem,34rem)_minmax(0,1fr)]',\n\t\t\t\t\tsplitGridClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!!panelFirst && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'auth-shell--split-panel',\n\t\t\t\t\t\t\tshowStackedPanel ? 'block' : 'hidden lg:block',\n\t\t\t\t\t\t\tsplitPanelClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{panel}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{main}\n\t\t\t\t{!panelFirst && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'auth-shell--split-panel',\n\t\t\t\t\t\t\tshowStackedPanel ? 'block' : 'hidden lg:block',\n\t\t\t\t\t\t\tsplitPanelClassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{panel}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultAuthMethodSwitchStrings } from './auth.strings';\nimport type {\n\tAuthMethodOption,\n\tAuthMethodSwitchProps,\n\tUseAuthMethodSwitchOptions,\n\tUseAuthMethodSwitchReturn,\n} from './auth.types';\n\nfunction firstEnabledOption(options: AuthMethodOption[]) {\n\treturn options.find((option) => !option.disabled);\n}\n\nexport function useAuthMethodSwitch({\n\toptions = [],\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n}: UseAuthMethodSwitchOptions = {}): UseAuthMethodSwitchReturn {\n\tconst visibleOptions = React.useMemo(\n\t\t() => options.filter((option) => option.visible !== false),\n\t\t[options],\n\t);\n\tconst fallbackValue = defaultValue ?? firstEnabledOption(visibleOptions)?.id;\n\tconst [internalValue, setInternalValue] = React.useState<string | undefined>(fallbackValue);\n\tconst isControlled = value !== undefined;\n\tconst selectedValue = isControlled ? value : internalValue;\n\tconst selectedOption = visibleOptions.find((option) => option.id === selectedValue);\n\n\tconst setValue = React.useCallback(\n\t\t(nextValue: string) => {\n\t\t\tconst nextOption = visibleOptions.find((option) => option.id === nextValue);\n\t\t\tif (!nextOption || nextOption.disabled) return;\n\n\t\t\tif (!isControlled) {\n\t\t\t\tsetInternalValue(nextValue);\n\t\t\t}\n\n\t\t\tonValueChange?.(nextValue, nextOption);\n\t\t},\n\t\t[isControlled, onValueChange, visibleOptions],\n\t);\n\n\tReact.useEffect(() => {\n\t\tif (isControlled || selectedOption || visibleOptions.length === 0) return;\n\t\tsetInternalValue(firstEnabledOption(visibleOptions)?.id);\n\t}, [isControlled, selectedOption, visibleOptions]);\n\n\treturn {\n\t\tvalue: selectedValue,\n\t\tselectedOption,\n\t\toptions: visibleOptions,\n\t\tsetValue,\n\t};\n}\n\nexport function AuthMethodSwitch({\n\toptions = [],\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tlayout = 'stack',\n\tdivider,\n\tclassName,\n\tstrings: stringsProp,\n\t...props\n}: AuthMethodSwitchProps) {\n\tconst strings = useStrings(defaultAuthMethodSwitchStrings, stringsProp);\n\tconst { ['aria-label']: ariaLabel, ...rootProps } = props;\n\tconst {\n\t\tvalue: selectedValue,\n\t\toptions: visibleOptions,\n\t\tsetValue,\n\t} = useAuthMethodSwitch({\n\t\toptions,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t});\n\n\tif (visibleOptions.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={cn('auth-method-switch--component grid gap-3', className)} {...rootProps}>\n\t\t\t{divider !== null && divider !== false && (\n\t\t\t\t<div className=\"auth-method-switch--divider flex items-center gap-3\">\n\t\t\t\t\t<span className=\"h-px min-w-0 flex-1 bg-border\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t{divider ?? strings.divider}\n\t\t\t\t\t</Text>\n\t\t\t\t\t<span className=\"h-px min-w-0 flex-1 bg-border\" aria-hidden=\"true\" />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={ariaLabel ?? strings.label}\n\t\t\t\tdata-layout={layout}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'auth-method-switch--options',\n\t\t\t\t\tlayout === 'grid' && 'grid gap-2 sm:grid-cols-2',\n\t\t\t\t\tlayout === 'stack' && 'grid gap-2',\n\t\t\t\t\tlayout === 'segmented' &&\n\t\t\t\t\t\t'grid grid-cols-[repeat(auto-fit,minmax(0,1fr))] gap-1 rounded-lg border border-border bg-muted/40 p-1',\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{visibleOptions.map((option) => {\n\t\t\t\t\tconst selected = option.id === selectedValue;\n\t\t\t\t\tconst segmented = layout === 'segmented';\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-pressed={selected}\n\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\tvariant={selected ? 'dark' : 'secondary'}\n\t\t\t\t\t\t\tbuttonStyle={selected ? 'solid' : segmented ? 'ghost' : 'outline'}\n\t\t\t\t\t\t\tfullWidth\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'auth-method-switch--option',\n\t\t\t\t\t\t\t\t'h-auto min-h-10 justify-start rounded-md px-3 py-2.5 text-start',\n\t\t\t\t\t\t\t\tsegmented &&\n\t\t\t\t\t\t\t\t\t'min-h-9 justify-center border-0 px-2 py-2 text-center shadow-none min-[480px]:px-3 min-[480px]:text-start',\n\t\t\t\t\t\t\t\tselected && 'auth-method-switch--option-selected',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => setValue(option.id)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'auth-method-switch--option-inner flex min-w-0 items-center gap-2',\n\t\t\t\t\t\t\t\t\tsegmented &&\n\t\t\t\t\t\t\t\t\t\t'w-full flex-col justify-center gap-1 min-[480px]:w-auto min-[480px]:flex-row min-[480px]:justify-start min-[480px]:gap-2',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{!!option.icon && (\n\t\t\t\t\t\t\t\t\t<span className=\"auth-method-switch--option-icon shrink-0\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t{option.icon}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'auth-method-switch--option-copy grid min-w-0 gap-0.5',\n\t\t\t\t\t\t\t\t\t\tsegmented && 'justify-items-center min-[480px]:justify-items-start',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'max-w-full text-inherit leading-tight',\n\t\t\t\t\t\t\t\t\t\t\tsegmented\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-center min-[480px]:truncate min-[480px]:text-start'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-start',\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\t\t{option.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t{!!option.description && (\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"xxs\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\tsegmented\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'hidden min-[480px]:block min-[480px]:truncate'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-start leading-snug',\n\t\t\t\t\t\t\t\t\t\t\t\tselected ? 'text-inherit opacity-75' : 'text-muted-foreground',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./chunk-CMqjfN_6.cjs"),t=require("./ui-provider-DZWtUXf2.cjs"),n=require("../lib/utils.cjs"),r=require("./button-Bd5bEIiB.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime"),o=require("lucide-react");var s=()=>(0,a.jsxs)(`svg`,{"aria-hidden":`true`,className:`h-4 w-4`,width:`256`,height:`262`,viewBox:`0 0 256 262`,xmlns:`http://www.w3.org/2000/svg`,preserveAspectRatio:`xMidYMid`,children:[(0,a.jsx)(`path`,{d:`M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027`,fill:`#4285F4`}),(0,a.jsx)(`path`,{d:`M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1`,fill:`#34A853`}),(0,a.jsx)(`path`,{d:`M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782`,fill:`#FBBC05`}),(0,a.jsx)(`path`,{d:`M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251`,fill:`#EB4335`})]});function c({children:e,className:t,type:i=`button`,href:o,...c}){let l=(0,a.jsx)(r.i,{icon:s,iconPosition:`left`,fullWidth:!0,className:n.cn(`bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,t),type:i,...c,children:e});return o?(0,a.jsx)(`a`,{href:o,className:n.cn(`google-button--component`,`inline-flex w-full`),children:l}):l}function l(e){let{resource:t,id:n,text:s,fullWidth:c,className:l,adminUrl:u}=e,d={...e};delete d.resource,delete d.id,delete d.text,delete d.fullWidth,delete d.className,delete d.adminUrl;let f=e.resource===`product_variants`?e.productId:null;return e.resource===`product_variants`&&delete d.productId,(0,a.jsx)(`a`,{href:(0,i.useMemo)(()=>{let e=(u??``).replace(/\/$/,``);return{orders:`${e}/orders/${n}`,products:`${e}/products/${n}`,product_variants:f?`${e}/products/${f}/variants/${n}`:`${e}/products/${n}`,customers:`${e}/customers/${n}`,draft_orders:`${e}/draft_orders/${n}`,collections:`${e}/collections/${n}`,discounts:`${e}/discounts/${n}`}[t]},[u,t,n,f]),target:`_blank`,rel:`noopener noreferrer`,className:`flex ${c?`w-full`:``}`,children:(0,a.jsx)(r.i,{...d,className:l,icon:o.ShoppingBag,iconPosition:`left`,children:s})})}l.displayName=`ShopifyButton`;var u={small:`small`,default:`default`},d={small:`small`,default:`default`},f={small:`text-xs h-auto px-0`,default:`text-sm h-auto px-0`},p=i.forwardRef(({className:e,type:i=`button`,size:o,disabled:s,...c},l)=>{let{defaultControlSize:p}=t.o(),m=o??d[p??`default`]??`default`;return(0,a.jsx)(r.i,{ref:l,type:i,variant:`primary`,buttonStyle:`ghost`,size:u[m],disabled:s,className:n.cn(`text-button--component`,`inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current`,`text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,`disabled:pointer-events-none disabled:opacity-50`,f[m],e),...c})});p.displayName=`TextButton`;var m={small:`small`,default:`default`},h={small:`h-control-sm px-control-sm text-xs`,default:`h-control px-control text-sm`},g=i.forwardRef(({variant:e=`secondary`,size:t,className:i,...o},s)=>{let c=e===`error`?`error`:e,l=t??`default`;return(0,a.jsx)(r.i,{ref:s,variant:c,buttonStyle:`solid`,size:m[l],className:n.cn(`page-action-button--component`,h[l],`shadow-none`,i),...o})});g.displayName=`PageActionButton`,Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}});
|
|
2
|
-
//# sourceMappingURL=buttons-C8jy-jMd.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buttons-C8jy-jMd.cjs","names":[],"sources":["../../src/components/base/buttons/google-button.tsx","../../src/components/base/buttons/shopify-button.tsx","../../src/components/base/buttons/text-button.tsx","../../src/components/base/buttons/page-action-button.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype GoogleButtonProps = Omit<BaseButtonProps, 'icon' | 'iconPosition' | 'fullWidth'> & {\n\thref?: string;\n};\n\n// Google brand mark — colors are dictated by Google's brand guidelines and\n// must not be themed. Do not replace with semantic tokens.\nconst GoogleIcon = () => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tclassName=\"h-4 w-4\"\n\t\twidth=\"256\"\n\t\theight=\"262\"\n\t\tviewBox=\"0 0 256 262\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tpreserveAspectRatio=\"xMidYMid\"\n\t>\n\t\t<path\n\t\t\td=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n\t\t\tfill=\"#4285F4\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n\t\t\tfill=\"#34A853\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n\t\t\tfill=\"#FBBC05\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n\t\t\tfill=\"#EB4335\"\n\t\t/>\n\t</svg>\n);\n\nfunction GoogleButton({ children, className, type = 'button', href, ...props }: GoogleButtonProps) {\n\tconst button = (\n\t\t<BaseButton\n\t\t\ticon={GoogleIcon}\n\t\t\ticonPosition=\"left\"\n\t\t\tfullWidth\n\t\t\tclassName={cn(\n\t\t\t\t'bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</BaseButton>\n\t);\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a href={href} className={cn('google-button--component', 'inline-flex w-full')}>\n\t\t\t\t{button}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn button;\n}\n\nexport { GoogleButton };\n","import { useMemo } from 'react';\nimport { ShoppingBag } from 'lucide-react';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype ShopifyResource =\n\t| 'orders'\n\t| 'products'\n\t| 'product_variants'\n\t| 'customers'\n\t| 'draft_orders'\n\t| 'collections'\n\t| 'discounts';\n\ntype ShopifyButtonProps =\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: Exclude<ShopifyResource, 'product_variants'>;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t})\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: 'product_variants';\n\t\t\tproductId: string | number;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t});\n\nexport function ShopifyButton(props: ShopifyButtonProps) {\n\tconst { resource, id, text, fullWidth, className, adminUrl } = props;\n\tconst buttonProps = { ...props };\n\tdelete (buttonProps as Partial<typeof props>).resource;\n\tdelete (buttonProps as Partial<typeof props>).id;\n\tdelete (buttonProps as Partial<typeof props>).text;\n\tdelete (buttonProps as Partial<typeof props>).fullWidth;\n\tdelete (buttonProps as Partial<typeof props>).className;\n\tdelete (buttonProps as { adminUrl?: string }).adminUrl;\n\n\tconst productId = props.resource === 'product_variants' ? props.productId : null;\n\tif (props.resource === 'product_variants') {\n\t\tdelete (buttonProps as { productId?: unknown }).productId;\n\t}\n\n\tconst href = useMemo(() => {\n\t\tconst base = (adminUrl ?? '').replace(/\\/$/, '');\n\t\tconst map: Record<ShopifyResource, string> = {\n\t\t\torders: `${base}/orders/${id}`,\n\t\t\tproducts: `${base}/products/${id}`,\n\t\t\tproduct_variants: productId ? `${base}/products/${productId}/variants/${id}` : `${base}/products/${id}`,\n\t\t\tcustomers: `${base}/customers/${id}`,\n\t\t\tdraft_orders: `${base}/draft_orders/${id}`,\n\t\t\tcollections: `${base}/collections/${id}`,\n\t\t\tdiscounts: `${base}/discounts/${id}`,\n\t\t};\n\t\treturn map[resource];\n\t}, [adminUrl, resource, id, productId]);\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclassName={`flex ${fullWidth ? 'w-full' : ''}`}\n\t\t>\n\t\t\t<BaseButton\n\t\t\t\t{...buttonProps}\n\t\t\t\tclassName={className}\n\t\t\t\ticon={ShoppingBag}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</BaseButton>\n\t\t</a>\n\t);\n}\n\nexport default ShopifyButton;\n\nShopifyButton.displayName = 'ShopifyButton';\n","/**\n * TextButton — link-styled button (underline, primary tint, no padding).\n *\n * Wraps `BaseButton` with `variant=\"primary\" buttonStyle=\"ghost\"`. Routine\n * usage omits `size`; `default` and `small` are the only public scale overrides.\n */\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { BaseButton } from './base-button';\n\ntype TextButtonSize = 'small' | 'default';\n\nconst baseButtonSizeMap: Record<TextButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst providerSizeMap: Record<FormControlSize, TextButtonSize> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst sizeClasses: Record<TextButtonSize, string> = {\n\tsmall: 'text-xs h-auto px-0',\n\tdefault: 'text-sm h-auto px-0',\n};\n\nexport type TextButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> & {\n\tsize?: TextButtonSize;\n\tchildren: React.ReactNode;\n};\n\nexport const TextButton = React.forwardRef<HTMLButtonElement, TextButtonProps>(\n\t({ className, type = 'button', size, disabled, ...props }, ref) => {\n\t\tconst { defaultControlSize } = useFormsConfig();\n\t\tconst resolvedSize: TextButtonSize =\n\t\t\tsize ?? providerSizeMap[defaultControlSize ?? 'default'] ?? 'default';\n\t\treturn (\n\t\t\t<BaseButton\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={cn('text-button--component', \n\t\t\t\t\t'inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current',\n\t\t\t\t\t'text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\t\tsizeClasses[resolvedSize],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nTextButton.displayName = 'TextButton';\n","import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type ButtonStyle, type ButtonVariant } from './base-button';\n\nexport type PageActionButtonVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'error';\n\ntype PageActionButtonSize = 'small' | 'default';\nconst baseButtonSizeMap: Record<PageActionButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nexport type PageActionButtonProps = Omit<\n\tReact.ComponentPropsWithoutRef<typeof BaseButton>,\n\t'variant' | 'buttonStyle' | 'size'\n> & {\n\tvariant?: PageActionButtonVariant;\n\tsize?: PageActionButtonSize;\n};\n\nconst sizeClasses: Record<PageActionButtonSize, string> = {\n\tsmall: 'h-control-sm px-control-sm text-xs',\n\tdefault: 'h-control px-control text-sm',\n};\n\nexport const PageActionButton = React.forwardRef<\n\tHTMLButtonElement,\n\tPageActionButtonProps\n>(({ variant = 'secondary', size, className, ...props }, ref) => {\n\tconst resolvedVariant: ButtonVariant = variant === 'error' ? 'error' : variant;\n\tconst resolvedStyle: ButtonStyle = 'solid';\n\tconst resolvedSize: PageActionButtonSize = size ?? 'default';\n\n\treturn (\n\t\t<BaseButton\n\t\t\tref={ref}\n\t\t\tvariant={resolvedVariant}\n\t\t\tbuttonStyle={resolvedStyle}\n\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\tclassName={cn('page-action-button--component', sizeClasses[resolvedSize], 'shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nPageActionButton.displayName = 'PageActionButton';\n"],"mappings":"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"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { o as e } from "./ui-provider-Dj6OSOZi.js";
|
|
2
|
-
import { cn as t } from "../lib/utils.js";
|
|
3
|
-
import { i as n } from "./button-DHksjMvc.js";
|
|
4
|
-
import * as r from "react";
|
|
5
|
-
import { useMemo as i } from "react";
|
|
6
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
-
import { ShoppingBag as s } from "lucide-react";
|
|
8
|
-
//#region src/components/base/buttons/google-button.tsx
|
|
9
|
-
var c = () => /* @__PURE__ */ o("svg", {
|
|
10
|
-
"aria-hidden": "true",
|
|
11
|
-
className: "h-4 w-4",
|
|
12
|
-
width: "256",
|
|
13
|
-
height: "262",
|
|
14
|
-
viewBox: "0 0 256 262",
|
|
15
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
-
preserveAspectRatio: "xMidYMid",
|
|
17
|
-
children: [
|
|
18
|
-
/* @__PURE__ */ a("path", {
|
|
19
|
-
d: "M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027",
|
|
20
|
-
fill: "#4285F4"
|
|
21
|
-
}),
|
|
22
|
-
/* @__PURE__ */ a("path", {
|
|
23
|
-
d: "M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1",
|
|
24
|
-
fill: "#34A853"
|
|
25
|
-
}),
|
|
26
|
-
/* @__PURE__ */ a("path", {
|
|
27
|
-
d: "M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782",
|
|
28
|
-
fill: "#FBBC05"
|
|
29
|
-
}),
|
|
30
|
-
/* @__PURE__ */ a("path", {
|
|
31
|
-
d: "M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251",
|
|
32
|
-
fill: "#EB4335"
|
|
33
|
-
})
|
|
34
|
-
]
|
|
35
|
-
});
|
|
36
|
-
function l({ children: e, className: r, type: i = "button", href: o, ...s }) {
|
|
37
|
-
let l = /* @__PURE__ */ a(n, {
|
|
38
|
-
icon: c,
|
|
39
|
-
iconPosition: "left",
|
|
40
|
-
fullWidth: !0,
|
|
41
|
-
className: t("bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", r),
|
|
42
|
-
type: i,
|
|
43
|
-
...s,
|
|
44
|
-
children: e
|
|
45
|
-
});
|
|
46
|
-
return o ? /* @__PURE__ */ a("a", {
|
|
47
|
-
href: o,
|
|
48
|
-
className: t("google-button--component", "inline-flex w-full"),
|
|
49
|
-
children: l
|
|
50
|
-
}) : l;
|
|
51
|
-
}
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/components/base/buttons/shopify-button.tsx
|
|
54
|
-
function u(e) {
|
|
55
|
-
let { resource: t, id: r, text: o, fullWidth: c, className: l, adminUrl: u } = e, d = { ...e };
|
|
56
|
-
delete d.resource, delete d.id, delete d.text, delete d.fullWidth, delete d.className, delete d.adminUrl;
|
|
57
|
-
let f = e.resource === "product_variants" ? e.productId : null;
|
|
58
|
-
return e.resource === "product_variants" && delete d.productId, /* @__PURE__ */ a("a", {
|
|
59
|
-
href: i(() => {
|
|
60
|
-
let e = (u ?? "").replace(/\/$/, "");
|
|
61
|
-
return {
|
|
62
|
-
orders: `${e}/orders/${r}`,
|
|
63
|
-
products: `${e}/products/${r}`,
|
|
64
|
-
product_variants: f ? `${e}/products/${f}/variants/${r}` : `${e}/products/${r}`,
|
|
65
|
-
customers: `${e}/customers/${r}`,
|
|
66
|
-
draft_orders: `${e}/draft_orders/${r}`,
|
|
67
|
-
collections: `${e}/collections/${r}`,
|
|
68
|
-
discounts: `${e}/discounts/${r}`
|
|
69
|
-
}[t];
|
|
70
|
-
}, [
|
|
71
|
-
u,
|
|
72
|
-
t,
|
|
73
|
-
r,
|
|
74
|
-
f
|
|
75
|
-
]),
|
|
76
|
-
target: "_blank",
|
|
77
|
-
rel: "noopener noreferrer",
|
|
78
|
-
className: `flex ${c ? "w-full" : ""}`,
|
|
79
|
-
children: /* @__PURE__ */ a(n, {
|
|
80
|
-
...d,
|
|
81
|
-
className: l,
|
|
82
|
-
icon: s,
|
|
83
|
-
iconPosition: "left",
|
|
84
|
-
children: o
|
|
85
|
-
})
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
u.displayName = "ShopifyButton";
|
|
89
|
-
//#endregion
|
|
90
|
-
//#region src/components/base/buttons/text-button.tsx
|
|
91
|
-
var d = {
|
|
92
|
-
small: "small",
|
|
93
|
-
default: "default"
|
|
94
|
-
}, f = {
|
|
95
|
-
small: "small",
|
|
96
|
-
default: "default"
|
|
97
|
-
}, p = {
|
|
98
|
-
small: "text-xs h-auto px-0",
|
|
99
|
-
default: "text-sm h-auto px-0"
|
|
100
|
-
}, m = r.forwardRef(({ className: r, type: i = "button", size: o, disabled: s, ...c }, l) => {
|
|
101
|
-
let { defaultControlSize: u } = e(), m = o ?? f[u ?? "default"] ?? "default";
|
|
102
|
-
return /* @__PURE__ */ a(n, {
|
|
103
|
-
ref: l,
|
|
104
|
-
type: i,
|
|
105
|
-
variant: "primary",
|
|
106
|
-
buttonStyle: "ghost",
|
|
107
|
-
size: d[m],
|
|
108
|
-
disabled: s,
|
|
109
|
-
className: t("text-button--component", "inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current", "text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", "disabled:pointer-events-none disabled:opacity-50", p[m], r),
|
|
110
|
-
...c
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
m.displayName = "TextButton";
|
|
114
|
-
//#endregion
|
|
115
|
-
//#region src/components/base/buttons/page-action-button.tsx
|
|
116
|
-
var h = {
|
|
117
|
-
small: "small",
|
|
118
|
-
default: "default"
|
|
119
|
-
}, g = {
|
|
120
|
-
small: "h-control-sm px-control-sm text-xs",
|
|
121
|
-
default: "h-control px-control text-sm"
|
|
122
|
-
}, _ = r.forwardRef(({ variant: e = "secondary", size: r, className: i, ...o }, s) => {
|
|
123
|
-
let c = e === "error" ? "error" : e, l = r ?? "default";
|
|
124
|
-
return /* @__PURE__ */ a(n, {
|
|
125
|
-
ref: s,
|
|
126
|
-
variant: c,
|
|
127
|
-
buttonStyle: "solid",
|
|
128
|
-
size: h[l],
|
|
129
|
-
className: t("page-action-button--component", g[l], "shadow-none", i),
|
|
130
|
-
...o
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
_.displayName = "PageActionButton";
|
|
134
|
-
//#endregion
|
|
135
|
-
export { l as i, m as n, u as r, _ as t };
|
|
136
|
-
|
|
137
|
-
//# sourceMappingURL=buttons-MxvdokeK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buttons-MxvdokeK.js","names":[],"sources":["../../src/components/base/buttons/google-button.tsx","../../src/components/base/buttons/shopify-button.tsx","../../src/components/base/buttons/text-button.tsx","../../src/components/base/buttons/page-action-button.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype GoogleButtonProps = Omit<BaseButtonProps, 'icon' | 'iconPosition' | 'fullWidth'> & {\n\thref?: string;\n};\n\n// Google brand mark — colors are dictated by Google's brand guidelines and\n// must not be themed. Do not replace with semantic tokens.\nconst GoogleIcon = () => (\n\t<svg\n\t\taria-hidden=\"true\"\n\t\tclassName=\"h-4 w-4\"\n\t\twidth=\"256\"\n\t\theight=\"262\"\n\t\tviewBox=\"0 0 256 262\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tpreserveAspectRatio=\"xMidYMid\"\n\t>\n\t\t<path\n\t\t\td=\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\"\n\t\t\tfill=\"#4285F4\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\"\n\t\t\tfill=\"#34A853\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\"\n\t\t\tfill=\"#FBBC05\"\n\t\t/>\n\t\t<path\n\t\t\td=\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\"\n\t\t\tfill=\"#EB4335\"\n\t\t/>\n\t</svg>\n);\n\nfunction GoogleButton({ children, className, type = 'button', href, ...props }: GoogleButtonProps) {\n\tconst button = (\n\t\t<BaseButton\n\t\t\ticon={GoogleIcon}\n\t\t\ticonPosition=\"left\"\n\t\t\tfullWidth\n\t\t\tclassName={cn(\n\t\t\t\t'bg-foreground text-background ring-offset-background hover:bg-foreground/85 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttype={type}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</BaseButton>\n\t);\n\n\tif (href) {\n\t\treturn (\n\t\t\t<a href={href} className={cn('google-button--component', 'inline-flex w-full')}>\n\t\t\t\t{button}\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn button;\n}\n\nexport { GoogleButton };\n","import { useMemo } from 'react';\nimport { ShoppingBag } from 'lucide-react';\nimport { BaseButton, type BaseButtonProps } from './base-button';\n\ntype ShopifyResource =\n\t| 'orders'\n\t| 'products'\n\t| 'product_variants'\n\t| 'customers'\n\t| 'draft_orders'\n\t| 'collections'\n\t| 'discounts';\n\ntype ShopifyButtonProps =\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: Exclude<ShopifyResource, 'product_variants'>;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t})\n\t| (Omit<BaseButtonProps, 'children'> & {\n\t\t\tresource: 'product_variants';\n\t\t\tproductId: string | number;\n\t\t\tid: string | number;\n\t\t\ttext: string;\n\t\t\tadminUrl?: string;\n\t\t});\n\nexport function ShopifyButton(props: ShopifyButtonProps) {\n\tconst { resource, id, text, fullWidth, className, adminUrl } = props;\n\tconst buttonProps = { ...props };\n\tdelete (buttonProps as Partial<typeof props>).resource;\n\tdelete (buttonProps as Partial<typeof props>).id;\n\tdelete (buttonProps as Partial<typeof props>).text;\n\tdelete (buttonProps as Partial<typeof props>).fullWidth;\n\tdelete (buttonProps as Partial<typeof props>).className;\n\tdelete (buttonProps as { adminUrl?: string }).adminUrl;\n\n\tconst productId = props.resource === 'product_variants' ? props.productId : null;\n\tif (props.resource === 'product_variants') {\n\t\tdelete (buttonProps as { productId?: unknown }).productId;\n\t}\n\n\tconst href = useMemo(() => {\n\t\tconst base = (adminUrl ?? '').replace(/\\/$/, '');\n\t\tconst map: Record<ShopifyResource, string> = {\n\t\t\torders: `${base}/orders/${id}`,\n\t\t\tproducts: `${base}/products/${id}`,\n\t\t\tproduct_variants: productId ? `${base}/products/${productId}/variants/${id}` : `${base}/products/${id}`,\n\t\t\tcustomers: `${base}/customers/${id}`,\n\t\t\tdraft_orders: `${base}/draft_orders/${id}`,\n\t\t\tcollections: `${base}/collections/${id}`,\n\t\t\tdiscounts: `${base}/discounts/${id}`,\n\t\t};\n\t\treturn map[resource];\n\t}, [adminUrl, resource, id, productId]);\n\n\treturn (\n\t\t<a\n\t\t\thref={href}\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t\tclassName={`flex ${fullWidth ? 'w-full' : ''}`}\n\t\t>\n\t\t\t<BaseButton\n\t\t\t\t{...buttonProps}\n\t\t\t\tclassName={className}\n\t\t\t\ticon={ShoppingBag}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</BaseButton>\n\t\t</a>\n\t);\n}\n\nexport default ShopifyButton;\n\nShopifyButton.displayName = 'ShopifyButton';\n","/**\n * TextButton — link-styled button (underline, primary tint, no padding).\n *\n * Wraps `BaseButton` with `variant=\"primary\" buttonStyle=\"ghost\"`. Routine\n * usage omits `size`; `default` and `small` are the only public scale overrides.\n */\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { BaseButton } from './base-button';\n\ntype TextButtonSize = 'small' | 'default';\n\nconst baseButtonSizeMap: Record<TextButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst providerSizeMap: Record<FormControlSize, TextButtonSize> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nconst sizeClasses: Record<TextButtonSize, string> = {\n\tsmall: 'text-xs h-auto px-0',\n\tdefault: 'text-sm h-auto px-0',\n};\n\nexport type TextButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> & {\n\tsize?: TextButtonSize;\n\tchildren: React.ReactNode;\n};\n\nexport const TextButton = React.forwardRef<HTMLButtonElement, TextButtonProps>(\n\t({ className, type = 'button', size, disabled, ...props }, ref) => {\n\t\tconst { defaultControlSize } = useFormsConfig();\n\t\tconst resolvedSize: TextButtonSize =\n\t\t\tsize ?? providerSizeMap[defaultControlSize ?? 'default'] ?? 'default';\n\t\treturn (\n\t\t\t<BaseButton\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName={cn('text-button--component', \n\t\t\t\t\t'inline-flex items-center justify-center underline decoration-neutral-300 underline-offset-4 transition-colors duration-300 ease-out hover:decoration-current',\n\t\t\t\t\t'text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\t\tsizeClasses[resolvedSize],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nTextButton.displayName = 'TextButton';\n","import * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { BaseButton, type ButtonStyle, type ButtonVariant } from './base-button';\n\nexport type PageActionButtonVariant =\n\t| 'primary'\n\t| 'secondary'\n\t| 'error';\n\ntype PageActionButtonSize = 'small' | 'default';\nconst baseButtonSizeMap: Record<PageActionButtonSize, 'small' | 'default'> = {\n\tsmall: 'small',\n\tdefault: 'default',\n};\n\nexport type PageActionButtonProps = Omit<\n\tReact.ComponentPropsWithoutRef<typeof BaseButton>,\n\t'variant' | 'buttonStyle' | 'size'\n> & {\n\tvariant?: PageActionButtonVariant;\n\tsize?: PageActionButtonSize;\n};\n\nconst sizeClasses: Record<PageActionButtonSize, string> = {\n\tsmall: 'h-control-sm px-control-sm text-xs',\n\tdefault: 'h-control px-control text-sm',\n};\n\nexport const PageActionButton = React.forwardRef<\n\tHTMLButtonElement,\n\tPageActionButtonProps\n>(({ variant = 'secondary', size, className, ...props }, ref) => {\n\tconst resolvedVariant: ButtonVariant = variant === 'error' ? 'error' : variant;\n\tconst resolvedStyle: ButtonStyle = 'solid';\n\tconst resolvedSize: PageActionButtonSize = size ?? 'default';\n\n\treturn (\n\t\t<BaseButton\n\t\t\tref={ref}\n\t\t\tvariant={resolvedVariant}\n\t\t\tbuttonStyle={resolvedStyle}\n\t\t\tsize={baseButtonSizeMap[resolvedSize]}\n\t\t\tclassName={cn('page-action-button--component', sizeClasses[resolvedSize], 'shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nPageActionButton.displayName = 'PageActionButton';\n"],"mappings":";;;;;;;;AASA,IAAM,UACL,kBAAC,OAAD;CACC,eAAY;CACZ,WAAU;CACV,OAAM;CACN,QAAO;CACP,SAAQ;CACR,OAAM;CACN,qBAAoB;WAPrB;EASC,kBAAC,QAAD;GACC,GAAE;GACF,MAAK;EACL,CAAA;EACD,kBAAC,QAAD;GACC,GAAE;GACF,MAAK;EACL,CAAA;EACD,kBAAC,QAAD;GACC,GAAE;GACF,MAAK;EACL,CAAA;EACD,kBAAC,QAAD;GACC,GAAE;GACF,MAAK;EACL,CAAA;CACG;;AAGN,SAAS,EAAa,EAAE,aAAU,cAAW,UAAO,UAAU,SAAM,GAAG,KAA4B;CAClG,IAAM,IACL,kBAAC,GAAD;EACC,MAAM;EACN,cAAa;EACb,WAAA;EACA,WAAW,EACV,wJACA,CACD;EACM;EACN,GAAI;EAEH;CACU,CAAA;CAWb,OARI,IAEF,kBAAC,KAAD;EAAS;EAAM,WAAW,EAAG,4BAA4B,oBAAoB;YAC3E;CACC,CAAA,IAIE;AACR;;;ACpCA,SAAgB,EAAc,GAA2B;CACxD,IAAM,EAAE,aAAU,OAAI,SAAM,cAAW,cAAW,gBAAa,GACzD,IAAc,EAAE,GAAG,EAAM;CAM/B,AALA,OAAQ,EAAsC,UAC9C,OAAQ,EAAsC,IAC9C,OAAQ,EAAsC,MAC9C,OAAQ,EAAsC,WAC9C,OAAQ,EAAsC,WAC9C,OAAQ,EAAsC;CAE9C,IAAM,IAAY,EAAM,aAAa,qBAAqB,EAAM,YAAY;CAmB5E,OAlBI,EAAM,aAAa,sBACtB,OAAQ,EAAwC,WAkBhD,kBAAC,KAAD;EACO,MAhBK,QAAc;GAC1B,IAAM,KAAQ,KAAY,IAAI,QAAQ,OAAO,EAAE;GAU/C,OAAO;IARN,QAAQ,GAAG,EAAK,UAAU;IAC1B,UAAU,GAAG,EAAK,YAAY;IAC9B,kBAAkB,IAAY,GAAG,EAAK,YAAY,EAAU,YAAY,MAAO,GAAG,EAAK,YAAY;IACnG,WAAW,GAAG,EAAK,aAAa;IAChC,cAAc,GAAG,EAAK,gBAAgB;IACtC,aAAa,GAAG,EAAK,eAAe;IACpC,WAAW,GAAG,EAAK,aAAa;GAE1B,EAAI;EACZ,GAAG;GAAC;GAAU;GAAU;GAAI;EAAS,CAI7B;EACN,QAAO;EACP,KAAI;EACJ,WAAW,QAAQ,IAAY,WAAW;YAE1C,kBAAC,GAAD;GACC,GAAI;GACO;GACX,MAAM;GACN,cAAa;aAEZ;EACU,CAAA;CACV,CAAA;AAEL;AAIA,EAAc,cAAc;;;ACjE5B,IAAM,IAAiE;CACtE,OAAO;CACP,SAAS;AACV,GAEM,IAA2D;CAChE,OAAO;CACP,SAAS;AACV,GAEM,IAA8C;CACnD,OAAO;CACP,SAAS;AACV,GAOa,IAAa,EAAM,YAC9B,EAAE,cAAW,UAAO,UAAU,SAAM,aAAU,GAAG,KAAS,MAAQ;CAClE,IAAM,EAAE,0BAAuB,EAAe,GACxC,IACL,KAAQ,EAAgB,KAAsB,cAAc;CAC7D,OACC,kBAAC,GAAD;EACM;EACC;EACN,SAAQ;EACR,aAAY;EACZ,MAAM,EAAkB;EACd;EACV,WAAW,EAAG,0BACb,gKACA,oHACA,oDACA,EAAY,IACZ,CACD;EACA,GAAI;CACJ,CAAA;AAEH,CACD;AAEA,EAAW,cAAc;;;ACjDzB,IAAM,IAAuE;CAC5E,OAAO;CACP,SAAS;AACV,GAUM,IAAoD;CACzD,OAAO;CACP,SAAS;AACV,GAEa,IAAmB,EAAM,YAGnC,EAAE,aAAU,aAAa,SAAM,cAAW,GAAG,KAAS,MAAQ;CAChE,IAAM,IAAiC,MAAY,UAAU,UAAU,GAEjE,IAAqC,KAAQ;CAEnD,OACC,kBAAC,GAAD;EACM;EACL,SAAS;EACT,aAAa;EACb,MAAM,EAAkB;EACxB,WAAW,EAAG,iCAAiC,EAAY,IAAe,eAAe,CAAS;EAClG,GAAI;CACJ,CAAA;AAEH,CAAC;AAED,EAAiB,cAAc"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-DZWtUXf2.cjs"),r=require("../lib/utils.cjs"),i=require("./button-Bd5bEIiB.cjs"),a=require("./tooltip-mvxZV_Lu.cjs"),o=require("./typography-CO9uwZhF.cjs"),s=require("./alert-V0V36Sny.cjs"),c=require("./dropdown-menu-CHQzQWUK.cjs");let l=require("react");l=e.t(l,1);let u=require("react/jsx-runtime"),d=require("lucide-react");function f({className:e,size:t=`default`,...n}){return(0,u.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:r.cn(`ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col`,e),...n})}function p({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`card-header`,className:r.cn(`gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]`,e),...t})}function m({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`card-title`,className:r.cn(`text-base leading-normal font-medium group-data-[size=sm]/card:text-sm`,e),...t})}function h({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`card-description`,className:r.cn(`text-muted-foreground text-sm`,e),...t})}function g({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`card-content`,className:r.cn(`px-6 group-data-[size=sm]/card:px-4`,e),...t})}function _({className:e,...t}){return(0,u.jsx)(`div`,{"data-slot":`card-footer`,className:r.cn(`rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center`,e),...t})}var v={root:`card--component`,header:`card--header`,title:`card--title`,description:`card--description`,content:`card--content`,footer:`card--footer`,alert:`card--alert`},y={small:{shell:`gap-space-lg py-surface-sm`,headerX:`px-surface-sm`,contentX:`px-surface-sm`,contentY:`py-0`,footerX:`px-surface-sm`,alertX:`px-surface-sm`,alertOffsetWithHeader:`-mt-1`,alertOffsetStandalone:`mt-0`},default:{shell:`gap-space-xl py-surface`,headerX:`px-surface`,contentX:`px-surface`,contentY:`py-0`,footerX:`px-surface`,alertX:`px-surface`,alertOffsetWithHeader:`-mt-1`,alertOffsetStandalone:`mt-0`}},b={card:`rounded-lg border border-border bg-card text-card-foreground shadow-xs`,flat:`bg-transparent text-card-foreground border-none shadow-none`,framed:r.cn(`rounded-lg border border-border bg-card text-card-foreground shadow-xs`,`ring-4 ring-border/25`)};function x(e){return e==null||typeof e==`boolean`?!1:typeof e==`string`?e.trim().length>0:typeof e==`number`||typeof e==`bigint`?!0:Array.isArray(e)?e.some(x):(0,l.isValidElement)(e)&&e.type===l.Fragment?x(e.props.children):!0}function S({className:e,...t}){return(0,u.jsx)(f,{className:r.cn(v.root,`flex w-full flex-col gap-3 py-4 ring-0`,e),...t})}function C({className:e,...t}){return(0,u.jsx)(p,{className:r.cn(v.header,`flex flex-col gap-1 px-4`,e),...t})}function w({className:e,children:t,...n}){return x(t)?typeof t==`string`||typeof t==`number`||typeof t==`bigint`?(0,u.jsx)(o.s,{"data-slot":`card-title`,tag:`div`,size:`base`,weight:`semibold`,lineHeight:`tight`,className:r.cn(v.title,`min-w-0 font-semibold`,e),...n,children:t}):(0,u.jsx)(m,{className:r.cn(v.title,`min-w-0 text-base leading-tight font-semibold`,e),...n,children:t}):null}function T({className:e,children:t,...n}){return x(t)?typeof t==`string`||typeof t==`number`||typeof t==`bigint`?(0,u.jsx)(o.s,{"data-slot":`card-description`,tag:`div`,type:`secondary`,className:r.cn(v.description,`text-muted-foreground text-sm`,e),...n,children:t}):(0,u.jsx)(h,{className:r.cn(v.description,`text-muted-foreground text-sm`,e),...n,children:t}):null}function E({className:e,...t}){return(0,u.jsx)(g,{className:r.cn(v.content,`px-4`,e),...t})}function D({className:e,...t}){return(0,u.jsx)(_,{className:r.cn(v.footer,`flex items-center px-4`,e),...t})}function O({alert:e,alertVariant:t,hasHeader:n,padding:i}){let a=y[i];return(0,u.jsx)(`div`,{className:r.cn(v.alert,a.alertX,n?a.alertOffsetWithHeader:a.alertOffsetStandalone),children:(0,u.jsx)(s.t,{variant:t,children:(0,u.jsx)(s.r,{children:e})})})}function k({actions:e,actionsLabel:t}){return(0,u.jsxs)(c.t,{children:[(0,u.jsx)(c.g,{type:`button`,"aria-label":t,className:r.cn(`inline-flex size-7 shrink-0 items-center justify-center rounded-md p-0`,`text-muted-foreground hover:bg-accent hover:text-accent-foreground`,`outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,`transition-colors`),children:(0,u.jsx)(d.MoreHorizontal,{className:`size-4`})}),(0,u.jsx)(c.r,{align:`end`,className:`min-w-36`,children:e.map((e,t)=>(0,u.jsxs)(c.a,{onClick:e.onClick,disabled:e.disabled,className:`gap-space-lg px-row-x py-row-y text-xs`,children:[!!e.icon&&(0,u.jsx)(`span`,{className:`flex shrink-0 items-center`,children:e.icon}),e.label]},e.id??`${e.label}-${t}`))})]})}function A({tooltipLabel:e}){return(0,u.jsx)(a.i,{render:t=>{let n=t;return(0,u.jsx)(i.t,{...n,type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,className:r.cn(`h-5 w-5 text-muted-foreground`,n.className),"aria-label":e,children:(0,u.jsx)(d.Info,{className:`size-3.5`})})}})}function j({icon:e,title:t,titleSuffix:n,description:i,tooltip:o,tooltipLabel:s,headerStart:c,headerEnd:l,headerAction:d,actions:f,actionsLabel:p,padding:m,className:h}){let g=Array.isArray(f)?f:[],_=g.length>0,v=x(e),b=x(t),S=x(n),E=x(i),D=x(o),O=x(c),j=x(l),M=x(d),N=v||b||S||D,P=j||M||_;return(0,u.jsxs)(C,{className:r.cn(`flex-row items-start justify-between gap-3 pb-0`,y[m].headerX,h),children:[(0,u.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[!!O&&c,!!N&&(0,u.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1`,children:[!!v&&(0,u.jsx)(`span`,{className:`flex shrink-0 items-center text-muted-foreground`,children:e}),(0,u.jsx)(w,{children:t}),!!S&&(0,u.jsx)(`div`,{className:`flex items-center gap-2`,children:n}),!!D&&(0,u.jsxs)(a.t,{children:[(0,u.jsx)(A,{tooltipLabel:s}),(0,u.jsx)(a.n,{children:o})]})]}),!!E&&(0,u.jsx)(T,{className:`text-left`,children:i})]}),!!P&&(0,u.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[!!j&&l,!!M&&d,!!_&&(0,u.jsx)(k,{actions:g,actionsLabel:p})]})]})}var M={expandLabel:`Expand card`,collapseLabel:`Collapse card`};function N({title:e,lines:t=2,className:n}){let i=({barClassName:e})=>(0,u.jsx)(`div`,{className:r.cn(`animate-pulse rounded bg-muted`,e)});return(0,u.jsxs)(S,{className:r.cn(b.card,`gap-4 py-6`,n),children:[(0,u.jsx)(C,{className:`flex-col gap-1.5 px-6 pb-0`,children:e?(0,u.jsx)(w,{children:e}):(0,u.jsx)(i,{barClassName:`h-4 w-32`})}),(0,u.jsx)(E,{className:`space-y-3 px-6 py-0`,children:Array.from({length:t},(e,t)=>(0,u.jsx)(i,{barClassName:r.cn(`h-4`,t===0?`w-full`:`w-3/4`)},`skel-${String(t)}`))})]})}N.displayName=`SmartCardSkeleton`;function P(e){return e===`small`||e==="default"?e:e===`sm`?`small`:`default`}var F=(0,l.forwardRef)(function({icon:e,title:a,titleSuffix:o,description:s,tooltip:c,tooltipAriaLabel:f=`Card info`,footerText:p,alert:m,alertVariant:h=`default`,surface:g,transparent:_=!1,padding:v,actions:C,actionsLabel:w=`Card actions`,headerAction:T,headerStart:k,headerEnd:A,contentTop:N,contentBottom:F,footerSlot:I,headerDivider:ee=!1,footerDivider:L=!1,expandable:R=!1,defaultExpanded:te=!1,expanded:z,onExpandedChange:B,children:ne,className:V,headerClassName:re,contentClassName:ie,footerClassName:H,strings:ae},oe){let{defaultPadding:se}=n.n(),U=P(v??se),W=y[U],G=Array.isArray(C)?C:[],K=t.useStrings(M,ae),q=R!==!1&&R!==void 0,J=typeof R==`object`&&R?.collapsedMaxHeight!==void 0?R.collapsedMaxHeight:`12rem`,ce=typeof J==`number`?`${J}px`:J,Y=z!==void 0,[le,ue]=(0,l.useState)(te),X=Y?z:le,de=(0,l.useCallback)(()=>{let e=!X;Y||ue(e),B?.(e)},[X,Y,B]),Z=x(e)||x(a)||x(s)||G.length>0||x(T)||x(k)||x(A),fe=x(m),pe=x(p),me=x(I),he=x(N),ge=x(F),_e=f.trim().length>0?f:`Card info`,Q=q?{maxHeight:X?``:ce}:void 0,$=g??(_?`flat`:`card`);return(0,u.jsxs)(S,{ref:oe,"data-surface":$,className:r.cn(b[$],W.shell,q&&`relative pb-1 !overflow-visible`,V),children:[!!Z&&(0,u.jsx)(j,{icon:e,title:a,titleSuffix:o,description:s,tooltip:c,tooltipLabel:_e,headerStart:k,headerEnd:A,headerAction:T,actions:G,actionsLabel:w,padding:U,className:r.cn(ee&&`pb-3 border-b border-border/60`,re)}),!!fe&&(0,u.jsx)(O,{alert:m,alertVariant:h,hasHeader:Z,padding:U}),(0,u.jsxs)(E,{className:r.cn(W.contentX,W.contentY,q&&`relative overflow-hidden transition-[max-height] duration-500 ease-in-out`,ie),style:Q,children:[!!he&&N,ne,!!ge&&F,!!q&&!X&&(0,u.jsx)(`div`,{"aria-hidden":`true`,className:`from-background pointer-events-none absolute inset-x-0 bottom-0 h-20 rounded-b-lg bg-linear-to-t to-transparent`})]}),!!pe&&(0,u.jsx)(D,{className:r.cn(`justify-end text-xs text-muted-foreground`,W.footerX,L&&`pt-3 border-t border-border/60`,H),children:p}),!!me&&(0,u.jsx)(D,{className:r.cn(`flex-col items-stretch`,W.footerX,L&&`pt-3 border-t border-border/60`,H),children:I}),!!q&&(0,u.jsx)(`div`,{className:`absolute -bottom-4 left-1/2 -translate-x-1/2 z-10`,children:(0,u.jsxs)(i.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,size:`icon-small`,onClick:de,"aria-expanded":X,"aria-label":X?K.collapseLabel:K.expandLabel,className:r.cn(`inline-flex size-8 items-center justify-center rounded-full`,`border border-border bg-background text-foreground shadow-sm`,`hover:bg-muted/40 transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50`),children:[(0,u.jsx)(d.ChevronDown,{"aria-hidden":`true`,className:r.cn(`size-4 transition-transform duration-300`,X&&`rotate-180`)}),(0,u.jsx)(`span`,{className:`sr-only`,children:X?K.collapseLabel:K.expandLabel})]})})]})});F.displayName=`SmartCard`,Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}});
|
|
2
|
-
//# sourceMappingURL=cards-BKFwMTjM.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cards-BKFwMTjM.cjs","names":[],"sources":["../../src/components/ui/card.tsx","../../src/components/base/cards/smart-card.tokens.ts","../../src/components/base/cards/partials/has-renderable-content.ts","../../src/components/base/cards/partials/card-primitives.tsx","../../src/components/base/cards/partials/smart-card-alert.tsx","../../src/components/base/cards/partials/smart-card-actions-menu.tsx","../../src/components/base/cards/partials/smart-card-header-row.tsx","../../src/components/base/cards/smart-card.strings.ts","../../src/components/base/cards/partials/smart-card-skeleton.tsx","../../src/components/base/cards/smart-card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import { cn } from '@/lib/utils';\n\nimport type { CardPadding, SmartCardSurface } from './smart-card.types';\n\n/**\n * BEM-style hooks applied to every SmartCard subregion. Library\n * consumers can target them in CSS / tests / analytics without\n * relying on shadcn's data-slot attributes (which are framework\n * internals). Keep these names consistent — they are part of the\n * public DOM contract.\n */\nexport const CARD_BEM = {\n\troot: 'card--component',\n\theader: 'card--header',\n\ttitle: 'card--title',\n\tdescription: 'card--description',\n\tcontent: 'card--content',\n\tfooter: 'card--footer',\n\talert: 'card--alert',\n} as const;\n\ninterface PaddingTokens {\n\tshell: string;\n\theaderX: string;\n\tcontentX: string;\n\tcontentY: string;\n\tfooterX: string;\n\talertX: string;\n\t/** Vertical offset applied when alert sits BELOW the header (pulls it up). */\n\talertOffsetWithHeader: string;\n\t/** Vertical spacing applied when alert is the first content (no header). */\n\talertOffsetStandalone: string;\n}\n\nexport const PADDING: Record<CardPadding, PaddingTokens> = {\n\tsmall: {\n\t\tshell: 'gap-space-lg py-surface-sm',\n\t\theaderX: 'px-surface-sm',\n\t\tcontentX: 'px-surface-sm',\n\t\tcontentY: 'py-0',\n\t\tfooterX: 'px-surface-sm',\n\t\talertX: 'px-surface-sm',\n\t\talertOffsetWithHeader: '-mt-1',\n\t\talertOffsetStandalone: 'mt-0',\n\t},\n\tdefault: {\n\t\tshell: 'gap-space-xl py-surface',\n\t\theaderX: 'px-surface',\n\t\tcontentX: 'px-surface',\n\t\tcontentY: 'py-0',\n\t\tfooterX: 'px-surface',\n\t\talertX: 'px-surface',\n\t\talertOffsetWithHeader: '-mt-1',\n\t\talertOffsetStandalone: 'mt-0',\n\t},\n};\n\n/**\n * Surface-specific shell classes. The `framed` variant provides one clean\n * card surface with a soft tokenized ring, not nested borders that compete\n * with the example chrome.\n */\nexport const SURFACE_CLASSES: Record<SmartCardSurface, string> = {\n\tcard: 'rounded-lg border border-border bg-card text-card-foreground shadow-xs',\n\tflat: 'bg-transparent text-card-foreground border-none shadow-none',\n\tframed: cn(\n\t\t'rounded-lg border border-border bg-card text-card-foreground shadow-xs',\n\t\t'ring-4 ring-border/25',\n\t),\n};\n","import { Fragment, isValidElement, type ReactNode } from 'react';\n\n/**\n * Predicate used by SmartCard subregions to decide whether each slot\n * warrants rendering its wrapper. Numbers (incl. `0`) and JSX always\n * render; falsy / empty-string content is treated as absent. Fragments\n * recurse into their children.\n */\nexport function hasRenderableContent(content?: ReactNode): boolean {\n\tif (content === null || content === undefined) return false;\n\tif (typeof content === 'boolean') return false;\n\tif (typeof content === 'string') return content.trim().length > 0;\n\tif (typeof content === 'number' || typeof content === 'bigint') return true;\n\tif (Array.isArray(content)) return content.some(hasRenderableContent);\n\tif (isValidElement<{ children?: ReactNode }>(content)) {\n\t\tif (content.type === Fragment) return hasRenderableContent(content.props.children);\n\t\treturn true;\n\t}\n\treturn true;\n}\n","/**\n * Internal layout primitives — re-exported from `smart-card.tsx` for\n * advanced composition (deeply customised layouts that still want the\n * design-system surface tokens). Each primitive is intentionally thin:\n * a single responsibility, a single set of default classes, no business\n * logic. The BEM hooks (`card--component`, `card--header`, etc.) are\n * applied here so the public DOM contract lives in one place.\n */\nimport {\n\ttype ComponentPropsWithRef,\n\ttype ComponentPropsWithoutRef,\n} from 'react';\n\nimport {\n\tCard as CardPrimitive,\n\tCardContent as CardContentPrimitive,\n\tCardDescription as CardDescriptionPrimitive,\n\tCardFooter as CardFooterPrimitive,\n\tCardHeader as CardHeaderPrimitive,\n\tCardTitle as CardTitlePrimitive,\n} from '@/components/ui/card';\nimport Text from '@/components/typography/text';\nimport { cn } from '@/lib/utils';\n\nimport { CARD_BEM } from '../smart-card.tokens';\n\nimport { hasRenderableContent } from './has-renderable-content';\n\nexport function CardShell({ className, ...props }: ComponentPropsWithRef<'div'>) {\n\treturn (\n\t\t<CardPrimitive\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.root,\n\t\t\t\t'flex w-full flex-col gap-3 py-4 ring-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardHeader({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardHeaderPrimitive\n\t\t\tclassName={cn(CARD_BEM.header, 'flex flex-col gap-1 px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardTitle({\n\tclassName,\n\tchildren,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\tif (!hasRenderableContent(children)) return null;\n\n\tconst isPlainText =\n\t\ttypeof children === 'string' ||\n\t\ttypeof children === 'number' ||\n\t\ttypeof children === 'bigint';\n\n\tif (!isPlainText) {\n\t\treturn (\n\t\t\t<CardTitlePrimitive\n\t\t\t\tclassName={cn(CARD_BEM.title, 'min-w-0 text-base leading-tight font-semibold', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CardTitlePrimitive>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tdata-slot=\"card-title\"\n\t\t\ttag=\"div\"\n\t\t\tsize=\"base\"\n\t\t\tweight=\"semibold\"\n\t\t\tlineHeight=\"tight\"\n\t\t\tclassName={cn(CARD_BEM.title, 'min-w-0 font-semibold', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Text>\n\t);\n}\n\nexport function CardDescription({\n\tclassName,\n\tchildren,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\tif (!hasRenderableContent(children)) return null;\n\n\tconst isPlainText =\n\t\ttypeof children === 'string' ||\n\t\ttypeof children === 'number' ||\n\t\ttypeof children === 'bigint';\n\n\tif (!isPlainText) {\n\t\treturn (\n\t\t\t<CardDescriptionPrimitive\n\t\t\t\tclassName={cn(\n\t\t\t\t\tCARD_BEM.description,\n\t\t\t\t\t'text-muted-foreground text-sm',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</CardDescriptionPrimitive>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tdata-slot=\"card-description\"\n\t\t\ttag=\"div\"\n\t\t\ttype=\"secondary\"\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.description,\n\t\t\t\t'text-muted-foreground text-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Text>\n\t);\n}\n\nexport function CardContent({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardContentPrimitive\n\t\t\tclassName={cn(CARD_BEM.content, 'px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardFooter({\n\tclassName,\n\t...props\n}: ComponentPropsWithoutRef<'div'>) {\n\treturn (\n\t\t<CardFooterPrimitive\n\t\t\tclassName={cn(CARD_BEM.footer, 'flex items-center px-4', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n","/**\n * Inline alert banner rendered between the header and the card body.\n * Pulls itself up under the header (`alertOffsetWithHeader`) when one\n * exists so the visual gap between header bottom and alert top stays\n * tight; otherwise pushes itself down (`alertOffsetStandalone`) so it\n * doesn't kiss the card top edge.\n */\nimport type { ReactNode } from 'react';\n\nimport { Alert, AlertDescription } from '@/components/base/display/alert';\nimport { cn } from '@/lib/utils';\n\nimport { CARD_BEM, PADDING } from '../smart-card.tokens';\nimport type { CardAlertVariant, CardPadding } from '../smart-card.types';\n\ninterface AlertSlotProps {\n\talert: ReactNode | string;\n\talertVariant: CardAlertVariant;\n\thasHeader: boolean;\n\tpadding: CardPadding;\n}\n\nexport function SmartCardAlert({\n\talert,\n\talertVariant,\n\thasHeader,\n\tpadding,\n}: AlertSlotProps) {\n\tconst tokens = PADDING[padding];\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\tCARD_BEM.alert,\n\t\t\t\ttokens.alertX,\n\t\t\t\thasHeader ? tokens.alertOffsetWithHeader : tokens.alertOffsetStandalone,\n\t\t\t)}\n\t\t>\n\t\t\t<Alert variant={alertVariant}>\n\t\t\t\t<AlertDescription>{alert}</AlertDescription>\n\t\t\t</Alert>\n\t\t</div>\n\t);\n}\n","/**\n * SmartCard actions menu — `⋮` trigger + dropdown of consumer-supplied\n * `SmartCardAction` items. Always renders a 28×28 square trigger so it\n * reads cleanly as a circle (consumer overrides to `rounded-full`) or\n * a rectangle (default `rounded-md`).\n */\nimport { MoreHorizontal } from 'lucide-react';\n\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\n\nimport type { SmartCardAction } from '../smart-card.types';\n\ninterface ActionsMenuProps {\n\tactions: SmartCardAction[];\n\tactionsLabel: string;\n}\n\nexport function ActionsMenu({ actions, actionsLabel }: ActionsMenuProps) {\n\treturn (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\ttype=\"button\"\n\t\t\t\taria-label={actionsLabel}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'inline-flex size-7 shrink-0 items-center justify-center rounded-md p-0',\n\t\t\t\t\t'text-muted-foreground hover:bg-accent hover:text-accent-foreground',\n\t\t\t\t\t'outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t'transition-colors',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<MoreHorizontal className=\"size-4\" />\n\t\t\t</DropdownMenuTrigger>\n\t\t\t<DropdownMenuContent align=\"end\" className=\"min-w-36\">\n\t\t\t\t{actions.map((action, index) => (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={action.id ?? `${action.label}-${index}`}\n\t\t\t\t\t\tonClick={action.onClick}\n\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\tclassName=\"gap-space-lg px-row-x py-row-y text-xs\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!action.icon && (\n\t\t\t\t\t\t\t<span className=\"flex shrink-0 items-center\">{action.icon}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{action.label}\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t))}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n}\n","/**\n * SmartCardHeaderRow — the chrome above the card body. Combines icon /\n * title / description / tooltip / suffix on the leading side with the\n * trailing `headerEnd` / `headerAction` slots and the actions menu.\n *\n * `TooltipTrigger_Info` is colocated here because it's only used by the\n * header — keeping it private avoids polluting the public partial\n * surface.\n */\nimport { Info } from 'lucide-react';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from '@/components/base/display/tooltip';\nimport { cn } from '@/lib/utils';\n\nimport { PADDING } from '../smart-card.tokens';\nimport type { CardPadding, SmartCardAction } from '../smart-card.types';\n\nimport { CardHeader, CardTitle, CardDescription } from './card-primitives';\nimport { hasRenderableContent } from './has-renderable-content';\nimport { ActionsMenu } from './smart-card-actions-menu';\n\nfunction TooltipTrigger_Info({ tooltipLabel }: { tooltipLabel: string }) {\n\treturn (\n\t\t<TooltipTrigger\n\t\t\trender={(triggerProps) => {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\tconst passthrough = triggerProps as Record<string, any>;\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...passthrough}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'h-5 w-5 text-muted-foreground',\n\t\t\t\t\t\t\tpassthrough.className,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\taria-label={tooltipLabel}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Info className=\"size-3.5\" />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t}}\n\t\t/>\n\t);\n}\n\ninterface HeaderProps {\n\ticon?: ReactNode;\n\ttitle?: ReactNode;\n\ttitleSuffix?: ReactNode;\n\tdescription?: ReactNode;\n\ttooltip?: ReactNode;\n\ttooltipLabel: string;\n\theaderStart?: ReactNode;\n\theaderEnd?: ReactNode;\n\theaderAction?: ReactNode;\n\tactions?: SmartCardAction[];\n\tactionsLabel: string;\n\tpadding: CardPadding;\n\tclassName?: string;\n}\n\nexport function SmartCardHeaderRow({\n\ticon,\n\ttitle,\n\ttitleSuffix,\n\tdescription,\n\ttooltip,\n\ttooltipLabel,\n\theaderStart,\n\theaderEnd,\n\theaderAction,\n\tactions,\n\tactionsLabel,\n\tpadding,\n\tclassName,\n}: HeaderProps) {\n\tconst cardActions = Array.isArray(actions) ? actions : [];\n\tconst hasActions = cardActions.length > 0;\n\n\tconst hasIcon = hasRenderableContent(icon);\n\tconst hasTitle = hasRenderableContent(title);\n\tconst hasTitleSuffix = hasRenderableContent(titleSuffix);\n\tconst hasDescription = hasRenderableContent(description);\n\tconst hasTooltip = hasRenderableContent(tooltip);\n\tconst hasHeaderStart = hasRenderableContent(headerStart);\n\tconst hasHeaderEnd = hasRenderableContent(headerEnd);\n\tconst hasHeaderAction = hasRenderableContent(headerAction);\n\n\tconst showTitleRow = hasIcon || hasTitle || hasTitleSuffix || hasTooltip;\n\tconst showTrailing = hasHeaderEnd || hasHeaderAction || hasActions;\n\n\treturn (\n\t\t<CardHeader\n\t\t\tclassName={cn(\n\t\t\t\t'flex-row items-start justify-between gap-3 pb-0',\n\t\t\t\tPADDING[padding].headerX,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n\t\t\t\t{!!hasHeaderStart && headerStart}\n\n\t\t\t\t{!!showTitleRow && (\n\t\t\t\t\t<div className=\"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1\">\n\t\t\t\t\t\t{!!hasIcon && (\n\t\t\t\t\t\t\t<span className=\"flex shrink-0 items-center text-muted-foreground\">\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<CardTitle>{title}</CardTitle>\n\t\t\t\t\t\t{!!hasTitleSuffix && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">{titleSuffix}</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!hasTooltip && (\n\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t<TooltipTrigger_Info tooltipLabel={tooltipLabel} />\n\t\t\t\t\t\t\t\t<TooltipContent>{tooltip}</TooltipContent>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!hasDescription && (\n\t\t\t\t\t<CardDescription className=\"text-left\">{description}</CardDescription>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{!!showTrailing && (\n\t\t\t\t<div className=\"flex shrink-0 items-center gap-2\">\n\t\t\t\t\t{!!hasHeaderEnd && headerEnd}\n\t\t\t\t\t{!!hasHeaderAction && headerAction}\n\t\t\t\t\t{!!hasActions && (\n\t\t\t\t\t\t<ActionsMenu actions={cardActions} actionsLabel={actionsLabel} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</CardHeader>\n\t);\n}\n","/**\n * SmartCard strings — i18n surface for the chrome the consumer doesn't\n * pass directly. Most copy (title, description, action labels, alert\n * body) flows in via props; the strings here cover the implicit\n * affordances (expand toggle).\n */\n\nexport interface SmartCardStrings {\n\texpandLabel: string;\n\tcollapseLabel: string;\n}\n\nexport const defaultSmartCardStrings: SmartCardStrings = {\n\texpandLabel: 'Expand card',\n\tcollapseLabel: 'Collapse card',\n};\n","/**\n * SmartCardSkeleton — placeholder shell rendered while a SmartCard's\n * data is loading. Picks up the canonical card surface so the loading\n * state visually matches the eventual `SmartCard` it'll replace.\n */\nimport type { ReactNode } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nimport { SURFACE_CLASSES } from '../smart-card.tokens';\n\nimport {\n\tCardContent,\n\tCardHeader,\n\tCardShell,\n\tCardTitle,\n} from './card-primitives';\n\nexport interface SmartCardSkeletonProps {\n\ttitle?: ReactNode;\n\tlines?: number;\n\tclassName?: string;\n}\n\nexport function SmartCardSkeleton({\n\ttitle,\n\tlines = 2,\n\tclassName,\n}: SmartCardSkeletonProps) {\n\tconst SkeletonBar = ({ barClassName }: { barClassName?: string }) => (\n\t\t<div className={cn('animate-pulse rounded bg-muted', barClassName)} />\n\t);\n\n\treturn (\n\t\t<CardShell className={cn(SURFACE_CLASSES.card, 'gap-4 py-6', className)}>\n\t\t\t<CardHeader className=\"flex-col gap-1.5 px-6 pb-0\">\n\t\t\t\t{title ? <CardTitle>{title}</CardTitle> : <SkeletonBar barClassName=\"h-4 w-32\" />}\n\t\t\t</CardHeader>\n\t\t\t<CardContent className=\"space-y-3 px-6 py-0\">\n\t\t\t\t{Array.from({ length: lines }, (_, i) => (\n\t\t\t\t\t<SkeletonBar\n\t\t\t\t\t\tkey={`skel-${String(i)}`}\n\t\t\t\t\t\tbarClassName={cn('h-4', i === 0 ? 'w-full' : 'w-3/4')}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</CardContent>\n\t\t</CardShell>\n\t);\n}\n\nSmartCardSkeleton.displayName = 'SmartCardSkeleton';\n","/**\n * SmartCard — composed card with header (icon, title, suffix, description,\n * tooltip), actions menu, alert banner, header / content / footer slots,\n * surface variants (card / flat / framed), and an opt-in expandable body.\n *\n * The single card primitive everything else builds on — never reach past it\n * to shadcn `Card` directly. The CardShell / CardHeader / CardTitle /\n * CardDescription / CardContent / CardFooter primitives are re-exported\n * for advanced composition (deeply customised layouts that still want the\n * design-system surface tokens). Each subregion paints a BEM-style hook\n * (`card--component`, `card--header`, `card--title`, …) for CSS / test /\n * analytics targeting independent of shadcn's data-slot internals.\n *\n * The file is a thin orchestrator. The actual chrome lives in:\n * - `./smart-card.types.ts` — public prop / variant types\n * - `./smart-card.strings.ts` — i18n (expand toggle copy)\n * - `./smart-card.tokens.ts` — PADDING + SURFACE_CLASSES + CARD_BEM\n * - `./partials/card-primitives.tsx` — CardShell + CardHeader / Title /\n * Description / Content / Footer\n * - `./partials/smart-card-header-row.tsx` — header layout + actions menu\n * - `./partials/smart-card-alert.tsx` — inline alert banner\n * - `./partials/smart-card-actions-menu.tsx` — `⋮` dropdown\n * - `./partials/smart-card-skeleton.tsx` — loading placeholder\n * - `./partials/has-renderable-content.ts` — slot-empty predicate\n */\nimport { ChevronDown } from 'lucide-react';\nimport {\n\ttype CSSProperties,\n\tforwardRef,\n\tuseCallback,\n\tuseState,\n} from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { useStrings } from '@/lib/strings';\nimport { useCardConfig } from '@/lib/ui-provider';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tCardContent,\n\tCardFooter,\n\tCardShell,\n} from './partials/card-primitives';\nimport { hasRenderableContent } from './partials/has-renderable-content';\nimport { SmartCardAlert } from './partials/smart-card-alert';\nimport { SmartCardHeaderRow } from './partials/smart-card-header-row';\nimport {\n\tdefaultSmartCardStrings,\n} from './smart-card.strings';\nimport {\n\tPADDING,\n\tSURFACE_CLASSES,\n} from './smart-card.tokens';\nimport type {\n\tCardPadding,\n\tSmartCardProps,\n\tSmartCardSurface,\n} from './smart-card.types';\n\nfunction normalizeCardPadding(padding: CardPadding | string | undefined): CardPadding {\n\tif (padding === 'small' || padding === 'default') return padding;\n\tif (padding === 'sm') return 'small';\n\tif (padding === 'base' || padding === 'lg') return 'default';\n\treturn 'default';\n}\n\nexport const SmartCard = forwardRef<HTMLDivElement, SmartCardProps>(function SmartCard({\n\ticon,\n\ttitle,\n\ttitleSuffix,\n\tdescription,\n\ttooltip,\n\ttooltipAriaLabel = 'Card info',\n\tfooterText,\n\talert,\n\talertVariant = 'default',\n\tsurface,\n\ttransparent = false,\n\tpadding,\n\tactions,\n\tactionsLabel = 'Card actions',\n\theaderAction,\n\theaderStart,\n\theaderEnd,\n\tcontentTop,\n\tcontentBottom,\n\tfooterSlot,\n\theaderDivider = false,\n\tfooterDivider = false,\n\texpandable = false,\n\tdefaultExpanded = false,\n\texpanded: expandedProp,\n\tonExpandedChange,\n\tchildren,\n\tclassName,\n\theaderClassName,\n\tcontentClassName,\n\tfooterClassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst { defaultPadding } = useCardConfig();\n\tconst resolvedPadding = normalizeCardPadding(padding ?? defaultPadding);\n\tconst tokens = PADDING[resolvedPadding];\n\tconst cardActions = Array.isArray(actions) ? actions : [];\n\tconst strings = useStrings(defaultSmartCardStrings, stringsProp);\n\n\tconst isExpandable = expandable !== false && expandable !== undefined;\n\tconst collapsedMaxHeightRaw =\n\t\ttypeof expandable === 'object' && expandable?.collapsedMaxHeight !== undefined\n\t\t\t? expandable.collapsedMaxHeight\n\t\t\t: '12rem';\n\tconst collapsedMaxHeight =\n\t\ttypeof collapsedMaxHeightRaw === 'number'\n\t\t\t? `${collapsedMaxHeightRaw}px`\n\t\t\t: collapsedMaxHeightRaw;\n\n\tconst isExpandedControlled = expandedProp !== undefined;\n\tconst [internalExpanded, setInternalExpanded] = useState(defaultExpanded);\n\tconst expanded = isExpandedControlled ? expandedProp : internalExpanded;\n\tconst handleToggle = useCallback(() => {\n\t\tconst next = !expanded;\n\t\tif (!isExpandedControlled) setInternalExpanded(next);\n\t\tonExpandedChange?.(next);\n\t}, [expanded, isExpandedControlled, onExpandedChange]);\n\n\tconst hasHeader =\n\t\thasRenderableContent(icon) ||\n\t\thasRenderableContent(title) ||\n\t\thasRenderableContent(description) ||\n\t\tcardActions.length > 0 ||\n\t\thasRenderableContent(headerAction) ||\n\t\thasRenderableContent(headerStart) ||\n\t\thasRenderableContent(headerEnd);\n\n\tconst hasAlert = hasRenderableContent(alert);\n\tconst hasFooterText = hasRenderableContent(footerText);\n\tconst hasFooterSlot = hasRenderableContent(footerSlot);\n\tconst hasContentTop = hasRenderableContent(contentTop);\n\tconst hasContentBottom = hasRenderableContent(contentBottom);\n\n\tconst tooltipLabel =\n\t\ttooltipAriaLabel.trim().length > 0 ? tooltipAriaLabel : 'Card info';\n\n\tconst collapseStyle: CSSProperties | undefined = isExpandable\n\t\t? {\n\t\t\t\tmaxHeight: expanded ? '' : collapsedMaxHeight,\n\t\t\t}\n\t\t: undefined;\n\n\t// Resolve surface — explicit `surface` wins, else legacy `transparent`,\n\t// else the default `'card'` chrome.\n\tconst resolvedSurface: SmartCardSurface = surface ?? (transparent ? 'flat' : 'card');\n\n\treturn (\n\t\t<CardShell\n\t\t\tref={ref}\n\t\t\tdata-surface={resolvedSurface}\n\t\t\tclassName={cn(\n\t\t\t\tSURFACE_CLASSES[resolvedSurface],\n\t\t\t\ttokens.shell,\n\t\t\t\t// `isExpandable` parks the chevron at `-bottom-4` outside the\n\t\t\t\t// shell — `overflow-visible` lets it render past the card\n\t\t\t\t// edge, otherwise the shadcn primitive's `overflow-hidden`\n\t\t\t\t// clips it.\n\t\t\t\tisExpandable && 'relative pb-1 !overflow-visible',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!!hasHeader && (\n\t\t\t\t<SmartCardHeaderRow\n\t\t\t\t\ticon={icon}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\ttitleSuffix={titleSuffix}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\ttooltip={tooltip}\n\t\t\t\t\ttooltipLabel={tooltipLabel}\n\t\t\t\t\theaderStart={headerStart}\n\t\t\t\t\theaderEnd={headerEnd}\n\t\t\t\t\theaderAction={headerAction}\n\t\t\t\t\tactions={cardActions}\n\t\t\t\t\tactionsLabel={actionsLabel}\n\t\t\t\t\tpadding={resolvedPadding}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\theaderDivider && 'pb-3 border-b border-border/60',\n\t\t\t\t\t\theaderClassName,\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!!hasAlert && (\n\t\t\t\t<SmartCardAlert\n\t\t\t\t\talert={alert}\n\t\t\t\t\talertVariant={alertVariant}\n\t\t\t\t\thasHeader={hasHeader}\n\t\t\t\t\tpadding={resolvedPadding}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<CardContent\n\t\t\t\tclassName={cn(\n\t\t\t\t\ttokens.contentX,\n\t\t\t\t\ttokens.contentY,\n\t\t\t\t\tisExpandable &&\n\t\t\t\t\t\t'relative overflow-hidden transition-[max-height] duration-500 ease-in-out',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t\tstyle={collapseStyle}\n\t\t\t>\n\t\t\t\t{!!hasContentTop && contentTop}\n\t\t\t\t{children}\n\t\t\t\t{!!hasContentBottom && contentBottom}\n\n\t\t\t\t{!!isExpandable && !expanded && (\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName=\"from-background pointer-events-none absolute inset-x-0 bottom-0 h-20 rounded-b-lg bg-linear-to-t to-transparent\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</CardContent>\n\n\t\t\t{!!hasFooterText && (\n\t\t\t\t<CardFooter\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'justify-end text-xs text-muted-foreground',\n\t\t\t\t\t\ttokens.footerX,\n\t\t\t\t\t\tfooterDivider && 'pt-3 border-t border-border/60',\n\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{footerText}\n\t\t\t\t</CardFooter>\n\t\t\t)}\n\n\t\t\t{!!hasFooterSlot && (\n\t\t\t\t<CardFooter\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex-col items-stretch',\n\t\t\t\t\t\ttokens.footerX,\n\t\t\t\t\t\tfooterDivider && 'pt-3 border-t border-border/60',\n\t\t\t\t\t\tfooterClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{footerSlot}\n\t\t\t\t</CardFooter>\n\t\t\t)}\n\n\t\t\t{!!isExpandable && (\n\t\t\t\t<div className=\"absolute -bottom-4 left-1/2 -translate-x-1/2 z-10\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\taria-label={expanded ? strings.collapseLabel : strings.expandLabel}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'inline-flex size-8 items-center justify-center rounded-full',\n\t\t\t\t\t\t\t'border border-border bg-background text-foreground shadow-sm',\n\t\t\t\t\t\t\t'hover:bg-muted/40 transition-colors',\n\t\t\t\t\t\t\t'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'size-4 transition-transform duration-300',\n\t\t\t\t\t\t\t\texpanded && 'rotate-180',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"sr-only\">\n\t\t\t\t\t\t\t{expanded ? strings.collapseLabel : strings.expandLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</CardShell>\n\t);\n});\n\nSmartCard.displayName = 'SmartCard';\n\n// ──────────────────────────────────────────────────────────────────────────\n// Re-exports — public surface lives here so `import { ... } from\n// '@/components/base/cards'` keeps working through the file split.\n// ──────────────────────────────────────────────────────────────────────────\n\nexport {\n\tdefaultSmartCardStrings,\n\ttype SmartCardStrings,\n} from './smart-card.strings';\nexport type {\n\tCardAlertVariant,\n\tCardPadding,\n\tSmartCardAction,\n\tSmartCardProps,\n\tSmartCardSkeletonProps,\n\tSmartCardSurface,\n} from './smart-card.types';\nexport {\n\tCardContent,\n\tCardDescription,\n\tCardFooter,\n\tCardHeader,\n\tCardShell,\n\tCardTitle,\n} from './partials/card-primitives';\nexport { SmartCardSkeleton } from './partials/smart-card-skeleton';\n"],"mappings":"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"}
|