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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlays-Diy_H0Au.cjs","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":"sSAgCA,IAAM,EAAuB,IAEzB,EAAsB,EAc1B,SAAS,GAA6B,CAClC,GAAI,IAAwB,EAAG,CAC3B,IAAM,EACF,OAAO,WAAa,SAAS,gBAAgB,YAEjD,SAAS,KAAK,MAAM,YAChB,4BACA,GAAG,EAAe,GACtB,EACA,SAAS,gBAAgB,aACrB,6BACA,EACJ,CACJ,CAEA,GAAuB,EACvB,IAAI,EAAW,GAEf,UAAa,CACL,IAIJ,EAAW,GACX,EAAsB,KAAK,IAAI,EAAG,EAAsB,CAAC,EAErD,IAAsB,KAI1B,SAAS,gBAAgB,gBAAgB,4BAA4B,EACrE,SAAS,KAAK,MAAM,eAAe,2BAA2B,GAClE,CACJ,CAEA,SAAgB,EAAgB,CAC5B,KAAM,EACN,eACA,UACA,gBAAgB,GAChB,uBAAuB,GACvB,mBACwB,CAAC,EAA0B,CACnD,IAAM,GAAA,EAAA,EAAA,QAAsC,IAAI,EAC1C,CAAC,EAAc,IAAA,EAAA,EAAA,UAA4B,EAAK,EAChD,CAAC,EAAW,IAAA,EAAA,EAAA,UAAyB,EAAK,EAC1C,GAAA,EAAA,EAAA,QAA8C,IAAI,EAClD,GAAA,EAAA,EAAA,QAAsD,IAAI,EAC1D,GAAA,EAAA,EAAA,QAA+D,IAAI,EACnE,GAAA,EAAA,EAAA,QAAmD,IAAI,EACvD,GAAA,EAAA,EAAA,QAAoC,IAAI,EACxC,GAAA,EAAA,EAAA,QAA+B,EAAK,EAEpC,EAAe,IAAmB,IAAA,GAClC,EAAS,EAAe,EAAiB,EAMzC,GAAA,EAAA,EAAA,QAAmB,CAAM,EAC/B,EAAU,QAAU,EAEpB,IAAM,GAAA,EAAA,EAAA,QAAsB,CAAS,EACrC,EAAa,QAAU,EAEvB,IAAM,GAAA,EAAA,EAAA,aACD,GAAsB,CACd,GACD,EAAgB,CAAQ,EAE5B,IAAe,CAAQ,EAElB,GACD,IAAU,CAElB,EACA,CAAC,EAAc,EAAc,CAAO,CACxC,EAEM,GAAA,EAAA,EAAA,iBAAqC,CACvC,AAEI,EAAgB,WADhB,aAAa,EAAgB,OAAO,EACV,MAE9B,AAEI,EAAqB,WADrB,EAAqB,QAAQ,EACE,KAEvC,EAAG,CAAC,CAAC,EAEC,GAAA,EAAA,EAAA,iBAAgC,CAClC,EAAiB,EAIjB,EAAsB,QAAU,GAIhC,IAAM,EAAS,EAAgB,QAC/B,EAAgB,QAAU,KAE1B,IAAM,EAAY,EAAyB,QAC3C,EAAyB,QAAU,KAEnC,GAAI,CACA,IAAS,CACb,MAAQ,CAER,CAMA,GAAI,CACA,EAAQ,EAAK,CACjB,MAAQ,CAER,CAIA,EAAa,EAAK,EAElB,IAAM,EAAS,EAAU,QACrB,GACA,EAAO,UAAU,OAAO,SAAS,EAGrC,GAAI,CACA,GAAW,MAAM,CACrB,MAAQ,CAER,CACJ,EAAG,CAAC,EAAkB,CAAO,CAAC,EAExB,GAAA,EAAA,EAAA,iBAA+B,CAI7B,EAAU,SAAW,EAAa,UAEtC,EAAyB,QACrB,SAAS,cACb,EAAgB,QAAU,EAAe,EAEzC,EAAQ,EAAI,EAEZ,EAAY,QAAU,0BAA4B,CAC9C,EAAY,QAAU,KAClB,GAAiB,QACjB,EAAgB,QAAQ,MAAM,EAE9B,EAAU,SAAS,MAAM,CAEjC,CAAC,EACL,EAAG,CAAC,EAAS,CAAe,CAAC,EAEvB,GAAA,EAAA,EAAA,iBAAgC,CAClC,IAAM,EAAS,EAAU,QAMrB,MAAC,GAAU,CAAC,EAAU,SAAW,EAAa,SAWlD,GATA,EAAa,EAAI,EACjB,EAAO,UAAU,IAAI,SAAS,EAG9B,EAAY,aAGR,iBAAiB,CAAM,EAAE,gBAAkB,OAE7B,CACd,IAAM,MAA2B,CAC7B,EAAY,CAChB,EAEA,EAAO,iBAAiB,eAAgB,EAAoB,CACxD,KAAM,EACV,CAAC,EAGD,EAAqB,YAAgB,CACjC,EAAO,oBACH,eACA,CACJ,CACJ,EAGA,EAAgB,QAAU,eAAiB,CACvC,EAAY,CAChB,EAAG,CAAoB,CAC3B,MACI,EAAY,CAEpB,EAAG,CAAC,CAAW,CAAC,EAEV,GAAA,EAAA,EAAA,iBAAiC,CAC/B,EACA,EAAY,EAEZ,EAAW,CAEnB,EAAG,CAAC,EAAQ,EAAY,CAAW,CAAC,EAE9B,GAAA,EAAA,EAAA,aACD,GAA8C,CACvC,EAAE,MAAQ,UAAY,IACtB,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClB,EAAY,EAEpB,EACA,CAAC,EAAe,CAAW,CAC/B,EAEM,GAAA,EAAA,EAAA,iBAAwC,CACtC,GACA,EAAY,CAEpB,EAAG,CAAC,EAAsB,CAAW,CAAC,EAyFtC,OAtFA,EAAA,EAAA,eAAgB,CACZ,GAAI,GAAU,CAAC,EACX,AACI,EAAyB,UACrB,SAAS,cAGjB,AACI,EAAgB,UAAU,EAAe,EAKzC,EAAY,UAAY,MACxB,qBAAqB,EAAY,OAAO,EAE5C,EAAY,QAAU,0BAA4B,CAC9C,EAAY,QAAU,KAClB,GAAiB,QACjB,EAAgB,QAAQ,MAAM,EAE9B,EAAU,SAAS,MAAM,CAEjC,CAAC,OACE,GAAI,CAAC,EAAQ,CAIhB,GAAI,EAAsB,QAAS,CAC/B,EAAsB,QAAU,GAEhC,MACJ,CASA,GALA,AAEI,EAAgB,WADhB,EAAgB,QAAQ,EACE,MAG1B,EAAW,CACX,EAAiB,EACjB,EAAa,EAAK,EAElB,IAAM,EAAS,EAAU,QACrB,GACA,EAAO,UAAU,OAAO,SAAS,CAEzC,CAEA,GAAI,EAAyB,QAAS,CAClC,GAAI,CACA,EAAyB,QAAQ,MAAM,CAC3C,MAAQ,CAER,CACA,EAAyB,QAAU,IACvC,CACJ,CAEA,UAAa,CACL,EAAY,UAAY,OACxB,qBAAqB,EAAY,OAAO,EACxC,EAAY,QAAU,KAE9B,CACJ,EAAG,CAAC,EAAQ,EAAW,EAAiB,CAAgB,CAAC,GAGzD,EAAA,EAAA,mBACiB,CACT,EAAiB,EAEb,EAAY,UAAY,OACxB,qBAAqB,EAAY,OAAO,EACxC,EAAY,QAAU,MAG1B,AAEI,EAAgB,WADhB,EAAgB,QAAQ,EACE,KAElC,EACD,CAAC,CAAgB,CAAC,EAEd,CACH,YACA,SACA,YACA,aACA,cACA,eACA,YAAa,CACT,IAAK,EACL,KAAM,EACN,UAAW,CACf,EACA,qBACJ,CACJ,CC1WA,IAAa,EAAwC,CACpD,QAAS,UACT,OAAQ,SACR,MAAO,QACP,QAAS,YACV,EAEa,EAA4C,CACxD,QAAS,WACT,OAAQ,SACR,MAAO,QACP,QAAS,YACV,ECgBA,SAAgB,EAAkB,CACjC,cACA,YACA,iBACA,uBAAuB,GACvB,iBAAiB,UACjB,YAAY,GACZ,SACA,WACA,gBACA,WAAW,GACX,OAAO,UACP,WACqD,CACrD,IAAM,EAAU,EAAA,WAAW,EAAuB,CAAa,EAEzD,CAAC,EAAa,IAAA,EAAA,EAAA,UAA2B,EAAK,EAE9C,GAAA,EAAA,EAAA,aAA4B,SAAY,CAC7C,GAAI,EAAW,CACd,EAAU,EACV,EAAY,EACZ,MACD,CAEA,GAAI,EAAgB,CACnB,EAAe,EAAI,EACnB,GAAI,CACH,MAAM,EAAe,EACjB,GACH,EAAY,CAEd,OAAS,EAAO,CAIf,IAAU,CAAK,CAChB,QAAU,CACT,EAAe,EAAK,CACrB,CACA,MACD,CAEA,EAAY,CACb,EAAG,CAAC,EAAW,EAAgB,EAAsB,EAAa,CAAO,CAAC,EAEpE,GAAA,EAAA,EAAA,iBAAiC,CACtC,IAAW,EACX,EAAY,CACb,EAAG,CAAC,EAAU,CAAW,CAAC,EAEpB,GAAA,EAAA,EAAA,aAA+B,SAAY,CAChD,GAAI,CAAC,EACJ,OAGD,IAAM,EAAO,SAAS,eAAe,CAAM,EAErC,aAAgB,iBAItB,EAAK,cAAc,CACpB,EAAG,CAAC,CAAM,CAAC,EAYX,MAAO,CACN,UACA,cACA,gBACA,eACA,qBAAA,EAAA,EAAA,aAdK,EACD,IAAS,QAAgB,QACzB,IAAS,UAAkB,UAC3B,IAAS,UAAkB,UACxB,GAAkB,UAJH,GAAkB,UAKtC,CAAC,EAAU,EAAM,CAAc,CASjC,EACA,qBAR4B,EAAS,EAAmB,EASxD,iBAAkB,GAAe,CAClC,CACD,CC9GA,IAAM,EAA4C,CACjD,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,MAAO,YACP,MAAO,YACP,MAAO,YACP,MAAO,YACP,KAAM,0BACP,EAEM,EAAyE,CAC9E,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,WAAD,CAAY,UAAU,+BAAiC,CAAA,EAC7D,QAAS,EACV,EACA,MAAO,CACN,MAAM,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,0BAA4B,CAAA,EACzD,QAAS,uBACV,EACA,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,UAAU,sBAAwB,CAAA,EACvD,QAAS,mBACV,EACA,KAAM,CACL,MAAM,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,UAAU,mBAAqB,CAAA,EAC3C,QAAS,gBACV,EACA,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,sBAAwB,CAAA,EACrD,QAAS,mBACV,CACD,EAEA,SAAS,EAAW,CACnB,OACA,eACA,UACA,WACA,QACA,cACA,qBAAqB,GACrB,YACA,mBACA,kBACA,gBAAgB,GAChB,uBAAuB,GACvB,QAAS,EACT,aAAa,GACb,cAAc,GACd,WACA,YACA,iBACA,uBAAuB,GACvB,iBAAiB,UACjB,eAAe,QACf,aAAY,GACZ,UACA,SACA,WAAW,GACX,OAAO,UACP,WAAW,GACX,eACA,OAAO,KACP,WACe,CACf,IAAM,GAAA,EAAA,EAAA,OAAsB,EACtB,GAAA,EAAA,EAAA,OAA4B,EAC5B,EAAiB,EAAQ,EAAgB,IAAA,GACzC,EAAkB,EAAc,EAAsB,IAAA,GAEtD,CACL,SACA,YACA,aACA,cACA,cACA,uBACG,EAAgB,CACnB,OACA,eACA,UACA,gBACA,uBACA,iBACD,CAAC,EAEK,CACL,UACA,sBACA,wBACA,mBACA,iBACG,EAAkB,CACrB,cACA,YACA,iBACA,uBACA,iBACA,aACA,UACA,WACA,gBACA,WACA,MACD,CAAC,EAEK,EAAa,EAAY,GACzB,GAAa,GAAQ,GAAY,GACjC,GAAY,GAAc,GAAe,EAEzC,EACL,IAAA,EAAA,EAAA,gBAAmD,CAAO,GAAA,EAAA,EAAA,cAC5C,EAAS,CACrB,QAAU,GAAwB,CACjC,IAAM,EAAW,EAAQ,MAAM,QAG/B,IAAW,CAAC,EACZ,EAAW,CACZ,CACD,CAAC,EACE,GACH,EAAA,EAAA,KAAC,OAAD,CACC,KAAK,SACL,SAAU,EACV,QAAS,EACT,UAAY,GAAM,EACb,EAAE,MAAQ,SAAW,EAAE,MAAQ,OAClC,EAAE,eAAe,EACjB,EAAW,EAEb,EACA,UAAU,0BAET,CACI,CAAA,EACH,KAIL,MAFI,CAAC,GAAU,CAAC,GAAa,CAAC,EAAgB,MAG7C,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,EAEA,CAAC,EAAE,GAAU,KAAA,EAAA,EAAA,eAEZ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mEAAf,EACC,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,wDACA,kCACA,EACG,YACA,mCACJ,EACA,QAAS,EACT,cAAY,MACZ,CAAA,GAED,EAAA,EAAA,MAAC,SAAD,CACC,GAAI,EACJ,UAAW,EAAA,GACV,0CACA,8BACA,gCACA,sBACA,gBACA,EAAa,GACb,+CACA,kGACA,0CACA,GAAY,EAAW,QACvB,CACD,EACA,aAAW,OACX,KAAK,SACL,kBAAiB,EACjB,mBAAkB,WAlBnB,EAoBC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAQ,YACR,YAAY,QACZ,KAAK,aACL,QAAS,EACT,UAAW,EAAA,GACV,oDACA,0CACA,uCACA,8BACD,EACA,aAAY,EAAQ,gBAEpB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAG,UAAU,SAAW,CAAA,CACjB,CAAA,EAEP,CAAC,EAAE,GAAS,KACZ,EAAA,EAAA,MAAC,MAAD,CACC,UAAW,EAAA,GACV,4BACA,GAAY,cACZ,GAAsB,SACvB,WALD,CAOE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2BACb,EAAW,IACR,CAAA,GAEN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,0BAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,MACJ,KAAK,KACL,OAAO,WACP,UAAU,gBAET,CACI,CAAA,EAEN,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,IACJ,KAAK,YACL,UAAU,gBAET,CACI,CAAA,CAEH,GACD,IAGL,CAAC,CAAC,KACF,EAAA,EAAA,MAAC,MAAD,CACC,UAAW,EAAA,GACV,4BACA,GAAS,EACN,EACC,OACA,OACD,OACH,CACD,WATD,CAWE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,6BACA,IAAS,SACR,yCACD,IAAS,WACR,kCACD,IAAS,QACR,4BACD,IAAS,WACR,kCACD,IAAS,WACR,2BACF,YAEA,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,IAAI,aAEH,CACI,CAAA,CACF,CAAA,EAEL,CACG,IAGL,CAAC,CAAC,KACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8BACb,IACA,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kEAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAQ,YACR,YAAY,UACZ,QAAS,YAER,EAAQ,MACF,CAAA,EAER,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAS,EACT,YAAa,EACb,QAAS,GACT,QAAS,EACT,cAAe,CACd,QAAS,EAAQ,OAClB,WAEC,EAAQ,OACF,CAAA,CAEL,GAEF,CAAA,CAEC,GACJ,IACL,SAAS,IACV,CACA,CAAA,CAAA,CAEJ,CAEA,IAAa,GAAA,EAAA,EAAA,MAAc,CAAU,EACrC,EAAO,YAAc,SC9TrB,IAAM,EAA6C,CAClD,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,GAAI,WACJ,MAAO,YACP,MAAO,YACP,MAAO,YACP,MAAO,YACP,KAAM,0BACP,EAEM,EAGF,CACH,MAAO,CACN,SAAU,+BACV,KAAM,SACN,UACC,8HACD,QAAS,cACV,EACA,KAAM,CACL,SAAU,8BACV,KAAM,SACN,UACC,4HACD,QAAS,cACV,EACA,IAAK,CACJ,SAAU,6BACV,KAAM,SACN,UACC,0HACD,QAAS,cACV,EACA,OAAQ,CACP,SAAU,gCACV,KAAM,SACN,UACC,gIACD,QAAS,cACV,CACD,EAEM,EAA6C,CAClD,SAAS,EAAA,EAAA,KAAC,EAAA,WAAD,CAAY,UAAU,+BAAiC,CAAA,EAChE,OAAO,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,0BAA4B,CAAA,EAC1D,SAAS,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,UAAU,sBAAwB,CAAA,EAC1D,MAAM,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,UAAU,mBAAqB,CAAA,EAC3C,SAAS,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,sBAAwB,CAAA,CACzD,EAEA,SAAS,EAAW,CACnB,OACA,eACA,UACA,WACA,QACA,cACA,qBAAqB,GACrB,YACA,mBACA,kBACA,gBAAgB,GAChB,uBAAuB,GACvB,QAAS,EACT,aAAa,GACb,cAAc,GACd,WACA,YACA,iBACA,uBAAuB,GACvB,iBAAiB,UACjB,gBAAe,QACf,aAAY,GACZ,SACA,SACA,WAAW,GACX,OAAO,UACP,WAAW,GACX,eACA,YAAY,QACZ,QAAQ,KACR,aAAa,GACb,WACe,CACf,IAAM,GAAA,EAAA,EAAA,OAAsB,EACtB,GAAA,EAAA,EAAA,OAA4B,EAC5B,EAAiB,EAAQ,EAAgB,IAAA,GACzC,EAAkB,EAAc,EAAsB,IAAA,GAEtD,CACL,SACA,YACA,aACA,cACA,cACA,wBACG,EAAgB,CACnB,OACA,eACA,UACA,gBACA,uBACA,iBACD,CAAC,EAEK,CACL,UACA,uBACA,uBACA,oBACA,iBACG,EAAkB,CACrB,cACA,YACA,iBACA,uBACA,iBACA,aACA,SACA,WACA,gBACA,WACA,MACD,CAAC,EAEK,EAAkB,EAAiB,GACnC,GAAe,IAAc,QAAU,IAAc,QACrD,GAAa,GAAQ,GAAY,GACjC,GAAY,IAAe,GAAc,GAAe,GAExD,GACL,IAAA,EAAA,EAAA,gBAAmD,CAAO,GAAA,EAAA,EAAA,cAC5C,EAAS,CACrB,QAAU,GAAwB,CACjC,IAAM,EAAW,EAAQ,MAAM,QAG/B,IAAW,CAAC,EACZ,EAAW,CACZ,CACD,CAAC,EACE,GACH,EAAA,EAAA,KAAC,OAAD,CACC,KAAK,SACL,SAAU,EACV,QAAS,EACT,UAAY,GAAM,EACb,EAAE,MAAQ,SAAW,EAAE,MAAQ,OAClC,EAAE,eAAe,EACjB,EAAW,EAEb,EACA,UAAU,0BAET,CACI,CAAA,EACH,KAIL,MAFI,CAAC,GAAU,CAAC,GAAa,CAAC,EAAgB,MAG7C,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,GAEA,CAAC,EAAE,GAAU,KAAA,EAAA,EAAA,eAEZ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,8BAAf,EACC,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,wDACA,kCACA,EACG,YACA,mCACJ,EACA,QAAS,GACT,cAAY,MACZ,CAAA,GAED,EAAA,EAAA,MAAC,SAAD,CACC,GAAI,EACJ,UAAW,EAAA,GACV,uCACA,EAAgB,SAChB,EAAgB,KAChB,mBACA,gCACA,EAAgB,QAChB,IAAgB,SAChB,IAAgB,EAAc,GAC9B,CAAC,IAAgB,eACjB,EAAgB,UAChB,0CACA,gBACA,CACD,EACA,aAAW,OACX,KAAK,SACL,kBAAiB,EACjB,mBAAkB,WApBnB,EAsBC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAQ,YACR,YAAY,QACZ,KAAK,aACL,QAAS,EACT,UAAW,EAAA,GACV,oDACA,0CACA,uCACA,8BACD,EACA,aAAY,EAAQ,gBAEpB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAG,UAAU,SAAW,CAAA,CACjB,CAAA,EAEP,CAAC,EAAE,GAAS,KACZ,EAAA,EAAA,MAAC,MAAD,CACC,UAAW,EAAA,GACV,wCACA,GAAsB,SACvB,WAJD,CAME,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,2BACb,EAAW,EACR,CAAA,GAEN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+BAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,MACJ,KAAK,KACL,OAAO,oBAEN,CACI,CAAA,EAEN,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,IACJ,KAAK,YACL,UAAU,gBAET,CACI,CAAA,CAEH,GACD,IAGL,CAAC,CAAC,KACF,EAAA,EAAA,MAAC,MAAD,CACC,UAAW,EAAA,GACV,4BACA,GAAS,EAAc,OAAS,OAChC,CACD,WALD,CAOE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,6BACA,IAAS,SACR,yCACD,IAAS,WACR,kCACD,IAAS,QACR,4BACD,IAAS,WACR,kCACD,IAAS,WACR,2BACF,YAEA,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,IAAI,aAEH,CACI,CAAA,CACF,CAAA,EAEL,CACG,IAGL,CAAC,CAAC,KACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8BACb,IACA,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kEAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAQ,YACR,YAAY,UACZ,QAAS,YAER,EAAQ,MACF,CAAA,EAER,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAS,GACT,YAAa,GACb,QAAS,EACT,QAAS,GACT,cAAe,CACd,QAAS,EAAQ,OAClB,WAEC,EAAQ,OACF,CAAA,CAEL,GAEF,CAAA,CAEC,GACJ,IACL,SAAS,IACV,CACA,CAAA,CAAA,CAEJ,CAEA,IAAa,GAAA,EAAA,EAAA,MAAc,CAAU,EACrC,EAAO,YAAc,SC9UrB,IAAM,EAA2E,CAChF,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,WAAD,CAAY,UAAU,SAAW,CAAA,EACvC,UAAW,uBACZ,EACA,MAAO,CAAE,MAAM,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,SAAW,CAAA,EAAG,UAAW,kBAAmB,EAClF,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,UAAU,SAAW,CAAA,EAC1C,UAAW,cACZ,EACA,KAAM,CACL,MAAM,EAAA,EAAA,KAAC,EAAA,KAAD,CAAM,UAAU,SAAW,CAAA,EACjC,UAAW,WACZ,EACA,QAAS,CACR,MAAM,EAAA,EAAA,KAAC,EAAA,YAAD,CAAa,UAAU,SAAW,CAAA,EACxC,UAAW,cACZ,CACD,EAEA,SAAS,EAAgB,CACxB,OACA,eACA,UACA,WACA,QACA,cACA,qBAAqB,GACrB,YACA,mBACA,kBACA,gBAAgB,GAChB,uBAAuB,GACvB,QAAS,EACT,aAAa,GACb,cAAc,GACd,WACA,YACA,iBACA,uBAAuB,GACvB,iBACA,eAAe,QACf,aAAY,GACZ,UACA,SACA,OAAO,UACP,WAAW,GACX,eACA,UACA,cAAc,IACM,CACpB,IAAM,GAAA,EAAA,EAAA,OAAqB,EACrB,GAAA,EAAA,EAAA,OAA2B,EAC3B,EAAiB,EAAQ,EAAe,IAAA,GACxC,EAAkB,EAAc,EAAqB,IAAA,GAErD,CACL,SACA,YACA,aACA,cACA,cACA,uBACG,EAAgB,CACnB,OACA,eACA,UACA,gBACA,uBACA,iBACD,CAAC,EAEK,EAAgB,EAAA,WAAW,EAA2B,CAAa,EAEnE,GAAA,EAAA,EAAA,aACD,EAAoB,QACpB,GAQG,CANN,QAAS,UACT,MAAO,QACP,QAAS,UACT,KAAM,UACN,QAAS,SAEH,EAAQ,GACb,CAAC,EAAa,EAAgB,CAAI,CAAC,EAEhC,CAAE,UAAS,wBAAsB,mBAAkB,iBACxD,EAAkB,CACjB,cACA,YACA,iBACA,uBACA,eAAgB,EAChB,aACA,UACA,WACA,cAAe,CAChB,CAAC,EAEI,EAAa,EAAY,GAEzB,GACL,IAAA,EAAA,EAAA,gBAAmD,CAAO,GAAA,EAAA,EAAA,cAC5C,EAAS,CACrB,QAAU,GAAwB,CACjC,IAAM,EAAW,EAAQ,MAAM,QAG/B,IAAW,CAAC,EACZ,EAAW,CACZ,CACD,CAAC,EACE,GACH,EAAA,EAAA,KAAC,OAAD,CACC,KAAK,SACL,SAAU,EACV,QAAS,EACT,UAAY,GAAM,EACb,EAAE,MAAQ,SAAW,EAAE,MAAQ,OAClC,EAAE,eAAe,EACjB,EAAW,EAEb,EACA,UAAU,0BAET,CACI,CAAA,EACH,KAIL,MAFI,CAAC,GAAU,CAAC,GAAa,CAAC,EAAgB,MAG7C,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACE,GAEA,CAAC,EAAE,GAAU,KAAA,EAAA,EAAA,eAEZ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,mEAAf,EACC,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,wDACA,kCACA,EACG,YACA,mCACJ,EACA,QAAS,EACT,cAAY,MACZ,CAAA,GAED,EAAA,EAAA,MAAC,SAAD,CACC,GAAI,EACJ,UAAW,EAAA,GACV,gEACA,6BACA,8BACA,gCACA,+CACA,kGACA,0CACA,CACD,EACA,KAAK,cACL,aAAW,OACX,kBAAiB,EACjB,mBAAkB,WAfnB,EAiBC,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oCAAf,CACE,CAAC,CAAC,GAAY,CAAC,IACf,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,uEACA,IAAS,SAAW,oBACpB,IAAS,WAAa,gBACtB,IAAS,QAAU,aACnB,IAAS,WAAa,gBACtB,IAAS,WAAa,UACvB,YAEA,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAW,mBAC1B,EAAW,IACP,CAAA,CACF,CAAA,EAGL,CAAC,EAAE,GAAS,KACZ,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,GAAG,GAAsB,SAAS,WAAlD,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,MACJ,KAAK,KACL,OAAO,WACP,MAAM,kBAEL,CACI,CAAA,EAGN,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,GAAI,EACJ,IAAI,IACJ,KAAK,YACL,MAAM,SACN,UAAU,gBAET,CACI,CAAA,CAEH,IAGL,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CACC,UAAW,EAAA,GACV,uCACA,IAAS,SACR,yCACD,IAAS,WACR,kCACD,IAAS,QACR,4BACD,IAAS,WACR,kCACD,IAAS,WACR,2BACF,YAEA,EAAA,EAAA,KAAC,EAAA,EAAD,CAAM,IAAI,aACR,CACI,CAAA,CACF,CAAA,EAGL,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,GAAG,OAAQ,CAAgB,EACzC,UACG,CAAA,CAEF,IAEJ,CAAC,EAAE,GAAc,GAAe,KAChC,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8BACb,IACA,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,kEAAf,CACE,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAQ,YACR,YAAY,UACZ,QAAS,GACT,UAAU,4BAET,EAAQ,MACF,CAAA,EAER,CAAC,CAAC,IACF,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,KAAK,SACL,QAAS,EACT,YAAa,EACb,QAAS,GACT,QAAS,EACT,cAAe,CACd,QAAS,EAAQ,OAClB,EACA,UAAU,4BAET,EAAQ,OACF,CAAA,CAEL,GAEF,CAAA,CAEC,GACJ,IACL,SAAS,IACV,CACA,CAAA,CAAA,CAEJ,CAEA,IAAa,GAAA,EAAA,EAAA,MAAmB,CAAe,EAC/C,EAAY,YAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as e,n as t}from"./index-QESvAJrb.js";import{t as n}from"./checkbox-ClPnzko9.js";var r=e();function i({className:e,...i}){return(0,r.jsx)(n,{className:t(`checkbox--component inline-flex items-center justify-center`,e),...i})}i.displayName=`Checkbox`;export{i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{sr as e}from"./example-PsbgbESI.js";function t(t){return e(19)?t:t?`true`:void 0}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./startOfDay-BKFJecZ3.js";import{E as t,S as n,T as r}from"./index-QESvAJrb.js";function i(e,n,i){let a=r(e,i?.in);return isNaN(n)?t(i?.in||e,NaN):(n&&a.setDate(a.getDate()+n),a)}function a(t,r,i){let[a,o]=n(i?.in,t,r);return+e(a)==+e(o)}export{i as n,a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./isSameDay-DVP1ae2V.js";import{E as t,x as n}from"./index-QESvAJrb.js";function r(r,i){return e(t(i?.in||r,r),n(i?.in||r))}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{T as e}from"./index-QESvAJrb.js";function t(t,n){let r=e(t,n?.in);return r.setHours(0,0,0,0),r}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`trending-up`,[[`path`,{d:`M16 7h6v6`,key:`box55l`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`,key:`1t1m79`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{nr as e}from"./example-PsbgbESI.js";function t(t){return e(t.defaultTagName??`div`,t,t)}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.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 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./index-QESvAJrb.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|