admin-ui-starter-kit 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/component-library-rules/references/components/services__hooks.md +6 -1
- package/dist/_shared/{overlays-CdtMAkKG.js → overlays-DW8OIK5R.js} +134 -47
- package/dist/_shared/overlays-DW8OIK5R.js.map +1 -0
- package/dist/_shared/overlays-Du65iCkx.cjs +2 -0
- package/dist/_shared/overlays-Du65iCkx.cjs.map +1 -0
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +1 -1
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.js +1 -1
- package/dist/components/features/overlays/hooks/index.d.ts +1 -0
- package/dist/components/features/overlays/hooks/index.d.ts.map +1 -1
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +33 -0
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts.map +1 -0
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.d.ts +1 -1
- package/dist/components/features/overlays/index.d.ts.map +1 -1
- package/dist/components/features/overlays/index.js +2 -2
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/{AreaChart-CGkuyNyy.js → AreaChart-CFYg5vW0.js} +1 -1
- package/dist/showcase/assets/{CompositeItem-DAQ048AO.js → CompositeItem-C1v8tfgt.js} +1 -1
- package/dist/showcase/assets/{CompositeRoot-8-OuCMMq.js → CompositeRoot-DVtTCBlx.js} +1 -1
- package/dist/showcase/assets/{DialogTrigger-1P-jwcoH.js → DialogTrigger-CiVZgbZe.js} +1 -1
- package/dist/showcase/assets/{LabelableContext-BDyZArAc.js → LabelableContext-CNcXHqnK.js} +1 -1
- package/dist/showcase/assets/{PreviewLayout-wYGhlcJt.js → PreviewLayout-CBTybzKu.js} +1 -1
- package/dist/showcase/assets/{RadioGroup-DuiI4W--.js → RadioGroup-DTNAD-0J.js} +1 -1
- package/dist/showcase/assets/{ScrollAreaCorner-Df5uTkWT.js → ScrollAreaCorner-Gau2B-d1.js} +1 -1
- package/dist/showcase/assets/{Separator-BuTBo5a_.js → Separator-DOIh4aar.js} +1 -1
- package/dist/showcase/assets/{ToolbarRootContext-B4S4Fn7d.js → ToolbarRootContext-BbugmthZ.js} +1 -1
- package/dist/showcase/assets/{accordion-D3beuJpC.js → accordion-CB4ePZYm.js} +1 -1
- package/dist/showcase/assets/{accordion-variants-BTMpfSPI.js → accordion-variants-De2q5GIH.js} +1 -1
- package/dist/showcase/assets/{action-menu-DsAr1OqF.js → action-menu-wJVcvfmC.js} +1 -1
- package/dist/showcase/assets/{actions-BzyHAEZR.js → actions-BL1lpPFC.js} +1 -1
- package/dist/showcase/assets/{activities-BgoelWKu.js → activities-C578ZINa.js} +1 -1
- package/dist/showcase/assets/{activities-feed-card-DI4MIm3-.js → activities-feed-card-BeXMgsNO.js} +1 -1
- package/dist/showcase/assets/{admin-n-JemkNh.js → admin-DKJPb23G.js} +1 -1
- package/dist/showcase/assets/{ai-artifact-C8CmZ94f.js → ai-artifact-BaYtjrP5.js} +1 -1
- package/dist/showcase/assets/{ai-chat-CTQQ4e4X.js → ai-chat-DxxlaytU.js} +1 -1
- package/dist/showcase/assets/{ai-elements-DGnlBq8E.js → ai-elements-BWraZPyC.js} +1 -1
- package/dist/showcase/assets/{ai-BXyk1mT0.js → ai-ewP8qLOJ.js} +1 -1
- package/dist/showcase/assets/{ai-tool-call-bHnWNBtN.js → ai-tool-call-Da4srLLe.js} +1 -1
- package/dist/showcase/assets/{alert-bPnj3_cC.js → alert-CQI2pomK.js} +1 -1
- package/dist/showcase/assets/{alert-CIHGXUul.js → alert-S12iMEhF.js} +1 -1
- package/dist/showcase/assets/{alert-N79A6qIx.js → alert-xINZmLgm.js} +1 -1
- package/dist/showcase/assets/{api-key-list-Bf1KoRJq.js → api-key-list-CL6je8dF.js} +1 -1
- package/dist/showcase/assets/{api-key-list-DyZ_DaRx.js → api-key-list-wxmuRN1m.js} +1 -1
- package/dist/showcase/assets/{app-sidebar-Co0LUSvz.js → app-sidebar-LVtcgiT_.js} +1 -1
- package/dist/showcase/assets/arrow-down-JuqwH6gj.js +1 -0
- package/dist/showcase/assets/arrow-left-BFq65-Ch.js +1 -0
- package/dist/showcase/assets/arrow-right-B4iFg3l1.js +1 -0
- package/dist/showcase/assets/arrow-up-RWJP_FHU.js +1 -0
- package/dist/showcase/assets/arrow-up-right-DdWl37XF.js +1 -0
- package/dist/showcase/assets/{avatar-CJaCYGWf.js → avatar-BEvs3dD_.js} +1 -1
- package/dist/showcase/assets/{avatar-DKLsNeBi.js → avatar-Bv9x1eBh.js} +1 -1
- package/dist/showcase/assets/{avatar-CxwFyL4T.js → avatar-CC3R0R-x.js} +1 -1
- package/dist/showcase/assets/{avatar-D3kvVy00.js → avatar-D29-FL5U.js} +1 -1
- package/dist/showcase/assets/{badge-CSMmwDLr.js → badge-B1YIk7bi.js} +1 -1
- package/dist/showcase/assets/{badge-check-TQRmqI7C.js → badge-check-DGmg0_g_.js} +1 -1
- package/dist/showcase/assets/{bell-CwRy7zpP.js → bell-Cq9n0a2v.js} +1 -1
- package/dist/showcase/assets/{bot-Bt02Uzhq.js → bot-DxRjlJlO.js} +1 -1
- package/dist/showcase/assets/{box-Bfv5RQBf.js → box-CIh-_2DI.js} +1 -1
- package/dist/showcase/assets/{braces-CxUoAPd4.js → braces-BI_smuFG.js} +1 -1
- package/dist/showcase/assets/{brain-CNapE0CP.js → brain-BCAmDdGT.js} +1 -1
- package/dist/showcase/assets/{brand-CBq1YoS0.js → brand-CYmrK-FI.js} +1 -1
- package/dist/showcase/assets/{breadcrumb-DyXpErBT.js → breadcrumb-DXOwTQNp.js} +1 -1
- package/dist/showcase/assets/{breadcrumb-DRioiUd_.js → breadcrumb-DdDGc08y.js} +1 -1
- package/dist/showcase/assets/{breadcrumbs-BzHeoItO.js → breadcrumbs-SwqzwYW_.js} +1 -1
- package/dist/showcase/assets/{briefcase-N74Hu0O2.js → briefcase-CKrv_pkI.js} +1 -1
- package/dist/showcase/assets/{building-2-D81ygy-F.js → building-2-4f1nNGpT.js} +1 -1
- package/dist/showcase/assets/{button-Bgqg7AmN.js → button-B9I1TrfQ.js} +1 -1
- package/dist/showcase/assets/{button-group-DPV1XIW3.js → button-group-DUfRVZy2.js} +1 -1
- package/dist/showcase/assets/{buttons-qpZWlILG.js → buttons-Crl8nJKG.js} +1 -1
- package/dist/showcase/assets/{calendar-DcYyOrNY.js → calendar-4Uqeswbn.js} +1 -1
- package/dist/showcase/assets/{calendar-D-CSqGtC.js → calendar-Cl5l4Ip1.js} +1 -1
- package/dist/showcase/assets/{calendar-BXG5CwbY.js → calendar-DxjW_eNc.js} +1 -1
- package/dist/showcase/assets/{calendar-days-CNNiyV9e.js → calendar-days-DmDuaOAc.js} +1 -1
- package/dist/showcase/assets/{camera-D0yVo0xC.js → camera-j8dT39qf.js} +1 -1
- package/dist/showcase/assets/{card-Bl-y9-8y.js → card-BQ_zBZlQ.js} +1 -1
- package/dist/showcase/assets/{card-CH7Ev3xS.js → card-DRalKV4i.js} +1 -1
- package/dist/showcase/assets/{card-primitives-CiU5lL3a.js → card-primitives-Bn6nhqUA.js} +1 -1
- package/dist/showcase/assets/{card-radio-group-DpeIWyiO.js → card-radio-group-Dq7AUPTp.js} +1 -1
- package/dist/showcase/assets/{cards-7xave3ub.js → cards-MR2JolOy.js} +1 -1
- package/dist/showcase/assets/{carousel--kHTFkC7.js → carousel-DMceNGDq.js} +1 -1
- package/dist/showcase/assets/{cell-renderers-Cx8rAZln.js → cell-renderers-VbI9xEAd.js} +1 -1
- package/dist/showcase/assets/{chart-DU8INHbt.js → chart-DW4naldz.js} +1 -1
- package/dist/showcase/assets/{chart-column-Dbekq8cy.js → chart-column-CbUwWFn7.js} +1 -1
- package/dist/showcase/assets/checkbox-BJ1yDAQ3.js +1 -0
- package/dist/showcase/assets/{checkbox-ClPnzko9.js → checkbox-BqwbtGCF.js} +1 -1
- package/dist/showcase/assets/chevron-down-CBa5t2E0.js +1 -0
- package/dist/showcase/assets/chevron-left-Dqne-r3m.js +1 -0
- package/dist/showcase/assets/chevron-up-DiMFydbr.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-umMKLBIL.js +1 -0
- package/dist/showcase/assets/{circle-alert-9j29FrsT.js → circle-alert-BObXfzSP.js} +1 -1
- package/dist/showcase/assets/circle-check-BPhdxh7K.js +1 -0
- package/dist/showcase/assets/circle-check-big-BsQpd0CS.js +1 -0
- package/dist/showcase/assets/circle-dbSBYjvr.js +1 -0
- package/dist/showcase/assets/circle-dot-Bj1an-fp.js +1 -0
- package/dist/showcase/assets/{circle-question-mark-BRiF5RV4.js → circle-question-mark-BeRdyU_C.js} +1 -1
- package/dist/showcase/assets/{circle-x-BF20gddw.js → circle-x-Dh3sb4UC.js} +1 -1
- package/dist/showcase/assets/clock-3-R65SwQwa.js +1 -0
- package/dist/showcase/assets/clock-BApGqXwn.js +1 -0
- package/dist/showcase/assets/{code-xml-D2f-X63y.js → code-xml-q7JPxij0.js} +1 -1
- package/dist/showcase/assets/{collapsible-Ru5-bssh.js → collapsible-BbiGHywy.js} +1 -1
- package/dist/showcase/assets/{collapsible-CF0oQTVS.js → collapsible-DDV7VHy5.js} +1 -1
- package/dist/showcase/assets/{combobox-DpJTW_Rq.js → combobox-Dv_OkynR.js} +1 -1
- package/dist/showcase/assets/{command-Dno8Ogez.js → command-BSmiujfZ.js} +1 -1
- package/dist/showcase/assets/{command-LRFStKBy.js → command-Cw81GF7c.js} +1 -1
- package/dist/showcase/assets/{comment-composer-Dht7nfbv.js → comment-composer-C09JANlW.js} +1 -1
- package/dist/showcase/assets/{comment-item-B6IgQsMr.js → comment-item-DsQshj1L.js} +1 -1
- package/dist/showcase/assets/{comments-B3ksV3Mn.js → comments-CO3QCKyX.js} +1 -1
- package/dist/showcase/assets/{commerce-B1_Offbz.js → commerce-BvnnX8Ui.js} +1 -1
- package/dist/showcase/assets/{composite-BjQWIYF-.js → composite-BjZbcKJw.js} +1 -1
- package/dist/showcase/assets/{contact-card-Bss4YHZz.js → contact-card-Dq50G6UK.js} +1 -1
- package/dist/showcase/assets/{content-container-D4BM1Zro.js → content-container-BQZdQhX2.js} +1 -1
- package/dist/showcase/assets/{copyable-Dst8oaw5.js → copyable-BdfWxV6u.js} +1 -1
- package/dist/showcase/assets/{copyable-C0J88R_R.js → copyable-lUNYfscm.js} +1 -1
- package/dist/showcase/assets/{course-card-BuqwjqtO.js → course-card-BTIFY84q.js} +1 -1
- package/dist/showcase/assets/{cpu-CFy0M0rN.js → cpu-CzkgJ-zb.js} +1 -1
- package/dist/showcase/assets/{credit-card-CFq0S1Ma.js → credit-card-D_wnXbTK.js} +1 -1
- package/dist/showcase/assets/{css-variables-BAALjDwD.js → css-variables-BVjcOHGr.js} +1 -1
- package/dist/showcase/assets/{currency-BZzZRv2_.js → currency-BCX6yQ2j.js} +1 -1
- package/dist/showcase/assets/{dark-surfaces-CVKt2Yww.js → dark-surfaces-BO6sWHrV.js} +1 -1
- package/dist/showcase/assets/{data-view-D6_zyFwk.js → data-view-C8ThO9ha.js} +1 -1
- package/dist/showcase/assets/{data-view-Be0uoLqL.js → data-view-DqpNNGp5.js} +1 -1
- package/dist/showcase/assets/{database-DSC-ysYT.js → database-Ad0l2Bjl.js} +1 -1
- package/dist/showcase/assets/{date-block-Bgu_LMxB.js → date-block-CMKpiRdA.js} +1 -1
- package/dist/showcase/assets/{date-picker-ByYEZGMg.js → date-picker-CRogiefV.js} +1 -1
- package/dist/showcase/assets/{date-pickers-DzSQrvWs.js → date-pickers-CuRRGP-F.js} +1 -1
- package/dist/showcase/assets/{dense-info-BhFkOQbt.js → dense-info-BL_cGFVK.js} +1 -1
- package/dist/showcase/assets/{design-system-consistency-D6iCJLcr.js → design-system-consistency-BarrI2Uj.js} +1 -1
- package/dist/showcase/assets/{dialog-DzrcsKvl.js → dialog-BEKecyE3.js} +1 -1
- package/dist/showcase/assets/{dialog-C1heXuxu.js → dialog-DbEG3v2T.js} +1 -1
- package/dist/showcase/assets/{display-utilities-eu-EVMrx.js → display-utilities-CQRcCpjT.js} +1 -1
- package/dist/showcase/assets/{dist-BlIID0_L.js → dist-CS2Ky1_m.js} +1 -1
- package/dist/showcase/assets/{dist-DV4Tv32d.js → dist-q3PLGr1_.js} +1 -1
- package/dist/showcase/assets/{dollar-sign-qp4G3P_K.js → dollar-sign-lghPxE96.js} +1 -1
- package/dist/showcase/assets/{download-zlcHjSdS.js → download-Cx5kUzHm.js} +1 -1
- package/dist/showcase/assets/{dropdown-menu-DZ47rJaE.js → dropdown-menu-CXYQqRJA.js} +1 -1
- package/dist/showcase/assets/{dropzone-Dx4EqBHu.js → dropzone-DK0kBLfC.js} +1 -1
- package/dist/showcase/assets/{earth-BuXqXHh6.js → earth-BgJkqIAs.js} +1 -1
- package/dist/showcase/assets/{ellipsis-DgAjMZHc.js → ellipsis-CP0hyAeS.js} +1 -1
- package/dist/showcase/assets/{ellipsis-vertical-BA8_YMyV.js → ellipsis-vertical-BdpRiDbb.js} +1 -1
- package/dist/showcase/assets/{empty-DXjKmyNv.js → empty-CO_e2e_g.js} +1 -1
- package/dist/showcase/assets/{empty-item-DIGWYsI0.js → empty-item-D39AT9RK.js} +1 -1
- package/dist/showcase/assets/{empty-state-CkixFVN1.js → empty-state-CTQjlkxC.js} +1 -1
- package/dist/showcase/assets/{empty-state-BSc0tQNC.js → empty-state-Luba-tbF.js} +1 -1
- package/dist/showcase/assets/{enhanced-activities-CKbHgR4f.js → enhanced-activities-e2k5R4sk.js} +1 -1
- package/dist/showcase/assets/{enhanced-combobox-DAKQyFUg.js → enhanced-combobox-CY9QcVEl.js} +1 -1
- package/dist/showcase/assets/{esm-C3PfkuOc.js → esm-DPz8A4Wl.js} +1 -1
- package/dist/showcase/assets/{event-calendar-rNju8jaT.js → event-calendar-DuQntfyO.js} +1 -1
- package/dist/showcase/assets/{event-log-BUK1blGb.js → event-log-B8B_0-q5.js} +1 -1
- package/dist/showcase/assets/{example-PsbgbESI.js → example-Rrx9vj75.js} +1 -1
- package/dist/showcase/assets/{external-link-CgB9zfWz.js → external-link-BkCjE03j.js} +1 -1
- package/dist/showcase/assets/{eye-YnIHbdKe.js → eye-BKhfxIeD.js} +1 -1
- package/dist/showcase/assets/{feature-announcement-CWwjAPI1.js → feature-announcement-CRN6kk4B.js} +1 -1
- package/dist/showcase/assets/{file-3Z2xkc-8.js → file-BBUnjRPN.js} +1 -1
- package/dist/showcase/assets/{file-text-BQeGXxPG.js → file-text-Clv0qFr3.js} +1 -1
- package/dist/showcase/assets/{filter-layout-D7YskzbC.js → filter-layout-Bskvgeps.js} +1 -1
- package/dist/showcase/assets/{filters-2YY_wVwq.js → filters-DqE5xQEz.js} +1 -1
- package/dist/showcase/assets/{flag-Bw3wwRgF.js → flag-BQ0Brbw9.js} +1 -1
- package/dist/showcase/assets/{folder-open-CZ5Bq4lK.js → folder-open-CuUaUrxa.js} +1 -1
- package/dist/showcase/assets/{form-field-AWNJL9FM.js → form-field-Dg_Az7lk.js} +1 -1
- package/dist/showcase/assets/{format-DUU7-42g.js → format-BnF8gL8z.js} +1 -1
- package/dist/showcase/assets/{forms-CWJ3HBbk.js → forms-D2SGtkKv.js} +1 -1
- package/dist/showcase/assets/{funnel-vxNNph7w.js → funnel-qCC9cfXa.js} +1 -1
- package/dist/showcase/assets/{generic-DlyFJDj6.js → generic-0wwhvFWa.js} +1 -1
- package/dist/showcase/assets/{getPseudoElementBounds-CibNto5h.js → getPseudoElementBounds-DyTpOaBA.js} +1 -1
- package/dist/showcase/assets/{gift-BjRHqTcQ.js → gift-ibO6X3CO.js} +1 -1
- package/dist/showcase/assets/{giftcard-cards-DcujCFff.js → giftcard-cards-BJ0gmgv0.js} +1 -1
- package/dist/showcase/assets/{git-branch-B7XnpQE0.js → git-branch-QLvR3_wX.js} +1 -1
- package/dist/showcase/assets/{global-search-Ct7I1Xd2.js → global-search-B2zvjiO2.js} +1 -1
- package/dist/showcase/assets/{global-search-CWvNfmpe.js → global-search-BtYqFKyN.js} +1 -1
- package/dist/showcase/assets/{globe-CHleXWd2.js → globe-Byoz7QmA.js} +1 -1
- package/dist/showcase/assets/{gradient-card-Bw4oJljh.js → gradient-card-CymI8itB.js} +1 -1
- package/dist/showcase/assets/{hash-BVGqnm6_.js → hash-DL-sHZny.js} +1 -1
- package/dist/showcase/assets/{header-CgApizpk.js → header-C9RMgEgD.js} +1 -1
- package/dist/showcase/assets/{header-notifications-B2v1Mdri.js → header-notifications-BT643QVK.js} +1 -1
- package/dist/showcase/assets/{heart-BwvHCA-d.js → heart-gHsYuS4V.js} +1 -1
- package/dist/showcase/assets/{hooks-A_AQLIRZ.js → hooks-Dj4gswMj.js} +6 -3
- package/dist/showcase/assets/{house-opqNxOmP.js → house-Dew9jimg.js} +1 -1
- package/dist/showcase/assets/{icon-badge-CsG95J1Z.js → icon-badge-C-mGQdGQ.js} +1 -1
- package/dist/showcase/assets/{icon-badge-ognVhKWR.js → icon-badge-GMIN-bca.js} +1 -1
- package/dist/showcase/assets/{image-apDSlTAx.js → image-Cda8layy.js} +1 -1
- package/dist/showcase/assets/{inbox-WrbeTKEw.js → inbox-hJEV8TEx.js} +1 -1
- package/dist/showcase/assets/{index-QESvAJrb.js → index-o71HAmc3.js} +2 -2
- package/dist/showcase/assets/inertValue-BRyHstYf.js +1 -0
- package/dist/showcase/assets/{info-C3G9KRCx.js → info-B4aULRpz.js} +1 -1
- package/dist/showcase/assets/{inline-stat-BnjUqzDM.js → inline-stat-BzXB3FNC.js} +1 -1
- package/dist/showcase/assets/{inline-stat-CO01t7SJ.js → inline-stat-CDQocPgN.js} +1 -1
- package/dist/showcase/assets/{input-CBJy1dMs.js → input-CLysAarX.js} +1 -1
- package/dist/showcase/assets/{input-yYoqWQQ7.js → input-CYTQ9nWN.js} +1 -1
- package/dist/showcase/assets/{input-group-CZyYSq4r.js → input-group-DYMTMed1.js} +1 -1
- package/dist/showcase/assets/{input-group-Dfqufdp4.js → input-group-DtkAnPaQ.js} +1 -1
- package/dist/showcase/assets/{inputs-Bhw_FGDY.js → inputs-C2flJn12.js} +1 -1
- package/dist/showcase/assets/{installation-DnvS2ZUn.js → installation-CCvBKDNO.js} +1 -1
- package/dist/showcase/assets/{invoice-header-B9Ak8GXX.js → invoice-header-C1G_aVIm.js} +1 -1
- package/dist/showcase/assets/{invoice-items-DY5zUZhE.js → invoice-items-Ak0CMjDh.js} +1 -1
- package/dist/showcase/assets/{invoice-mini-BAryECEH.js → invoice-mini-B7Dda49y.js} +1 -1
- package/dist/showcase/assets/{invoice-table-BUvjee74.js → invoice-table-Bl9InDl0.js} +1 -1
- package/dist/showcase/assets/isSameDay-Bd_8WAf0.js +1 -0
- package/dist/showcase/assets/isToday-DSGtoEUa.js +1 -0
- package/dist/showcase/assets/{italic-CjQCLJci.js → italic-CJzEjX5j.js} +1 -1
- package/dist/showcase/assets/{item-DxPwk321.js → item-BL_Y_0ou.js} +1 -1
- package/dist/showcase/assets/{item-BMSdEK3V.js → item-Oe2aHuvr.js} +1 -1
- package/dist/showcase/assets/{item-D1Jxrpia.js → item-nf1zOtF7.js} +1 -1
- package/dist/showcase/assets/{kanban-DXWCGieQ.js → kanban-CB5Hghoo.js} +1 -1
- package/dist/showcase/assets/{key-round-DpuhXiJQ.js → key-round-BQwcojkz.js} +1 -1
- package/dist/showcase/assets/{label-D1wLK5nY.js → label-HtkE4eII.js} +1 -1
- package/dist/showcase/assets/{languages-CGYZVmbV.js → languages-69N5-h2e.js} +1 -1
- package/dist/showcase/assets/{layers-DJZSVGAu.js → layers-CBPYgoAb.js} +1 -1
- package/dist/showcase/assets/{layout-app-shell-UX63nzTO.js → layout-app-shell-BfNh8jd0.js} +1 -1
- package/dist/showcase/assets/{layout-auth-Bav5BBqp.js → layout-auth-Ct29XkSH.js} +1 -1
- package/dist/showcase/assets/{layout-containers-DMHD2zdV.js → layout-containers-DWN4xKbf.js} +1 -1
- package/dist/showcase/assets/{layout-header-CGesu_kM.js → layout-header-DUX4zFrH.js} +1 -1
- package/dist/showcase/assets/{layout-page-DHXu8SIv.js → layout-page-CsqULW71.js} +1 -1
- package/dist/showcase/assets/{layout-primitives-CokzGwd2.js → layout-primitives-CQJ0_wTo.js} +1 -1
- package/dist/showcase/assets/{layout-sidebar-CLUYajcu.js → layout-sidebar-la-tC4xZ.js} +1 -1
- package/dist/showcase/assets/{layout-users-DHUNAnFA.js → layout-users-6fAYxZ3Z.js} +1 -1
- package/dist/showcase/assets/{layout-workspace-y0v2FpDW.js → layout-workspace-BbDOjmrE.js} +1 -1
- package/dist/showcase/assets/{lib-g_kR7X9Z.js → lib-C46V0Rr-.js} +1 -1
- package/dist/showcase/assets/{list-checks-CXt8visd.js → list-checks-BkQYzehf.js} +1 -1
- package/dist/showcase/assets/{lock-CpZ5kLUd.js → lock-CMrS2EKU.js} +1 -1
- package/dist/showcase/assets/{lock-keyhole-Cy2raRO6.js → lock-keyhole-B1BEkNvm.js} +1 -1
- package/dist/showcase/assets/{mail-Cj6uT4TA.js → mail-Bo_4xDQw.js} +1 -1
- package/dist/showcase/assets/{mail-check-Di70bdf6.js → mail-check-BprACMug.js} +1 -1
- package/dist/showcase/assets/{map-DMXbG_04.js → map-Br-xZYf0.js} +3 -3
- package/dist/showcase/assets/{map-pin-EKhu7vEj.js → map-pin-COrIVMWa.js} +1 -1
- package/dist/showcase/assets/{media-library-Dnp9S0oW.js → media-library-DyPu-kR9.js} +1 -1
- package/dist/showcase/assets/{mention-inline-suggestions-Bp-fVNYF.js → mention-inline-suggestions-BTunE4RJ.js} +1 -1
- package/dist/showcase/assets/{mentions-DNRk30XZ.js → mentions-BXSq2eCS.js} +1 -1
- package/dist/showcase/assets/{menus-DFURb5VL.js → menus-USrp5qP5.js} +1 -1
- package/dist/showcase/assets/{message-square-DG0qIsG_.js → message-square-Cyrr-QgJ.js} +1 -1
- package/dist/showcase/assets/{metadata-list-Cb1DQd4S.js → metadata-list-BJTye3J8.js} +1 -1
- package/dist/showcase/assets/{metadata-list-BhlsEWYT.js → metadata-list-CoRYXjEw.js} +1 -1
- package/dist/showcase/assets/{metric-BkzIsP8H.js → metric-DdC_pWnF.js} +1 -1
- package/dist/showcase/assets/{metric-bar-CU73nx89.js → metric-bar-PGG8KQS0.js} +1 -1
- package/dist/showcase/assets/{metric-grid-BMLMbLjE.js → metric-grid-ZqDufV_5.js} +1 -1
- package/dist/showcase/assets/{metric-trend-chip-Dutl5uZo.js → metric-trend-chip-BhCRReMp.js} +1 -1
- package/dist/showcase/assets/{metrics-analytics-bar-AqG2oyIy.js → metrics-analytics-bar-U3gehGfQ.js} +1 -1
- package/dist/showcase/assets/{metrics-analytics-cards-CrFHmR2f.js → metrics-analytics-cards-CzbLGAWi.js} +1 -1
- package/dist/showcase/assets/{metrics-comparison-CY-DyLv7.js → metrics-comparison-B1z3nUpo.js} +1 -1
- package/dist/showcase/assets/{metrics-heatmap-BmX_CkiP.js → metrics-heatmap-DZeqRxFz.js} +1 -1
- package/dist/showcase/assets/{metrics-inline-badge-C1IFjdJN.js → metrics-inline-badge-CPyhCHXj.js} +1 -1
- package/dist/showcase/assets/{metrics-kpi-row-8Kbn034e.js → metrics-kpi-row-COVuNReW.js} +1 -1
- package/dist/showcase/assets/{metrics-micro-grid-CodO02yA.js → metrics-micro-grid-BNSrw6sM.js} +1 -1
- package/dist/showcase/assets/{metrics-overview-CdPqEAAG.js → metrics-overview-3IHComMd.js} +1 -1
- package/dist/showcase/assets/{metrics-stat-cards-Cw7UMWmb.js → metrics-stat-cards-6Owbjvmc.js} +1 -1
- package/dist/showcase/assets/minus-CwzskYaZ.js +1 -0
- package/dist/showcase/assets/{money-display-CFfUZLus.js → money-display-CUkeS9k1.js} +1 -1
- package/dist/showcase/assets/{month-year-picker-ChVcYm9f.js → month-year-picker-CCCTmZHv.js} +1 -1
- package/dist/showcase/assets/{navigation-Boyt1q-1.js → navigation-BUReVn4R.js} +1 -1
- package/dist/showcase/assets/{navigation-CThYYxkL.js → navigation-CSzYKdcR.js} +1 -1
- package/dist/showcase/assets/{navigation-extras-CxLc-Mqx.js → navigation-extras-DmUhDPMz.js} +1 -1
- package/dist/showcase/assets/{onboarding-checklist-C15gqmFc.js → onboarding-checklist-C3JhV5Gb.js} +1 -1
- package/dist/showcase/assets/{overflow-tab-bar-B2Htn-Ft.js → overflow-tab-bar-CEdrls-W.js} +1 -1
- package/dist/showcase/assets/{overlays-CPZfp0nk.js → overlays-BKKEzmF4.js} +1 -1
- package/dist/showcase/assets/{overlays-Cpj4akiw.js → overlays-C1UodoAu.js} +1 -1
- package/dist/showcase/assets/{overview-BB-Xbkff.js → overview-Dq0MqK32.js} +1 -1
- package/dist/showcase/assets/{package-DLn6nx-u.js → package-BaQGBJmO.js} +1 -1
- package/dist/showcase/assets/{package-check-B0wyBUSU.js → package-check-C8HJfDxS.js} +1 -1
- package/dist/showcase/assets/{page-BPFNsNh7.js → page-DvMaeo43.js} +1 -1
- package/dist/showcase/assets/{page-action-button-DMS8Vcmz.js → page-action-button-B5ZGYpYy.js} +1 -1
- package/dist/showcase/assets/{page-header-BGqE9hzO.js → page-header-Y-96EPMp.js} +1 -1
- package/dist/showcase/assets/{pagination-Be6ynLCp.js → pagination-Br1AfDte.js} +1 -1
- package/dist/showcase/assets/{pagination-T4FmLNHn.js → pagination-yLAHxKpc.js} +1 -1
- package/dist/showcase/assets/{paperclip-B_kxXzSN.js → paperclip-BBDKiZeH.js} +1 -1
- package/dist/showcase/assets/{password-input-qfQ5eIU4.js → password-input-iwrucadb.js} +1 -1
- package/dist/showcase/assets/{pencil-DlDLApli.js → pencil-BUhkJ_Nn.js} +1 -1
- package/dist/showcase/assets/{phone-D8tvvbSQ.js → phone-DtJDFH70.js} +1 -1
- package/dist/showcase/assets/plus-4gOvUk-5.js +1 -0
- package/dist/showcase/assets/{popover-Bu7aaPjE.js → popover-C8YAdHfL.js} +1 -1
- package/dist/showcase/assets/{popover-BsCx2XMI.js → popover-D9ZDWqLl.js} +1 -1
- package/dist/showcase/assets/{popover-menu-CD_JfEeq.js → popover-menu-C5M9Up4M.js} +1 -1
- package/dist/showcase/assets/{products-BzHX1ta0.js → products-DrKTk8Aw.js} +1 -1
- package/dist/showcase/assets/{progress-CpW2ZGAy.js → progress-C1qKfCZB.js} +1 -1
- package/dist/showcase/assets/{progress-jIJ_EIKE.js → progress-CpD58Wl0.js} +1 -1
- package/dist/showcase/assets/{props-table-CCcohuyT.js → props-table-C6gPyO49.js} +1 -1
- package/dist/showcase/assets/{quote-Bc9eHVKi.js → quote-BXTU9evS.js} +1 -1
- package/dist/showcase/assets/{receipt-B77_VWtt.js → receipt-Dwc4p04P.js} +1 -1
- package/dist/showcase/assets/{receipt-text-BlL_TJsS.js → receipt-text-DBEu6Gym.js} +1 -1
- package/dist/showcase/assets/{refinement-guide-BpzOvT_R.js → refinement-guide-DeO_yM8U.js} +1 -1
- package/dist/showcase/assets/{refresh-cw-CELG4taF.js → refresh-cw-BpV3OG_s.js} +1 -1
- package/dist/showcase/assets/{resolveValueLabel-LRTUaJTb.js → resolveValueLabel-DZTrDdG0.js} +1 -1
- package/dist/showcase/assets/{resource-BT8_ck3n.js → resource-BLGoRFou.js} +1 -1
- package/dist/showcase/assets/{resource-C7J3yZp6.js → resource-D5AQesdN.js} +1 -1
- package/dist/showcase/assets/{resource-selector-card-Ay8ImvKg.js → resource-selector-card-BKzeUE0k.js} +1 -1
- package/dist/showcase/assets/{rich-text-editor-DVtTVuZ6.js → rich-text-editor-DYkPamiq.js} +1 -1
- package/dist/showcase/assets/{rich-text-editor-CdGVvtsm.js → rich-text-editor-k1dtT5bX.js} +1 -1
- package/dist/showcase/assets/rotate-ccw-Dajwztf1.js +1 -0
- package/dist/showcase/assets/{route-CgBh1oKF.js → route-5uO9C0gV.js} +1 -1
- package/dist/showcase/assets/{save-BFsAGR7O.js → save-DONvClxa.js} +1 -1
- package/dist/showcase/assets/{schema-form-CaF-lBkN.js → schema-form-BMQmx4JI.js} +1 -1
- package/dist/showcase/assets/{scroll-area-BkZULoZA.js → scroll-area-CnAyhKQ_.js} +1 -1
- package/dist/showcase/assets/{scroll-area-CpDi_6FP.js → scroll-area-CxwfyjX3.js} +1 -1
- package/dist/showcase/assets/{section-D-N8Ze16.js → section-Dd6X6IKg.js} +1 -1
- package/dist/showcase/assets/{select-ReMZs8K6.js → select-CJSyu7sS.js} +1 -1
- package/dist/showcase/assets/{select-C9Mfb_Gj.js → select-Du9VvUxt.js} +1 -1
- package/dist/showcase/assets/{send-C6PbwpHN.js → send-3ANJL7UB.js} +1 -1
- package/dist/showcase/assets/{separator-CywPSoE0.js → separator-BiXjWmP-.js} +1 -1
- package/dist/showcase/assets/{separator-Ha9YxI2x.js → separator-y9i6EG-N.js} +1 -1
- package/dist/showcase/assets/{settings-2-CVq5Uyv5.js → settings-2-Ynd1Lcz4.js} +1 -1
- package/dist/showcase/assets/{settings-DkTHc0Ob.js → settings-CqdZB-OI.js} +1 -1
- package/dist/showcase/assets/{sheet-k-P0gWlk.js → sheet-CzFOcAwE.js} +1 -1
- package/dist/showcase/assets/{shield-Cme7_JJR.js → shield-Dmxwcn3w.js} +1 -1
- package/dist/showcase/assets/{shield-alert-CxV0S5w0.js → shield-alert-RrMsBuWp.js} +1 -1
- package/dist/showcase/assets/{shield-check-BW_7p6Xf.js → shield-check-Bnw8RAvI.js} +1 -1
- package/dist/showcase/assets/{shopping-bag-CoR8AMYU.js → shopping-bag-DGXTQNOf.js} +1 -1
- package/dist/showcase/assets/{showcase-m3FzbvoC.js → showcase-DMRZCqmg.js} +1 -1
- package/dist/showcase/assets/{sidebar-bz_FzvjM.js → sidebar-C0tsWnrh.js} +1 -1
- package/dist/showcase/assets/{sidebar.context-BWMPnGn6.js → sidebar.context-DXGEPgaT.js} +1 -1
- package/dist/showcase/assets/{skeleton-BJMnQDgf.js → skeleton-BFa4FHSC.js} +1 -1
- package/dist/showcase/assets/{skeleton-DoWW5XZD.js → skeleton-DOJ1RAcJ.js} +1 -1
- package/dist/showcase/assets/{slider-BH1Gtp_p.js → slider-BjQs0C8N.js} +1 -1
- package/dist/showcase/assets/{smart-card-C6-idFYI.js → smart-card-BwSFemlj.js} +1 -1
- package/dist/showcase/assets/{sonner-CGZ3FC4U.js → sonner-BXMIK3eQ.js} +1 -1
- package/dist/showcase/assets/{sortable.esm-CE0TA9V_.js → sortable.esm-BeBA3gT5.js} +1 -1
- package/dist/showcase/assets/{sparkles-8yQFcmte.js → sparkles-Bc0I4qTf.js} +1 -1
- package/dist/showcase/assets/{spinner-CO8LjtjY.js → spinner-HyNCtTyd.js} +1 -1
- package/dist/showcase/assets/{spinner-BYUX0luk.js → spinner-LskR5l9T.js} +1 -1
- package/dist/showcase/assets/{spinner-CNveVfOr.js → spinner-mtwVRe8M.js} +1 -1
- package/dist/showcase/assets/{square-pen-CWylvezY.js → square-pen-BrZ2OxTe.js} +1 -1
- package/dist/showcase/assets/{stacked-avatars-DiNA5OJK.js → stacked-avatars-DOAFRjmZ.js} +1 -1
- package/dist/showcase/assets/{star-t53uwwyp.js → star-lUSxI166.js} +1 -1
- package/dist/showcase/assets/startOfDay-BLhx9b6k.js +1 -0
- package/dist/showcase/assets/{styles-CwpnwrEQ.js → styles-COpnijXU.js} +1 -1
- package/dist/showcase/assets/{suggestions-CvxZxsmc.js → suggestions-ftPYc9p6.js} +1 -1
- package/dist/showcase/assets/{switch-CewkokYT.js → switch-DirKCDsg.js} +1 -1
- package/dist/showcase/assets/{switch-D-7uqDR8.js → switch-DoPIN_UN.js} +1 -1
- package/dist/showcase/assets/{sync-DnBSRAwH.js → sync-C2DEiaQz.js} +1 -1
- package/dist/showcase/assets/{table-ds5oNU0h.js → table-D6GywZEx.js} +1 -1
- package/dist/showcase/assets/{table-3cUcSCBR.js → table-Dex8CcfW.js} +1 -1
- package/dist/showcase/assets/{table-actions-CrujG5R-.js → table-actions-CJg82sW0.js} +1 -1
- package/dist/showcase/assets/{tabs-GG911oaV.js → tabs-B9tgdMRD.js} +1 -1
- package/dist/showcase/assets/{tabs-C-hJfSn5.js → tabs-C0fSpkON.js} +1 -1
- package/dist/showcase/assets/{tags-input-DBeIaeVn.js → tags-input-CJSpILy6.js} +1 -1
- package/dist/showcase/assets/{text-button-EZojp9Ye.js → text-button-CoPZBQiq.js} +1 -1
- package/dist/showcase/assets/{text-link-DcKeYjEX.js → text-link-d9JIRU2N.js} +1 -1
- package/dist/showcase/assets/{textarea-DgNgSl1g.js → textarea-BN4PUX-V.js} +1 -1
- package/dist/showcase/assets/{textarea-PXKZSiRa.js → textarea-CBhdtg5X.js} +1 -1
- package/dist/showcase/assets/{timelines-CaF_Ze8z.js → timelines-F_mzbAPA.js} +1 -1
- package/dist/showcase/assets/{toggle-group-D_iuhL1G.js → toggle-group-8ESepeYW.js} +1 -1
- package/dist/showcase/assets/{toggles-BKaayRmE.js → toggles-B2Cg5NVG.js} +1 -1
- package/dist/showcase/assets/{toggles-group-DRAksOw2.js → toggles-group-BTmtSzAa.js} +1 -1
- package/dist/showcase/assets/{tooltip-B_LnC5D2.js → tooltip-DNsHZ3ZE.js} +1 -1
- package/dist/showcase/assets/{trash-2-DhUpICQq.js → trash-2-Bf5dpRjn.js} +1 -1
- package/dist/showcase/assets/trending-up-RSklVrcZ.js +1 -0
- package/dist/showcase/assets/{truck-D6SGLjv1.js → truck-CqmeajvP.js} +1 -1
- package/dist/showcase/assets/{typography-qEz6MMn9.js → typography-DJjQO_Ld.js} +1 -1
- package/dist/showcase/assets/{ui-badge-BA334hdB.js → ui-badge-BwkZfeBs.js} +1 -1
- package/dist/showcase/assets/{ui-card-CjqUyGvB.js → ui-card-B3mtVa60.js} +1 -1
- package/dist/showcase/assets/{ui-table-cDgI6WMk.js → ui-table-DM-avYTi.js} +1 -1
- package/dist/showcase/assets/{upload-tray-BcA-7pqW.js → upload-tray-CFI_7lcB.js} +1 -1
- package/dist/showcase/assets/{use-layout-link-DIUWH-oo.js → use-layout-link-BI4MRSHG.js} +1 -1
- package/dist/showcase/assets/{useAnchoredPopupScrollLock-BavpibMb.js → useAnchoredPopupScrollLock-DRs8fnir.js} +1 -1
- package/dist/showcase/assets/{useAriaLabelledBy-HDEJjv0f.js → useAriaLabelledBy-DhgmwFn7.js} +1 -1
- package/dist/showcase/assets/{useCollapsiblePanel-CL0pCuxO.js → useCollapsiblePanel-vGthv_MA.js} +1 -1
- package/dist/showcase/assets/{useCompositeItem-LkMSD9DW.js → useCompositeItem-g1FeYTbw.js} +1 -1
- package/dist/showcase/assets/{useCompositeListItem-C_oLUvf8.js → useCompositeListItem-CyULeWSL.js} +1 -1
- package/dist/showcase/assets/{useLabelableId-DDpjUdIO.js → useLabelableId-CBWpOnwZ.js} +1 -1
- package/dist/showcase/assets/{useOpenInteractionType-DQOSh-Eu.js → useOpenInteractionType-CQSuD7yw.js} +1 -1
- package/dist/showcase/assets/useRender-Dm8qJkvr.js +1 -0
- package/dist/showcase/assets/{useTriggerFocusGuards-BPFrAxlp.js → useTriggerFocusGuards-B6KAsVMk.js} +1 -1
- package/dist/showcase/assets/{useValueChanged-lYlHqRM1.js → useValueChanged-DXek_Wx7.js} +1 -1
- package/dist/showcase/assets/user-B35DABNz.js +1 -0
- package/dist/showcase/assets/{user-plus-B1Pi7SNv.js → user-plus-C69GplWt.js} +1 -1
- package/dist/showcase/assets/{users-DAlxvktS.js → users-DDgUGkgw.js} +1 -1
- package/dist/showcase/assets/{vendor-profile-ClJ6G6SO.js → vendor-profile-Zfh99jtA.js} +1 -1
- package/dist/showcase/assets/{video-DxooIkh-.js → video-CDERYmRS.js} +1 -1
- package/dist/showcase/assets/{wrench-BiwmotMF.js → wrench-PjtfaRuJ.js} +1 -1
- package/dist/showcase/assets/x-FNPo6qUv.js +1 -0
- package/dist/showcase/assets/{zap-a90eC6iO.js → zap-CzjU6LH0.js} +1 -1
- package/dist/showcase/index.html +1 -1
- package/package.json +1 -1
- package/dist/_shared/overlays-CdtMAkKG.js.map +0 -1
- package/dist/_shared/overlays-Diy_H0Au.cjs +0 -2
- package/dist/_shared/overlays-Diy_H0Au.cjs.map +0 -1
- package/dist/showcase/assets/arrow-down-BttnoDxP.js +0 -1
- package/dist/showcase/assets/arrow-left-B1kFGJ8v.js +0 -1
- package/dist/showcase/assets/arrow-right-Md96ra7v.js +0 -1
- package/dist/showcase/assets/arrow-up-B9e9cP-q.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BOHJNdrp.js +0 -1
- package/dist/showcase/assets/checkbox-Qhh92dbS.js +0 -1
- package/dist/showcase/assets/chevron-down-BqrI6QzQ.js +0 -1
- package/dist/showcase/assets/chevron-left-TJKYH3rG.js +0 -1
- package/dist/showcase/assets/chevron-up-CPuAmh-d.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-DZB44PVY.js +0 -1
- package/dist/showcase/assets/circle-CY0DkTje.js +0 -1
- package/dist/showcase/assets/circle-check-BkFKejsY.js +0 -1
- package/dist/showcase/assets/circle-check-big-vu3Znqdx.js +0 -1
- package/dist/showcase/assets/circle-dot-CsBIkbEH.js +0 -1
- package/dist/showcase/assets/clock-3-mhWDhdka.js +0 -1
- package/dist/showcase/assets/clock-Dd-urPd2.js +0 -1
- package/dist/showcase/assets/inertValue-DrANZiJk.js +0 -1
- package/dist/showcase/assets/isSameDay-DVP1ae2V.js +0 -1
- package/dist/showcase/assets/isToday-CNAQB-p9.js +0 -1
- package/dist/showcase/assets/minus-B1es6KJX.js +0 -1
- package/dist/showcase/assets/plus-BkhJjfUv.js +0 -1
- package/dist/showcase/assets/rotate-ccw-MwEZ1b11.js +0 -1
- package/dist/showcase/assets/startOfDay-BKFJecZ3.js +0 -1
- package/dist/showcase/assets/trending-up-Kfm5l65O.js +0 -1
- package/dist/showcase/assets/useRender-CnmFaF3Y.js +0 -1
- package/dist/showcase/assets/user-DLuRcjl0.js +0 -1
- package/dist/showcase/assets/x-idpnOHil.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-QTnfLwEv.js";import{f as t,m as n,n as r,p as i,t as a}from"./section-
|
|
1
|
+
import{n as e}from"./chunk-QTnfLwEv.js";import{f as t,m as n,n as r,p as i,t as a}from"./section-Dd6X6IKg.js";import{t as o}from"./example-Rrx9vj75.js";import{d as s,n as c}from"./index-o71HAmc3.js";import{t as l}from"./props-table-C6gPyO49.js";import{t as u}from"./label-HtkE4eII.js";import{t as d}from"./text-link-d9JIRU2N.js";import{t as f}from"./input-CYTQ9nWN.js";var p=s(),m={primary:`bg-primary/10 text-primary ring-primary/20`,success:`bg-success/10 text-success ring-success/20`,error:`bg-destructive/10 text-destructive ring-destructive/20`,warning:`bg-warning/20 text-warning-foreground ring-warning/30 dark:text-warning`},h={primary:`decoration-primary`,success:`decoration-success`,error:`decoration-destructive`,warning:`decoration-warning`};function g({content:e,variant:t=`primary`}){return(0,p.jsx)(`span`,{className:c(`rounded-sm px-1.5 py-0.5 ring-1 ring-inset`,m[t]),children:e})}function _({content:e,variant:t=`primary`}){return(0,p.jsx)(`span`,{className:c(`underline underline-offset-4 decoration-2`,h[t]),children:e})}function v({children:e,...t}){return(0,p.jsx)(`p`,{className:`__html_content`,dangerouslySetInnerHTML:{__html:n(typeof e==`string`?e:``)},...t})}var y=e({DangerousHTMLExample:()=>R,HeadingTags:()=>w,HeadingWithSubHeading:()=>T,HighLightExample:()=>I,LabelExample:()=>N,RealisticArticle:()=>z,TextAlignment:()=>A,TextContentAndHTML:()=>j,TextLineHeights:()=>k,TextLinkSizes:()=>F,TextLinkVariants:()=>P,TextSizes:()=>E,TextTags:()=>M,TextTypes:()=>D,TextWeights:()=>O,UnderlineExample:()=>L}),b=[`xxs`,`xs`,`sm`,`base`,`lg`,`xl`],x=[`main`,`inverse`,`secondary`,`discrete`,`error`,`success`,`primary`],S=[`regular`,`medium`,`semibold`,`bold`],C=[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`];function w(){return(0,p.jsx)(`div`,{className:`flex flex-col gap-3 w-full`,children:[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`].map(e=>(0,p.jsxs)(t,{tag:e,children:[e.toUpperCase(),` — The quick brown fox`]},e))})}function T(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-6 w-full`,children:[(0,p.jsx)(t,{tag:`h2`,subHeading:`A short supporting line beneath the heading.`,children:`Section title`}),(0,p.jsx)(t,{tag:`h3`,subHeading:`Centered subheading.`,align:`center`,children:`Centered`}),(0,p.jsx)(t,{tag:`h3`,subHeading:`Right-aligned subheading.`,align:`right`,children:`Right`})]})}function E(){return(0,p.jsx)(`div`,{className:`flex flex-col gap-2 w-full`,children:b.map(e=>(0,p.jsxs)(i,{size:e,children:[e,`: The quick brown fox jumps over the lazy dog.`]},e))})}function D(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[x.filter(e=>e!==`inverse`).map(e=>(0,p.jsxs)(i,{type:e,children:[`type="`,e,`" — sample text`]},e)),(0,p.jsx)(`div`,{className:`rounded-md bg-foreground p-3`,children:(0,p.jsx)(i,{type:`inverse`,children:`type="inverse" — on dark background`})})]})}function O(){return(0,p.jsx)(`div`,{className:`flex flex-col gap-2 w-full`,children:S.map(e=>(0,p.jsxs)(i,{weight:e,children:[`weight=`,e,` — sample text`]},e))})}function k(){return(0,p.jsx)(`div`,{className:`flex flex-col gap-3 w-full`,children:C.map(e=>(0,p.jsx)(`div`,{className:`rounded border border-dashed border-border p-2`,children:(0,p.jsxs)(i,{lineHeight:e,children:[`lineHeight="`,e,`" — Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.`]})},e))})}function A(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[(0,p.jsx)(i,{align:`left`,children:`Left aligned text`}),(0,p.jsx)(i,{align:`center`,children:`Center aligned text`}),(0,p.jsx)(i,{align:`right`,children:`Right aligned text`})]})}function j(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[(0,p.jsx)(i,{content:`Rendered via the content prop`}),(0,p.jsx)(i,{asHTML:!0,content:`<strong>Sanitised</strong> HTML — <script>alert(1)<\/script> is stripped.`})]})}function M(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[(0,p.jsx)(i,{tag:`p`,children:`tag="p" (default)`}),(0,p.jsx)(i,{tag:`div`,children:`tag="div"`}),(0,p.jsx)(i,{tag:`span`,children:`tag="span" — flows inline`})]})}function N(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-3 w-full max-w-sm`,children:[(0,p.jsxs)(`div`,{className:`space-y-1`,children:[(0,p.jsx)(u,{htmlFor:`typography-email`,children:`Email address`}),(0,p.jsx)(f,{id:`typography-email`,placeholder:`you@example.com`})]}),(0,p.jsxs)(`div`,{className:`space-y-1`,children:[(0,p.jsx)(u,{htmlFor:`typography-custom-label`,className:`text-primary`,children:`Custom-coloured label`}),(0,p.jsx)(f,{id:`typography-custom-label`})]})]})}function P(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2 w-full`,children:[(0,p.jsx)(d,{href:`#`,children:`Default link`}),(0,p.jsx)(d,{href:`#`,underline:!1,children:`Without underline`}),(0,p.jsx)(d,{href:`#`,type:`primary`,weight:`semibold`,children:`Primary semibold`}),(0,p.jsx)(d,{href:`#`,type:`error`,children:`Destructive link`}),(0,p.jsx)(d,{href:`#`,type:`success`,children:`Success link`})]})}function F(){return(0,p.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-4 w-full`,children:[(0,p.jsx)(d,{href:`#`,size:`xs`,children:`xs`}),(0,p.jsx)(d,{href:`#`,size:`sm`,children:`sm`}),(0,p.jsx)(d,{href:`#`,size:`base`,children:`base`}),(0,p.jsx)(d,{href:`#`,size:`lg`,children:`lg`}),(0,p.jsx)(d,{href:`#`,size:`xl`,children:`xl`})]})}function I(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,p.jsxs)(i,{children:[`Default `,(0,p.jsx)(g,{content:`primary`}),` highlighted text`]}),(0,p.jsxs)(i,{children:[`Variant `,(0,p.jsx)(g,{content:`success`,variant:`success`}),` highlight`]}),(0,p.jsxs)(i,{children:[`Variant `,(0,p.jsx)(g,{content:`warning`,variant:`warning`}),` highlight`]}),(0,p.jsxs)(i,{children:[`Variant `,(0,p.jsx)(g,{content:`error`,variant:`error`}),` highlight`]})]})}function L(){return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,p.jsx)(i,{children:(0,p.jsx)(_,{content:`primary underline`})}),(0,p.jsx)(i,{children:(0,p.jsx)(_,{content:`success underline`,variant:`success`})}),(0,p.jsx)(i,{children:(0,p.jsx)(_,{content:`warning underline`,variant:`warning`})}),(0,p.jsx)(i,{children:(0,p.jsx)(_,{content:`error underline`,variant:`error`})})]})}function R(){return(0,p.jsx)(`div`,{className:`w-full max-w-md`,children:(0,p.jsx)(v,{children:`<strong>Sanitised</strong> HTML — <script>alert(1)</script> tags are stripped before render.`})})}function z(){return(0,p.jsxs)(`article`,{className:`w-full max-w-2xl space-y-4`,children:[(0,p.jsx)(t,{tag:`h1`,subHeading:`Published 3 May 2026 by Sarah Smitha`,children:`Designing for clarity at scale`}),(0,p.jsx)(i,{size:`base`,lineHeight:`relaxed`,children:`When the product surface grows past a single screen, every label, every caption, and every empty state has to pull double duty. Hierarchy stops being a nice-to-have — it becomes the whole point.`}),(0,p.jsx)(t,{tag:`h2`,children:`The three rules`}),(0,p.jsxs)(i,{lineHeight:`relaxed`,children:[`One typeface. One scale. One weight per role.`,(0,p.jsx)(d,{href:`#`,type:`primary`,className:`ml-1`,children:`Read the full essay`}),`.`]})]})}var B=`import Heading from '@/components/typography/heading';
|
|
2
2
|
import { Text } from '@/components/typography/text';
|
|
3
3
|
import Label from '@/components/typography/label';
|
|
4
4
|
import TextLink from '@/components/typography/text-link';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,s as n,t as r}from"./section-
|
|
1
|
+
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,s as n,t as r}from"./section-Dd6X6IKg.js";import{t as i}from"./example-Rrx9vj75.js";import{d as a}from"./index-o71HAmc3.js";import{n as o}from"./PreviewLayout-CBTybzKu.js";var s=e({InContext:()=>u,Variants:()=>l}),c=a();function l(){return(0,c.jsx)(c.Fragment,{children:(0,c.jsxs)(o,{children:[(0,c.jsx)(n,{children:`default`}),(0,c.jsx)(n,{variant:`secondary`,children:`secondary`}),(0,c.jsx)(n,{variant:`destructive`,children:`destructive`}),(0,c.jsx)(n,{variant:`outline`,children:`outline`})]})})}function u(){return(0,c.jsx)(c.Fragment,{children:(0,c.jsxs)(o,{children:[(0,c.jsxs)(`span`,{className:`text-sm`,children:[`Status: `,(0,c.jsx)(n,{variant:`secondary`,children:`draft`})]}),(0,c.jsxs)(`span`,{className:`text-sm`,children:[`Status: `,(0,c.jsx)(n,{children:`live`})]}),(0,c.jsxs)(`span`,{className:`text-sm`,children:[`Status: `,(0,c.jsx)(n,{variant:`destructive`,children:`expired`})]})]})})}var d=`import { Badge } from '@/components/ui/badge';
|
|
2
2
|
import { Row } from '../../PreviewLayout';
|
|
3
3
|
|
|
4
4
|
export function Variants() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,t as n}from"./section-
|
|
1
|
+
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,t as n}from"./section-Dd6X6IKg.js";import{t as r}from"./example-Rrx9vj75.js";import{d as i}from"./index-o71HAmc3.js";import{a,i as o,n as s,o as c,r as l,t as u}from"./card-BQ_zBZlQ.js";var d=e({CompactSizeSm:()=>m,Default:()=>p}),f=i();function p(){return(0,f.jsx)(f.Fragment,{children:(0,f.jsxs)(u,{children:[(0,f.jsxs)(a,{children:[(0,f.jsx)(c,{children:`Card title`}),(0,f.jsx)(l,{children:`A short description goes here.`})]}),(0,f.jsx)(s,{children:`Body content area.`}),(0,f.jsx)(o,{className:`text-xs text-muted-foreground`,children:`Footer note`})]})})}function m(){return(0,f.jsx)(f.Fragment,{children:(0,f.jsxs)(u,{size:`sm`,children:[(0,f.jsx)(a,{children:(0,f.jsx)(c,{children:`Compact`})}),(0,f.jsx)(s,{children:`Smaller padding & gap.`})]})})}var h=`import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '@/components/ui/card';
|
|
2
2
|
|
|
3
3
|
export function Default() {
|
|
4
4
|
return (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,t as n}from"./section-
|
|
1
|
+
import{n as e}from"./chunk-QTnfLwEv.js";import{n as t,t as n}from"./section-Dd6X6IKg.js";import{t as r}from"./example-Rrx9vj75.js";import{d as i}from"./index-o71HAmc3.js";import{a,i as o,n as s,o as c,r as l,s as u,t as d}from"./table-D6GywZEx.js";var f=e({Default:()=>m}),p=i();function m(){return(0,p.jsx)(p.Fragment,{children:(0,p.jsxs)(d,{children:[(0,p.jsx)(l,{children:`Recent orders`}),(0,p.jsx)(c,{children:(0,p.jsxs)(u,{children:[(0,p.jsx)(a,{children:`Order`}),(0,p.jsx)(a,{children:`Customer`}),(0,p.jsx)(a,{children:`Amount`}),(0,p.jsx)(a,{children:`Status`})]})}),(0,p.jsxs)(s,{children:[(0,p.jsxs)(u,{children:[(0,p.jsx)(o,{children:`ORD-001`}),(0,p.jsx)(o,{children:`Sarah Smitha`}),(0,p.jsx)(o,{children:`2,450 USD`}),(0,p.jsx)(o,{children:`Paid`})]}),(0,p.jsxs)(u,{children:[(0,p.jsx)(o,{children:`ORD-002`}),(0,p.jsx)(o,{children:`Daniel Smith`}),(0,p.jsx)(o,{children:`370 USD`}),(0,p.jsx)(o,{children:`Pending`})]})]})]})})}var h=`import {
|
|
2
2
|
Table,
|
|
3
3
|
TableBody,
|
|
4
4
|
TableCaption,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{n as r,o as i,p as a,t as o}from"./section-
|
|
1
|
+
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{n as r,o as i,p as a,t as o}from"./section-Dd6X6IKg.js";import{Or as s,r as c,t as l}from"./example-Rrx9vj75.js";import{t as u}from"./circle-alert-BObXfzSP.js";import{t as d}from"./clock-BApGqXwn.js";import{n as f,t as p}from"./dropzone-DK0kBLfC.js";import{t as m}from"./refresh-cw-BpV3OG_s.js";import{t as h}from"./x-FNPo6qUv.js";import{N as g,d as _,n as v}from"./index-o71HAmc3.js";import{t as y}from"./props-table-C6gPyO49.js";var b=_(),x={queued:`Queued`,uploading:`Uploading`,done:`Uploaded`,error:`Failed`,cancelled:`Cancelled`,cancel:`Cancel`,retry:`Retry`,remove:`Remove`},S={queued:{icon:d,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`},uploading:{icon:f,bg:`bg-primary/15`,fg:`text-primary`,bar:`bg-primary`},done:{icon:s,bg:`bg-success/15`,fg:`text-success`,bar:`bg-success`},error:{icon:u,bg:`bg-destructive/15`,fg:`text-destructive`,bar:`bg-destructive`},cancelled:{icon:h,bg:`bg-muted`,fg:`text-muted-foreground`,bar:`bg-muted-foreground/30`}};function C({items:e,onCancel:t,onRetry:n,onRemove:r,className:i,strings:o}){let s=g(x,o),l={queued:s.queued,uploading:s.uploading,done:s.done,error:s.error,cancelled:s.cancelled};return e.length===0?null:(0,b.jsx)(`ul`,{className:v(`upload-progress-list--component`,`space-y-2`,i),children:e.map(e=>{let i=S[e.status],o=i.icon,u=e.status===`done`?100:e.status===`cancelled`||e.status===`error`?e.progress??0:Math.max(0,Math.min(100,e.progress??0)),d=e.status===`uploading`||e.status===`queued`;return(0,b.jsx)(`li`,{className:`rounded-md border border-border/60 bg-card px-3 py-2`,children:(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(`span`,{className:v(`inline-flex size-7 shrink-0 items-center justify-center rounded-md`,i.bg,i.fg),children:(0,b.jsx)(o,{className:v(`size-3.5`,e.status===`uploading`&&`animate-pulse`)})}),(0,b.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,b.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2`,children:[(0,b.jsx)(a,{weight:`medium`,className:`truncate`,children:e.name}),(0,b.jsx)(a,{size:`xxs`,type:`secondary`,className:`shrink-0 tabular-nums`,children:e.size})]}),d?(0,b.jsx)(`div`,{className:`mt-1.5 h-1 w-full overflow-hidden rounded-full bg-muted`,children:(0,b.jsx)(`div`,{className:v(`h-full rounded-full transition-[width] duration-200`,i.bar),style:{width:`${u}%`}})}):(0,b.jsxs)(a,{size:`xxs`,type:e.status===`error`?`error`:`secondary`,children:[l[e.status],e.status===`error`&&!!e.error&&` — ${e.error}`]})]}),(0,b.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[e.status===`uploading`&&!!t&&(0,b.jsx)(c,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":s.cancel,onClick:()=>t(e.id),children:(0,b.jsx)(h,{className:`size-3.5`})}),e.status===`error`&&!!n&&(0,b.jsx)(c,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":s.retry,onClick:()=>n(e.id),children:(0,b.jsx)(m,{className:`size-3.5`})}),(e.status===`done`||e.status===`error`||e.status===`cancelled`)&&!!r&&(0,b.jsx)(c,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,"aria-label":s.remove,onClick:()=>r(e.id),children:(0,b.jsx)(h,{className:`size-3.5`})})]})]})},e.id)})})}C.displayName=`UploadProgressList`;var w=t(n(),1),T={heading:`Upload progress`,completedLabel:`Completed`,failedLabel:`Failed`,uploadingLabel:`Uploading`,queuedLabel:`Queued`,clearAll:`Clear all`};function E(e){let t=0,n=0,r=0,i=0;for(let a of e)a.status===`done`?t+=1:a.status===`error`?n+=1:a.status===`uploading`?r+=1:a.status===`queued`&&(i+=1);return{completed:t,failed:n,uploading:r,queued:i}}var D=(0,w.forwardRef)(function({items:e,onAddFiles:t,onCancel:n,onRetry:r,onRemove:o,onClearAll:s,dropzone:l,className:u,strings:d,listStrings:f},m){let h=g(T,d),{completed:_,failed:y,uploading:x,queued:S}=E(e),D=(0,w.useCallback)(e=>{e.length>0&&t(e)},[t]),O=e.length>0;return(0,b.jsxs)(`div`,{ref:m,className:v(`upload-tray--component`,`flex flex-col gap-4`,u),children:[(0,b.jsx)(p,{onDrop:D,accept:l?.accept,multiple:l?.multiple,size:l?.size,disabled:l?.disabled,invalid:l?.invalid,strings:l?.strings}),!!O&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsx)(a,{tag:`span`,weight:`semibold`,children:h.heading}),_>0&&(0,b.jsxs)(i,{variant:`success`,children:[h.completedLabel,`: `,_]}),y>0&&(0,b.jsxs)(i,{variant:`destructive`,children:[h.failedLabel,`: `,y]}),x>0&&(0,b.jsxs)(i,{variant:`info`,children:[h.uploadingLabel,`: `,x]}),S>0&&(0,b.jsxs)(i,{variant:`secondary`,children:[h.queuedLabel,`: `,S]})]}),!!s&&(0,b.jsx)(c,{variant:`secondary`,buttonStyle:`ghost`,onClick:s,children:h.clearAll})]}),(0,b.jsx)(C,{items:e,onCancel:n,onRetry:r,onRemove:o,strings:f})]})]})});D.displayName=`UploadTray`;var O=e({Default:()=>j,EmptyDropzoneOnly:()=>M,LiveSimulatedUpload:()=>P,LocalisedFrench:()=>F,MixedItemStates:()=>N});function k(e){return e<1024?`${e} B`:e<1024**2?`${(e/1024).toFixed(1)} KB`:e<1024**3?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(1)} GB`}var A=[{id:`seed-1`,name:`spec.pdf`,size:`420 KB`,status:`done`,progress:100},{id:`seed-2`,name:`photo-large.png`,size:`2.4 MB`,status:`error`,progress:65,error:`Upload failed. Please try again.`},{id:`seed-3`,name:`archive.zip`,size:`8.1 MB`,status:`uploading`,progress:42}];function j(){let[e,t]=(0,w.useState)([]);return(0,b.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,b.jsx)(D,{items:e,onAddFiles:(0,w.useCallback)(e=>{let n=e.map(e=>({id:`${Date.now()}-${e.name}`,name:e.name,size:k(e.size),progress:0,status:`uploading`}));t(e=>[...e,...n])},[])})})}function M(){return(0,b.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,b.jsx)(D,{items:[],onAddFiles:()=>{}})})}function N(){let[e,t]=(0,w.useState)(A);return(0,b.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,b.jsx)(D,{items:e,onAddFiles:()=>{},onRetry:e=>t(t=>t.map(t=>t.id===e?{...t,status:`uploading`,progress:0,error:void 0}:t)),onRemove:e=>t(t=>t.filter(t=>t.id!==e)),onClearAll:()=>t([])})})}function P(){let[e,t]=(0,w.useState)([]);return(0,b.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,b.jsx)(D,{items:e,onAddFiles:(0,w.useCallback)(e=>{let n=e.map(e=>({id:`${Date.now()}-${e.name}`,name:e.name,size:k(e.size),progress:0,status:`uploading`}));t(e=>[...e,...n])},[]),onRemove:e=>t(t=>t.filter(t=>t.id!==e)),onClearAll:e.length>0?()=>t([]):void 0,dropzone:{multiple:!0,strings:{instruction:`Drag files here or click to browse`,helper:`Up to 10 MB each — images, PDFs, archives`}}})})}function F(){return(0,b.jsx)(`div`,{className:`w-full max-w-2xl`,children:(0,b.jsx)(D,{items:A.slice(0,2),onAddFiles:()=>{},onRetry:()=>{},onRemove:()=>{},onClearAll:()=>{},strings:{heading:`Téléversements`,completedLabel:`Terminés`,failedLabel:`Échoués`,uploadingLabel:`En cours`,queuedLabel:`En attente`,clearAll:`Tout effacer`},listStrings:{queued:`En attente`,uploading:`En cours`,done:`Terminé`,error:`Échoué`,cancelled:`Annulé`,cancel:`Annuler`,retry:`Réessayer`,remove:`Supprimer`},dropzone:{strings:{instruction:`Glissez vos fichiers ou cliquez`,helper:`PDF, images, archives — 10 Mo maximum`,dragOver:`Relâchez pour téléverser`}}})})}var I=`import { useCallback, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
UploadTray,
|
|
4
4
|
type UploadItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{d as n}from"./index-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{d as n}from"./index-o71HAmc3.js";var r=e(t(),1),i=n(),a=({href:e,children:t,disabled:n,external:r,rel:a,target:o,...s})=>!e||n?(0,i.jsx)(`span`,{...s,children:t}):(0,i.jsx)(`a`,{href:e,target:o??(r?`_blank`:void 0),rel:a??(r?`noopener noreferrer`:void 0),...s,children:t});function o({renderLink:e,LinkComponent:t}={}){return e||(t?({active:e,disabled:n,external:r,children:a,...o})=>n||!o.href?(0,i.jsx)(`span`,{className:o.className,children:a}):(0,i.jsx)(t,{...o,children:a}):a)}function s({renderLink:e,LinkComponent:t}={}){return(0,r.useMemo)(()=>o({renderLink:e,LinkComponent:t}),[e,t])}export{o as n,s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{Kt as n,mr as r}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{Kt as n,mr as r}from"./example-Rrx9vj75.js";import{r as i}from"./useOpenInteractionType-CQSuD7yw.js";var a=e(t(),1),o=20;function s(e,t,s,c){let[l,u]=a.useState(!1);r(()=>{if(!e||!t||s==null){u(!1);return}let r=n(s).documentElement.clientWidth,i=s.offsetWidth;u(r>0&&i>0&&i>=r-o)},[e,t,s]),i(e&&(!t||l),c)}export{s as t};
|
package/dist/showcase/assets/{useAriaLabelledBy-HDEJjv0f.js → useAriaLabelledBy-DhgmwFn7.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{g as n,mr as r}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{g as n,mr as r}from"./example-Rrx9vj75.js";var i=e(t(),1);function a(e,t,a,s=!0,c){let[l,u]=i.useState(),d=n(c?`${c}-label`:void 0),f=e??t??l;return r(()=>{let n=e||t||!s?void 0:o(a.current,d);l!==n&&u(n)}),f}function o(e,t){let n=s(e);if(n)return!n.id&&t&&(n.id=t),n.id||void 0}function s(e){if(!e)return;let t=e.parentElement;if(t&&t.tagName===`LABEL`)return t;let n=e.id;if(n){let t=e.nextElementSibling;if(t&&t.htmlFor===n)return t}let r=e.labels;return r&&r[0]}export{a as t};
|
package/dist/showcase/assets/{useCollapsiblePanel-CL0pCuxO.js → useCollapsiblePanel-vGthv_MA.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{J as n,K as r,Qt as i,X as a,Yt as o,Zt as s,br as c,cr as l,fr as u,g as d,hr as f,mr as p,q as m,qt as h,vn as g,wn as _}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{J as n,K as r,Qt as i,X as a,Yt as o,Zt as s,br as c,cr as l,fr as u,g as d,hr as f,mr as p,q as m,qt as h,vn as g,wn as _}from"./example-Rrx9vj75.js";import{t as v}from"./useControlled-BHUji6Sp.js";var y=e(t(),1);function b(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:o}=e,[s,c]=v({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:l,setMounted:u,transitionStatus:p}=a(s,!0,!0),m=d(),[h,g]=y.useState(),b=h??m,x=f(e=>{let t=!s,n=i(_,e.nativeEvent);r(t,n),!n.isCanceled&&c(t)});return y.useMemo(()=>({disabled:o,handleTrigger:x,mounted:l,open:s,panelId:b,setMounted:u,setOpen:c,setPanelIdState:g,transitionStatus:p}),[o,x,l,s,b,u,c,g,p])}var x=y.createContext(void 0);function S(){let e=y.useContext(x);if(e===void 0)throw Error(u(15));return e}var C=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=n.startingStyle]=`startingStyle`,e[e.endingStyle=n.endingStyle]=`endingStyle`,e}({}),w=function(e){return e.panelOpen=`data-panel-open`,e}({}),T={[C.open]:``},E={[C.closed]:``},D={open(e){return e?{[w.panelOpen]:``}:null}},O={open(e){return e?T:E}},k={height:void 0,width:void 0};function A(e){let{externalRef:t,hiddenUntilFound:n,id:a,keepMounted:c,mounted:u,onOpenChange:d,open:_,setMounted:v,setOpen:b,transitionStatus:x}=e,S=y.useRef(null),w=y.useRef(null),[T,E]=y.useState(k),D=y.useRef(k),O=y.useRef(!1),A=y.useRef(_),N=y.useRef(!1),[I,L]=y.useState(!1),R=y.useRef(null),z=l(t,S),B=o({mounted:u,open:_}),V=m(S,!1,!1),H=!_&&!u,U=I?`idle`:x,W=_&&(A.current||N.current),G=!_&&u&&w.current===`css-animation`&&T.height===void 0&&T.width===void 0?D.current:T,K=n&&H&&w.current!==`css-animation`,q=f((e,t=!0)=>{t&&(D.current=e),E(e)}),J=f(()=>{R.current?.(),R.current=null}),Y=f(e=>{J(),R.current=()=>{R.current=null,e()}}),X=f(()=>{_&&u&&w.current===`css-animation`&&(N.current=!0)});p(()=>{!I||x===`starting`||L(!1)},[I,x]),y.useEffect(()=>()=>{X(),J()},[X,J]),p(()=>{let e=S.current;if(!e)return;!_&&R.current&&J();let t=M(e,W);if(w.current=t,_&&x===`idle`&&A.current&&t===`css-animation`){D.current=j(e);return}if(_&&x===`starting`){let n=O.current;if(O.current=!1,t===`none`){q(j(e)),L(!0);return}if(t===`css-transition`){let t=F(e);return q(j(e)),n?(Y(P(e,`transition-duration`,`0s`)),L(!0),t):t}if(t===`css-animation`){if(q(j(e)),!n){P(e,`animation-name`,`none`)();return}let t=P(e,`animation-name`,`none`),r=P(e,`animation-duration`,`0s`);t(),Y(r),L(!0);return}}if(!_&&u&&(x===`idle`||x===`starting`)){if(A.current=!1,N.current=!1,t===`none`){q(k,!1),v(!1);return}q(j(e));return}if(x!==`ending`)return;if(t===`none`){v(!1);return}let n=j(e);if(!((n.height??0)>0||(n.width??0)>0)){v(!1);return}q(n),t===`css-animation`&&P(e,`animation-name`,`none`)()},[u,_,J,q,v,Y,W,x]),r({enabled:_&&u&&U===`idle`,open:!0,ref:S,onComplete(){_&&q(k,!1)}}),y.useEffect(()=>{if(_||!u||U!==`ending`||!S.current)return;let e=new AbortController,t=-1;function n(){B.current.open||(v(!1),q(k,!1))}return t=h.request(()=>{e.signal.aborted||V(n,e.signal)}),()=>{h.cancel(t),e.abort()}},[B,u,_,U,V,q,v]),p(()=>{let e=S.current;!e||!n||!H||e.setAttribute(`hidden`,`until-found`)},[H,n]),y.useEffect(function(){let e=S.current;if(!e)return;function t(e){let t=i(g,e);d(!0,t),!t.isCanceled&&(O.current=!0,b(!0))}return s(e,`beforematch`,t)},[d,b]);let Z=c||n||u||_;return{height:G.height,props:{...K?{[C.startingStyle]:``}:void 0,hidden:H,id:a},ref:z,shouldPreventOpenAnimation:W,shouldRender:Z,transitionStatus:U,width:G.width}}function j(e){return{height:e.scrollHeight,width:e.scrollWidth}}function M(e,t=!1){let n=c(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&N(n.animationDuration),i=N(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function N(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function P(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function F(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=h.request(n);return()=>{h.cancel(r),n()}}export{S as a,x as i,O as n,b as o,D as r,A as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{cr as n,dr as r}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{cr as n,dr as r}from"./example-Rrx9vj75.js";import{n as i}from"./useCompositeListItem-CyULeWSL.js";var a=e(t(),1);function o(e={}){let{highlightItemOnHover:t,highlightedIndex:o,onHighlightedIndexChange:s}=r(),{ref:c,index:l}=i(e),u=o===l,d=a.useRef(null),f=n(c,d);return{compositeProps:{tabIndex:u?0:-1,onFocus(){s(l)},onMouseMove(){let e=d.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!u&&!n&&e.focus()}},compositeRef:f,index:l}}export{o as t};
|
package/dist/showcase/assets/{useCompositeListItem-C_oLUvf8.js → useCompositeListItem-CyULeWSL.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{gr as n,hr as r,mr as i}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{gr as n,hr as r,mr as i}from"./example-Rrx9vj75.js";import{d as a}from"./index-o71HAmc3.js";var o=e(t(),1),s=o.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function c(){return o.useContext(s)}var l=a();function u(e){let{children:t,elementsRef:a,labelsRef:c,onMapChange:u}=e,m=r(u),h=o.useRef(0),g=n(f).current,_=n(d).current,[v,y]=o.useState(0),b=o.useRef(v),x=r((e,t)=>{_.set(e,t??null),b.current+=1,y(b.current)}),S=r(e=>{_.delete(e),b.current+=1,y(b.current)}),C=o.useMemo(()=>{let e=new Map;return Array.from(_.keys()).filter(e=>e.isConnected).sort(p).forEach((t,n)=>{let r=_.get(t)??{};e.set(t,{...r,index:n})}),e},[_,v]);i(()=>{if(typeof MutationObserver!=`function`||C.size===0)return;let e=new MutationObserver(e=>{let t=new Set,n=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(n),e.addedNodes.forEach(n)}),t.size===0&&(b.current+=1,y(b.current))});return C.forEach((t,n)=>{n.parentElement&&e.observe(n.parentElement,{childList:!0})}),()=>{e.disconnect()}},[C]),i(()=>{b.current===v&&(a.current.length!==C.size&&(a.current.length=C.size),c&&c.current.length!==C.size&&(c.current.length=C.size),h.current=C.size),m(C)},[m,C,a,c,v]),i(()=>()=>{a.current=[]},[a]),i(()=>()=>{c&&(c.current=[])},[c]);let w=r(e=>(g.add(e),()=>{g.delete(e)}));i(()=>{g.forEach(e=>e(C))},[g,C]);let T=o.useMemo(()=>({register:x,unregister:S,subscribeMapChange:w,elementsRef:a,labelsRef:c,nextIndexRef:h}),[x,S,w,a,c,h]);return(0,l.jsx)(s.Provider,{value:T,children:t})}function d(){return new Map}function f(){return new Set}function p(e,t){let n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}var m=function(e){return e[e.None=0]=`None`,e[e.GuessFromOrder=1]=`GuessFromOrder`,e}({});function h(e={}){let{label:t,metadata:n,textRef:r,indexGuessBehavior:a,index:s}=e,{register:l,unregister:u,subscribeMapChange:d,elementsRef:f,labelsRef:p,nextIndexRef:h}=c(),g=o.useRef(-1),[_,v]=o.useState(s??(a===m.GuessFromOrder?()=>{if(g.current===-1){let e=h.current;h.current+=1,g.current=e}return g.current}:-1)),y=o.useRef(null),b=o.useCallback(e=>{if(y.current=e,_!==-1&&e!==null&&(f.current[_]=e,p)){let n=t!==void 0;p.current[_]=n?t:r?.current?.textContent??e.textContent}},[_,f,p,t,r]);return i(()=>{if(s!=null)return;let e=y.current;if(e)return l(e,n),()=>{u(e)}},[s,l,u,n]),i(()=>{if(s==null)return d(e=>{let t=y.current?e.get(y.current)?.index:null;t!=null&&v(t)})},[s,d,v]),{ref:b,index:_}}export{h as n,u as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{g as n,gr as r,hr as i,mr as a,or as o,xr as s}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{g as n,gr as r,hr as i,mr as a,or as o,xr as s}from"./example-Rrx9vj75.js";import{t as c}from"./LabelableContext-CNcXHqnK.js";var l=e(t(),1);function u(e={}){let{id:t,implicit:u=!1,controlRef:d}=e,{controlId:f,registerControlId:p}=c(),m=n(t),h=u?f:void 0,g=r(()=>Symbol(`labelable-control`)),_=l.useRef(!1),v=l.useRef(t!=null),y=i(()=>{!_.current||p===o||(_.current=!1,p(g.current,void 0))});return a(()=>{if(p===o)return;let e;if(u){let n=d?.current;e=s(n)&&n.closest(`label`)!=null?t??null:h??m}else if(t!=null)v.current=!0,e=t;else if(v.current)e=m;else{y();return}if(e===void 0){y();return}_.current=!0,p(g.current,e)},[t,d,h,p,u,m,g,y]),l.useEffect(()=>y,[y]),f??m}export{u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{Bn as n,Ct as r,Dt as i,En as a,Et as o,Jn as s,Jt as c,Kn as l,Kt as u,Mn as d,Mt as f,Nn as p,Nt as m,On as h,Ot as g,Qt as _,Rn as v,Rt as ee,Sr as y,St as te,Tr as ne,Ut as re,Vn as ie,Wn as ae,Xt as oe,Yn as se,Yt as b,Zt as x,ar as S,br as C,cr as ce,ft as le,hr as w,ht as ue,jn as T,jt as de,kn as fe,mr as E,or as pe,qt as D,sn as me,st as O,vr as he,wn as k,wr as A,xt as ge,zn as _e}from"./example-PsbgbESI.js";import{d as ve}from"./index-QESvAJrb.js";import{t as ye}from"./useValueChanged-lYlHqRM1.js";var j=e(t(),1),M=0;function N(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:i}=t;cancelAnimationFrame(M);function a(){i&&!i()||e?.focus({preventScroll:n})}if(r)return a(),pe;let o=requestAnimationFrame(a);return M=o,()=>{M===o&&(cancelAnimationFrame(o),M=0)}}var P={inert:new WeakMap,"aria-hidden":new WeakMap},F=`data-base-ui-inert`,I={inert:new WeakSet,"aria-hidden":new WeakSet},L=new WeakMap,R=0;function z(e){return I[e]}function be(e){return e?ne(e)?e.host:be(e.parentNode):null}var B=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=be(t);return e.contains(n)?n:null}).filter(e=>e!=null),V=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},H=(e,t,n)=>{let r=[],i=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{he(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function U(e,t,n,r,{mark:i=!0}){let a=null;r?a=`inert`:n&&(a=`aria-hidden`);let o=null,s=null,c=B(t,e),l=i?H(t,V(c),new Set(c)):[],u=[],d=[];if(a){let e=P[a],n=z(a);s=n,o=e;let r=B(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=c.concat(r);H(t,V(i),new Set(i)).forEach(t=>{let r=t.getAttribute(a),i=r!==null&&r!==`false`,o=(e.get(t)||0)+1;e.set(t,o),u.push(t),o===1&&i&&n.add(t),i||t.setAttribute(a,a===`inert`?``:`true`)})}return i&&l.forEach(e=>{let t=(L.get(e)||0)+1;L.set(e,t),d.push(e),t===1&&e.setAttribute(F,``)}),R+=1,()=>{o&&u.forEach(e=>{let t=(o.get(e)||0)-1;o.set(e,t),t||(!s?.has(e)&&a&&e.removeAttribute(a),s?.delete(e))}),i&&d.forEach(e=>{let t=(L.get(e)||0)-1;L.set(e,t),t||e.removeAttribute(F)}),--R,R||(P.inert=new WeakMap,P[`aria-hidden`]=new WeakMap,I.inert=new WeakSet,I[`aria-hidden`]=new WeakSet,L=new WeakMap)}}function xe(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0}=t,a=u(e[0]).body;return U(e,a,n,r,{mark:i})}var Se=ve();function Ce(e,t){let n=C(p(e));return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var we=20,W=[];function Te(){W=W.filter(e=>e.deref()?.isConnected)}function Ee(e){Te(),e&&he(e)!==`body`&&(W.push(new WeakRef(e)),W.length>we&&(W=W.slice(-20)))}function De(){return Te(),W[W.length-1]?.deref()}function Oe(e){return e?f(e)?e:m(e)[0]||e:null}function ke(e){if(e.hasAttribute(`tabindex`)&&!e.hasAttribute(`data-tabindex`)||!e.getAttribute(`role`)?.includes(`dialog`))return;let t=o(e).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return f(e)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),n=e.getAttribute(`tabindex`);t.length===0?n!==`0`&&(e.setAttribute(`tabindex`,`0`),e.setAttribute(`data-tabindex`,`0`)):(n!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function G(e){let{context:t,children:o,disabled:s=!1,initialFocus:l=!0,returnFocus:v=!0,restoreFocus:ne=!1,modal:S=!0,closeOnFocusOut:C=!0,openInteractionType:pe=``,nextFocusableElement:D,previousFocusableElement:k,beforeContentFocusGuardRef:A,externalTree:ve,getInsideElements:ye}=e,M=`rootStore`in t?t.rootStore:t,P=M.useState(`open`),F=M.useState(`domReferenceElement`),I=M.useState(`floatingElement`),{events:L,dataRef:R}=M.context,z=w(()=>R.current.floatingContext?.nodeId),be=l===!1,B=h(F)&&be,V=b(l),H=b(v),U=b(pe),we=b(P),W=le(ve),G=ue(),K=j.useRef(!1),q=j.useRef(!1),J=j.useRef(!1),Ae=j.useRef(null),je=j.useRef(``),Y=j.useRef(``),Me=j.useRef(null),Ne=j.useRef(null),Pe=ce(Me,A,G?.beforeInsideRef),Fe=ce(Ne,G?.afterInsideRef),Ie=se(),X=se(),Le=c(),Re=G!=null,Z=a(I),Q=w((e=Z)=>e?m(e):[]),$=w(()=>ye?.().filter(e=>e!=null)??[]);j.useEffect(()=>{if(s||!S)return;function e(e){e.key===`Tab`&&d(Z,T(u(Z)))&&Q().length===0&&!B&&ie(e)}return x(u(Z),`keydown`,e)},[s,Z,S,B,Q]),j.useEffect(()=>{if(s||!P)return;let e=u(Z);function t(){J.current=!1}function n(e){let t=p(e),n=$();J.current=!(d(I,t)||d(F,t)||d(G?.portalNode,t)||n.some(e=>e===t||d(e,t))),Y.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(q.current=!0,X.start(0,()=>{q.current=!1}))}function r(){Y.current=`keyboard`}return oe(x(e,`pointerdown`,n,!0),x(e,`pointerup`,t,!0),x(e,`pointercancel`,t,!0),x(e,`keydown`,r,!0),t)},[s,I,F,Z,P,G,X,$]),j.useEffect(()=>{if(s||!C)return;let e=u(Z);function t(){q.current=!0,X.start(0,()=>{q.current=!1})}function n(e){let t=p(e);f(t)&&(Ae.current=t)}function i(t){let n=t.relatedTarget,i=t.currentTarget,o=p(t);S&&n==null&&o!=null&&d(I,o)&&Ee(o),queueMicrotask(()=>{let s=z(),c=M.context.triggerElements,l=$(),u=n?.hasAttribute(ge(`focus-guard`))&&[Me.current,Ne.current,G?.beforeInsideRef.current,G?.afterInsideRef.current,G?.beforeOutsideRef.current,G?.afterOutsideRef.current,O(k),O(D)].includes(n),f=!(d(F,n)||d(I,n)||d(n,I)||d(G?.portalNode,n)||l.some(e=>e===n||d(e,n))||n!=null&&c.hasElement(n)||c.hasMatchingElement(e=>d(e,n))||u||W&&(r(W.nodesRef.current,s).find(e=>d(e.context?.elements.floating,n)||d(e.context?.elements.domReference,n))||te(W.nodesRef.current,s).find(e=>[e.context?.elements.floating,a(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(i===F&&Z&&ke(Z),ne&&i!==F&&!ee(o)&&T(e)===e.body){if(y(Z)&&(Z.focus(),ne===`popup`)){Le.request(()=>{Z.focus()});return}let e=Q(),t=Ae.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||Z;y(n)&&n.focus()}if(R.current.insideReactTree){R.current.insideReactTree=!1;return}(B||!S)&&n&&f&&!q.current&&(B||n!==De())&&(K.current=!0,M.setOpen(!1,_(me,t)))})}function o(){J.current||(R.current.insideReactTree=!0,Ie.start(0,()=>{R.current.insideReactTree=!1}))}let c=y(F)?F:null;if(!(!I&&!c))return oe(c&&x(c,`focusout`,i),c&&x(c,`pointerdown`,t),I&&x(I,`focusin`,n),I&&x(I,`focusout`,i),I&&G&&x(I,`focusout`,o,!0))},[s,F,I,Z,S,W,G,M,C,ne,Q,B,z,R,Ie,X,Le,D,k,$]),j.useEffect(()=>{if(s||!I||!P)return;let e=Array.from(G?.portalNode?.querySelectorAll(`[${ge(`portal`)}]`)||[]),t=(W?te(W.nodesRef.current,z()):[]).find(e=>h(e.context?.elements.domReference||null))?.context?.elements.domReference,n=xe([I,...e,Me.current,Ne.current,G?.beforeOutsideRef.current,G?.afterOutsideRef.current,...$(),t,O(k),O(D),B?F:null].filter(e=>e!=null),{ariaHidden:S||B,mark:!1}),r=xe([I,...e].filter(e=>e!=null));return()=>{r(),n()}},[P,s,F,I,S,G,B,W,z,D,k,$]),E(()=>{if(!P||s||!y(Z))return;let e=u(Z),t=T(e);queueMicrotask(()=>{let n=V.current,r=typeof n==`function`?n(U.current||``):n;if(r===void 0||r===!1||d(Z,t))return;let i=null,a=()=>(i??=Q(Z),i[0]||Z),o;o=r===!0||r===null?a():O(r),o||=a();let s=d(Z,T(e));N(o,{preventScroll:o===Z,shouldFocus(){if(!we.current)return!1;if(s)return!0;let t=T(e);return!(t!==o&&d(Z,t))}})})},[s,P,Z,Q,V,U,we]),E(()=>{if(s||!Z)return;let e=u(Z),t=T(e),i=U.current==null;Ee(t);function a(e){if(e.open||(je.current=Ce(e.nativeEvent,Y.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(K.current=!0),e.reason===`outside-press`)if(e.nested)K.current=!1;else if(_e(e.nativeEvent)||n(e.nativeEvent))K.current=!1;else{let e=!1;u(Z).createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?K.current=!1:K.current=!0}}L.on(`openchange`,a);function o(){let e=H.current,n=typeof e==`function`?e(je.current):e;if(n===void 0||n===!1)return null;n===null&&(n=!0);let r=F?.isConnected?F:null,a=t?.isConnected&&he(t)!==`body`?t:null,o=i?a||r:r||a;return o||=De()||null,typeof n==`boolean`?o:O(n)||o||null}return()=>{L.off(`openchange`,a);let t=T(e),n=$(),i=d(I,t)||n.some(e=>e===t||d(e,t))||W&&r(W.nodesRef.current,z(),!1).some(e=>d(e.context?.elements.floating,t)),s=H.current,c=o();queueMicrotask(()=>{let n=Oe(c),r=typeof s!=`boolean`;s&&!K.current&&y(n)&&(!(!r&&n!==t&&t!==e.body)||i)&&n.focus({preventScroll:!0}),K.current=!1})}},[s,I,Z,H,U,L,W,F,z,$]),E(()=>{if(!ae||P||!I)return;let e=T(u(I));!y(e)||!fe(e)||d(I,e)&&e.blur()},[P,I]),E(()=>{if(!(s||!G))return G.setFocusManagerState({modal:S,closeOnFocusOut:C,open:P,onOpenChange:M.setOpen,domReference:F}),()=>{G.setFocusManagerState(null)}},[s,G,S,P,M,C,F]),E(()=>{if(!(s||!Z))return ke(Z),()=>{queueMicrotask(Te)}},[s,Z]);let ze=!s&&(S?!B:!0)&&(Re||S);return(0,Se.jsxs)(j.Fragment,{children:[ze&&(0,Se.jsx)(re,{"data-type":`inside`,ref:Pe,onFocus:e=>{if(S){let e=Q();N(e[e.length-1])}else G?.portalNode&&(K.current=!1,de(e,G.portalNode)?i(F)?.focus():O(k??G.beforeOutsideRef)?.focus())}}),o,ze&&(0,Se.jsx)(re,{"data-type":`inside`,ref:Fe,onFocus:e=>{S?N(Q()[0]):G?.portalNode&&(C&&(K.current=!0),de(e,G.portalNode)?g(F)?.focus():O(D??G.afterOutsideRef)?.focus())}})]})}function K(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:l=k}=t,u=`rootStore`in e?e.rootStore:e,d=u.context.dataRef,f=j.useRef(void 0),m=c(),h=se(),g=j.useMemo(()=>{function e(e,t,n,r){let i=_(l,t,n);e&&r===`touch`&&s>0?h.start(s,()=>{u.setOpen(!0,i)}):u.setOpen(e,i)}function t(e,t,n){let r=d.current.openEvent,a=u.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){f.current=e.pointerType},onMouseDown(n){let i=f.current,o=n.nativeEvent,s=u.select(`open`);if(n.button!==0||r===`click`||v(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),l=p(o);if(fe(l)){e(c,o,l,i);return}let d=n.currentTarget;m.request(()=>{e(c,o,d,i)})},onClick(n){if(r===`mousedown-only`)return;let i=f.current;if(r===`mousedown`&&i){f.current=void 0;return}v(i,!0)&&a||e(t(u.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){f.current=void 0}}},[d,r,a,l,u,o,i,m,h,s]);return j.useMemo(()=>n?{reference:g}:S,[n,g])}var q=j.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n.getBoundingClientRect();i=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,Se.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})}),J={},Ae={},je=``;function Y(e){if(typeof document>`u`)return!1;let t=u(e);return C(t).innerWidth-t.documentElement.clientWidth>0}function Me(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=u(e),n=t.documentElement,r=t.body,i=A(n)?n:r,a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function Ne(e){let t=u(e),n=t.documentElement,r=t.body,i=A(n)?n:r,a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function Pe(e){let t=u(e),n=t.documentElement,r=t.body,i=C(n),a=0,o=0,s=!1,c=D.create();if(ae&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,J={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},je=n.style.scrollBehavior,Ae={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=A(n)?n:r;if(s=Me(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflow:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function d(){Object.assign(n.style,J),Object.assign(r.style,Ae),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=je)}function f(){d(),c.request(l)}l();let p=x(i,`resize`,f);return()=>{c.cancel(),d(),typeof i.removeEventListener==`function`&&p()}}var Fe=new class{lockCount=0;restore=null;timeoutLock=s.create();timeoutUnlock=s.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=u(e).documentElement,n=C(t).getComputedStyle(t).overflowY;if(n===`hidden`||n===`clip`){this.restore=pe;return}let r=l||!Y(e);this.restore=r?Ne(e):Pe(e)}};function Ie(e=!0,t=null){E(()=>{if(e)return Fe.acquire(t)},[e,t])}function X(e){let t=j.useRef(``),n=j.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:j.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function Le(e,t){let{onClick:n,onPointerDown:r}=X(w((n,r)=>{(typeof e==`function`?e():e)||t(r||(l?`touch`:``))}));return j.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function Re(e){let[t,n]=j.useState(null),r=Le(e,n);return ye(e,t=>{t&&!e&&n(null)}),j.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}export{K as a,q as i,Le as n,G as o,Ie as r,N as s,Re as t};
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{Bn as n,Ct as r,Dt as i,En as a,Et as o,Jn as s,Jt as c,Kn as l,Kt as u,Mn as d,Mt as f,Nn as p,Nt as m,On as h,Ot as g,Qt as _,Rn as v,Rt as ee,Sr as y,St as te,Tr as ne,Ut as re,Vn as ie,Wn as ae,Xt as oe,Yn as se,Yt as b,Zt as x,ar as S,br as C,cr as ce,ft as le,hr as w,ht as ue,jn as T,jt as de,kn as fe,mr as E,or as pe,qt as D,sn as me,st as O,vr as he,wn as k,wr as A,xt as ge,zn as _e}from"./example-Rrx9vj75.js";import{d as ve}from"./index-o71HAmc3.js";import{t as ye}from"./useValueChanged-DXek_Wx7.js";var j=e(t(),1),M=0;function N(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:i}=t;cancelAnimationFrame(M);function a(){i&&!i()||e?.focus({preventScroll:n})}if(r)return a(),pe;let o=requestAnimationFrame(a);return M=o,()=>{M===o&&(cancelAnimationFrame(o),M=0)}}var P={inert:new WeakMap,"aria-hidden":new WeakMap},F=`data-base-ui-inert`,I={inert:new WeakSet,"aria-hidden":new WeakSet},L=new WeakMap,R=0;function z(e){return I[e]}function be(e){return e?ne(e)?e.host:be(e.parentNode):null}var B=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=be(t);return e.contains(n)?n:null}).filter(e=>e!=null),V=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},H=(e,t,n)=>{let r=[],i=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{he(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function U(e,t,n,r,{mark:i=!0}){let a=null;r?a=`inert`:n&&(a=`aria-hidden`);let o=null,s=null,c=B(t,e),l=i?H(t,V(c),new Set(c)):[],u=[],d=[];if(a){let e=P[a],n=z(a);s=n,o=e;let r=B(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=c.concat(r);H(t,V(i),new Set(i)).forEach(t=>{let r=t.getAttribute(a),i=r!==null&&r!==`false`,o=(e.get(t)||0)+1;e.set(t,o),u.push(t),o===1&&i&&n.add(t),i||t.setAttribute(a,a===`inert`?``:`true`)})}return i&&l.forEach(e=>{let t=(L.get(e)||0)+1;L.set(e,t),d.push(e),t===1&&e.setAttribute(F,``)}),R+=1,()=>{o&&u.forEach(e=>{let t=(o.get(e)||0)-1;o.set(e,t),t||(!s?.has(e)&&a&&e.removeAttribute(a),s?.delete(e))}),i&&d.forEach(e=>{let t=(L.get(e)||0)-1;L.set(e,t),t||e.removeAttribute(F)}),--R,R||(P.inert=new WeakMap,P[`aria-hidden`]=new WeakMap,I.inert=new WeakSet,I[`aria-hidden`]=new WeakSet,L=new WeakMap)}}function xe(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0}=t,a=u(e[0]).body;return U(e,a,n,r,{mark:i})}var Se=ve();function Ce(e,t){let n=C(p(e));return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var we=20,W=[];function Te(){W=W.filter(e=>e.deref()?.isConnected)}function Ee(e){Te(),e&&he(e)!==`body`&&(W.push(new WeakRef(e)),W.length>we&&(W=W.slice(-20)))}function De(){return Te(),W[W.length-1]?.deref()}function Oe(e){return e?f(e)?e:m(e)[0]||e:null}function ke(e){if(e.hasAttribute(`tabindex`)&&!e.hasAttribute(`data-tabindex`)||!e.getAttribute(`role`)?.includes(`dialog`))return;let t=o(e).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return f(e)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),n=e.getAttribute(`tabindex`);t.length===0?n!==`0`&&(e.setAttribute(`tabindex`,`0`),e.setAttribute(`data-tabindex`,`0`)):(n!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function G(e){let{context:t,children:o,disabled:s=!1,initialFocus:l=!0,returnFocus:v=!0,restoreFocus:ne=!1,modal:S=!0,closeOnFocusOut:C=!0,openInteractionType:pe=``,nextFocusableElement:D,previousFocusableElement:k,beforeContentFocusGuardRef:A,externalTree:ve,getInsideElements:ye}=e,M=`rootStore`in t?t.rootStore:t,P=M.useState(`open`),F=M.useState(`domReferenceElement`),I=M.useState(`floatingElement`),{events:L,dataRef:R}=M.context,z=w(()=>R.current.floatingContext?.nodeId),be=l===!1,B=h(F)&&be,V=b(l),H=b(v),U=b(pe),we=b(P),W=le(ve),G=ue(),K=j.useRef(!1),q=j.useRef(!1),J=j.useRef(!1),Ae=j.useRef(null),je=j.useRef(``),Y=j.useRef(``),Me=j.useRef(null),Ne=j.useRef(null),Pe=ce(Me,A,G?.beforeInsideRef),Fe=ce(Ne,G?.afterInsideRef),Ie=se(),X=se(),Le=c(),Re=G!=null,Z=a(I),Q=w((e=Z)=>e?m(e):[]),$=w(()=>ye?.().filter(e=>e!=null)??[]);j.useEffect(()=>{if(s||!S)return;function e(e){e.key===`Tab`&&d(Z,T(u(Z)))&&Q().length===0&&!B&&ie(e)}return x(u(Z),`keydown`,e)},[s,Z,S,B,Q]),j.useEffect(()=>{if(s||!P)return;let e=u(Z);function t(){J.current=!1}function n(e){let t=p(e),n=$();J.current=!(d(I,t)||d(F,t)||d(G?.portalNode,t)||n.some(e=>e===t||d(e,t))),Y.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(q.current=!0,X.start(0,()=>{q.current=!1}))}function r(){Y.current=`keyboard`}return oe(x(e,`pointerdown`,n,!0),x(e,`pointerup`,t,!0),x(e,`pointercancel`,t,!0),x(e,`keydown`,r,!0),t)},[s,I,F,Z,P,G,X,$]),j.useEffect(()=>{if(s||!C)return;let e=u(Z);function t(){q.current=!0,X.start(0,()=>{q.current=!1})}function n(e){let t=p(e);f(t)&&(Ae.current=t)}function i(t){let n=t.relatedTarget,i=t.currentTarget,o=p(t);S&&n==null&&o!=null&&d(I,o)&&Ee(o),queueMicrotask(()=>{let s=z(),c=M.context.triggerElements,l=$(),u=n?.hasAttribute(ge(`focus-guard`))&&[Me.current,Ne.current,G?.beforeInsideRef.current,G?.afterInsideRef.current,G?.beforeOutsideRef.current,G?.afterOutsideRef.current,O(k),O(D)].includes(n),f=!(d(F,n)||d(I,n)||d(n,I)||d(G?.portalNode,n)||l.some(e=>e===n||d(e,n))||n!=null&&c.hasElement(n)||c.hasMatchingElement(e=>d(e,n))||u||W&&(r(W.nodesRef.current,s).find(e=>d(e.context?.elements.floating,n)||d(e.context?.elements.domReference,n))||te(W.nodesRef.current,s).find(e=>[e.context?.elements.floating,a(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(i===F&&Z&&ke(Z),ne&&i!==F&&!ee(o)&&T(e)===e.body){if(y(Z)&&(Z.focus(),ne===`popup`)){Le.request(()=>{Z.focus()});return}let e=Q(),t=Ae.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||Z;y(n)&&n.focus()}if(R.current.insideReactTree){R.current.insideReactTree=!1;return}(B||!S)&&n&&f&&!q.current&&(B||n!==De())&&(K.current=!0,M.setOpen(!1,_(me,t)))})}function o(){J.current||(R.current.insideReactTree=!0,Ie.start(0,()=>{R.current.insideReactTree=!1}))}let c=y(F)?F:null;if(!(!I&&!c))return oe(c&&x(c,`focusout`,i),c&&x(c,`pointerdown`,t),I&&x(I,`focusin`,n),I&&x(I,`focusout`,i),I&&G&&x(I,`focusout`,o,!0))},[s,F,I,Z,S,W,G,M,C,ne,Q,B,z,R,Ie,X,Le,D,k,$]),j.useEffect(()=>{if(s||!I||!P)return;let e=Array.from(G?.portalNode?.querySelectorAll(`[${ge(`portal`)}]`)||[]),t=(W?te(W.nodesRef.current,z()):[]).find(e=>h(e.context?.elements.domReference||null))?.context?.elements.domReference,n=xe([I,...e,Me.current,Ne.current,G?.beforeOutsideRef.current,G?.afterOutsideRef.current,...$(),t,O(k),O(D),B?F:null].filter(e=>e!=null),{ariaHidden:S||B,mark:!1}),r=xe([I,...e].filter(e=>e!=null));return()=>{r(),n()}},[P,s,F,I,S,G,B,W,z,D,k,$]),E(()=>{if(!P||s||!y(Z))return;let e=u(Z),t=T(e);queueMicrotask(()=>{let n=V.current,r=typeof n==`function`?n(U.current||``):n;if(r===void 0||r===!1||d(Z,t))return;let i=null,a=()=>(i??=Q(Z),i[0]||Z),o;o=r===!0||r===null?a():O(r),o||=a();let s=d(Z,T(e));N(o,{preventScroll:o===Z,shouldFocus(){if(!we.current)return!1;if(s)return!0;let t=T(e);return!(t!==o&&d(Z,t))}})})},[s,P,Z,Q,V,U,we]),E(()=>{if(s||!Z)return;let e=u(Z),t=T(e),i=U.current==null;Ee(t);function a(e){if(e.open||(je.current=Ce(e.nativeEvent,Y.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(K.current=!0),e.reason===`outside-press`)if(e.nested)K.current=!1;else if(_e(e.nativeEvent)||n(e.nativeEvent))K.current=!1;else{let e=!1;u(Z).createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?K.current=!1:K.current=!0}}L.on(`openchange`,a);function o(){let e=H.current,n=typeof e==`function`?e(je.current):e;if(n===void 0||n===!1)return null;n===null&&(n=!0);let r=F?.isConnected?F:null,a=t?.isConnected&&he(t)!==`body`?t:null,o=i?a||r:r||a;return o||=De()||null,typeof n==`boolean`?o:O(n)||o||null}return()=>{L.off(`openchange`,a);let t=T(e),n=$(),i=d(I,t)||n.some(e=>e===t||d(e,t))||W&&r(W.nodesRef.current,z(),!1).some(e=>d(e.context?.elements.floating,t)),s=H.current,c=o();queueMicrotask(()=>{let n=Oe(c),r=typeof s!=`boolean`;s&&!K.current&&y(n)&&(!(!r&&n!==t&&t!==e.body)||i)&&n.focus({preventScroll:!0}),K.current=!1})}},[s,I,Z,H,U,L,W,F,z,$]),E(()=>{if(!ae||P||!I)return;let e=T(u(I));!y(e)||!fe(e)||d(I,e)&&e.blur()},[P,I]),E(()=>{if(!(s||!G))return G.setFocusManagerState({modal:S,closeOnFocusOut:C,open:P,onOpenChange:M.setOpen,domReference:F}),()=>{G.setFocusManagerState(null)}},[s,G,S,P,M,C,F]),E(()=>{if(!(s||!Z))return ke(Z),()=>{queueMicrotask(Te)}},[s,Z]);let ze=!s&&(S?!B:!0)&&(Re||S);return(0,Se.jsxs)(j.Fragment,{children:[ze&&(0,Se.jsx)(re,{"data-type":`inside`,ref:Pe,onFocus:e=>{if(S){let e=Q();N(e[e.length-1])}else G?.portalNode&&(K.current=!1,de(e,G.portalNode)?i(F)?.focus():O(k??G.beforeOutsideRef)?.focus())}}),o,ze&&(0,Se.jsx)(re,{"data-type":`inside`,ref:Fe,onFocus:e=>{S?N(Q()[0]):G?.portalNode&&(C&&(K.current=!0),de(e,G.portalNode)?g(F)?.focus():O(D??G.afterOutsideRef)?.focus())}})]})}function K(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:l=k}=t,u=`rootStore`in e?e.rootStore:e,d=u.context.dataRef,f=j.useRef(void 0),m=c(),h=se(),g=j.useMemo(()=>{function e(e,t,n,r){let i=_(l,t,n);e&&r===`touch`&&s>0?h.start(s,()=>{u.setOpen(!0,i)}):u.setOpen(e,i)}function t(e,t,n){let r=d.current.openEvent,a=u.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){f.current=e.pointerType},onMouseDown(n){let i=f.current,o=n.nativeEvent,s=u.select(`open`);if(n.button!==0||r===`click`||v(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),l=p(o);if(fe(l)){e(c,o,l,i);return}let d=n.currentTarget;m.request(()=>{e(c,o,d,i)})},onClick(n){if(r===`mousedown-only`)return;let i=f.current;if(r===`mousedown`&&i){f.current=void 0;return}v(i,!0)&&a||e(t(u.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){f.current=void 0}}},[d,r,a,l,u,o,i,m,h,s]);return j.useMemo(()=>n?{reference:g}:S,[n,g])}var q=j.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n.getBoundingClientRect();i=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,Se.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})}),J={},Ae={},je=``;function Y(e){if(typeof document>`u`)return!1;let t=u(e);return C(t).innerWidth-t.documentElement.clientWidth>0}function Me(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=u(e),n=t.documentElement,r=t.body,i=A(n)?n:r,a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function Ne(e){let t=u(e),n=t.documentElement,r=t.body,i=A(n)?n:r,a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function Pe(e){let t=u(e),n=t.documentElement,r=t.body,i=C(n),a=0,o=0,s=!1,c=D.create();if(ae&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,J={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},je=n.style.scrollBehavior,Ae={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=A(n)?n:r;if(s=Me(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflow:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function d(){Object.assign(n.style,J),Object.assign(r.style,Ae),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=je)}function f(){d(),c.request(l)}l();let p=x(i,`resize`,f);return()=>{c.cancel(),d(),typeof i.removeEventListener==`function`&&p()}}var Fe=new class{lockCount=0;restore=null;timeoutLock=s.create();timeoutUnlock=s.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=u(e).documentElement,n=C(t).getComputedStyle(t).overflowY;if(n===`hidden`||n===`clip`){this.restore=pe;return}let r=l||!Y(e);this.restore=r?Ne(e):Pe(e)}};function Ie(e=!0,t=null){E(()=>{if(e)return Fe.acquire(t)},[e,t])}function X(e){let t=j.useRef(``),n=j.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:j.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function Le(e,t){let{onClick:n,onPointerDown:r}=X(w((n,r)=>{(typeof e==`function`?e():e)||t(r||(l?`touch`:``))}));return j.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function Re(e){let[t,n]=j.useState(null),r=Le(e,n);return ye(e,t=>{t&&!e&&n(null)}),j.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}export{K as a,q as i,Le as n,G as o,Ie as r,N as s,Re as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nr as e}from"./example-Rrx9vj75.js";function t(t){return e(t.defaultTagName??`div`,t,t)}export{t};
|
package/dist/showcase/assets/{useTriggerFocusGuards-BPFrAxlp.js → useTriggerFocusGuards-B6KAsVMk.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{At as n,Dt as r,Mn as i,Qt as a,jt as o,kt as s,sn as c}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{At as n,Dt as r,Mn as i,Qt as a,jt as o,kt as s,sn as c}from"./example-Rrx9vj75.js";import{P as l}from"./index-o71HAmc3.js";var u=e(t(),1),d=e(l(),1);function f(e,t){let l=u.useRef(null);function f(t){d.flushSync(()=>{e.setOpen(!1,a(c,t.nativeEvent,t.currentTarget))}),n(l.current)?.focus()}function p(n){let l=e.select(`positionerElement`);if(l&&o(n,l))e.context.beforeContentFocusGuardRef.current?.focus();else{d.flushSync(()=>{e.setOpen(!1,a(c,n.nativeEvent,n.currentTarget))});let o=s(e.context.triggerFocusTargetRef.current||t.current);for(;o!==null&&i(l,o);){let e=o;if(o=r(o),o===e)break}o?.focus()}}return{preFocusGuardRef:l,handlePreFocusGuardFocus:f,handleFocusTargetFocus:p}}export{f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{hr as n,mr as r}from"./example-
|
|
1
|
+
import{r as e}from"./chunk-QTnfLwEv.js";import{t}from"./react-sKtkuLrH.js";import{hr as n,mr as r}from"./example-Rrx9vj75.js";var i=e(t(),1);function a(e,t){let a=i.useRef(e),o=n(t);r(()=>{a.current!==e&&o(a.current)},[e,o]),r(()=>{a.current=e},[e])}export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./index-
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./index-
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]);export{t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{n as r,p as i,t as a}from"./section-
|
|
1
|
+
import{n as e,r as t}from"./chunk-QTnfLwEv.js";import{t as n}from"./react-sKtkuLrH.js";import{n as r,p as i,t as a}from"./section-Dd6X6IKg.js";import{Or as o,r as s,t as c}from"./example-Rrx9vj75.js";import{t as l}from"./message-square-Cyrr-QgJ.js";import{N as u,c as d,d as f,n as p}from"./index-o71HAmc3.js";import{t as m}from"./props-table-C6gPyO49.js";import{t as h}from"./icon-badge-GMIN-bca.js";import{c as g,i as _,r as v,t as y,u as b}from"./item-Oe2aHuvr.js";import{t as x}from"./inline-stat-CDQocPgN.js";var S={tabOverview:`Overview`,tabStats:`Stats`,totalEarnings:`Total Earnings`,message:`Message`,hire:`Hire Me`,verifiedAriaLabel:`Verified`},C=t(n(),1),w=f();function T({name:e,initials:t,avatarUrl:n,role:r,verified:a=!1,earnings:c,earningsChange:f,metrics:m=[],stats:T=[],onMessage:E,onHire:D,className:O,strings:k}){let A=u(S,k),[j,M]=(0,C.useState)(`overview`),N=t??e.split(` `).map(e=>e[0]).join(``).slice(0,2).toUpperCase(),P={overview:A.tabOverview,stats:A.tabStats},F=!!c||m.length>0,I=T.length>0,L=[[`overview`,F],[`stats`,I]].filter(([,e])=>e).map(([e])=>e),R=j===`overview`&&!F&&I?`stats`:j;return(0,w.jsxs)(`div`,{className:p(`vendor-profile--component`,`flex flex-col gap-3 rounded-lg border border-border bg-card p-4 shadow-sm`,O),children:[(0,w.jsxs)(y,{className:`items-start`,children:[(0,w.jsx)(g,{variant:n?`avatar`:`default`,children:n?(0,w.jsx)(`img`,{src:n,alt:e,className:`size-10 rounded-full object-cover ring-1 ring-border`}):(0,w.jsx)(h,{tone:`primary`,size:`default`,className:`font-semibold ring-1 ring-primary/15`,children:N})}),(0,w.jsxs)(v,{children:[(0,w.jsx)(b,{children:(0,w.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[e,!!a&&(0,w.jsx)(h,{tone:`success`,solid:!0,size:`small`,"aria-label":A.verifiedAriaLabel,className:`size-4 shrink-0`,children:(0,w.jsx)(o,{className:`size-2.5`,strokeWidth:3})})]})}),!!r&&(0,w.jsx)(_,{clamp:2,children:r})]})]}),L.length>1&&(0,w.jsx)(`div`,{className:`flex gap-1 rounded-md bg-muted/60 p-0.5`,children:L.map(e=>(0,w.jsx)(s,{type:`button`,"aria-pressed":R===e,onClick:()=>M(e),variant:`secondary`,buttonStyle:`ghost`,size:`small`,className:p(`h-auto flex-1 rounded-sm px-3 py-1.5 text-xs font-medium transition-colors`,R===e?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:P[e]},e))}),R===`overview`&&F&&(0,w.jsxs)(`div`,{className:`space-y-3`,children:[!!c&&(0,w.jsxs)(`div`,{children:[(0,w.jsx)(i,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:A.totalEarnings}),(0,w.jsxs)(`div`,{className:`mt-0.5 flex items-baseline gap-2`,children:[(0,w.jsx)(i,{size:`xl`,weight:`semibold`,className:`tabular-nums tracking-tight`,children:c}),!!f&&(0,w.jsx)(i,{tag:`span`,size:`xs`,weight:`semibold`,className:`rounded-full bg-success/15 px-1.5 py-0.5 text-success tabular-nums`,children:f})]})]}),m.length>0&&(0,w.jsx)(`div`,{className:`space-y-1.5`,children:m.map(e=>(0,w.jsx)(x,{className:`border-b border-border/50 pb-1.5 last:border-0`,label:e.label,value:e.value,mono:!0,labelClassName:`text-sm`,valueClassName:`text-sm font-semibold`},e.label))})]}),R===`stats`&&I&&(0,w.jsx)(`div`,{className:`grid grid-cols-2 gap-1.5`,children:T.map(e=>(0,w.jsxs)(`div`,{className:`rounded-lg border border-border/60 bg-muted/20 px-3 py-2`,children:[(0,w.jsx)(i,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e.label}),(0,w.jsxs)(`div`,{className:`mt-1 flex items-baseline gap-1.5`,children:[(0,w.jsx)(i,{size:`base`,weight:`semibold`,className:`tabular-nums`,children:e.value}),!!e.change&&(0,w.jsx)(i,{tag:`span`,size:`xxs`,weight:`semibold`,className:p(`rounded-full px-1.5 py-0.5 tabular-nums`,e.change.startsWith(`+`)?`bg-success/15 text-success`:`bg-destructive/15 text-destructive`),children:e.change})]})]},e.label))}),(0,w.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,w.jsxs)(s,{variant:`light`,buttonStyle:`outline`,className:`flex-1 rounded-md`,onClick:E,children:[(0,w.jsx)(l,{className:`mr-1.5 size-3.5`}),A.message]}),(0,w.jsxs)(s,{variant:`dark`,className:`flex-1 rounded-md`,onClick:D,children:[A.hire,(0,w.jsx)(d,{className:`ml-1 size-3.5`})]})]})]})}T.displayName=`VendorProfileCard`;var E=e({Minimal:()=>O,WithEverything:()=>D});function D(){return(0,w.jsx)(w.Fragment,{children:(0,w.jsx)(T,{name:`Dimitar Kostadinov`,role:`Experience Vendor`,verified:!0,earnings:`8,420 USD`,earningsChange:`+12.5%`,metrics:[{label:`Experiences hosted`,value:`47`},{label:`Avg. rating`,value:`4.8 / 5.0`},{label:`Repeat customers`,value:`68%`}],stats:[{label:`This month`,value:`1,240 USD`,change:`+8%`},{label:`Bookings`,value:`23`,change:`+3`},{label:`Conversion`,value:`74%`,change:`+5%`},{label:`Avg. order`,value:`54 USD`,change:`-2%`}],onMessage:()=>{},onHire:()=>{}})})}function O(){return(0,w.jsx)(w.Fragment,{children:(0,w.jsx)(T,{name:`Emma Garcia`,role:`New vendor`})})}var k=`import { VendorProfileCard } from '@/components/composed/cards/vendor-profile';
|
|
2
2
|
|
|
3
3
|
export function WithEverything() {
|
|
4
4
|
return (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./index-
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`video`,[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./index-
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as e}from"./index-
|
|
1
|
+
import{l as e}from"./index-o71HAmc3.js";var t=e(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]);export{t};
|
package/dist/showcase/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Admin UI Starter Kit — Component Showcase</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-o71HAmc3.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="./assets/chunk-QTnfLwEv.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/react-sKtkuLrH.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/index-CCxHwV7T.css">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "admin-ui-starter-kit",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Opinionated React component kit for admin panels and SaaS dashboards, built on top of shadcn/ui + Tailwind CSS v4. Callback-driven, framework-agnostic, i18n-ready.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlays-CdtMAkKG.js","names":[],"sources":["../../src/components/features/overlays/hooks/use-native-dialog.ts","../../src/components/features/overlays/overlays.strings.ts","../../src/components/features/overlays/hooks/use-overlay-actions.ts","../../src/components/features/overlays/dialog.tsx","../../src/components/features/overlays/drawer.tsx","../../src/components/features/overlays/alert-dialog.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type RefObject,\n} from 'react';\n\nexport interface UseNativeDialogOptions {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n onClose?: () => void;\n closeOnEscape?: boolean;\n closeOnBackdropClick?: boolean;\n initialFocusRef?: RefObject<HTMLElement>;\n}\n\nexport interface UseNativeDialogReturn {\n dialogRef: RefObject<HTMLDialogElement | null>;\n isOpen: boolean;\n isClosing: boolean;\n openDialog: () => void;\n closeDialog: () => void;\n toggleDialog: () => void;\n dialogProps: {\n ref: RefObject<HTMLDialogElement | null>;\n open: boolean;\n onKeyDown: (e: React.KeyboardEvent<HTMLDialogElement>) => void;\n };\n handleBackdropClick: () => void;\n}\n\nconst ANIMATION_TIMEOUT_MS = 350;\n\nlet bodyScrollLockCount = 0;\n\n/**\n * Lock body scroll using a CSS-class-based approach.\n *\n * Uses a `data-overlay-scroll-locked` attribute on `<html>` combined with a\n * CSS rule (`html[data-overlay-scroll-locked] body { overflow: hidden }`)\n * instead of directly manipulating `body.style.overflow`.\n *\n * This avoids a conflict with @base-ui's own `SCROLL_LOCKER` singleton (used\n * by Select, Combobox, etc.) which independently saves and restores inline\n * body styles. When both systems saved/restored the same inline property,\n * unlocking in the wrong order left `overflow: hidden` permanently on the body.\n */\nfunction lockBodyScroll(): () => void {\n if (bodyScrollLockCount === 0) {\n const scrollbarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n\n document.body.style.setProperty(\n '--overlay-scrollbar-width',\n `${scrollbarWidth}px`,\n );\n document.documentElement.setAttribute(\n 'data-overlay-scroll-locked',\n '',\n );\n }\n\n bodyScrollLockCount += 1;\n let released = false;\n\n return () => {\n if (released) {\n return;\n }\n\n released = true;\n bodyScrollLockCount = Math.max(0, bodyScrollLockCount - 1);\n\n if (bodyScrollLockCount > 0) {\n return;\n }\n\n document.documentElement.removeAttribute('data-overlay-scroll-locked');\n document.body.style.removeProperty('--overlay-scrollbar-width');\n };\n}\n\nexport function useNativeDialog({\n open: controlledOpen,\n onOpenChange,\n onClose,\n closeOnEscape = true,\n closeOnBackdropClick = true,\n initialFocusRef,\n}: UseNativeDialogOptions = {}): UseNativeDialogReturn {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const [internalOpen, setInternalOpen] = useState(false);\n const [isClosing, setIsClosing] = useState(false);\n const unlockScrollRef = useRef<(() => void) | null>(null);\n const previousActiveElementRef = useRef<HTMLElement | null>(null);\n const closeTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const animationListenerRef = useRef<(() => void) | null>(null);\n const focusRafRef = useRef<number | null>(null);\n const finishCloseHandledRef = useRef(false);\n\n const isControlled = controlledOpen !== undefined;\n const isOpen = isControlled ? controlledOpen : internalOpen;\n\n // Refs track the latest values so closeDialog can bail out from stale\n // closures (e.g. when useOverlayActions.handleConfirm awaits an async\n // operation while the action store already sets isOpen=false or while\n // a prior closeDialog call already set isClosing=true).\n const isOpenRef = useRef(isOpen);\n isOpenRef.current = isOpen;\n\n const isClosingRef = useRef(isClosing);\n isClosingRef.current = isClosing;\n\n const setOpen = useCallback(\n (nextOpen: boolean) => {\n if (!isControlled) {\n setInternalOpen(nextOpen);\n }\n onOpenChange?.(nextOpen);\n\n if (!nextOpen) {\n onClose?.();\n }\n },\n [isControlled, onOpenChange, onClose],\n );\n\n const cleanupAnimation = useCallback(() => {\n if (closeTimeoutRef.current) {\n clearTimeout(closeTimeoutRef.current);\n closeTimeoutRef.current = null;\n }\n if (animationListenerRef.current) {\n animationListenerRef.current();\n animationListenerRef.current = null;\n }\n }, []);\n\n const finishClose = useCallback(() => {\n cleanupAnimation();\n\n // Mark that finishClose handled this close cycle so the safety-net\n // useEffect doesn't interfere with a redundant cleanup pass.\n finishCloseHandledRef.current = true;\n\n // CRITICAL: Release the scroll lock BEFORE calling setOpen, which\n // invokes external callbacks (onOpenChange, onClose) that may throw.\n const unlock = unlockScrollRef.current;\n unlockScrollRef.current = null;\n\n const prevFocus = previousActiveElementRef.current;\n previousActiveElementRef.current = null;\n\n try {\n unlock?.();\n } catch {\n // Scroll unlock must never propagate.\n }\n\n // Notify parent first — this triggers onOpenChange(false) which updates\n // the controlled open prop. Do NOT remove the .closing class or clear\n // isClosing before this: removing .closing reverts the dialog to its\n // entry animation CSS for one frame before React unmounts, causing a flash.\n try {\n setOpen(false);\n } catch {\n // If onOpenChange / onClose throws we still need to restore focus.\n }\n\n // Now safe to clear — React will unmount the portal on the next render,\n // so the .closing class removal is cosmetic (element is about to be removed).\n setIsClosing(false);\n\n const dialog = dialogRef.current;\n if (dialog) {\n dialog.classList.remove('closing');\n }\n\n try {\n prevFocus?.focus();\n } catch {\n // focus() on a disconnected node can throw in some browsers.\n }\n }, [cleanupAnimation, setOpen]);\n\n const openDialog = useCallback(() => {\n // Use refs (always fresh) instead of closure-captured values so that\n // stale references from trigger cloneElement or external callers\n // cannot bypass the guard.\n if (isOpenRef.current || isClosingRef.current) return;\n\n previousActiveElementRef.current =\n document.activeElement as HTMLElement;\n unlockScrollRef.current = lockBodyScroll();\n\n setOpen(true);\n\n focusRafRef.current = requestAnimationFrame(() => {\n focusRafRef.current = null;\n if (initialFocusRef?.current) {\n initialFocusRef.current.focus();\n } else {\n dialogRef.current?.focus();\n }\n });\n }, [setOpen, initialFocusRef]);\n\n const closeDialog = useCallback(() => {\n const dialog = dialogRef.current;\n // Use isOpenRef and isClosingRef (always fresh) instead of closure-\n // captured values so that stale closures from useOverlayActions\n // (which await async confirm while the action store or a prior\n // closeDialog call already changed state) correctly bail out instead\n // of starting a duplicate close animation.\n if (!dialog || !isOpenRef.current || isClosingRef.current) return;\n\n setIsClosing(true);\n dialog.classList.add('closing');\n\n // Force reflow so the browser picks up the new class before we read computed style\n void dialog.offsetHeight;\n\n const hasAnimation =\n getComputedStyle(dialog).animationName !== 'none';\n\n if (hasAnimation) {\n const handleAnimationEnd = () => {\n finishClose();\n };\n\n dialog.addEventListener('animationend', handleAnimationEnd, {\n once: true,\n });\n\n // Store cleanup function for unmount safety\n animationListenerRef.current = () => {\n dialog.removeEventListener(\n 'animationend',\n handleAnimationEnd,\n );\n };\n\n // Timeout fallback in case animationend never fires\n closeTimeoutRef.current = setTimeout(() => {\n finishClose();\n }, ANIMATION_TIMEOUT_MS);\n } else {\n finishClose();\n }\n }, [finishClose]);\n\n const toggleDialog = useCallback(() => {\n if (isOpen) {\n closeDialog();\n } else {\n openDialog();\n }\n }, [isOpen, openDialog, closeDialog]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDialogElement>) => {\n if (e.key === 'Escape' && closeOnEscape) {\n e.preventDefault();\n e.stopPropagation();\n closeDialog();\n }\n },\n [closeOnEscape, closeDialog],\n );\n\n const handleBackdropClick = useCallback(() => {\n if (closeOnBackdropClick) {\n closeDialog();\n }\n }, [closeOnBackdropClick, closeDialog]);\n\n // Sync controlled open state → lock scroll + focus\n useEffect(() => {\n if (isOpen && !isClosing) {\n if (!previousActiveElementRef.current) {\n previousActiveElementRef.current =\n document.activeElement as HTMLElement;\n }\n\n if (!unlockScrollRef.current) {\n unlockScrollRef.current = lockBodyScroll();\n }\n\n // Cancel any pending focus rAF (e.g. from openDialog) before\n // scheduling a new one, preventing duplicate focus calls.\n if (focusRafRef.current !== null) {\n cancelAnimationFrame(focusRafRef.current);\n }\n focusRafRef.current = requestAnimationFrame(() => {\n focusRafRef.current = null;\n if (initialFocusRef?.current) {\n initialFocusRef.current.focus();\n } else {\n dialogRef.current?.focus();\n }\n });\n } else if (!isOpen) {\n // If finishClose already handled this close cycle, skip the\n // safety-net to avoid a redundant cleanup pass that would cause\n // a flash (clearing isClosing in a separate render).\n if (finishCloseHandledRef.current) {\n finishCloseHandledRef.current = false;\n\n return;\n }\n\n // Safety net for the controlled-close path where closeDialog()\n // is never called directly (e.g. action store sets isOpen=false).\n if (unlockScrollRef.current) {\n unlockScrollRef.current();\n unlockScrollRef.current = null;\n }\n\n if (isClosing) {\n cleanupAnimation();\n setIsClosing(false);\n\n const dialog = dialogRef.current;\n if (dialog) {\n dialog.classList.remove('closing');\n }\n }\n\n if (previousActiveElementRef.current) {\n try {\n previousActiveElementRef.current.focus();\n } catch {\n // focus() on a disconnected node — ignore\n }\n previousActiveElementRef.current = null;\n }\n }\n\n return () => {\n if (focusRafRef.current !== null) {\n cancelAnimationFrame(focusRafRef.current);\n focusRafRef.current = null;\n }\n };\n }, [isOpen, isClosing, initialFocusRef, cleanupAnimation]);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n cleanupAnimation();\n\n if (focusRafRef.current !== null) {\n cancelAnimationFrame(focusRafRef.current);\n focusRafRef.current = null;\n }\n\n if (unlockScrollRef.current) {\n unlockScrollRef.current();\n unlockScrollRef.current = null;\n }\n };\n }, [cleanupAnimation]);\n\n return {\n dialogRef,\n isOpen,\n isClosing,\n openDialog,\n closeDialog,\n toggleDialog,\n dialogProps: {\n ref: dialogRef,\n open: isOpen,\n onKeyDown: handleKeyDown,\n },\n handleBackdropClick,\n };\n}\n","/**\n * Default user-facing strings shared by `<Dialog>`, `<Drawer>`, and\n * `<AlertDialog>` overlays.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <Dialog strings={{ confirm: t('common.confirm') }} … />\n */\n\nexport interface OverlayStrings {\n\tconfirm: string;\n\tcancel: string;\n\tclose: string;\n\tloading: string;\n}\n\nexport const defaultOverlayStrings: OverlayStrings = {\n\tconfirm: 'Confirm',\n\tcancel: 'Cancel',\n\tclose: 'Close',\n\tloading: 'Loading...',\n};\n\nexport const defaultAlertDialogStrings: OverlayStrings = {\n\tconfirm: 'Continue',\n\tcancel: 'Cancel',\n\tclose: 'Close',\n\tloading: 'Loading...',\n};\n","import { useCallback, useMemo, useState } from 'react';\n\nimport { useStrings, type StringsProp } from '@/lib/strings';\n\nimport {\n\tdefaultOverlayStrings,\n\ttype OverlayStrings,\n} from '../overlays.strings';\nimport type {\n\tButtonVariant,\n\tOverlayActionProps,\n\tOverlayTone,\n} from '../overlays.types';\n\nexport interface UseOverlayActionsOptions\n\textends Pick<\n\t\tOverlayActionProps,\n\t\t| 'onConfirm'\n\t\t| 'onAsyncConfirm'\n\t\t| 'closeOnAsyncComplete'\n\t\t| 'confirmVariant'\n\t\t| 'isLoading'\n\t\t| 'formId'\n\t> {\n\tcloseDialog: () => void;\n\tonCancel?: () => void;\n\tcustomStrings?: StringsProp<OverlayStrings>;\n\temphasis?: boolean;\n\ttone?: OverlayTone;\n\t/** Called when `onAsyncConfirm` throws. Library DEV-logs the error;\n\t * consumer wires telemetry. */\n\tonError?: (error: unknown) => void;\n}\n\nexport interface UseOverlayActionsReturn {\n\tstrings: OverlayStrings;\n\tisExecuting: boolean;\n\thandleConfirm: () => Promise<void>;\n\thandleCancel: () => void;\n\tfinalConfirmVariant: ButtonVariant;\n\tconfirmButtonOnClick: (() => Promise<void>) | undefined;\n\teffectiveLoading: boolean;\n}\n\nexport function useOverlayActions({\n\tcloseDialog,\n\tonConfirm,\n\tonAsyncConfirm,\n\tcloseOnAsyncComplete = true,\n\tconfirmVariant = 'primary',\n\tisLoading = false,\n\tformId,\n\tonCancel,\n\tcustomStrings,\n\temphasis = false,\n\ttone = 'default',\n\tonError,\n}: UseOverlayActionsOptions): UseOverlayActionsReturn {\n\tconst strings = useStrings(defaultOverlayStrings, customStrings);\n\n\tconst [isExecuting, setIsExecuting] = useState(false);\n\n\tconst handleConfirm = useCallback(async () => {\n\t\tif (onConfirm) {\n\t\t\tonConfirm();\n\t\t\tcloseDialog();\n\t\t\treturn;\n\t\t}\n\n\t\tif (onAsyncConfirm) {\n\t\t\tsetIsExecuting(true);\n\t\t\ttry {\n\t\t\t\tawait onAsyncConfirm();\n\t\t\t\tif (closeOnAsyncComplete) {\n\t\t\t\t\tcloseDialog();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\t\tconsole.error('Overlay async confirm failed:', error);\n\t\t\t\t}\n\t\t\t\tonError?.(error);\n\t\t\t} finally {\n\t\t\t\tsetIsExecuting(false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tcloseDialog();\n\t}, [onConfirm, onAsyncConfirm, closeOnAsyncComplete, closeDialog, onError]);\n\n\tconst handleCancel = useCallback(() => {\n\t\tonCancel?.();\n\t\tcloseDialog();\n\t}, [onCancel, closeDialog]);\n\n\tconst handleFormSubmit = useCallback(async () => {\n\t\tif (!formId) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst form = document.getElementById(formId);\n\n\t\tif (!(form instanceof HTMLFormElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tform.requestSubmit();\n\t}, [formId]);\n\n\tconst finalConfirmVariant = useMemo<ButtonVariant>(() => {\n\t\tif (!emphasis) return confirmVariant ?? 'primary';\n\t\tif (tone === 'error') return 'error';\n\t\tif (tone === 'warning') return 'warning';\n\t\tif (tone === 'success') return 'success';\n\t\treturn confirmVariant ?? 'primary';\n\t}, [emphasis, tone, confirmVariant]);\n\n\tconst confirmButtonOnClick = formId ? handleFormSubmit : handleConfirm;\n\n\treturn {\n\t\tstrings,\n\t\tisExecuting,\n\t\thandleConfirm,\n\t\thandleCancel,\n\t\tfinalConfirmVariant,\n\t\tconfirmButtonOnClick,\n\t\teffectiveLoading: isExecuting || isLoading,\n\t};\n}\n","import {\n\tAlertCircle,\n\tAlertTriangle,\n\tCheckCircle,\n\tHelpCircle,\n\tInfo,\n\tX,\n} from 'lucide-react';\nimport React, { cloneElement, isValidElement, memo, useId, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useNativeDialog, useOverlayActions } from './hooks';\nimport type { DialogProps, OverlaySize, OverlayTone } from './overlays.types';\n\nconst SIZE_CLASSES: Record<OverlaySize, string> = {\n\txs: 'max-w-xs',\n\tsm: 'max-w-sm',\n\tmd: 'max-w-md',\n\tlg: 'max-w-lg',\n\txl: 'max-w-xl',\n\t'2xl': 'max-w-2xl',\n\t'3xl': 'max-w-3xl',\n\t'4xl': 'max-w-4xl',\n\t'5xl': 'max-w-5xl',\n\tfull: 'max-w-[calc(100vw-2rem)]',\n};\n\nconst TONE_STYLES: Record<OverlayTone, { icon: ReactNode; classes: string }> = {\n\tdefault: {\n\t\ticon: <HelpCircle className=\"text-muted-foreground h-5 w-5\" />,\n\t\tclasses: '',\n\t},\n\terror: {\n\t\ticon: <AlertCircle className=\"text-destructive h-5 w-5\" />,\n\t\tclasses: 'border-destructive/50',\n\t},\n\twarning: {\n\t\ticon: <AlertTriangle className=\"text-warning h-5 w-5\" />,\n\t\tclasses: 'border-warning/50',\n\t},\n\tinfo: {\n\t\ticon: <Info className=\"text-info h-5 w-5\" />,\n\t\tclasses: 'border-info/50',\n\t},\n\tsuccess: {\n\t\ticon: <CheckCircle className=\"text-success h-5 w-5\" />,\n\t\tclasses: 'border-success/50',\n\t},\n};\n\nfunction DialogImpl({\n\topen,\n\tonOpenChange,\n\tonClose,\n\tchildren,\n\ttitle,\n\tdescription,\n\tvisuallyHideHeader = false,\n\tclassName,\n\tcontentClassName,\n\tinitialFocusRef,\n\tcloseOnEscape = true,\n\tcloseOnBackdropClick = true,\n\tstrings: customStrings,\n\tshowCancel = true,\n\tshowConfirm = true,\n\tonCancel,\n\tonConfirm,\n\tonAsyncConfirm,\n\tcloseOnAsyncComplete = true,\n\tconfirmVariant = 'primary',\n\tconfirmStyle = 'solid',\n\tisLoading = false,\n\tformId,\n\tfooter,\n\temphasis = false,\n\ttone = 'default',\n\tshowIcon = false,\n\talertMessage,\n\tsize = 'lg',\n\ttrigger,\n}: DialogProps) {\n\tconst dialogTitleId = useId();\n\tconst dialogDescriptionId = useId();\n\tconst ariaLabelledBy = title ? dialogTitleId : undefined;\n\tconst ariaDescribedBy = description ? dialogDescriptionId : undefined;\n\n\tconst {\n\t\tisOpen,\n\t\tisClosing,\n\t\topenDialog,\n\t\tcloseDialog,\n\t\tdialogProps,\n\t\thandleBackdropClick,\n\t} = useNativeDialog({\n\t\topen,\n\t\tonOpenChange,\n\t\tonClose,\n\t\tcloseOnEscape,\n\t\tcloseOnBackdropClick,\n\t\tinitialFocusRef,\n\t});\n\n\tconst {\n\t\tstrings,\n\t\tfinalConfirmVariant,\n\t\tconfirmButtonOnClick,\n\t\teffectiveLoading,\n\t\thandleCancel,\n\t} = useOverlayActions({\n\t\tcloseDialog,\n\t\tonConfirm,\n\t\tonAsyncConfirm,\n\t\tcloseOnAsyncComplete,\n\t\tconfirmVariant,\n\t\tisLoading,\n\t\tformId,\n\t\tonCancel,\n\t\tcustomStrings,\n\t\temphasis,\n\t\ttone,\n\t});\n\n\tconst toneStyles = TONE_STYLES[tone];\n\tconst hasContent = Boolean(children || alertMessage);\n\tconst hasFooter = showCancel || showConfirm || footer;\n\n\tconst triggerElement =\n\t\ttrigger && isValidElement<Record<string, unknown>>(trigger) ? (\n\t\t\tcloneElement(trigger, {\n\t\t\t\tonClick: (e: React.MouseEvent) => {\n\t\t\t\t\tconst original = trigger.props.onClick as\n\t\t\t\t\t\t| ((e: React.MouseEvent) => void)\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\toriginal?.(e);\n\t\t\t\t\topenDialog();\n\t\t\t\t},\n\t\t\t})\n\t\t) : trigger ? (\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tonClick={openDialog}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\topenDialog();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t>\n\t\t\t\t{trigger}\n\t\t\t</span>\n\t\t) : null;\n\n\tif (!isOpen && !isClosing && !trigger) return null;\n\n\treturn (\n\t\t<>\n\t\t\t{triggerElement}\n\n\t\t\t{!!(isOpen || isClosing) &&\n\t\t\t\tcreatePortal(\n\t\t\t\t\t<div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'absolute inset-0 bg-foreground/50 backdrop-blur-[1px]',\n\t\t\t\t\t\t\t\t'transition-opacity duration-200',\n\t\t\t\t\t\t\t\tisClosing\n\t\t\t\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t\t\t\t: 'animate-in fade-in-0 duration-200',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<dialog\n\t\t\t\t\t\t\t{...dialogProps}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'dialog--component relative z-10 m-0 p-0',\n\t\t\t\t\t\t\t\t'rounded-lg border shadow-lg',\n\t\t\t\t\t\t\t\t'bg-background text-foreground',\n\t\t\t\t\t\t\t\t'max-h-[90vh] w-full',\n\t\t\t\t\t\t\t\t'flex flex-col',\n\t\t\t\t\t\t\t\tSIZE_CLASSES[size],\n\t\t\t\t\t\t\t\t'animate-in fade-in-0 zoom-in-95 duration-200',\n\t\t\t\t\t\t\t\t'[&.closing]:animate-out [&.closing]:fade-out-0 [&.closing]:zoom-out-95 [&.closing]:duration-150',\n\t\t\t\t\t\t\t\t'outline-none focus-visible:outline-none',\n\t\t\t\t\t\t\t\temphasis && toneStyles.classes,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\tonClick={closeDialog}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'absolute right-3 top-3 z-10 size-7 rounded-md p-0',\n\t\t\t\t\t\t\t\t\t'text-muted-foreground transition-colors',\n\t\t\t\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t\t\t\t'disabled:pointer-events-none',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\taria-label={strings.close}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t{!!(title || description) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex gap-3 px-6 pb-4 pt-6',\n\t\t\t\t\t\t\t\t\t\tshowIcon && 'items-start',\n\t\t\t\t\t\t\t\t\t\tvisuallyHideHeader && 'sr-only',\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{!!showIcon && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0 pt-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t{toneStyles.icon}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t\t\t\t\t\t{!!title && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={dialogTitleId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"pr-6\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={dialogDescriptionId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mt-1\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!hasContent && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex-1 overflow-auto px-6',\n\t\t\t\t\t\t\t\t\t\ttitle || description\n\t\t\t\t\t\t\t\t\t\t\t? visuallyHideHeader\n\t\t\t\t\t\t\t\t\t\t\t\t? 'py-6'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'pb-6'\n\t\t\t\t\t\t\t\t\t\t\t: 'py-6',\n\t\t\t\t\t\t\t\t\t\tcontentClassName,\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{!!alertMessage && (\n\t\t\t\t\t\t\t\t\t\t<div\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\t'mb-4 rounded-md border p-3',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'error' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-destructive/30 bg-destructive/5',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'warning' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-warning/40 bg-warning/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'info' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-info/40 bg-info/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'success' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-success/40 bg-success/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'default' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-border bg-muted/40',\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<Text\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{alertMessage}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!hasFooter && (\n\t\t\t\t\t\t\t\t<div className=\"border-t px-6 py-4\">\n\t\t\t\t\t\t\t\t\t{footer ?? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col-reverse gap-3 sm:flex-row sm:justify-end\">\n\t\t\t\t\t\t\t\t\t\t\t{!!showCancel && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.cancel}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!!showConfirm && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={finalConfirmVariant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle={confirmStyle}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={confirmButtonOnClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloading={effectiveLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloadingLabels={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: strings.loading,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.confirm}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</dialog>\n\t\t\t\t\t</div>,\n\t\t\t\t\tdocument.body,\n\t\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const Dialog = memo(DialogImpl);\nDialog.displayName = 'Dialog';\n","import {\n\tAlertCircle,\n\tAlertTriangle,\n\tCheckCircle,\n\tHelpCircle,\n\tInfo,\n\tX,\n} from 'lucide-react';\nimport React, { cloneElement, isValidElement, memo, useId, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport { useNativeDialog, useOverlayActions } from './hooks';\nimport type { DrawerDirection, DrawerProps, OverlaySize, OverlayTone } from './overlays.types';\n\nconst WIDTH_CLASSES: Record<OverlaySize, string> = {\n\txs: 'max-w-xs',\n\tsm: 'max-w-sm',\n\tmd: 'max-w-md',\n\tlg: 'max-w-lg',\n\txl: 'max-w-xl',\n\t'2xl': 'max-w-2xl',\n\t'3xl': 'max-w-3xl',\n\t'4xl': 'max-w-4xl',\n\t'5xl': 'max-w-5xl',\n\tfull: 'max-w-[calc(100vw-2rem)]',\n};\n\nconst DIRECTION_STYLES: Record<\n\tDrawerDirection,\n\t{ position: string; size: string; animation: string; rounded: string }\n> = {\n\tright: {\n\t\tposition: 'fixed top-0 right-0 bottom-0',\n\t\tsize: 'h-full',\n\t\tanimation:\n\t\t\t'animate-in slide-in-from-right duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-right [&.closing]:duration-200',\n\t\trounded: 'rounded-l-xl',\n\t},\n\tleft: {\n\t\tposition: 'fixed top-0 left-0 bottom-0',\n\t\tsize: 'h-full',\n\t\tanimation:\n\t\t\t'animate-in slide-in-from-left duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-left [&.closing]:duration-200',\n\t\trounded: 'rounded-r-xl',\n\t},\n\ttop: {\n\t\tposition: 'fixed top-0 left-0 right-0',\n\t\tsize: 'w-full',\n\t\tanimation:\n\t\t\t'animate-in slide-in-from-top duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-top [&.closing]:duration-200',\n\t\trounded: 'rounded-b-xl',\n\t},\n\tbottom: {\n\t\tposition: 'fixed bottom-0 left-0 right-0',\n\t\tsize: 'w-full',\n\t\tanimation:\n\t\t\t'animate-in slide-in-from-bottom duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-bottom [&.closing]:duration-200',\n\t\trounded: 'rounded-t-xl',\n\t},\n};\n\nconst TONE_ICONS: Record<OverlayTone, ReactNode> = {\n\tdefault: <HelpCircle className=\"text-muted-foreground h-5 w-5\" />,\n\terror: <AlertCircle className=\"text-destructive h-5 w-5\" />,\n\twarning: <AlertTriangle className=\"text-warning h-5 w-5\" />,\n\tinfo: <Info className=\"text-info h-5 w-5\" />,\n\tsuccess: <CheckCircle className=\"text-success h-5 w-5\" />,\n};\n\nfunction DrawerImpl({\n\topen,\n\tonOpenChange,\n\tonClose,\n\tchildren,\n\ttitle,\n\tdescription,\n\tvisuallyHideHeader = false,\n\tclassName,\n\tcontentClassName,\n\tinitialFocusRef,\n\tcloseOnEscape = true,\n\tcloseOnBackdropClick = true,\n\tstrings: customStrings,\n\tshowCancel = true,\n\tshowConfirm = true,\n\tonCancel,\n\tonConfirm,\n\tonAsyncConfirm,\n\tcloseOnAsyncComplete = true,\n\tconfirmVariant = 'primary',\n\tconfirmStyle = 'solid',\n\tisLoading = false,\n\tformId,\n\tfooter,\n\temphasis = false,\n\ttone = 'default',\n\tshowIcon = false,\n\talertMessage,\n\tdirection = 'right',\n\twidth = 'lg',\n\tshowFooter = true,\n\ttrigger,\n}: DrawerProps) {\n\tconst drawerTitleId = useId();\n\tconst drawerDescriptionId = useId();\n\tconst ariaLabelledBy = title ? drawerTitleId : undefined;\n\tconst ariaDescribedBy = description ? drawerDescriptionId : undefined;\n\n\tconst {\n\t\tisOpen,\n\t\tisClosing,\n\t\topenDialog,\n\t\tcloseDialog,\n\t\tdialogProps,\n\t\thandleBackdropClick,\n\t} = useNativeDialog({\n\t\topen,\n\t\tonOpenChange,\n\t\tonClose,\n\t\tcloseOnEscape,\n\t\tcloseOnBackdropClick,\n\t\tinitialFocusRef,\n\t});\n\n\tconst {\n\t\tstrings,\n\t\tfinalConfirmVariant,\n\t\tconfirmButtonOnClick,\n\t\teffectiveLoading,\n\t\thandleCancel,\n\t} = useOverlayActions({\n\t\tcloseDialog,\n\t\tonConfirm,\n\t\tonAsyncConfirm,\n\t\tcloseOnAsyncComplete,\n\t\tconfirmVariant,\n\t\tisLoading,\n\t\tformId,\n\t\tonCancel,\n\t\tcustomStrings,\n\t\temphasis,\n\t\ttone,\n\t});\n\n\tconst directionStyles = DIRECTION_STYLES[direction];\n\tconst isHorizontal = direction === 'left' || direction === 'right';\n\tconst hasContent = Boolean(children || alertMessage);\n\tconst hasFooter = showFooter && (showCancel || showConfirm || footer);\n\n\tconst triggerElement =\n\t\ttrigger && isValidElement<Record<string, unknown>>(trigger) ? (\n\t\t\tcloneElement(trigger, {\n\t\t\t\tonClick: (e: React.MouseEvent) => {\n\t\t\t\t\tconst original = trigger.props.onClick as\n\t\t\t\t\t\t| ((e: React.MouseEvent) => void)\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\toriginal?.(e);\n\t\t\t\t\topenDialog();\n\t\t\t\t},\n\t\t\t})\n\t\t) : trigger ? (\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tonClick={openDialog}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\topenDialog();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t>\n\t\t\t\t{trigger}\n\t\t\t</span>\n\t\t) : null;\n\n\tif (!isOpen && !isClosing && !trigger) return null;\n\n\treturn (\n\t\t<>\n\t\t\t{triggerElement}\n\n\t\t\t{!!(isOpen || isClosing) &&\n\t\t\t\tcreatePortal(\n\t\t\t\t\t<div className=\"fixed inset-0 z-50\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'absolute inset-0 bg-foreground/50 backdrop-blur-[1px]',\n\t\t\t\t\t\t\t\t'transition-opacity duration-300',\n\t\t\t\t\t\t\t\tisClosing\n\t\t\t\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t\t\t\t: 'animate-in fade-in-0 duration-300',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<dialog\n\t\t\t\t\t\t\t{...dialogProps}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'drawer--component inset-auto m-0 p-0',\n\t\t\t\t\t\t\t\tdirectionStyles.position,\n\t\t\t\t\t\t\t\tdirectionStyles.size,\n\t\t\t\t\t\t\t\t'border shadow-xl',\n\t\t\t\t\t\t\t\t'bg-background text-foreground',\n\t\t\t\t\t\t\t\tdirectionStyles.rounded,\n\t\t\t\t\t\t\t\tisHorizontal && 'w-full',\n\t\t\t\t\t\t\t\tisHorizontal && WIDTH_CLASSES[width],\n\t\t\t\t\t\t\t\t!isHorizontal && 'max-h-[85vh]',\n\t\t\t\t\t\t\t\tdirectionStyles.animation,\n\t\t\t\t\t\t\t\t'outline-none focus-visible:outline-none',\n\t\t\t\t\t\t\t\t'flex flex-col',\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\t\tonClick={closeDialog}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'absolute right-4 top-4 z-10 size-7 rounded-md p-0',\n\t\t\t\t\t\t\t\t\t'text-muted-foreground transition-colors',\n\t\t\t\t\t\t\t\t\t'hover:bg-muted hover:text-foreground',\n\t\t\t\t\t\t\t\t\t'disabled:pointer-events-none',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\taria-label={strings.close}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t\t{!!(title || description) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex items-start gap-3 px-6 pb-4 pt-6',\n\t\t\t\t\t\t\t\t\t\tvisuallyHideHeader && 'sr-only',\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{!!showIcon && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0 pt-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t{TONE_ICONS[tone]}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1 pr-6\">\n\t\t\t\t\t\t\t\t\t\t{!!title && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={drawerTitleId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={drawerDescriptionId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mt-1\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!hasContent && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex-1 overflow-auto px-6',\n\t\t\t\t\t\t\t\t\t\ttitle || description ? 'pb-6' : 'py-6',\n\t\t\t\t\t\t\t\t\t\tcontentClassName,\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{!!alertMessage && (\n\t\t\t\t\t\t\t\t\t\t<div\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\t'mb-4 rounded-md border p-3',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'error' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-destructive/30 bg-destructive/5',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'warning' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-warning/40 bg-warning/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'info' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-info/40 bg-info/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'success' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-success/40 bg-success/10',\n\t\t\t\t\t\t\t\t\t\t\t\ttone === 'default' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t'border-border bg-muted/40',\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<Text\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{alertMessage}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!hasFooter && (\n\t\t\t\t\t\t\t\t<div className=\"border-t px-6 py-4\">\n\t\t\t\t\t\t\t\t\t{footer ?? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col-reverse gap-3 sm:flex-row sm:justify-end\">\n\t\t\t\t\t\t\t\t\t\t\t{!!showCancel && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.cancel}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!!showConfirm && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={finalConfirmVariant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle={confirmStyle}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={confirmButtonOnClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloading={effectiveLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloadingLabels={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: strings.loading,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.confirm}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</dialog>\n\t\t\t\t\t</div>,\n\t\t\t\t\tdocument.body,\n\t\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const Drawer = memo(DrawerImpl);\nDrawer.displayName = 'Drawer';\n","import { AlertCircle, AlertTriangle, CheckCircle, HelpCircle, Info } from 'lucide-react';\nimport React, {\n\tcloneElement,\n\tisValidElement,\n\tmemo,\n\tuseId,\n\tuseMemo,\n\ttype ReactNode,\n} from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useNativeDialog, useOverlayActions } from './hooks';\nimport { defaultAlertDialogStrings } from './overlays.strings';\nimport type { AlertDialogProps, OverlayTone } from './overlays.types';\n\nconst TONE_STYLES: Record<OverlayTone, { icon: ReactNode; iconColor: string }> = {\n\tdefault: {\n\t\ticon: <HelpCircle className=\"h-6 w-6\" />,\n\t\ticonColor: 'text-muted-foreground',\n\t},\n\terror: { icon: <AlertCircle className=\"h-6 w-6\" />, iconColor: 'text-destructive' },\n\twarning: {\n\t\ticon: <AlertTriangle className=\"h-6 w-6\" />,\n\t\ticonColor: 'text-warning',\n\t},\n\tinfo: {\n\t\ticon: <Info className=\"h-6 w-6\" />,\n\t\ticonColor: 'text-info',\n\t},\n\tsuccess: {\n\t\ticon: <CheckCircle className=\"h-6 w-6\" />,\n\t\ticonColor: 'text-success',\n\t},\n};\n\nfunction AlertDialogImpl({\n\topen,\n\tonOpenChange,\n\tonClose,\n\tchildren,\n\ttitle,\n\tdescription,\n\tvisuallyHideHeader = false,\n\tclassName,\n\tcontentClassName,\n\tinitialFocusRef,\n\tcloseOnEscape = true,\n\tcloseOnBackdropClick = false,\n\tstrings: customStrings,\n\tshowCancel = true,\n\tshowConfirm = true,\n\tonCancel,\n\tonConfirm,\n\tonAsyncConfirm,\n\tcloseOnAsyncComplete = true,\n\tconfirmVariant,\n\tconfirmStyle = 'solid',\n\tisLoading = false,\n\tformId,\n\tfooter,\n\ttone = 'default',\n\tshowIcon = true,\n\talertMessage,\n\ttrigger,\n\tdestructive = false,\n}: AlertDialogProps) {\n\tconst alertTitleId = useId();\n\tconst alertDescriptionId = useId();\n\tconst ariaLabelledBy = title ? alertTitleId : undefined;\n\tconst ariaDescribedBy = description ? alertDescriptionId : undefined;\n\n\tconst {\n\t\tisOpen,\n\t\tisClosing,\n\t\topenDialog,\n\t\tcloseDialog,\n\t\tdialogProps,\n\t\thandleBackdropClick,\n\t} = useNativeDialog({\n\t\topen,\n\t\tonOpenChange,\n\t\tonClose,\n\t\tcloseOnEscape,\n\t\tcloseOnBackdropClick,\n\t\tinitialFocusRef,\n\t});\n\n\tconst mergedStrings = useStrings(defaultAlertDialogStrings, customStrings);\n\n\tconst resolvedConfirmVariant = useMemo(() => {\n\t\tif (destructive) return 'error' as const;\n\t\tif (confirmVariant) return confirmVariant;\n\t\tconst toneMap: Record<OverlayTone, string> = {\n\t\t\tdefault: 'primary',\n\t\t\terror: 'error',\n\t\t\twarning: 'warning',\n\t\t\tinfo: 'primary',\n\t\t\tsuccess: 'success',\n\t\t};\n\t\treturn toneMap[tone] as 'primary' | 'error' | 'warning' | 'success';\n\t}, [destructive, confirmVariant, tone]);\n\n\tconst { strings, confirmButtonOnClick, effectiveLoading, handleCancel } =\n\t\tuseOverlayActions({\n\t\t\tcloseDialog,\n\t\t\tonConfirm,\n\t\t\tonAsyncConfirm,\n\t\t\tcloseOnAsyncComplete,\n\t\t\tconfirmVariant: resolvedConfirmVariant,\n\t\t\tisLoading,\n\t\t\tformId,\n\t\t\tonCancel,\n\t\t\tcustomStrings: mergedStrings,\n\t\t});\n\n\tconst toneStyles = TONE_STYLES[tone];\n\n\tconst triggerElement =\n\t\ttrigger && isValidElement<Record<string, unknown>>(trigger) ? (\n\t\t\tcloneElement(trigger, {\n\t\t\t\tonClick: (e: React.MouseEvent) => {\n\t\t\t\t\tconst original = trigger.props.onClick as\n\t\t\t\t\t\t| ((e: React.MouseEvent) => void)\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\toriginal?.(e);\n\t\t\t\t\topenDialog();\n\t\t\t\t},\n\t\t\t})\n\t\t) : trigger ? (\n\t\t\t<span\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t\tonClick={openDialog}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\topenDialog();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t>\n\t\t\t\t{trigger}\n\t\t\t</span>\n\t\t) : null;\n\n\tif (!isOpen && !isClosing && !trigger) return null;\n\n\treturn (\n\t\t<>\n\t\t\t{triggerElement}\n\n\t\t\t{!!(isOpen || isClosing) &&\n\t\t\t\tcreatePortal(\n\t\t\t\t\t<div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'absolute inset-0 bg-foreground/50 backdrop-blur-[1px]',\n\t\t\t\t\t\t\t\t'transition-opacity duration-200',\n\t\t\t\t\t\t\t\tisClosing\n\t\t\t\t\t\t\t\t\t? 'opacity-0'\n\t\t\t\t\t\t\t\t\t: 'animate-in fade-in-0 duration-200',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<dialog\n\t\t\t\t\t\t\t{...dialogProps}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'alert-dialog--component relative z-10 m-0 w-full max-w-md p-0',\n\t\t\t\t\t\t\t\t'max-h-[90vh] flex flex-col',\n\t\t\t\t\t\t\t\t'rounded-lg border shadow-lg',\n\t\t\t\t\t\t\t\t'bg-background text-foreground',\n\t\t\t\t\t\t\t\t'animate-in fade-in-0 zoom-in-95 duration-200',\n\t\t\t\t\t\t\t\t'[&.closing]:animate-out [&.closing]:fade-out-0 [&.closing]:zoom-out-95 [&.closing]:duration-150',\n\t\t\t\t\t\t\t\t'outline-none focus-visible:outline-none',\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trole=\"alertdialog\"\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"flex-1 overflow-auto p-6\">\n\t\t\t\t\t\t\t\t{!!showIcon && !visuallyHideHeader && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'error' && 'bg-destructive/10',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'warning' && 'bg-warning/15',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'info' && 'bg-info/15',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'success' && 'bg-success/15',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'default' && 'bg-muted',\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<span className={toneStyles.iconColor}>\n\t\t\t\t\t\t\t\t\t\t\t{toneStyles.icon}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{!!(title || description) && (\n\t\t\t\t\t\t\t\t\t<div className={cn(visuallyHideHeader && 'sr-only')}>\n\t\t\t\t\t\t\t\t\t\t{!!title && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={alertTitleId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\tid={alertDescriptionId}\n\t\t\t\t\t\t\t\t\t\t\t\ttag=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mt-2\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{!!alertMessage && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'mt-4 rounded-md border p-3 text-left',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'error' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'border-destructive/30 bg-destructive/5',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'warning' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'border-warning/40 bg-warning/10',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'info' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'border-info/40 bg-info/10',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'success' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'border-success/40 bg-success/10',\n\t\t\t\t\t\t\t\t\t\t\ttone === 'default' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'border-border bg-muted/40',\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<Text tag=\"p\">\n\t\t\t\t\t\t\t\t\t\t\t{alertMessage}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{!!children && (\n\t\t\t\t\t\t\t\t\t<div className={cn('mt-4', contentClassName)}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{!!(showCancel || showConfirm || footer) && (\n\t\t\t\t\t\t\t\t<div className=\"border-t px-6 py-4\">\n\t\t\t\t\t\t\t\t\t{footer ?? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col-reverse gap-3 sm:flex-row sm:justify-end\">\n\t\t\t\t\t\t\t\t\t\t\t{!!showCancel && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full sm:w-auto\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.cancel}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!!showConfirm && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={resolvedConfirmVariant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle={confirmStyle}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={confirmButtonOnClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloading={effectiveLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\tloadingLabels={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: strings.loading,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full sm:w-auto\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.confirm}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</dialog>\n\t\t\t\t\t</div>,\n\t\t\t\t\tdocument.body,\n\t\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const AlertDialog = memo(AlertDialogImpl);\nAlertDialog.displayName = 'AlertDialog';\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("../lib/utils.cjs"),r=require("./button-Bd5bEIiB.cjs"),i=require("./typography-CO9uwZhF.cjs");let a=require("react");a=e.t(a,1);let o=require("react/jsx-runtime"),s=require("lucide-react"),c=require("react-dom");var l=350,u=0;function d(){if(u===0){let e=window.innerWidth-document.documentElement.clientWidth;document.body.style.setProperty(`--overlay-scrollbar-width`,`${e}px`),document.documentElement.setAttribute(`data-overlay-scroll-locked`,``)}u+=1;let e=!1;return()=>{e||(e=!0,u=Math.max(0,u-1),!(u>0)&&(document.documentElement.removeAttribute(`data-overlay-scroll-locked`),document.body.style.removeProperty(`--overlay-scrollbar-width`)))}}function f({open:e,onOpenChange:t,onClose:n,closeOnEscape:r=!0,closeOnBackdropClick:i=!0,initialFocusRef:o}={}){let s=(0,a.useRef)(null),[c,u]=(0,a.useState)(!1),[f,p]=(0,a.useState)(!1),m=(0,a.useRef)(null),h=(0,a.useRef)(null),g=(0,a.useRef)(null),_=(0,a.useRef)(null),v=(0,a.useRef)(null),y=(0,a.useRef)(!1),b=e!==void 0,x=b?e:c,S=(0,a.useRef)(x);S.current=x;let C=(0,a.useRef)(f);C.current=f;let w=(0,a.useCallback)(e=>{b||u(e),t?.(e),e||n?.()},[b,t,n]),T=(0,a.useCallback)(()=>{g.current&&=(clearTimeout(g.current),null),_.current&&=(_.current(),null)},[]),E=(0,a.useCallback)(()=>{T(),y.current=!0;let e=m.current;m.current=null;let t=h.current;h.current=null;try{e?.()}catch{}try{w(!1)}catch{}p(!1);let n=s.current;n&&n.classList.remove(`closing`);try{t?.focus()}catch{}},[T,w]),D=(0,a.useCallback)(()=>{S.current||C.current||(h.current=document.activeElement,m.current=d(),w(!0),v.current=requestAnimationFrame(()=>{v.current=null,o?.current?o.current.focus():s.current?.focus()}))},[w,o]),O=(0,a.useCallback)(()=>{let e=s.current;if(!(!e||!S.current||C.current))if(p(!0),e.classList.add(`closing`),e.offsetHeight,getComputedStyle(e).animationName!==`none`){let t=()=>{E()};e.addEventListener(`animationend`,t,{once:!0}),_.current=()=>{e.removeEventListener(`animationend`,t)},g.current=setTimeout(()=>{E()},l)}else E()},[E]),k=(0,a.useCallback)(()=>{x?O():D()},[x,D,O]),A=(0,a.useCallback)(e=>{e.key===`Escape`&&r&&(e.preventDefault(),e.stopPropagation(),O())},[r,O]),j=(0,a.useCallback)(()=>{i&&O()},[i,O]);return(0,a.useEffect)(()=>{if(x&&!f)h.current||=document.activeElement,m.current||=d(),v.current!==null&&cancelAnimationFrame(v.current),v.current=requestAnimationFrame(()=>{v.current=null,o?.current?o.current.focus():s.current?.focus()});else if(!x){if(y.current){y.current=!1;return}if(m.current&&=(m.current(),null),f){T(),p(!1);let e=s.current;e&&e.classList.remove(`closing`)}if(h.current){try{h.current.focus()}catch{}h.current=null}}return()=>{v.current!==null&&(cancelAnimationFrame(v.current),v.current=null)}},[x,f,o,T]),(0,a.useEffect)(()=>()=>{T(),v.current!==null&&(cancelAnimationFrame(v.current),v.current=null),m.current&&=(m.current(),null)},[T]),{dialogRef:s,isOpen:x,isClosing:f,openDialog:D,closeDialog:O,toggleDialog:k,dialogProps:{ref:s,open:x,onKeyDown:A},handleBackdropClick:j}}var p={confirm:`Confirm`,cancel:`Cancel`,close:`Close`,loading:`Loading...`},m={confirm:`Continue`,cancel:`Cancel`,close:`Close`,loading:`Loading...`};function h({closeDialog:e,onConfirm:n,onAsyncConfirm:r,closeOnAsyncComplete:i=!0,confirmVariant:o=`primary`,isLoading:s=!1,formId:c,onCancel:l,customStrings:u,emphasis:d=!1,tone:f=`default`,onError:m}){let h=t.useStrings(p,u),[g,_]=(0,a.useState)(!1),v=(0,a.useCallback)(async()=>{if(n){n(),e();return}if(r){_(!0);try{await r(),i&&e()}catch(e){m?.(e)}finally{_(!1)}return}e()},[n,r,i,e,m]),y=(0,a.useCallback)(()=>{l?.(),e()},[l,e]),b=(0,a.useCallback)(async()=>{if(!c)return;let e=document.getElementById(c);e instanceof HTMLFormElement&&e.requestSubmit()},[c]);return{strings:h,isExecuting:g,handleConfirm:v,handleCancel:y,finalConfirmVariant:(0,a.useMemo)(()=>d?f===`error`?`error`:f===`warning`?`warning`:f===`success`?`success`:o??`primary`:o??`primary`,[d,f,o]),confirmButtonOnClick:c?b:v,effectiveLoading:g||s}}var g={xs:`max-w-xs`,sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-xl`,"2xl":`max-w-2xl`,"3xl":`max-w-3xl`,"4xl":`max-w-4xl`,"5xl":`max-w-5xl`,full:`max-w-[calc(100vw-2rem)]`},_={default:{icon:(0,o.jsx)(s.HelpCircle,{className:`text-muted-foreground h-5 w-5`}),classes:``},error:{icon:(0,o.jsx)(s.AlertCircle,{className:`text-destructive h-5 w-5`}),classes:`border-destructive/50`},warning:{icon:(0,o.jsx)(s.AlertTriangle,{className:`text-warning h-5 w-5`}),classes:`border-warning/50`},info:{icon:(0,o.jsx)(s.Info,{className:`text-info h-5 w-5`}),classes:`border-info/50`},success:{icon:(0,o.jsx)(s.CheckCircle,{className:`text-success h-5 w-5`}),classes:`border-success/50`}};function v({open:e,onOpenChange:t,onClose:l,children:u,title:d,description:p,visuallyHideHeader:m=!1,className:v,contentClassName:y,initialFocusRef:b,closeOnEscape:x=!0,closeOnBackdropClick:S=!0,strings:C,showCancel:w=!0,showConfirm:T=!0,onCancel:E,onConfirm:D,onAsyncConfirm:O,closeOnAsyncComplete:k=!0,confirmVariant:A=`primary`,confirmStyle:j=`solid`,isLoading:ee=!1,formId:te,footer:M,emphasis:N=!1,tone:P=`default`,showIcon:F=!1,alertMessage:I,size:L=`lg`,trigger:R}){let z=(0,a.useId)(),B=(0,a.useId)(),V=d?z:void 0,H=p?B:void 0,{isOpen:U,isClosing:W,openDialog:G,closeDialog:K,dialogProps:q,handleBackdropClick:J}=f({open:e,onOpenChange:t,onClose:l,closeOnEscape:x,closeOnBackdropClick:S,initialFocusRef:b}),{strings:Y,finalConfirmVariant:X,confirmButtonOnClick:ne,effectiveLoading:Z,handleCancel:re}=h({closeDialog:K,onConfirm:D,onAsyncConfirm:O,closeOnAsyncComplete:k,confirmVariant:A,isLoading:ee,formId:te,onCancel:E,customStrings:C,emphasis:N,tone:P}),Q=_[P],ie=!!(u||I),ae=w||T||M,$=R&&(0,a.isValidElement)(R)?(0,a.cloneElement)(R,{onClick:e=>{let t=R.props.onClick;t?.(e),G()}}):R?(0,o.jsx)(`span`,{role:`button`,tabIndex:0,onClick:G,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),G())},className:`cursor-pointer`,children:R}):null;return!U&&!W&&!R?null:(0,o.jsxs)(o.Fragment,{children:[$,!!(U||W)&&(0,c.createPortal)((0,o.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4`,children:[(0,o.jsx)(`div`,{className:n.cn(`absolute inset-0 bg-foreground/50 backdrop-blur-[1px]`,`transition-opacity duration-200`,W?`opacity-0`:`animate-in fade-in-0 duration-200`),onClick:J,"aria-hidden":`true`}),(0,o.jsxs)(`dialog`,{...q,className:n.cn(`dialog--component relative z-10 m-0 p-0`,`rounded-lg border shadow-lg`,`bg-background text-foreground`,`max-h-[90vh] w-full`,`flex flex-col`,g[L],`animate-in fade-in-0 zoom-in-95 duration-200`,`[&.closing]:animate-out [&.closing]:fade-out-0 [&.closing]:zoom-out-95 [&.closing]:duration-150`,`outline-none focus-visible:outline-none`,N&&Q.classes,v),"aria-modal":`true`,role:`dialog`,"aria-labelledby":V,"aria-describedby":H,children:[(0,o.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,onClick:K,className:n.cn(`absolute right-3 top-3 z-10 size-7 rounded-md p-0`,`text-muted-foreground transition-colors`,`hover:bg-muted hover:text-foreground`,`disabled:pointer-events-none`),"aria-label":Y.close,children:(0,o.jsx)(s.X,{className:`h-4 w-4`})}),!!(d||p)&&(0,o.jsxs)(`div`,{className:n.cn(`flex gap-3 px-6 pb-4 pt-6`,F&&`items-start`,m&&`sr-only`),children:[!!F&&(0,o.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:Q.icon}),(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[!!d&&(0,o.jsx)(i.s,{id:z,tag:`div`,size:`lg`,weight:`semibold`,className:`pr-6`,children:d}),!!p&&(0,o.jsx)(i.s,{id:B,tag:`p`,type:`secondary`,className:`mt-1`,children:p})]})]}),!!ie&&(0,o.jsxs)(`div`,{className:n.cn(`flex-1 overflow-auto px-6`,d||p?m?`py-6`:`pb-6`:`py-6`,y),children:[!!I&&(0,o.jsx)(`div`,{className:n.cn(`mb-4 rounded-md border p-3`,P===`error`&&`border-destructive/30 bg-destructive/5`,P===`warning`&&`border-warning/40 bg-warning/10`,P===`info`&&`border-info/40 bg-info/10`,P===`success`&&`border-success/40 bg-success/10`,P==="default"&&`border-border bg-muted/40`),children:(0,o.jsx)(i.s,{tag:`p`,children:I})}),u]}),!!ae&&(0,o.jsx)(`div`,{className:`border-t px-6 py-4`,children:M??(0,o.jsxs)(`div`,{className:`flex flex-col-reverse gap-3 sm:flex-row sm:justify-end`,children:[!!w&&(0,o.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:re,children:Y.cancel}),!!T&&(0,o.jsx)(r.t,{type:`button`,variant:X,buttonStyle:j,onClick:ne,loading:Z,loadingLabels:{loading:Y.loading},children:Y.confirm})]})})]})]}),document.body)]})}var y=(0,a.memo)(v);y.displayName=`Dialog`;var b={xs:`max-w-xs`,sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-xl`,"2xl":`max-w-2xl`,"3xl":`max-w-3xl`,"4xl":`max-w-4xl`,"5xl":`max-w-5xl`,full:`max-w-[calc(100vw-2rem)]`},x={right:{position:`fixed top-0 right-0 bottom-0`,size:`h-full`,animation:`animate-in slide-in-from-right duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-right [&.closing]:duration-200`,rounded:`rounded-l-xl`},left:{position:`fixed top-0 left-0 bottom-0`,size:`h-full`,animation:`animate-in slide-in-from-left duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-left [&.closing]:duration-200`,rounded:`rounded-r-xl`},top:{position:`fixed top-0 left-0 right-0`,size:`w-full`,animation:`animate-in slide-in-from-top duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-top [&.closing]:duration-200`,rounded:`rounded-b-xl`},bottom:{position:`fixed bottom-0 left-0 right-0`,size:`w-full`,animation:`animate-in slide-in-from-bottom duration-300 [&.closing]:animate-out [&.closing]:slide-out-to-bottom [&.closing]:duration-200`,rounded:`rounded-t-xl`}},S={default:(0,o.jsx)(s.HelpCircle,{className:`text-muted-foreground h-5 w-5`}),error:(0,o.jsx)(s.AlertCircle,{className:`text-destructive h-5 w-5`}),warning:(0,o.jsx)(s.AlertTriangle,{className:`text-warning h-5 w-5`}),info:(0,o.jsx)(s.Info,{className:`text-info h-5 w-5`}),success:(0,o.jsx)(s.CheckCircle,{className:`text-success h-5 w-5`})};function C({open:e,onOpenChange:t,onClose:l,children:u,title:d,description:p,visuallyHideHeader:m=!1,className:g,contentClassName:_,initialFocusRef:v,closeOnEscape:y=!0,closeOnBackdropClick:C=!0,strings:w,showCancel:T=!0,showConfirm:E=!0,onCancel:D,onConfirm:O,onAsyncConfirm:k,closeOnAsyncComplete:A=!0,confirmVariant:j=`primary`,confirmStyle:ee=`solid`,isLoading:te=!1,formId:M,footer:N,emphasis:P=!1,tone:F=`default`,showIcon:I=!1,alertMessage:L,direction:R=`right`,width:z=`lg`,showFooter:B=!0,trigger:V}){let H=(0,a.useId)(),U=(0,a.useId)(),W=d?H:void 0,G=p?U:void 0,{isOpen:K,isClosing:q,openDialog:J,closeDialog:Y,dialogProps:X,handleBackdropClick:ne}=f({open:e,onOpenChange:t,onClose:l,closeOnEscape:y,closeOnBackdropClick:C,initialFocusRef:v}),{strings:Z,finalConfirmVariant:re,confirmButtonOnClick:Q,effectiveLoading:ie,handleCancel:ae}=h({closeDialog:Y,onConfirm:O,onAsyncConfirm:k,closeOnAsyncComplete:A,confirmVariant:j,isLoading:te,formId:M,onCancel:D,customStrings:w,emphasis:P,tone:F}),$=x[R],oe=R===`left`||R===`right`,se=!!(u||L),ce=B&&(T||E||N),le=V&&(0,a.isValidElement)(V)?(0,a.cloneElement)(V,{onClick:e=>{let t=V.props.onClick;t?.(e),J()}}):V?(0,o.jsx)(`span`,{role:`button`,tabIndex:0,onClick:J,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),J())},className:`cursor-pointer`,children:V}):null;return!K&&!q&&!V?null:(0,o.jsxs)(o.Fragment,{children:[le,!!(K||q)&&(0,c.createPortal)((0,o.jsxs)(`div`,{className:`fixed inset-0 z-50`,children:[(0,o.jsx)(`div`,{className:n.cn(`absolute inset-0 bg-foreground/50 backdrop-blur-[1px]`,`transition-opacity duration-300`,q?`opacity-0`:`animate-in fade-in-0 duration-300`),onClick:ne,"aria-hidden":`true`}),(0,o.jsxs)(`dialog`,{...X,className:n.cn(`drawer--component inset-auto m-0 p-0`,$.position,$.size,`border shadow-xl`,`bg-background text-foreground`,$.rounded,oe&&`w-full`,oe&&b[z],!oe&&`max-h-[85vh]`,$.animation,`outline-none focus-visible:outline-none`,`flex flex-col`,g),"aria-modal":`true`,role:`dialog`,"aria-labelledby":W,"aria-describedby":G,children:[(0,o.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,onClick:Y,className:n.cn(`absolute right-4 top-4 z-10 size-7 rounded-md p-0`,`text-muted-foreground transition-colors`,`hover:bg-muted hover:text-foreground`,`disabled:pointer-events-none`),"aria-label":Z.close,children:(0,o.jsx)(s.X,{className:`h-4 w-4`})}),!!(d||p)&&(0,o.jsxs)(`div`,{className:n.cn(`flex items-start gap-3 px-6 pb-4 pt-6`,m&&`sr-only`),children:[!!I&&(0,o.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:S[F]}),(0,o.jsxs)(`div`,{className:`min-w-0 flex-1 pr-6`,children:[!!d&&(0,o.jsx)(i.s,{id:H,tag:`div`,size:`lg`,weight:`semibold`,children:d}),!!p&&(0,o.jsx)(i.s,{id:U,tag:`p`,type:`secondary`,className:`mt-1`,children:p})]})]}),!!se&&(0,o.jsxs)(`div`,{className:n.cn(`flex-1 overflow-auto px-6`,d||p?`pb-6`:`py-6`,_),children:[!!L&&(0,o.jsx)(`div`,{className:n.cn(`mb-4 rounded-md border p-3`,F===`error`&&`border-destructive/30 bg-destructive/5`,F===`warning`&&`border-warning/40 bg-warning/10`,F===`info`&&`border-info/40 bg-info/10`,F===`success`&&`border-success/40 bg-success/10`,F==="default"&&`border-border bg-muted/40`),children:(0,o.jsx)(i.s,{tag:`p`,children:L})}),u]}),!!ce&&(0,o.jsx)(`div`,{className:`border-t px-6 py-4`,children:N??(0,o.jsxs)(`div`,{className:`flex flex-col-reverse gap-3 sm:flex-row sm:justify-end`,children:[!!T&&(0,o.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:ae,children:Z.cancel}),!!E&&(0,o.jsx)(r.t,{type:`button`,variant:re,buttonStyle:ee,onClick:Q,loading:ie,loadingLabels:{loading:Z.loading},children:Z.confirm})]})})]})]}),document.body)]})}var w=(0,a.memo)(C);w.displayName=`Drawer`;var T={default:{icon:(0,o.jsx)(s.HelpCircle,{className:`h-6 w-6`}),iconColor:`text-muted-foreground`},error:{icon:(0,o.jsx)(s.AlertCircle,{className:`h-6 w-6`}),iconColor:`text-destructive`},warning:{icon:(0,o.jsx)(s.AlertTriangle,{className:`h-6 w-6`}),iconColor:`text-warning`},info:{icon:(0,o.jsx)(s.Info,{className:`h-6 w-6`}),iconColor:`text-info`},success:{icon:(0,o.jsx)(s.CheckCircle,{className:`h-6 w-6`}),iconColor:`text-success`}};function E({open:e,onOpenChange:s,onClose:l,children:u,title:d,description:p,visuallyHideHeader:g=!1,className:_,contentClassName:v,initialFocusRef:y,closeOnEscape:b=!0,closeOnBackdropClick:x=!1,strings:S,showCancel:C=!0,showConfirm:w=!0,onCancel:E,onConfirm:D,onAsyncConfirm:O,closeOnAsyncComplete:k=!0,confirmVariant:A,confirmStyle:j=`solid`,isLoading:ee=!1,formId:te,footer:M,tone:N=`default`,showIcon:P=!0,alertMessage:F,trigger:I,destructive:L=!1}){let R=(0,a.useId)(),z=(0,a.useId)(),B=d?R:void 0,V=p?z:void 0,{isOpen:H,isClosing:U,openDialog:W,closeDialog:G,dialogProps:K,handleBackdropClick:q}=f({open:e,onOpenChange:s,onClose:l,closeOnEscape:b,closeOnBackdropClick:x,initialFocusRef:y}),J=t.useStrings(m,S),Y=(0,a.useMemo)(()=>L?`error`:A||{default:`primary`,error:`error`,warning:`warning`,info:`primary`,success:`success`}[N],[L,A,N]),{strings:X,confirmButtonOnClick:ne,effectiveLoading:Z,handleCancel:re}=h({closeDialog:G,onConfirm:D,onAsyncConfirm:O,closeOnAsyncComplete:k,confirmVariant:Y,isLoading:ee,formId:te,onCancel:E,customStrings:J}),Q=T[N],ie=I&&(0,a.isValidElement)(I)?(0,a.cloneElement)(I,{onClick:e=>{let t=I.props.onClick;t?.(e),W()}}):I?(0,o.jsx)(`span`,{role:`button`,tabIndex:0,onClick:W,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),W())},className:`cursor-pointer`,children:I}):null;return!H&&!U&&!I?null:(0,o.jsxs)(o.Fragment,{children:[ie,!!(H||U)&&(0,c.createPortal)((0,o.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4`,children:[(0,o.jsx)(`div`,{className:n.cn(`absolute inset-0 bg-foreground/50 backdrop-blur-[1px]`,`transition-opacity duration-200`,U?`opacity-0`:`animate-in fade-in-0 duration-200`),onClick:q,"aria-hidden":`true`}),(0,o.jsxs)(`dialog`,{...K,className:n.cn(`alert-dialog--component relative z-10 m-0 w-full max-w-md p-0`,`max-h-[90vh] flex flex-col`,`rounded-lg border shadow-lg`,`bg-background text-foreground`,`animate-in fade-in-0 zoom-in-95 duration-200`,`[&.closing]:animate-out [&.closing]:fade-out-0 [&.closing]:zoom-out-95 [&.closing]:duration-150`,`outline-none focus-visible:outline-none`,_),role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":B,"aria-describedby":V,children:[(0,o.jsxs)(`div`,{className:`flex-1 overflow-auto p-6`,children:[!!P&&!g&&(0,o.jsx)(`div`,{className:n.cn(`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full`,N===`error`&&`bg-destructive/10`,N===`warning`&&`bg-warning/15`,N===`info`&&`bg-info/15`,N===`success`&&`bg-success/15`,N==="default"&&`bg-muted`),children:(0,o.jsx)(`span`,{className:Q.iconColor,children:Q.icon})}),!!(d||p)&&(0,o.jsxs)(`div`,{className:n.cn(g&&`sr-only`),children:[!!d&&(0,o.jsx)(i.s,{id:R,tag:`div`,size:`lg`,weight:`semibold`,align:`center`,children:d}),!!p&&(0,o.jsx)(i.s,{id:z,tag:`p`,type:`secondary`,align:`center`,className:`mt-2`,children:p})]}),!!F&&(0,o.jsx)(`div`,{className:n.cn(`mt-4 rounded-md border p-3 text-left`,N===`error`&&`border-destructive/30 bg-destructive/5`,N===`warning`&&`border-warning/40 bg-warning/10`,N===`info`&&`border-info/40 bg-info/10`,N===`success`&&`border-success/40 bg-success/10`,N==="default"&&`border-border bg-muted/40`),children:(0,o.jsx)(i.s,{tag:`p`,children:F})}),!!u&&(0,o.jsx)(`div`,{className:n.cn(`mt-4`,v),children:u})]}),!!(C||w||M)&&(0,o.jsx)(`div`,{className:`border-t px-6 py-4`,children:M??(0,o.jsxs)(`div`,{className:`flex flex-col-reverse gap-3 sm:flex-row sm:justify-end`,children:[!!C&&(0,o.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`outline`,onClick:re,className:`w-full sm:w-auto`,children:X.cancel}),!!w&&(0,o.jsx)(r.t,{type:`button`,variant:Y,buttonStyle:j,onClick:ne,loading:Z,loadingLabels:{loading:X.loading},className:`w-full sm:w-auto`,children:X.confirm})]})})]})]}),document.body)]})}var D=(0,a.memo)(E);D.displayName=`AlertDialog`,Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return D}});
|
|
2
|
-
//# sourceMappingURL=overlays-Diy_H0Au.cjs.map
|