@shapio/cms 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/assets/{AssistError-hVUWpP3F.js → AssistError-BITJ_tpg.js} +2 -2
- package/dist/admin/assets/{AssistError-hVUWpP3F.js.map → AssistError-BITJ_tpg.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-B0g93m6M.js → BlockMenuItems-CcluK965.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-B0g93m6M.js.map → BlockMenuItems-CcluK965.js.map} +1 -1
- package/dist/admin/assets/Body-BXa9DhtH.js +2 -0
- package/dist/admin/assets/{Body-CFQKONK4.js.map → Body-BXa9DhtH.js.map} +1 -1
- package/dist/admin/assets/Builder-DcpRfXuc.js +2 -0
- package/dist/admin/assets/Builder-DcpRfXuc.js.map +1 -0
- package/dist/admin/assets/{ConfirmDialog-D6rs75TP.js → ConfirmDialog-B9nWhIIz.js} +2 -2
- package/dist/admin/assets/{ConfirmDialog-D6rs75TP.js.map → ConfirmDialog-B9nWhIIz.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-Bc7crFDE.js → CopyButton-BoWb-xi1.js} +2 -2
- package/dist/admin/assets/{CopyButton-Bc7crFDE.js.map → CopyButton-BoWb-xi1.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-BFPD_adV.js → CursorPager-BnxmTk47.js} +2 -2
- package/dist/admin/assets/{CursorPager-BFPD_adV.js.map → CursorPager-BnxmTk47.js.map} +1 -1
- package/dist/admin/assets/{ExternalLink-Cdfcyyed.js → ExternalLink-Eeb9mONJ.js} +2 -2
- package/dist/admin/assets/{ExternalLink-Cdfcyyed.js.map → ExternalLink-Eeb9mONJ.js.map} +1 -1
- package/dist/admin/assets/Form-DZRLD3vH.js +2 -0
- package/dist/admin/assets/Form-DZRLD3vH.js.map +1 -0
- package/dist/admin/assets/{FormCheckboxGroup-Bicl1CBP.js → FormCheckboxGroup-uIC2XQIL.js} +2 -2
- package/dist/admin/assets/{FormCheckboxGroup-Bicl1CBP.js.map → FormCheckboxGroup-uIC2XQIL.js.map} +1 -1
- package/dist/admin/assets/{FormRadioGroup-34iVSV4L.js → FormRadioGroup-hd95vPOu.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-34iVSV4L.js.map → FormRadioGroup-hd95vPOu.js.map} +1 -1
- package/dist/admin/assets/{FormSelectField-Ba4fIu-8.js → FormSelectField-D7VHmnx5.js} +2 -2
- package/dist/admin/assets/{FormSelectField-Ba4fIu-8.js.map → FormSelectField-D7VHmnx5.js.map} +1 -1
- package/dist/admin/assets/{FormSwitchField-DN6bfPC0.js → FormSwitchField-ft8Jbe6E.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-DN6bfPC0.js.map → FormSwitchField-ft8Jbe6E.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-WsNjLm32.js → FormTextareaField-DzyOzfZb.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-WsNjLm32.js.map → FormTextareaField-DzyOzfZb.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-jKLM0ETt.js → HintedLabel-CvC46uy_.js} +2 -2
- package/dist/admin/assets/{HintedLabel-jKLM0ETt.js.map → HintedLabel-CvC46uy_.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-DBqcrmZ3.js → InfoHint-GJLRVumb.js} +2 -2
- package/dist/admin/assets/{InfoHint-DBqcrmZ3.js.map → InfoHint-GJLRVumb.js.map} +1 -1
- package/dist/admin/assets/{InsertMenuItem-CRKXblK5.js → InsertMenuItem-D976G0Rj.js} +2 -2
- package/dist/admin/assets/{InsertMenuItem-CRKXblK5.js.map → InsertMenuItem-D976G0Rj.js.map} +1 -1
- package/dist/admin/assets/LinkTabs-BZSlA57U.js +2 -0
- package/dist/admin/assets/{LinkTabs-Bn2JVqOL.js.map → LinkTabs-BZSlA57U.js.map} +1 -1
- package/dist/admin/assets/Match-DdxTHHM4.js +2 -0
- package/dist/admin/assets/{Match-DaYgKrk7.js.map → Match-DdxTHHM4.js.map} +1 -1
- package/dist/admin/assets/{Panel-6wFe96Gr.js → Panel-iIKjEURi.js} +2 -2
- package/dist/admin/assets/{Panel-6wFe96Gr.js.map → Panel-iIKjEURi.js.map} +1 -1
- package/dist/admin/assets/{QueryView-DFZtm0fn.js → QueryView-D6aZQJRN.js} +2 -2
- package/dist/admin/assets/{QueryView-DFZtm0fn.js.map → QueryView-D6aZQJRN.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-DsTyz7ml.js → RadioTile-BpB79rIK.js} +2 -2
- package/dist/admin/assets/{RadioTile-DsTyz7ml.js.map → RadioTile-BpB79rIK.js.map} +1 -1
- package/dist/admin/assets/{RichTextField-BGkH403g.js → RichTextField-BuHCONPu.js} +2 -2
- package/dist/admin/assets/{RichTextField-BGkH403g.js.map → RichTextField-BuHCONPu.js.map} +1 -1
- package/dist/admin/assets/{RowTitle-sFt6NjO4.js → RowTitle--uFCpx8n.js} +2 -2
- package/dist/admin/assets/{RowTitle-sFt6NjO4.js.map → RowTitle--uFCpx8n.js.map} +1 -1
- package/dist/admin/assets/{SecretReveal-Z6MOFdcL.js → SecretReveal-DFpzeNE0.js} +2 -2
- package/dist/admin/assets/{SecretReveal-Z6MOFdcL.js.map → SecretReveal-DFpzeNE0.js.map} +1 -1
- package/dist/admin/assets/SharedGlyph-Cqkx30tn.js +2 -0
- package/dist/admin/assets/SharedGlyph-Cqkx30tn.js.map +1 -0
- package/dist/admin/assets/{StepList-BTP_EMzx.js → StepList-BY5MuJPJ.js} +2 -2
- package/dist/admin/assets/{StepList-BTP_EMzx.js.map → StepList-BY5MuJPJ.js.map} +1 -1
- package/dist/admin/assets/Structure-CqRa2t7z.js +2 -0
- package/dist/admin/assets/{Structure-D5-hCUuF.js.map → Structure-CqRa2t7z.js.map} +1 -1
- package/dist/admin/assets/SubNavLink-B2o4kSZ9.js +2 -0
- package/dist/admin/assets/{SubNavLink-C5oN5mzB.js.map → SubNavLink-B2o4kSZ9.js.map} +1 -1
- package/dist/admin/assets/{SuggestAltButton-BuN35BBL.js → SuggestAltButton-4rf2xhEJ.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-BuN35BBL.js.map → SuggestAltButton-4rf2xhEJ.js.map} +1 -1
- package/dist/admin/assets/TextLink-D15oyXlc.js +2 -0
- package/dist/admin/assets/{TextLink-B4a6j3r6.js.map → TextLink-D15oyXlc.js.map} +1 -1
- package/dist/admin/assets/{Thumbnail-u8NE5NhQ.js → Thumbnail-CP5mfgNY.js} +2 -2
- package/dist/admin/assets/{Thumbnail-u8NE5NhQ.js.map → Thumbnail-CP5mfgNY.js.map} +1 -1
- package/dist/admin/assets/UnsavedChangesGuard-DgOASh0p.js +2 -0
- package/dist/admin/assets/{UnsavedChangesGuard-BYwMTDsE.js.map → UnsavedChangesGuard-DgOASh0p.js.map} +1 -1
- package/dist/admin/assets/{UserAvatar-D-yX0ozh.js → UserAvatar-BocvNVL-.js} +2 -2
- package/dist/admin/assets/{UserAvatar-D-yX0ozh.js.map → UserAvatar-BocvNVL-.js.map} +1 -1
- package/dist/admin/assets/{arrow-up-Ws7W9KsZ.js → arrow-up-gf_j6SVQ.js} +2 -2
- package/dist/admin/assets/{arrow-up-Ws7W9KsZ.js.map → arrow-up-gf_j6SVQ.js.map} +1 -1
- package/dist/admin/assets/auth-pcS9CCXu.js +2 -0
- package/dist/admin/assets/auth-pcS9CCXu.js.map +1 -0
- package/dist/admin/assets/badge-DD0mE96i.js +2 -0
- package/dist/admin/assets/{badge-CMox6-v3.js.map → badge-DD0mE96i.js.map} +1 -1
- package/dist/admin/assets/boxes-DcK-kaSa.js +2 -0
- package/dist/admin/assets/boxes-DcK-kaSa.js.map +1 -0
- package/dist/admin/assets/{calendar-clock-9W0Lkt89.js → calendar-clock-DEwACe0M.js} +2 -2
- package/dist/admin/assets/{calendar-clock-9W0Lkt89.js.map → calendar-clock-DEwACe0M.js.map} +1 -1
- package/dist/admin/assets/{changeSets-CO7JdILW.js → changeSets-BjUEfYbj.js} +2 -2
- package/dist/admin/assets/{changeSets-CO7JdILW.js.map → changeSets-BjUEfYbj.js.map} +1 -1
- package/dist/admin/assets/chevron-left-BsQYDUEC.js +2 -0
- package/dist/admin/assets/{chevron-left-DyqYjcMB.js.map → chevron-left-BsQYDUEC.js.map} +1 -1
- package/dist/admin/assets/{circle-check-aJ2DW5t4.js → circle-check-Dq1owihe.js} +2 -2
- package/dist/admin/assets/{circle-check-aJ2DW5t4.js.map → circle-check-Dq1owihe.js.map} +1 -1
- package/dist/admin/assets/{circle-x-BnRBht9z.js → circle-x-Dx6zIZko.js} +2 -2
- package/dist/admin/assets/{circle-x-BnRBht9z.js.map → circle-x-Dx6zIZko.js.map} +1 -1
- package/dist/admin/assets/{clock-DRtFQbTs.js → clock-DQvkffqQ.js} +2 -2
- package/dist/admin/assets/{clock-DRtFQbTs.js.map → clock-DQvkffqQ.js.map} +1 -1
- package/dist/admin/assets/cn-BQ3voEft.js +2 -0
- package/dist/admin/assets/cn-BQ3voEft.js.map +1 -0
- package/dist/admin/assets/coerce-OsqQRj19.js +2 -0
- package/dist/admin/assets/{coerce-COM3rk1i.js.map → coerce-OsqQRj19.js.map} +1 -1
- package/dist/admin/assets/constants-SrImR6C3.js +2 -0
- package/dist/admin/assets/constants-SrImR6C3.js.map +1 -0
- package/dist/admin/assets/content-_SLbbnfX.js +3 -0
- package/dist/admin/assets/content-_SLbbnfX.js.map +1 -0
- package/dist/admin/assets/{contentCounts-Ct0tYgHD.js → contentCounts-Ch3uMXVU.js} +2 -2
- package/dist/admin/assets/{contentCounts-Ct0tYgHD.js.map → contentCounts-Ch3uMXVU.js.map} +1 -1
- package/dist/admin/assets/contentTypes-BCOdUK_Z.js +2 -0
- package/dist/admin/assets/contentTypes-BCOdUK_Z.js.map +1 -0
- package/dist/admin/assets/{copy-B5B8RjV0.js → copy-BDc3r0fO.js} +2 -2
- package/dist/admin/assets/{copy-B5B8RjV0.js.map → copy-BDc3r0fO.js.map} +1 -1
- package/dist/admin/assets/{dateTimeLocal-BuBv3it2.js → dateTimeLocal-C92tyKwz.js} +2 -2
- package/dist/admin/assets/{dateTimeLocal-BuBv3it2.js.map → dateTimeLocal-C92tyKwz.js.map} +1 -1
- package/dist/admin/assets/develop-DS9TlDmv.js +11 -0
- package/dist/admin/assets/develop-DS9TlDmv.js.map +1 -0
- package/dist/admin/assets/{dropdown-menu-CW3fabv5.js → dropdown-menu-gmP2Rp3n.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-CW3fabv5.js.map → dropdown-menu-gmP2Rp3n.js.map} +1 -1
- package/dist/admin/assets/{ellipsis-DNdmromA.js → ellipsis-NK0pWgqU.js} +2 -2
- package/dist/admin/assets/{ellipsis-DNdmromA.js.map → ellipsis-NK0pWgqU.js.map} +1 -1
- package/dist/admin/assets/{external-link-YnuWXDBk.js → external-link-D3Aoi2yX.js} +2 -2
- package/dist/admin/assets/{external-link-YnuWXDBk.js.map → external-link-D3Aoi2yX.js.map} +1 -1
- package/dist/admin/assets/{file-text-CB7Bc0GA.js → file-text-DxXAmmxL.js} +2 -2
- package/dist/admin/assets/{file-text-CB7Bc0GA.js.map → file-text-DxXAmmxL.js.map} +1 -1
- package/dist/admin/assets/fileRoute-C2tOrKhO.js +2 -0
- package/dist/admin/assets/{fileRoute-BYwireXG.js.map → fileRoute-C2tOrKhO.js.map} +1 -1
- package/dist/admin/assets/followPlural-CN6cQfNk.js +2 -0
- package/dist/admin/assets/followPlural-CN6cQfNk.js.map +1 -0
- package/dist/admin/assets/{globe-Bvs3UC3V.js → globe-CuElSilX.js} +2 -2
- package/dist/admin/assets/{globe-Bvs3UC3V.js.map → globe-CuElSilX.js.map} +1 -1
- package/dist/admin/assets/{image-CeoxwJeM.js → image-CsH8dZve.js} +2 -2
- package/dist/admin/assets/{image-CeoxwJeM.js.map → image-CsH8dZve.js.map} +1 -1
- package/dist/admin/assets/{image-off-iVqYw2Zc.js → image-off-B_uBCsYu.js} +2 -2
- package/dist/admin/assets/{image-off-iVqYw2Zc.js.map → image-off-B_uBCsYu.js.map} +1 -1
- package/dist/admin/assets/{inbox-DYbEOpaQ.js → inbox-3iAHL3pC.js} +2 -2
- package/dist/admin/assets/{inbox-DYbEOpaQ.js.map → inbox-3iAHL3pC.js.map} +1 -1
- package/dist/admin/assets/inbox-DsuXNaKE.js +2 -0
- package/dist/admin/assets/{inbox-wDoqym--.js.map → inbox-DsuXNaKE.js.map} +1 -1
- package/dist/admin/assets/index-BSzXA60W.js +4 -0
- package/dist/admin/assets/index-BSzXA60W.js.map +1 -0
- package/dist/admin/assets/{key-round-Bcw6qqcb.js → key-round-B17HiT3K.js} +2 -2
- package/dist/admin/assets/{key-round-Bcw6qqcb.js.map → key-round-B17HiT3K.js.map} +1 -1
- package/dist/admin/assets/link-2-off-hWGS8LW6.js +2 -0
- package/dist/admin/assets/link-2-off-hWGS8LW6.js.map +1 -0
- package/dist/admin/assets/{link-CKr_uUfb.js → link-bhHmG4Tc.js} +2 -2
- package/dist/admin/assets/{link-CKr_uUfb.js.map → link-bhHmG4Tc.js.map} +1 -1
- package/dist/admin/assets/{list-BElvKZw_.js → list-DRtRdjBC.js} +2 -2
- package/dist/admin/assets/{list-BElvKZw_.js.map → list-DRtRdjBC.js.map} +1 -1
- package/dist/admin/assets/{locales-Bnv3qcdZ.js → locales-BzPbz8FF.js} +2 -2
- package/dist/admin/assets/{locales-Bnv3qcdZ.js.map → locales-BzPbz8FF.js.map} +1 -1
- package/dist/admin/assets/media-WLnWaL7U.js +2 -0
- package/dist/admin/assets/{media-DjK3xGFN.js.map → media-WLnWaL7U.js.map} +1 -1
- package/dist/admin/assets/{media-BfDqe_2P.js → media-Xzot1ueY.js} +2 -2
- package/dist/admin/assets/{media-BfDqe_2P.js.map → media-Xzot1ueY.js.map} +1 -1
- package/dist/admin/assets/network-DHGqLwji.js +2 -0
- package/dist/admin/assets/network-DHGqLwji.js.map +1 -0
- package/dist/admin/assets/{pencil-Zd05MDs2.js → pencil-Bdp2z9D_.js} +2 -2
- package/dist/admin/assets/{pencil-Zd05MDs2.js.map → pencil-Bdp2z9D_.js.map} +1 -1
- package/dist/admin/assets/{plus-B0gd63Da.js → plus-BN_iSsnp.js} +2 -2
- package/dist/admin/assets/{plus-B0gd63Da.js.map → plus-BN_iSsnp.js.map} +1 -1
- package/dist/admin/assets/{preload-helper-CJKHb_rG.js → preload-helper-DAbCfXID.js} +2 -2
- package/dist/admin/assets/{preload-helper-CJKHb_rG.js.map → preload-helper-DAbCfXID.js.map} +1 -1
- package/dist/admin/assets/publishing-d9yhMwgA.js +2 -0
- package/dist/admin/assets/{publishing-vCVjaSGF.js.map → publishing-d9yhMwgA.js.map} +1 -1
- package/dist/admin/assets/{radio-group-DVR0mTpo.js → radio-group-DHIxK-IU.js} +2 -2
- package/dist/admin/assets/{radio-group-DVR0mTpo.js.map → radio-group-DHIxK-IU.js.map} +1 -1
- package/dist/admin/assets/{rotate-ccw-BOTDOdHf.js → rotate-ccw-CBoZle-b.js} +2 -2
- package/dist/admin/assets/{rotate-ccw-BOTDOdHf.js.map → rotate-ccw-CBoZle-b.js.map} +1 -1
- package/dist/admin/assets/{schedules-CG-ZphRK.js → schedules-Dy89Nm6P.js} +2 -2
- package/dist/admin/assets/{schedules-CG-ZphRK.js.map → schedules-Dy89Nm6P.js.map} +1 -1
- package/dist/admin/assets/schema-B4smPFcR.js +2 -0
- package/dist/admin/assets/schema-B4smPFcR.js.map +1 -0
- package/dist/admin/assets/{scroll-text-D-gHqYwR.js → scroll-text-UbyzpWh-.js} +2 -2
- package/dist/admin/assets/{scroll-text-D-gHqYwR.js.map → scroll-text-UbyzpWh-.js.map} +1 -1
- package/dist/admin/assets/{search-BcPL1qyc.js → search-_YlNpPvU.js} +2 -2
- package/dist/admin/assets/{search-BcPL1qyc.js.map → search-_YlNpPvU.js.map} +1 -1
- package/dist/admin/assets/searchSchema-CvOhn4FV.js +2 -0
- package/dist/admin/assets/{searchSchema-BGrRDBL_.js.map → searchSchema-CvOhn4FV.js.map} +1 -1
- package/dist/admin/assets/searchSchemas-BxRnxenn.js +2 -0
- package/dist/admin/assets/searchSchemas-BxRnxenn.js.map +1 -0
- package/dist/admin/assets/{sections-i9TeeK-h.js → sections-Bb3Q4bcY.js} +2 -2
- package/dist/admin/assets/{sections-i9TeeK-h.js.map → sections-Bb3Q4bcY.js.map} +1 -1
- package/dist/admin/assets/{sections-BrGcWOnw.js → sections-DiySZZHb.js} +2 -2
- package/dist/admin/assets/{sections-BrGcWOnw.js.map → sections-DiySZZHb.js.map} +1 -1
- package/dist/admin/assets/{select--nGB4WjU.js → select-tHVWX85X.js} +2 -2
- package/dist/admin/assets/{select--nGB4WjU.js.map → select-tHVWX85X.js.map} +1 -1
- package/dist/admin/assets/{send-Bu3RRfdI.js → send-BqECHYi6.js} +2 -2
- package/dist/admin/assets/{send-Bu3RRfdI.js.map → send-BqECHYi6.js.map} +1 -1
- package/dist/admin/assets/settings-D-v8gL8F.js +2 -0
- package/dist/admin/assets/settings-D-v8gL8F.js.map +1 -0
- package/dist/admin/assets/skeleton-C3QLIh7W.js +42 -0
- package/dist/admin/assets/skeleton-C3QLIh7W.js.map +1 -0
- package/dist/admin/assets/snapshots-BQrhsCmC.js +2 -0
- package/dist/admin/assets/{snapshots-CKjK-vkL.js.map → snapshots-BQrhsCmC.js.map} +1 -1
- package/dist/admin/assets/{sparkles-B_NX7PAY.js → sparkles-BW4CbD6W.js} +2 -2
- package/dist/admin/assets/{sparkles-B_NX7PAY.js.map → sparkles-BW4CbD6W.js.map} +1 -1
- package/dist/admin/assets/src-XaU0N8C-.js +4 -0
- package/dist/admin/assets/src-XaU0N8C-.js.map +1 -0
- package/dist/admin/assets/{stableId-Dmr2Afn_.js → stableId-C9Yq5iUw.js} +2 -2
- package/dist/admin/assets/{stableId-Dmr2Afn_.js.map → stableId-C9Yq5iUw.js.map} +1 -1
- package/dist/admin/assets/{store-B5xrQ1Ex.js → store-BphwUzV5.js} +2 -2
- package/dist/admin/assets/{store-B5xrQ1Ex.js.map → store-BphwUzV5.js.map} +1 -1
- package/dist/admin/assets/{switch-B-FbT-l8.js → switch-BVy02Vc8.js} +2 -2
- package/dist/admin/assets/{switch-B-FbT-l8.js.map → switch-BVy02Vc8.js.map} +1 -1
- package/dist/admin/assets/{table-DQzCPm7J.js → table-CZYtdoHn.js} +2 -2
- package/dist/admin/assets/{table-DQzCPm7J.js.map → table-CZYtdoHn.js.map} +1 -1
- package/dist/admin/assets/tabs-quHbeVxA.js +5 -0
- package/dist/admin/assets/{tabs-YThoOiE3.js.map → tabs-quHbeVxA.js.map} +1 -1
- package/dist/admin/assets/{textarea-_wcx8Mn1.js → textarea-B8Vl5gJ1.js} +2 -2
- package/dist/admin/assets/{textarea-_wcx8Mn1.js.map → textarea-B8Vl5gJ1.js.map} +1 -1
- package/dist/admin/assets/titles-B2z5ckxG.js +2 -0
- package/dist/admin/assets/{titles-DyCBLXue.js.map → titles-B2z5ckxG.js.map} +1 -1
- package/dist/admin/assets/{tokens-CqsxrApC.js → tokens-Fh_OeIlf.js} +2 -2
- package/dist/admin/assets/{tokens-CqsxrApC.js.map → tokens-Fh_OeIlf.js.map} +1 -1
- package/dist/admin/assets/{tooltip-BMe4HylJ.js → tooltip-DwqM3opE.js} +2 -2
- package/dist/admin/assets/{tooltip-BMe4HylJ.js.map → tooltip-DwqM3opE.js.map} +1 -1
- package/dist/admin/assets/{undo-2-DMOHOH6w.js → undo-2-D4Fz4JMZ.js} +2 -2
- package/dist/admin/assets/{undo-2-DMOHOH6w.js.map → undo-2-D4Fz4JMZ.js.map} +1 -1
- package/dist/admin/assets/{useAuditLabels-CSw_kwLs.js → useAuditLabels-DKrsrciQ.js} +2 -2
- package/dist/admin/assets/{useAuditLabels-CSw_kwLs.js.map → useAuditLabels-DKrsrciQ.js.map} +1 -1
- package/dist/admin/assets/useConfirmTarget-Dp8mCulm.js +2 -0
- package/dist/admin/assets/useConfirmTarget-Dp8mCulm.js.map +1 -0
- package/dist/admin/assets/{useContentSchema-CS5QQcRk.js → useContentSchema-Bv4_6VJR.js} +2 -2
- package/dist/admin/assets/{useContentSchema-CS5QQcRk.js.map → useContentSchema-Bv4_6VJR.js.map} +1 -1
- package/dist/admin/assets/{useCursorPager-Dt_axwd1.js → useCursorPager-B1upg5EU.js} +2 -2
- package/dist/admin/assets/{useCursorPager-Dt_axwd1.js.map → useCursorPager-B1upg5EU.js.map} +1 -1
- package/dist/admin/assets/{useDiscardGuard-7rRGpd4q.js → useDiscardGuard-34ynGJIk.js} +2 -2
- package/dist/admin/assets/{useDiscardGuard-7rRGpd4q.js.map → useDiscardGuard-34ynGJIk.js.map} +1 -1
- package/dist/admin/assets/{useMediaUploader-CBUcNW6d.js → useMediaUploader-QXSjZStv.js} +2 -2
- package/dist/admin/assets/{useMediaUploader-CBUcNW6d.js.map → useMediaUploader-QXSjZStv.js.map} +1 -1
- package/dist/admin/assets/{usePaletteItems-bbTIqpPu.js → usePaletteItems-62-TZhy7.js} +2 -2
- package/dist/admin/assets/{usePaletteItems-bbTIqpPu.js.map → usePaletteItems-62-TZhy7.js.map} +1 -1
- package/dist/admin/assets/usePlaces-CY6f2DmI.js +2 -0
- package/dist/admin/assets/usePlaces-CY6f2DmI.js.map +1 -0
- package/dist/admin/assets/{useQueries-DKGIdq6A.js → useQueries-BuKJBA0M.js} +2 -2
- package/dist/admin/assets/{useQueries-DKGIdq6A.js.map → useQueries-BuKJBA0M.js.map} +1 -1
- package/dist/admin/assets/useSchemaScopeAccess-DUBeS9kU.js +2 -0
- package/dist/admin/assets/useSchemaScopeAccess-DUBeS9kU.js.map +1 -0
- package/dist/admin/assets/{users-C1ZSee3N.js → users-BOn2ohJQ.js} +2 -2
- package/dist/admin/assets/{users-C1ZSee3N.js.map → users-BOn2ohJQ.js.map} +1 -1
- package/dist/admin/assets/{users-DMfQL0s4.js → users-BkKc4MNB.js} +2 -2
- package/dist/admin/assets/{users-DMfQL0s4.js.map → users-BkKc4MNB.js.map} +1 -1
- package/dist/admin/assets/{zod-Pf5A-ax4.js → zod-BHAd1wTC.js} +2 -2
- package/dist/admin/assets/{zod-Pf5A-ax4.js.map → zod-BHAd1wTC.js.map} +1 -1
- package/dist/admin/index.html +56 -55
- package/dist/cli.js +383 -163
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +1 -1
- package/dist/{public-CKU0Gkfq.d.ts → public-CGO8RBn3.d.ts} +10 -2
- package/dist/{worker-C-MSYr4l.js → worker-BLXy8aRW.js} +2307 -1220
- package/dist/worker-BLXy8aRW.js.map +1 -0
- package/package.json +5 -6
- package/dist/admin/assets/Body-CFQKONK4.js +0 -2
- package/dist/admin/assets/Builder-Do5KVHV9.js +0 -2
- package/dist/admin/assets/Builder-Do5KVHV9.js.map +0 -1
- package/dist/admin/assets/LinkTabs-Bn2JVqOL.js +0 -2
- package/dist/admin/assets/Match-DaYgKrk7.js +0 -2
- package/dist/admin/assets/Structure-D5-hCUuF.js +0 -2
- package/dist/admin/assets/SubNavLink-C5oN5mzB.js +0 -2
- package/dist/admin/assets/TextLink-B4a6j3r6.js +0 -2
- package/dist/admin/assets/UnsavedChangesGuard-BYwMTDsE.js +0 -2
- package/dist/admin/assets/auth-b3_9QbtL.js +0 -2
- package/dist/admin/assets/auth-b3_9QbtL.js.map +0 -1
- package/dist/admin/assets/badge-CMox6-v3.js +0 -2
- package/dist/admin/assets/chevron-left-DyqYjcMB.js +0 -2
- package/dist/admin/assets/cn-DnXL75B0.js +0 -2
- package/dist/admin/assets/cn-DnXL75B0.js.map +0 -1
- package/dist/admin/assets/coerce-COM3rk1i.js +0 -2
- package/dist/admin/assets/constants-CS1ziZO0.js +0 -2
- package/dist/admin/assets/constants-CS1ziZO0.js.map +0 -1
- package/dist/admin/assets/content-Dic2fof_.js +0 -3
- package/dist/admin/assets/content-Dic2fof_.js.map +0 -1
- package/dist/admin/assets/contentTypes-D4_Ax9rb.js +0 -2
- package/dist/admin/assets/contentTypes-D4_Ax9rb.js.map +0 -1
- package/dist/admin/assets/develop-Brnb5YPC.js +0 -11
- package/dist/admin/assets/develop-Brnb5YPC.js.map +0 -1
- package/dist/admin/assets/errors-DfoXUVDI.js +0 -2
- package/dist/admin/assets/errors-DfoXUVDI.js.map +0 -1
- package/dist/admin/assets/fileRoute-BYwireXG.js +0 -2
- package/dist/admin/assets/inbox-wDoqym--.js +0 -2
- package/dist/admin/assets/index-57Mn6XLO.js +0 -4
- package/dist/admin/assets/index-57Mn6XLO.js.map +0 -1
- package/dist/admin/assets/link-2-DhM2vi4v.js +0 -2
- package/dist/admin/assets/link-2-DhM2vi4v.js.map +0 -1
- package/dist/admin/assets/link-2-off-DpDOMsa-.js +0 -2
- package/dist/admin/assets/link-2-off-DpDOMsa-.js.map +0 -1
- package/dist/admin/assets/media-DjK3xGFN.js +0 -2
- package/dist/admin/assets/network-CAJ76ILr.js +0 -2
- package/dist/admin/assets/network-CAJ76ILr.js.map +0 -1
- package/dist/admin/assets/publishing-vCVjaSGF.js +0 -2
- package/dist/admin/assets/schema-KXXSPVJn.js +0 -2
- package/dist/admin/assets/schema-KXXSPVJn.js.map +0 -1
- package/dist/admin/assets/searchSchema-BGrRDBL_.js +0 -2
- package/dist/admin/assets/searchSchemas-ChN9hhuQ.js +0 -2
- package/dist/admin/assets/searchSchemas-ChN9hhuQ.js.map +0 -1
- package/dist/admin/assets/settings-68BAxrPM.js +0 -2
- package/dist/admin/assets/settings-68BAxrPM.js.map +0 -1
- package/dist/admin/assets/skeleton-DUvclBAr.js +0 -42
- package/dist/admin/assets/skeleton-DUvclBAr.js.map +0 -1
- package/dist/admin/assets/snapshots-CKjK-vkL.js +0 -2
- package/dist/admin/assets/src-D6DABe5J.js +0 -4
- package/dist/admin/assets/src-D6DABe5J.js.map +0 -1
- package/dist/admin/assets/tabs-YThoOiE3.js +0 -5
- package/dist/admin/assets/titles-DyCBLXue.js +0 -2
- package/dist/admin/assets/useConfirmTarget-9JmfiY2X.js +0 -2
- package/dist/admin/assets/useConfirmTarget-9JmfiY2X.js.map +0 -1
- package/dist/admin/assets/usePlaces-D1raoQ2s.js +0 -2
- package/dist/admin/assets/usePlaces-D1raoQ2s.js.map +0 -1
- package/dist/worker-C-MSYr4l.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{i as r,j as i,r as a,t as o}from"./cn-DnXL75B0.js";import{C as s,D as c,E as l,S as u,T as d,b as f,g as p,w as m,x as h,y as g}from"./badge-CMox6-v3.js";import{N as _,a as v,d as y,i as b,n as x,o as S,r as C,z as w}from"./InfoHint-DBqcrmZ3.js";import{E as T,O as E,T as D,a as O,b as k,g as A,h as j,i as M,k as N,v as P,y as F}from"./skeleton-DUvclBAr.js";var I={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};I.node;var L=r(I),R=e(t(),1),z=e(n(),1),ee=Object.defineProperty,B=(e,t)=>ee(e,`name`,{value:t,configurable:!0}),[te,ne]=F(`AlertDialog`,[c]),V=c(),re=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(g,{...r,...n,modal:!0})},`AlertDialog`);R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(l,{...i,...r,ref:t})},`AlertDialogTrigger`));var ie=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(m,{...r,...n})},`AlertDialogPortal`),ae=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(s,{...i,...r,ref:t})},`AlertDialogOverlay`)),[oe,se]=te(`AlertDialogContent`),ce=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,children:r,...i}=e,a=V(n),o=R.useRef(null),s=D(t,o),c=R.useRef(null);return(0,z.jsx)(oe,{scope:n,cancelRef:c,children:(0,z.jsx)(h,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:P(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})},`AlertDialogContent`)),le=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(d,{...i,...r,ref:t})},`AlertDialogTitle`)),ue=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(u,{...i,...r,ref:t})},`AlertDialogDescription`)),de=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(f,{...i,...r,ref:t})},`AlertDialogAction`)),fe=`AlertDialogCancel`,pe=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=se(fe,n),a=V(n),o=D(t,i);return(0,z.jsx)(f,{...a,...r,ref:o})},`AlertDialogCancel`)),me=re,he=ie,ge=ae,_e=ce,ve=de,ye=pe,be=le,xe=ue,Se=Object.defineProperty,H=(e,t)=>Se(e,`name`,{value:t,configurable:!0}),U=`Checkbox`,[Ce,we]=F(U),[Te,W]=Ce(U);function G(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=A({prop:n,defaultProp:i??!1,onChange:c,caller:U}),[m,h]=R.useState(null),[g,_]=R.useState(null),v=R.useRef(!1),[y,b]=R.useReducer(e=>e+1,0),x=!m||!!o||!!m.closest(`form`),S={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,userInteractionCount:y,onUserInteraction:b,required:l,defaultChecked:!q(i)&&i,isFormControl:x,bubbleInput:g,setBubbleInput:_};return(0,z.jsx)(Te,{scope:t,...S,children:K(d)?d(S):r})}H(G,`CheckboxProvider`);var Ee=`CheckboxTrigger`,De=R.forwardRef(H(function({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i){let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,onUserInteraction:p,isFormControl:m,bubbleInput:h}=W(Ee,e),g=D(i,u),_=R.useRef(c);return R.useEffect(()=>{let e=a?.form;if(e){let t=H(()=>d(_.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,z.jsx)(k.button,{type:`button`,role:`checkbox`,"aria-checked":q(c)?`mixed`:c,"aria-required":l,"data-state":J(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:g,onKeyDown:P(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:P(n,e=>{p(),d(e=>q(e)?!0:!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})},`CheckboxTrigger`)),Oe=R.forwardRef(H(function(e,t){let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,z.jsx)(G,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(De,{...d,ref:t,__scopeCheckbox:n}),e&&(0,z.jsx)(Me,{__scopeCheckbox:n})]})})},`Checkbox`)),ke=`CheckboxIndicator`,Ae=R.forwardRef(H(function(e,t){let{__scopeCheckbox:n,forceMount:r,...i}=e,a=W(ke,n);return(0,z.jsx)(j,{present:r||q(a.checked)||a.checked===!0,children:(0,z.jsx)(k.span,{"data-state":J(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})},`CheckboxIndicator`)),je=`CheckboxBubbleInput`,Me=R.forwardRef(H(function({__scopeCheckbox:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:s,defaultChecked:c,required:l,disabled:u,name:d,value:f,form:p,bubbleInput:m,setBubbleInput:h}=W(je,e),g=D(r,h),v=_(i),y=R.useRef(!1),b=R.useRef(s),x=R.useRef(o);R.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==x.current;x.current=o;let i=b.current!==s;b.current=s;let c=!(r&&a.current);if(i&&n){y.current=!r;let t=new Event(`click`,{bubbles:c});e.indeterminate=q(s),n.call(e,!q(s)&&s),e.dispatchEvent(t),y.current=!1}},[m,s,a,o]);let S=R.useRef(!q(s)&&s);return(0,z.jsx)(k.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??S.current,required:l,disabled:u,name:d,value:f,form:p,...n,tabIndex:-1,ref:g,onClick:P(t,e=>{y.current&&e.stopPropagation()}),style:{...n.style,...v,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`CheckboxBubbleInput`));function K(e){return typeof e==`function`}H(K,`isFunction`);function q(e){return e===`indeterminate`}H(q,`isIndeterminate`);function J(e){return q(e)?`indeterminate`:e?`checked`:`unchecked`}H(J,`getState`);var Ne=T(`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`border-destructive/30 bg-destructive-muted text-destructive *:data-[slot=alert-description]:text-destructive [&>svg]:text-current`,warning:`border-warning/30 bg-warning-muted text-warning *:data-[slot=alert-description]:text-warning [&>svg]:text-current`,info:`border-border bg-muted text-foreground *:data-[slot=alert-description]:text-muted-foreground dark:border-info/30 dark:bg-info-muted dark:text-info dark:*:data-[slot=alert-description]:text-info [&>svg]:text-info`,success:`border-success/30 bg-success-muted text-success *:data-[slot=alert-description]:text-success [&>svg]:text-current`}},defaultVariants:{variant:`default`}});function Y({className:e,variant:t,...n}){return(0,z.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:o(Ne({variant:t}),e),...n})}function Pe({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:o(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function X({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-description`,className:o(`col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed`,e),...t})}var Z=({error:e})=>e?(0,z.jsxs)(Y,{variant:`destructive`,children:[(0,z.jsx)(L,{"aria-hidden":`true`}),(0,z.jsx)(X,{children:N(e)})]}):null,Fe=e=>{let{title:t,description:n,confirmLabel:r,cancelLabel:o,pendingLabel:s,tone:c,onConfirm:l,align:u=`end`,side:d=`bottom`,onCloseAutoFocus:f}=e,{t:m}=i(),h=(0,R.useId)(),g=(0,R.useId)(),_=(0,R.useRef)(null),y=(0,R.useRef)(null),[S,w]=(0,R.useState)(!1),[T,E]=(0,R.useState)(!1),[D,O]=(0,R.useState)(null),k=e.trigger===void 0?e.open:S,A=t=>{t&&O(null),e.trigger===void 0?e.onOpenChange(t):w(t)},j=e=>T&&!e?void 0:A(e),N=()=>{let e=l();if(!(e instanceof Promise)){A(!1);return}E(!0),O(null),e.then(()=>{E(!1),A(!1)},e=>{E(!1),O(e)})},P=p(e=>{e.preventDefault(),(c===`danger`?_:y).current?.focus()},f);return(0,z.jsxs)(x,{open:k,onOpenChange:j,modal:!0,children:[e.trigger===void 0?(0,z.jsx)(C,{asChild:!0,children:e.children}):(0,z.jsx)(v,{asChild:!0,children:e.trigger}),(0,z.jsxs)(b,{role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":h,"aria-describedby":n?g:void 0,align:u,side:d,className:`w-80 space-y-4`,...P,children:[(0,z.jsxs)(`div`,{className:`space-y-1`,children:[(0,z.jsx)(`p`,{id:h,className:`text-sm font-semibold`,children:t}),n?(0,z.jsx)(`p`,{id:g,className:`text-meta text-muted-foreground`,children:n}):null]}),(0,z.jsx)(Z,{error:D}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,z.jsx)(M,{ref:_,type:`button`,size:`sm`,variant:`outline`,disabled:T,onClick:()=>A(!1),children:o??m(`common.cancel`)}),(0,z.jsx)(M,{ref:y,type:`button`,size:`sm`,variant:c===`danger`?`destructive`:`default`,disabled:T,"aria-busy":T||void 0,onClick:N,children:T?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{className:`animate-spin`,"aria-hidden":`true`}),s??r]}):r})]})]})]})};function Q({className:e,...t}){return(0,z.jsx)(Oe,{"data-slot":`checkbox`,className:o(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary dark:data-[state=indeterminate]:bg-primary`,e),...t,children:(0,z.jsx)(Ae,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:t.checked===`indeterminate`?(0,z.jsx)(w,{className:`size-3.5`}):(0,z.jsx)(E,{className:`size-3.5`})})})}function Ie({...e}){return(0,z.jsx)(me,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,z.jsx)(he,{"data-slot":`alert-dialog-portal`,...e})}function $({className:e,...t}){return(0,z.jsx)(ge,{"data-slot":`alert-dialog-overlay`,className:o(`fixed inset-0 z-50 bg-overlay/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function Re({className:e,size:t=`default`,onOpenAutoFocus:n,onCloseAutoFocus:r,...i}){let a=p(n,r);return(0,z.jsxs)(Le,{children:[(0,z.jsx)($,{}),(0,z.jsx)(_e,{"data-slot":`alert-dialog-content`,"data-size":t,className:o(`group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border bg-card p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg`,e),...i,...a})]})}function ze({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:o(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function Be({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:o(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function Ve({className:e,...t}){return(0,z.jsx)(be,{"data-slot":`alert-dialog-title`,className:o(`text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function He({className:e,...t}){return(0,z.jsx)(xe,{"data-slot":`alert-dialog-description`,className:o(`text-sm text-muted-foreground`,e),...t})}function Ue({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,z.jsx)(M,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(ve,{"data-slot":`alert-dialog-action`,className:o(e),...r})})}function We({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,z.jsx)(M,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(ye,{"data-slot":`alert-dialog-cancel`,className:o(e),...r})})}var Ge=({open:e,onOpenChange:t,title:n,description:r,confirmLabel:o,cancelLabel:s,destructive:c=!1,onConfirm:l,acknowledgement:u,pending:d,pendingLabel:f,error:p})=>{let{t:m}=i(),h=(0,R.useId)(),[g,_]=(0,R.useState)(!1),[v,b]=(0,R.useState)(e);e!==v&&(b(e),e&&_(!1));let x=d!==void 0,C=d===!0,w=u!==void 0&&!g,T=O({variant:c?`destructive`:`default`});return(0,z.jsx)(Ie,{open:e,onOpenChange:e=>C&&!e?void 0:t(e),children:(0,z.jsxs)(Re,{children:[(0,z.jsxs)(ze,{children:[(0,z.jsx)(Ve,{children:n}),(0,z.jsx)(He,{children:r})]}),u?(0,z.jsxs)(S,{orientation:`horizontal`,children:[(0,z.jsx)(Q,{id:h,checked:g,disabled:C,onCheckedChange:e=>_(e===!0)}),(0,z.jsx)(y,{htmlFor:h,className:`font-normal`,children:u})]}):null,x?(0,z.jsx)(Z,{error:p}):null,(0,z.jsxs)(Be,{children:[(0,z.jsx)(We,{disabled:C,children:s??m(`common.cancel`)}),x?(0,z.jsx)(M,{type:`button`,variant:c?`destructive`:`default`,disabled:C||w,"aria-busy":C||void 0,onClick:l,children:C?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{className:`animate-spin`,"aria-hidden":`true`}),f??o]}):o}):(0,z.jsx)(Ue,{className:T,disabled:w,onClick:l,children:o})]})]})})};export{Y as a,L as c,Z as i,Q as n,X as o,Fe as r,Pe as s,Ge as t};
|
|
2
|
-
//# sourceMappingURL=ConfirmDialog-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{i as r,j as i,r as a,t as o}from"./cn-BQ3voEft.js";import{C as s,D as c,E as l,S as u,T as d,b as f,g as p,w as m,x as h,y as g}from"./badge-DD0mE96i.js";import{N as _,a as v,d as y,i as b,n as x,o as S,r as C,z as w}from"./InfoHint-GJLRVumb.js";import{E as T,O as E,T as D,a as O,b as k,g as A,h as j,i as M,k as N,v as P,y as F}from"./skeleton-C3QLIh7W.js";var I={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};I.node;var L=r(I),R=e(t(),1),z=e(n(),1),ee=Object.defineProperty,B=(e,t)=>ee(e,`name`,{value:t,configurable:!0}),[te,ne]=F(`AlertDialog`,[c]),V=c(),re=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(g,{...r,...n,modal:!0})},`AlertDialog`);R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(l,{...i,...r,ref:t})},`AlertDialogTrigger`));var ie=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(m,{...r,...n})},`AlertDialogPortal`),ae=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(s,{...i,...r,ref:t})},`AlertDialogOverlay`)),[oe,se]=te(`AlertDialogContent`),ce=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,children:r,...i}=e,a=V(n),o=R.useRef(null),s=D(t,o),c=R.useRef(null);return(0,z.jsx)(oe,{scope:n,cancelRef:c,children:(0,z.jsx)(h,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:P(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})},`AlertDialogContent`)),le=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(d,{...i,...r,ref:t})},`AlertDialogTitle`)),ue=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(u,{...i,...r,ref:t})},`AlertDialogDescription`)),de=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(f,{...i,...r,ref:t})},`AlertDialogAction`)),fe=`AlertDialogCancel`,pe=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=se(fe,n),a=V(n),o=D(t,i);return(0,z.jsx)(f,{...a,...r,ref:o})},`AlertDialogCancel`)),me=re,he=ie,ge=ae,_e=ce,ve=de,ye=pe,be=le,xe=ue,Se=Object.defineProperty,H=(e,t)=>Se(e,`name`,{value:t,configurable:!0}),U=`Checkbox`,[Ce,we]=F(U),[Te,W]=Ce(U);function G(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=A({prop:n,defaultProp:i??!1,onChange:c,caller:U}),[m,h]=R.useState(null),[g,_]=R.useState(null),v=R.useRef(!1),[y,b]=R.useReducer(e=>e+1,0),x=!m||!!o||!!m.closest(`form`),S={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:v,userInteractionCount:y,onUserInteraction:b,required:l,defaultChecked:!q(i)&&i,isFormControl:x,bubbleInput:g,setBubbleInput:_};return(0,z.jsx)(Te,{scope:t,...S,children:K(d)?d(S):r})}H(G,`CheckboxProvider`);var Ee=`CheckboxTrigger`,De=R.forwardRef(H(function({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i){let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,onUserInteraction:p,isFormControl:m,bubbleInput:h}=W(Ee,e),g=D(i,u),_=R.useRef(c);return R.useEffect(()=>{let e=a?.form;if(e){let t=H(()=>d(_.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,z.jsx)(k.button,{type:`button`,role:`checkbox`,"aria-checked":q(c)?`mixed`:c,"aria-required":l,"data-state":J(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:g,onKeyDown:P(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:P(n,e=>{p(),d(e=>q(e)?!0:!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})},`CheckboxTrigger`)),Oe=R.forwardRef(H(function(e,t){let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,z.jsx)(G,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(De,{...d,ref:t,__scopeCheckbox:n}),e&&(0,z.jsx)(Me,{__scopeCheckbox:n})]})})},`Checkbox`)),ke=`CheckboxIndicator`,Ae=R.forwardRef(H(function(e,t){let{__scopeCheckbox:n,forceMount:r,...i}=e,a=W(ke,n);return(0,z.jsx)(j,{present:r||q(a.checked)||a.checked===!0,children:(0,z.jsx)(k.span,{"data-state":J(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})},`CheckboxIndicator`)),je=`CheckboxBubbleInput`,Me=R.forwardRef(H(function({__scopeCheckbox:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:s,defaultChecked:c,required:l,disabled:u,name:d,value:f,form:p,bubbleInput:m,setBubbleInput:h}=W(je,e),g=D(r,h),v=_(i),y=R.useRef(!1),b=R.useRef(s),x=R.useRef(o);R.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==x.current;x.current=o;let i=b.current!==s;b.current=s;let c=!(r&&a.current);if(i&&n){y.current=!r;let t=new Event(`click`,{bubbles:c});e.indeterminate=q(s),n.call(e,!q(s)&&s),e.dispatchEvent(t),y.current=!1}},[m,s,a,o]);let S=R.useRef(!q(s)&&s);return(0,z.jsx)(k.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??S.current,required:l,disabled:u,name:d,value:f,form:p,...n,tabIndex:-1,ref:g,onClick:P(t,e=>{y.current&&e.stopPropagation()}),style:{...n.style,...v,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`CheckboxBubbleInput`));function K(e){return typeof e==`function`}H(K,`isFunction`);function q(e){return e===`indeterminate`}H(q,`isIndeterminate`);function J(e){return q(e)?`indeterminate`:e?`checked`:`unchecked`}H(J,`getState`);var Ne=T(`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`border-destructive/30 bg-destructive-muted text-destructive *:data-[slot=alert-description]:text-destructive [&>svg]:text-current`,warning:`border-warning/30 bg-warning-muted text-warning *:data-[slot=alert-description]:text-warning [&>svg]:text-current`,info:`border-border bg-muted text-foreground *:data-[slot=alert-description]:text-muted-foreground dark:border-info/30 dark:bg-info-muted dark:text-info dark:*:data-[slot=alert-description]:text-info [&>svg]:text-info`,success:`border-success/30 bg-success-muted text-success *:data-[slot=alert-description]:text-success [&>svg]:text-current`}},defaultVariants:{variant:`default`}});function Y({className:e,variant:t,...n}){return(0,z.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:o(Ne({variant:t}),e),...n})}function Pe({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:o(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function X({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-description`,className:o(`col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed`,e),...t})}var Z=({error:e})=>e?(0,z.jsxs)(Y,{variant:`destructive`,children:[(0,z.jsx)(L,{"aria-hidden":`true`}),(0,z.jsx)(X,{children:N(e)})]}):null,Fe=e=>{let{title:t,description:n,confirmLabel:r,cancelLabel:o,pendingLabel:s,tone:c,onConfirm:l,align:u=`end`,side:d=`bottom`,onCloseAutoFocus:f}=e,{t:m}=i(),h=(0,R.useId)(),g=(0,R.useId)(),_=(0,R.useRef)(null),y=(0,R.useRef)(null),[S,w]=(0,R.useState)(!1),[T,E]=(0,R.useState)(!1),[D,O]=(0,R.useState)(null),k=e.trigger===void 0?e.open:S,A=t=>{t&&O(null),e.trigger===void 0?e.onOpenChange(t):w(t)},j=e=>T&&!e?void 0:A(e),N=()=>{let e=l();if(!(e instanceof Promise)){A(!1);return}E(!0),O(null),e.then(()=>{E(!1),A(!1)},e=>{E(!1),O(e)})},P=p(e=>{e.preventDefault(),(c===`danger`?_:y).current?.focus()},f);return(0,z.jsxs)(x,{open:k,onOpenChange:j,modal:!0,children:[e.trigger===void 0?(0,z.jsx)(C,{asChild:!0,children:e.children}):(0,z.jsx)(v,{asChild:!0,children:e.trigger}),(0,z.jsxs)(b,{role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":h,"aria-describedby":n?g:void 0,align:u,side:d,className:`w-80 space-y-4`,...P,children:[(0,z.jsxs)(`div`,{className:`space-y-1`,children:[(0,z.jsx)(`p`,{id:h,className:`text-sm font-semibold`,children:t}),n?(0,z.jsx)(`p`,{id:g,className:`text-meta text-muted-foreground`,children:n}):null]}),(0,z.jsx)(Z,{error:D}),(0,z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,z.jsx)(M,{ref:_,type:`button`,size:`sm`,variant:`outline`,disabled:T,onClick:()=>A(!1),children:o??m(`common.cancel`)}),(0,z.jsx)(M,{ref:y,type:`button`,size:`sm`,variant:c===`danger`?`destructive`:`default`,disabled:T,"aria-busy":T||void 0,onClick:N,children:T?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{className:`animate-spin`,"aria-hidden":`true`}),s??r]}):r})]})]})]})};function Q({className:e,...t}){return(0,z.jsx)(Oe,{"data-slot":`checkbox`,className:o(`peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary dark:data-[state=indeterminate]:bg-primary`,e),...t,children:(0,z.jsx)(Ae,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:t.checked===`indeterminate`?(0,z.jsx)(w,{className:`size-3.5`}):(0,z.jsx)(E,{className:`size-3.5`})})})}function Ie({...e}){return(0,z.jsx)(me,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,z.jsx)(he,{"data-slot":`alert-dialog-portal`,...e})}function $({className:e,...t}){return(0,z.jsx)(ge,{"data-slot":`alert-dialog-overlay`,className:o(`fixed inset-0 z-50 bg-overlay/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function Re({className:e,size:t=`default`,onOpenAutoFocus:n,onCloseAutoFocus:r,...i}){let a=p(n,r);return(0,z.jsxs)(Le,{children:[(0,z.jsx)($,{}),(0,z.jsx)(_e,{"data-slot":`alert-dialog-content`,"data-size":t,className:o(`group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border bg-card p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg`,e),...i,...a})]})}function ze({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:o(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,e),...t})}function Be({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:o(`flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,e),...t})}function Ve({className:e,...t}){return(0,z.jsx)(be,{"data-slot":`alert-dialog-title`,className:o(`text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2`,e),...t})}function He({className:e,...t}){return(0,z.jsx)(xe,{"data-slot":`alert-dialog-description`,className:o(`text-sm text-muted-foreground`,e),...t})}function Ue({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,z.jsx)(M,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(ve,{"data-slot":`alert-dialog-action`,className:o(e),...r})})}function We({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,z.jsx)(M,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(ye,{"data-slot":`alert-dialog-cancel`,className:o(e),...r})})}var Ge=({open:e,onOpenChange:t,title:n,description:r,confirmLabel:o,cancelLabel:s,destructive:c=!1,onConfirm:l,acknowledgement:u,pending:d,pendingLabel:f,error:p})=>{let{t:m}=i(),h=(0,R.useId)(),[g,_]=(0,R.useState)(!1),[v,b]=(0,R.useState)(e);e!==v&&(b(e),e&&_(!1));let x=d!==void 0,C=d===!0,w=u!==void 0&&!g,T=O({variant:c?`destructive`:`default`});return(0,z.jsx)(Ie,{open:e,onOpenChange:e=>C&&!e?void 0:t(e),children:(0,z.jsxs)(Re,{children:[(0,z.jsxs)(ze,{children:[(0,z.jsx)(Ve,{children:n}),(0,z.jsx)(He,{children:r})]}),u?(0,z.jsxs)(S,{orientation:`horizontal`,children:[(0,z.jsx)(Q,{id:h,checked:g,disabled:C,onCheckedChange:e=>_(e===!0)}),(0,z.jsx)(y,{htmlFor:h,className:`font-normal`,children:u})]}):null,x?(0,z.jsx)(Z,{error:p}):null,(0,z.jsxs)(Be,{children:[(0,z.jsx)(We,{disabled:C,children:s??m(`common.cancel`)}),x?(0,z.jsx)(M,{type:`button`,variant:c?`destructive`:`default`,disabled:C||w,"aria-busy":C||void 0,onClick:l,children:C?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{className:`animate-spin`,"aria-hidden":`true`}),f??o]}):o}):(0,z.jsx)(Ue,{className:T,disabled:w,onClick:l,children:o})]})]})})};export{Y as a,L as c,Z as i,Q as n,X as o,Fe as r,Pe as s,Ge as t};
|
|
2
|
+
//# sourceMappingURL=ConfirmDialog-B9nWhIIz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog-D6rs75TP.js","names":["__defProp","__name","AlertDialog","DialogPrimitive.Root","DialogPrimitive.Trigger","AlertDialogPortal","DialogPrimitive.Portal","AlertDialogOverlay","DialogPrimitive.Overlay","AlertDialogContent","DialogPrimitive.Content","AlertDialogTitle","DialogPrimitive.Title","AlertDialogDescription","DialogPrimitive.Description","AlertDialogAction","DialogPrimitive.Close","AlertDialogCancel","Checkbox","Fragment","AlertCircle","useId","useRef","useState","_Fragment","Loader2","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","MinusIcon","CheckIcon","AlertDialogPrimitive.Root","AlertDialogPrimitive.Portal","AlertDialogPrimitive.Overlay","AlertDialogPrimitive.Content","AlertDialogPrimitive.Title","AlertDialogPrimitive.Description","AlertDialogPrimitive.Action","AlertDialogPrimitive.Cancel","useId","useState","_Fragment","Loader2","__toESM","require_jsx_runtime","createLucideIcon","useTranslation","LoaderCircle","cn","DialogOverlay","createDialogScope","DialogTrigger","DialogDescription","DialogTitle","DialogClose","useReturnFocus","DialogPortal","DialogContent","Dialog","useSize","PopoverTrigger","FieldLabel","PopoverContent","Popover","Field","PopoverAnchor","Minus","cva","Check","useComposedRefs","buttonVariants","Primitive","useControllableState","Presence","Button","describeError","composeEventHandlers","createContextScope","__iconData","CircleAlert","import_react","require_react","import_jsx_runtime","__defProp$1","__name$1","target","createAlertDialogContext","createAlertDialogScope","useDialogScope","AlertDialog$1","alertDialogProps","props","dialogScope","__scopeAlertDialog","triggerProps","forwardedRef","AlertDialogPortal$1","portalProps","AlertDialogOverlay$1","overlayProps","AlertDialogContentProvider","useAlertDialogContentContext","AlertDialogContent$1","contentProps","contentRef","composedRefs","cancelRef","event","AlertDialogTitle$1","titleProps","AlertDialogDescription$1","descriptionProps","AlertDialogAction$1","actionProps","CANCEL_NAME","AlertDialogCancel$1","cancelProps","ref","Root2","Portal2","Overlay2","Content2","Action","Cancel","Title2","Description2","__defProp","__name","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","checkedProp","checked","setChecked","defaultChecked","onCheckedChange","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","userInteractionCount","onUserInteraction","count","isFormControl","form","context","__scopeCheckbox","isFunction","internal_do_not_use_render","children","TRIGGER_NAME","CheckboxTrigger","checkboxProps","initialCheckedStateRef","reset","isIndeterminate","required","getState","disabled","onKeyDown","onClick","prevChecked","Checkbox$1","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","indicatorProps","forceMount","BUBBLE_INPUT_NAME","controlSize","shouldStopClickPropagationRef","prevCheckedRef","prevUserInteractionCountRef","input","inputProto","isUserInteraction","checkedChanged","bubbles","defaultCheckedRef","value","alertVariants","Alert","className","AlertTitle","AlertDescription","FormError","error","InlineConfirm","titleId","descriptionId","confirmRef","uncontrolledOpen","setUncontrolledOpen","pending","setPending","setError","open","changeOpen","next","requestOpenChange","confirm","result","onConfirm","reason","returnFocus","tone","onCloseAutoFocus","description","title","cancelLabel","t","pendingLabel","confirmLabel","Checkbox","AlertDialog","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","onOpenAutoFocus","size","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","ConfirmDialog","acknowledgementId","acknowledged","setAcknowledged","wasOpen","setWasOpen","isAsync","busy","blocked","acknowledgement","confirmClassName","destructive","onOpenChange"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/circle-alert.mjs","../../../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.23_@types+react-dom@19.3.0_@types+react@19.3.0__@types_490aa920fbab0adbc2c4344386ab6831/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs","../../../../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.11_@types+react-dom@19.3.0_@types+react@19.3.0__@types+rea_c6d869b9fcc94d95bd12a12175a8f53a/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../../src/components/ui/alert.tsx","../../src/components/FormError/index.tsx","../../src/components/InlineConfirm/index.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ConfirmDialog/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"circle-alert\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n ],\n aliases: [\"alert-circle\"]\n};\n__iconData.node;\nconst CircleAlert = createLucideIcon(__iconData);\n\nexport { __iconData, CircleAlert as default };\n//# sourceMappingURL=circle-alert.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = /* @__PURE__ */ __name((props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n}, \"AlertDialog\");\nvar AlertDialogTrigger = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogTrigger2(props, forwardedRef) {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }, \"AlertDialogTrigger\")\n);\nvar AlertDialogPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n}, \"AlertDialogPortal\");\nvar AlertDialogOverlay = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogOverlay2(props, forwardedRef) {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }, \"AlertDialogOverlay\")\n);\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar AlertDialogContent = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogContent2(props, forwardedRef) {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsx(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children\n }\n ) });\n }, \"AlertDialogContent\")\n);\nvar AlertDialogTitle = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogTitle2(props, forwardedRef) {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }, \"AlertDialogTitle\")\n);\nvar AlertDialogDescription = React.forwardRef(/* @__PURE__ */ __name(function AlertDialogDescription2(props, forwardedRef) {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n}, \"AlertDialogDescription\"));\nvar AlertDialogAction = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogAction2(props, forwardedRef) {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }, \"AlertDialogAction\")\n);\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogCancel2(props, forwardedRef) {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }, \"AlertDialogCancel\")\n);\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const [userInteractionCount, onUserInteraction] = React.useReducer(\n (count) => count + 1,\n 0\n );\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n onUserInteraction,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\n__name(CheckboxProvider, \"CheckboxProvider\");\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function CheckboxTrigger2({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n onUserInteraction,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = /* @__PURE__ */ __name(() => setChecked(initialCheckedStateRef.current), \"reset\");\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n onUserInteraction();\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }, \"CheckboxTrigger\")\n);\nvar Checkbox = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Checkbox2(props, forwardedRef) {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }, \"Checkbox\")\n);\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function CheckboxIndicator2(props, forwardedRef) {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }, \"CheckboxIndicator\")\n);\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function CheckboxBubbleInput2({ __scopeCheckbox, onClick, ...props }, forwardedRef) {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const controlSize = useSize(control);\n const shouldStopClickPropagationRef = React.useRef(false);\n const prevCheckedRef = React.useRef(checked);\n const prevUserInteractionCountRef = React.useRef(userInteractionCount);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const isUserInteraction = userInteractionCount !== prevUserInteractionCountRef.current;\n prevUserInteractionCountRef.current = userInteractionCount;\n const checkedChanged = prevCheckedRef.current !== checked;\n prevCheckedRef.current = checked;\n const bubbles = !(isUserInteraction && hasConsumerStoppedPropagationRef.current);\n if (checkedChanged && setChecked) {\n shouldStopClickPropagationRef.current = !isUserInteraction;\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n shouldStopClickPropagationRef.current = false;\n }\n }, [bubbleInput, checked, hasConsumerStoppedPropagationRef, userInteractionCount]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n if (shouldStopClickPropagationRef.current) {\n event.stopPropagation();\n }\n }),\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }, \"CheckboxBubbleInput\")\n);\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\n__name(isIndeterminate, \"isIndeterminate\");\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\n__name(getState, \"getState\");\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nconst alertVariants = cva(\n 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'border-destructive/30 bg-destructive-muted text-destructive *:data-[slot=alert-description]:text-destructive [&>svg]:text-current',\n // Shapio: status alerts on the status tokens (DESIGN.md).\n warning:\n 'border-warning/30 bg-warning-muted text-warning *:data-[slot=alert-description]:text-warning [&>svg]:text-current',\n // Light: a neutral note with a cobalt icon (no blue surfaces outside the info chip); dark keeps the tint.\n info: 'border-border bg-muted text-foreground *:data-[slot=alert-description]:text-muted-foreground dark:border-info/30 dark:bg-info-muted dark:text-info dark:*:data-[slot=alert-description]:text-info [&>svg]:text-info',\n success:\n 'border-success/30 bg-success-muted text-success *:data-[slot=alert-description]:text-success [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n","import { AlertCircle } from 'lucide-react';\nimport { Alert, AlertDescription } from '@/components/ui/alert';\nimport { describeError } from '@/helpers/describeError';\n\ntype FormErrorProps = { error: unknown };\n\n/** The server's answer to a failed form submission, shown above the submit button and announced. */\nexport const FormError = ({ error }: FormErrorProps) => {\n if (!error) {\n return null;\n }\n return (\n <Alert variant=\"destructive\">\n <AlertCircle aria-hidden=\"true\" />\n <AlertDescription>{describeError(error)}</AlertDescription>\n </Alert>\n );\n};\n","import { Loader2 } from 'lucide-react';\nimport { useId, useRef, useState, type ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '@/components/ui/button';\nimport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { useReturnFocus } from '@/hooks/useReturnFocus';\nimport { FormError } from '../FormError';\n\ntype InlineConfirmCommonProps = {\n /** The question, and the popover's accessible name (\"Delete “Hero”?\"). */\n title: string;\n /** The consequence, in one line. */\n description?: string;\n confirmLabel: string;\n cancelLabel?: string;\n /** Shown on Confirm while an async `onConfirm` runs. */\n pendingLabel?: string;\n /** `danger`: red Confirm, focus starts on Cancel. `default`: primary Confirm, focus starts on it. */\n tone: 'danger' | 'default';\n /**\n * Runs on Confirm. Return nothing to close at once; return a promise (`mutateAsync`) to keep the popover\n * open with a spinner until it settles: it closes when it resolves and shows the error when it rejects.\n */\n onConfirm: () => void | Promise<unknown>;\n align?: 'start' | 'center' | 'end';\n side?: 'top' | 'right' | 'bottom' | 'left';\n /**\n * Runs as the popover closes, before focus returns to the opener. Call `event.preventDefault()` to keep\n * focus where it is (e.g. on a `SecretReveal` that a confirmed rotate just showed).\n */\n onCloseAutoFocus?: (event: Event) => void;\n};\n\n/** Trigger mode: the popover opens from this button (it gets `aria-expanded` and returns focus to it). */\ntype TriggerModeProps = InlineConfirmCommonProps & {\n trigger: ReactElement;\n open?: never;\n onOpenChange?: never;\n children?: never;\n};\n\n/**\n * Anchored mode, for actions in a menu (a menu item disappears with its menu): the caller opens it (from\n * the item's `onSelect`) and the popover points at `children`, usually the menu's own trigger button.\n */\ntype AnchoredModeProps = InlineConfirmCommonProps & {\n trigger?: never;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n children: ReactElement;\n};\n\ntype InlineConfirmProps = TriggerModeProps | AnchoredModeProps;\n\n/**\n * Confirms a routine destructive or consequential action where it was asked for (DESIGN.md \"Dialogs\"): a\n * modal popover with role `alertdialog`, the question, one line of consequence and Cancel / Confirm. Escape\n * or a click outside cancels, Enter activates the focused button, focus returns to the opener.\n */\nexport const InlineConfirm = (props: InlineConfirmProps) => {\n const {\n title,\n description,\n confirmLabel,\n cancelLabel,\n pendingLabel,\n tone,\n onConfirm,\n align = 'end',\n side = 'bottom',\n onCloseAutoFocus,\n } = props;\n const { t } = useTranslation();\n const titleId = useId();\n const descriptionId = useId();\n const cancelRef = useRef<HTMLButtonElement>(null);\n const confirmRef = useRef<HTMLButtonElement>(null);\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n const [pending, setPending] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const open = props.trigger === undefined ? props.open : uncontrolledOpen;\n\n const changeOpen = (next: boolean) => {\n if (next) {\n setError(null);\n }\n if (props.trigger === undefined) {\n props.onOpenChange(next);\n } else {\n setUncontrolledOpen(next);\n }\n };\n // Nothing dismisses it while the action runs.\n const requestOpenChange = (next: boolean) => (pending && !next ? undefined : changeOpen(next));\n\n const confirm = () => {\n const result = onConfirm();\n if (!(result instanceof Promise)) {\n changeOpen(false);\n return;\n }\n setPending(true);\n setError(null);\n result.then(\n () => {\n setPending(false);\n changeOpen(false);\n },\n (reason: unknown) => {\n // Already logged and toasted by the mutation cache; shown here too, beside the action that failed.\n setPending(false);\n setError(reason);\n },\n );\n };\n\n const returnFocus = useReturnFocus((event) => {\n event.preventDefault();\n (tone === 'danger' ? cancelRef : confirmRef).current?.focus();\n }, onCloseAutoFocus);\n\n return (\n <Popover open={open} onOpenChange={requestOpenChange} modal>\n {props.trigger === undefined ? (\n <PopoverAnchor asChild>{props.children}</PopoverAnchor>\n ) : (\n <PopoverTrigger asChild>{props.trigger}</PopoverTrigger>\n )}\n <PopoverContent\n role=\"alertdialog\"\n // Modal like Radix's own dialogs: focus is trapped and the rest of the page is aria-hidden. Declaring\n // it lets assistive technology (and axe's aria-hidden-focus rule) know the hidden page is inert.\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n align={align}\n side={side}\n className=\"w-80 space-y-4\"\n {...returnFocus}\n >\n <div className=\"space-y-1\">\n <p id={titleId} className=\"text-sm font-semibold\">\n {title}\n </p>\n {description ? (\n <p id={descriptionId} className=\"text-meta text-muted-foreground\">\n {description}\n </p>\n ) : null}\n </div>\n <FormError error={error} />\n <div className=\"flex justify-end gap-2\">\n <Button\n ref={cancelRef}\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={pending}\n onClick={() => changeOpen(false)}\n >\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n ref={confirmRef}\n type=\"button\"\n size=\"sm\"\n variant={tone === 'danger' ? 'destructive' : 'default'}\n disabled={pending}\n aria-busy={pending || undefined}\n onClick={confirm}\n >\n {pending ? (\n <>\n <Loader2 className=\"animate-spin\" aria-hidden=\"true\" />\n {pendingLabel ?? confirmLabel}\n </>\n ) : (\n confirmLabel\n )}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n","import { CheckIcon, MinusIcon } from 'lucide-react';\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary dark:data-[state=indeterminate]:bg-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n {props.checked === 'indeterminate' ? (\n <MinusIcon className=\"size-3.5\" />\n ) : (\n <CheckIcon className=\"size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","'use client';\n\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { Button } from '@/components/ui/button';\nimport { cn } from '@/helpers/cn';\nimport { useReturnFocus } from '@/hooks/useReturnFocus';\n\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-overlay/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = 'default',\n onOpenAutoFocus,\n onCloseAutoFocus,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: 'default' | 'sm';\n}) {\n const returnFocus = useReturnFocus(onOpenAutoFocus, onCloseAutoFocus);\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border bg-card p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg',\n className,\n )}\n {...props}\n {...returnFocus}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n </Button>\n );\n}\n\nfunction AlertDialogCancel({\n className,\n variant = 'outline',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel data-slot=\"alert-dialog-cancel\" className={cn(className)} {...props} />\n </Button>\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","import { Loader2 } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '@/components/ui/alert-dialog';\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { Field, FieldLabel } from '@/components/ui/field';\nimport { FormError } from '../FormError';\n\ntype ConfirmDialogProps = {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n description: string;\n confirmLabel: string;\n cancelLabel?: string;\n destructive?: boolean;\n onConfirm: () => void;\n /** When set, Confirm stays disabled until this statement is checked (unticked on every open). */\n acknowledgement?: string;\n /**\n * Async mode: pass the mutation's pending state. Confirm then doesn't close the dialog; the caller closes\n * it on success. While pending, Confirm shows `pendingLabel` and the dialog can't be dismissed.\n */\n pending?: boolean;\n pendingLabel?: string;\n /** The failed attempt's error, shown above the buttons (async mode). */\n error?: unknown;\n};\n\n/**\n * A blocking yes/no question, kept only for irreversible acknowledgements (DESIGN.md \"Dialogs\"). Focus starts\n * on Cancel (Radix default).\n */\nexport const ConfirmDialog = ({\n open,\n onOpenChange,\n title,\n description,\n confirmLabel,\n cancelLabel,\n destructive = false,\n onConfirm,\n acknowledgement,\n pending,\n pendingLabel,\n error,\n}: ConfirmDialogProps) => {\n const { t } = useTranslation();\n const acknowledgementId = useId();\n const [acknowledged, setAcknowledged] = useState(false);\n const [wasOpen, setWasOpen] = useState(open);\n if (open !== wasOpen) {\n setWasOpen(open);\n if (open) {\n setAcknowledged(false);\n }\n }\n const isAsync = pending !== undefined;\n const busy = pending === true;\n const blocked = acknowledgement !== undefined && !acknowledged;\n const confirmClassName = buttonVariants({ variant: destructive ? 'destructive' : 'default' });\n return (\n <AlertDialog open={open} onOpenChange={(next) => (busy && !next ? undefined : onOpenChange(next))}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>{title}</AlertDialogTitle>\n <AlertDialogDescription>{description}</AlertDialogDescription>\n </AlertDialogHeader>\n {acknowledgement ? (\n <Field orientation=\"horizontal\">\n <Checkbox\n id={acknowledgementId}\n checked={acknowledged}\n disabled={busy}\n onCheckedChange={(checked) => setAcknowledged(checked === true)}\n />\n <FieldLabel htmlFor={acknowledgementId} className=\"font-normal\">\n {acknowledgement}\n </FieldLabel>\n </Field>\n ) : null}\n {isAsync ? <FormError error={error} /> : null}\n <AlertDialogFooter>\n <AlertDialogCancel disabled={busy}>{cancelLabel ?? t('common.cancel')}</AlertDialogCancel>\n {isAsync ? (\n <Button\n type=\"button\"\n variant={destructive ? 'destructive' : 'default'}\n disabled={busy || blocked}\n aria-busy={busy || undefined}\n onClick={onConfirm}\n >\n {busy ? (\n <>\n <Loader2 className=\"animate-spin\" aria-hidden=\"true\" />\n {pendingLabel ?? confirmLabel}\n </>\n ) : (\n confirmLabel\n )}\n </Button>\n ) : (\n <AlertDialogAction className={confirmClassName} disabled={blocked} onClick={onConfirm}>\n {confirmLabel}\n </AlertDialogAction>\n )}\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfirmDialog-B9nWhIIz.js","names":["__defProp","__name","AlertDialog","DialogPrimitive.Root","DialogPrimitive.Trigger","AlertDialogPortal","DialogPrimitive.Portal","AlertDialogOverlay","DialogPrimitive.Overlay","AlertDialogContent","DialogPrimitive.Content","AlertDialogTitle","DialogPrimitive.Title","AlertDialogDescription","DialogPrimitive.Description","AlertDialogAction","DialogPrimitive.Close","AlertDialogCancel","Checkbox","Fragment","AlertCircle","useId","useRef","useState","_Fragment","Loader2","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","MinusIcon","CheckIcon","AlertDialogPrimitive.Root","AlertDialogPrimitive.Portal","AlertDialogPrimitive.Overlay","AlertDialogPrimitive.Content","AlertDialogPrimitive.Title","AlertDialogPrimitive.Description","AlertDialogPrimitive.Action","AlertDialogPrimitive.Cancel","useId","useState","_Fragment","Loader2","__toESM","require_jsx_runtime","createLucideIcon","useTranslation","LoaderCircle","cn","DialogOverlay","createDialogScope","DialogTrigger","DialogDescription","DialogTitle","DialogClose","useReturnFocus","DialogPortal","DialogContent","Dialog","useSize","PopoverTrigger","FieldLabel","PopoverContent","Popover","Field","PopoverAnchor","Minus","cva","Check","useComposedRefs","buttonVariants","Primitive","useControllableState","Presence","Button","describeError","composeEventHandlers","createContextScope","__iconData","CircleAlert","import_react","require_react","import_jsx_runtime","__defProp$1","__name$1","target","createAlertDialogContext","createAlertDialogScope","useDialogScope","AlertDialog$1","alertDialogProps","props","dialogScope","__scopeAlertDialog","triggerProps","forwardedRef","AlertDialogPortal$1","portalProps","AlertDialogOverlay$1","overlayProps","AlertDialogContentProvider","useAlertDialogContentContext","AlertDialogContent$1","contentProps","contentRef","composedRefs","cancelRef","event","AlertDialogTitle$1","titleProps","AlertDialogDescription$1","descriptionProps","AlertDialogAction$1","actionProps","CANCEL_NAME","AlertDialogCancel$1","cancelProps","ref","Root2","Portal2","Overlay2","Content2","Action","Cancel","Title2","Description2","__defProp","__name","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","checkedProp","checked","setChecked","defaultChecked","onCheckedChange","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","userInteractionCount","onUserInteraction","count","isFormControl","form","context","__scopeCheckbox","isFunction","internal_do_not_use_render","children","TRIGGER_NAME","CheckboxTrigger","checkboxProps","initialCheckedStateRef","reset","isIndeterminate","required","getState","disabled","onKeyDown","onClick","prevChecked","Checkbox$1","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","indicatorProps","forceMount","BUBBLE_INPUT_NAME","controlSize","shouldStopClickPropagationRef","prevCheckedRef","prevUserInteractionCountRef","input","inputProto","isUserInteraction","checkedChanged","bubbles","defaultCheckedRef","value","alertVariants","Alert","className","AlertTitle","AlertDescription","FormError","error","InlineConfirm","titleId","descriptionId","confirmRef","uncontrolledOpen","setUncontrolledOpen","pending","setPending","setError","open","changeOpen","next","requestOpenChange","confirm","result","onConfirm","reason","returnFocus","tone","onCloseAutoFocus","description","title","cancelLabel","t","pendingLabel","confirmLabel","Checkbox","AlertDialog","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","onOpenAutoFocus","size","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","ConfirmDialog","acknowledgementId","acknowledged","setAcknowledged","wasOpen","setWasOpen","isAsync","busy","blocked","acknowledgement","confirmClassName","destructive","onOpenChange"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/circle-alert.mjs","../../../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.23_@types+react-dom@19.3.0_@types+react@19.3.0__@types_490aa920fbab0adbc2c4344386ab6831/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs","../../../../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.11_@types+react-dom@19.3.0_@types+react@19.3.0__@types+rea_c6d869b9fcc94d95bd12a12175a8f53a/node_modules/@radix-ui/react-checkbox/dist/index.mjs","../../src/components/ui/alert.tsx","../../src/components/FormError/index.tsx","../../src/components/InlineConfirm/index.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ui/alert-dialog.tsx","../../src/components/ConfirmDialog/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"circle-alert\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n ],\n aliases: [\"alert-circle\"]\n};\n__iconData.node;\nconst CircleAlert = createLucideIcon(__iconData);\n\nexport { __iconData, CircleAlert as default };\n//# sourceMappingURL=circle-alert.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = /* @__PURE__ */ __name((props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n}, \"AlertDialog\");\nvar AlertDialogTrigger = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogTrigger2(props, forwardedRef) {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }, \"AlertDialogTrigger\")\n);\nvar AlertDialogPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n}, \"AlertDialogPortal\");\nvar AlertDialogOverlay = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogOverlay2(props, forwardedRef) {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }, \"AlertDialogOverlay\")\n);\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar AlertDialogContent = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogContent2(props, forwardedRef) {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsx(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children\n }\n ) });\n }, \"AlertDialogContent\")\n);\nvar AlertDialogTitle = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogTitle2(props, forwardedRef) {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }, \"AlertDialogTitle\")\n);\nvar AlertDialogDescription = React.forwardRef(/* @__PURE__ */ __name(function AlertDialogDescription2(props, forwardedRef) {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n}, \"AlertDialogDescription\"));\nvar AlertDialogAction = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogAction2(props, forwardedRef) {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }, \"AlertDialogAction\")\n);\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n /* @__PURE__ */ __name(function AlertDialogCancel2(props, forwardedRef) {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }, \"AlertDialogCancel\")\n);\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const [userInteractionCount, onUserInteraction] = React.useReducer(\n (count) => count + 1,\n 0\n );\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n onUserInteraction,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\n__name(CheckboxProvider, \"CheckboxProvider\");\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function CheckboxTrigger2({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n onUserInteraction,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = /* @__PURE__ */ __name(() => setChecked(initialCheckedStateRef.current), \"reset\");\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n onUserInteraction();\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }, \"CheckboxTrigger\")\n);\nvar Checkbox = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Checkbox2(props, forwardedRef) {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }, \"Checkbox\")\n);\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function CheckboxIndicator2(props, forwardedRef) {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }, \"CheckboxIndicator\")\n);\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function CheckboxBubbleInput2({ __scopeCheckbox, onClick, ...props }, forwardedRef) {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const controlSize = useSize(control);\n const shouldStopClickPropagationRef = React.useRef(false);\n const prevCheckedRef = React.useRef(checked);\n const prevUserInteractionCountRef = React.useRef(userInteractionCount);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const isUserInteraction = userInteractionCount !== prevUserInteractionCountRef.current;\n prevUserInteractionCountRef.current = userInteractionCount;\n const checkedChanged = prevCheckedRef.current !== checked;\n prevCheckedRef.current = checked;\n const bubbles = !(isUserInteraction && hasConsumerStoppedPropagationRef.current);\n if (checkedChanged && setChecked) {\n shouldStopClickPropagationRef.current = !isUserInteraction;\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n shouldStopClickPropagationRef.current = false;\n }\n }, [bubbleInput, checked, hasConsumerStoppedPropagationRef, userInteractionCount]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n if (shouldStopClickPropagationRef.current) {\n event.stopPropagation();\n }\n }),\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }, \"CheckboxBubbleInput\")\n);\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\n__name(isIndeterminate, \"isIndeterminate\");\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\n__name(getState, \"getState\");\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nconst alertVariants = cva(\n 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'border-destructive/30 bg-destructive-muted text-destructive *:data-[slot=alert-description]:text-destructive [&>svg]:text-current',\n // Shapio: status alerts on the status tokens (DESIGN.md).\n warning:\n 'border-warning/30 bg-warning-muted text-warning *:data-[slot=alert-description]:text-warning [&>svg]:text-current',\n // Light: a neutral note with a cobalt icon (no blue surfaces outside the info chip); dark keeps the tint.\n info: 'border-border bg-muted text-foreground *:data-[slot=alert-description]:text-muted-foreground dark:border-info/30 dark:bg-info-muted dark:text-info dark:*:data-[slot=alert-description]:text-info [&>svg]:text-info',\n success:\n 'border-success/30 bg-success-muted text-success *:data-[slot=alert-description]:text-success [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n","import { AlertCircle } from 'lucide-react';\nimport { Alert, AlertDescription } from '@/components/ui/alert';\nimport { describeError } from '@/helpers/describeError';\n\ntype FormErrorProps = { error: unknown };\n\n/** The server's answer to a failed form submission, shown above the submit button and announced. */\nexport const FormError = ({ error }: FormErrorProps) => {\n if (!error) {\n return null;\n }\n return (\n <Alert variant=\"destructive\">\n <AlertCircle aria-hidden=\"true\" />\n <AlertDescription>{describeError(error)}</AlertDescription>\n </Alert>\n );\n};\n","import { Loader2 } from 'lucide-react';\nimport { useId, useRef, useState, type ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '@/components/ui/button';\nimport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { useReturnFocus } from '@/hooks/useReturnFocus';\nimport { FormError } from '../FormError';\n\ntype InlineConfirmCommonProps = {\n /** The question, and the popover's accessible name (\"Delete “Hero”?\"). */\n title: string;\n /** The consequence, in one line. */\n description?: string;\n confirmLabel: string;\n cancelLabel?: string;\n /** Shown on Confirm while an async `onConfirm` runs. */\n pendingLabel?: string;\n /** `danger`: red Confirm, focus starts on Cancel. `default`: primary Confirm, focus starts on it. */\n tone: 'danger' | 'default';\n /**\n * Runs on Confirm. Return nothing to close at once; return a promise (`mutateAsync`) to keep the popover\n * open with a spinner until it settles: it closes when it resolves and shows the error when it rejects.\n */\n onConfirm: () => void | Promise<unknown>;\n align?: 'start' | 'center' | 'end';\n side?: 'top' | 'right' | 'bottom' | 'left';\n /**\n * Runs as the popover closes, before focus returns to the opener. Call `event.preventDefault()` to keep\n * focus where it is (e.g. on a `SecretReveal` that a confirmed rotate just showed).\n */\n onCloseAutoFocus?: (event: Event) => void;\n};\n\n/** Trigger mode: the popover opens from this button (it gets `aria-expanded` and returns focus to it). */\ntype TriggerModeProps = InlineConfirmCommonProps & {\n trigger: ReactElement;\n open?: never;\n onOpenChange?: never;\n children?: never;\n};\n\n/**\n * Anchored mode, for actions in a menu (a menu item disappears with its menu): the caller opens it (from\n * the item's `onSelect`) and the popover points at `children`, usually the menu's own trigger button.\n */\ntype AnchoredModeProps = InlineConfirmCommonProps & {\n trigger?: never;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n children: ReactElement;\n};\n\ntype InlineConfirmProps = TriggerModeProps | AnchoredModeProps;\n\n/**\n * Confirms a routine destructive or consequential action where it was asked for (DESIGN.md \"Dialogs\"): a\n * modal popover with role `alertdialog`, the question, one line of consequence and Cancel / Confirm. Escape\n * or a click outside cancels, Enter activates the focused button, focus returns to the opener.\n */\nexport const InlineConfirm = (props: InlineConfirmProps) => {\n const {\n title,\n description,\n confirmLabel,\n cancelLabel,\n pendingLabel,\n tone,\n onConfirm,\n align = 'end',\n side = 'bottom',\n onCloseAutoFocus,\n } = props;\n const { t } = useTranslation();\n const titleId = useId();\n const descriptionId = useId();\n const cancelRef = useRef<HTMLButtonElement>(null);\n const confirmRef = useRef<HTMLButtonElement>(null);\n const [uncontrolledOpen, setUncontrolledOpen] = useState(false);\n const [pending, setPending] = useState(false);\n const [error, setError] = useState<unknown>(null);\n const open = props.trigger === undefined ? props.open : uncontrolledOpen;\n\n const changeOpen = (next: boolean) => {\n if (next) {\n setError(null);\n }\n if (props.trigger === undefined) {\n props.onOpenChange(next);\n } else {\n setUncontrolledOpen(next);\n }\n };\n // Nothing dismisses it while the action runs.\n const requestOpenChange = (next: boolean) => (pending && !next ? undefined : changeOpen(next));\n\n const confirm = () => {\n const result = onConfirm();\n if (!(result instanceof Promise)) {\n changeOpen(false);\n return;\n }\n setPending(true);\n setError(null);\n result.then(\n () => {\n setPending(false);\n changeOpen(false);\n },\n (reason: unknown) => {\n // Already logged and toasted by the mutation cache; shown here too, beside the action that failed.\n setPending(false);\n setError(reason);\n },\n );\n };\n\n const returnFocus = useReturnFocus((event) => {\n event.preventDefault();\n (tone === 'danger' ? cancelRef : confirmRef).current?.focus();\n }, onCloseAutoFocus);\n\n return (\n <Popover open={open} onOpenChange={requestOpenChange} modal>\n {props.trigger === undefined ? (\n <PopoverAnchor asChild>{props.children}</PopoverAnchor>\n ) : (\n <PopoverTrigger asChild>{props.trigger}</PopoverTrigger>\n )}\n <PopoverContent\n role=\"alertdialog\"\n // Modal like Radix's own dialogs: focus is trapped and the rest of the page is aria-hidden. Declaring\n // it lets assistive technology (and axe's aria-hidden-focus rule) know the hidden page is inert.\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n align={align}\n side={side}\n className=\"w-80 space-y-4\"\n {...returnFocus}\n >\n <div className=\"space-y-1\">\n <p id={titleId} className=\"text-sm font-semibold\">\n {title}\n </p>\n {description ? (\n <p id={descriptionId} className=\"text-meta text-muted-foreground\">\n {description}\n </p>\n ) : null}\n </div>\n <FormError error={error} />\n <div className=\"flex justify-end gap-2\">\n <Button\n ref={cancelRef}\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={pending}\n onClick={() => changeOpen(false)}\n >\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n ref={confirmRef}\n type=\"button\"\n size=\"sm\"\n variant={tone === 'danger' ? 'destructive' : 'default'}\n disabled={pending}\n aria-busy={pending || undefined}\n onClick={confirm}\n >\n {pending ? (\n <>\n <Loader2 className=\"animate-spin\" aria-hidden=\"true\" />\n {pendingLabel ?? confirmLabel}\n </>\n ) : (\n confirmLabel\n )}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n );\n};\n","import { CheckIcon, MinusIcon } from 'lucide-react';\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary dark:data-[state=indeterminate]:bg-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n {props.checked === 'indeterminate' ? (\n <MinusIcon className=\"size-3.5\" />\n ) : (\n <CheckIcon className=\"size-3.5\" />\n )}\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","'use client';\n\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { Button } from '@/components/ui/button';\nimport { cn } from '@/helpers/cn';\nimport { useReturnFocus } from '@/hooks/useReturnFocus';\n\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />;\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />;\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-overlay/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n size = 'default',\n onOpenAutoFocus,\n onCloseAutoFocus,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: 'default' | 'sm';\n}) {\n const returnFocus = useReturnFocus(onOpenAutoFocus, onCloseAutoFocus);\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl border bg-card p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg',\n className,\n )}\n {...props}\n {...returnFocus}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n </Button>\n );\n}\n\nfunction AlertDialogCancel({\n className,\n variant = 'outline',\n size = 'default',\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel data-slot=\"alert-dialog-cancel\" className={cn(className)} {...props} />\n </Button>\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","import { Loader2 } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '@/components/ui/alert-dialog';\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { Field, FieldLabel } from '@/components/ui/field';\nimport { FormError } from '../FormError';\n\ntype ConfirmDialogProps = {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: string;\n description: string;\n confirmLabel: string;\n cancelLabel?: string;\n destructive?: boolean;\n onConfirm: () => void;\n /** When set, Confirm stays disabled until this statement is checked (unticked on every open). */\n acknowledgement?: string;\n /**\n * Async mode: pass the mutation's pending state. Confirm then doesn't close the dialog; the caller closes\n * it on success. While pending, Confirm shows `pendingLabel` and the dialog can't be dismissed.\n */\n pending?: boolean;\n pendingLabel?: string;\n /** The failed attempt's error, shown above the buttons (async mode). */\n error?: unknown;\n};\n\n/**\n * A blocking yes/no question, kept only for irreversible acknowledgements (DESIGN.md \"Dialogs\"). Focus starts\n * on Cancel (Radix default).\n */\nexport const ConfirmDialog = ({\n open,\n onOpenChange,\n title,\n description,\n confirmLabel,\n cancelLabel,\n destructive = false,\n onConfirm,\n acknowledgement,\n pending,\n pendingLabel,\n error,\n}: ConfirmDialogProps) => {\n const { t } = useTranslation();\n const acknowledgementId = useId();\n const [acknowledged, setAcknowledged] = useState(false);\n const [wasOpen, setWasOpen] = useState(open);\n if (open !== wasOpen) {\n setWasOpen(open);\n if (open) {\n setAcknowledged(false);\n }\n }\n const isAsync = pending !== undefined;\n const busy = pending === true;\n const blocked = acknowledgement !== undefined && !acknowledged;\n const confirmClassName = buttonVariants({ variant: destructive ? 'destructive' : 'default' });\n return (\n <AlertDialog open={open} onOpenChange={(next) => (busy && !next ? undefined : onOpenChange(next))}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>{title}</AlertDialogTitle>\n <AlertDialogDescription>{description}</AlertDialogDescription>\n </AlertDialogHeader>\n {acknowledgement ? (\n <Field orientation=\"horizontal\">\n <Checkbox\n id={acknowledgementId}\n checked={acknowledged}\n disabled={busy}\n onCheckedChange={(checked) => setAcknowledged(checked === true)}\n />\n <FieldLabel htmlFor={acknowledgementId} className=\"font-normal\">\n {acknowledgement}\n </FieldLabel>\n </Field>\n ) : null}\n {isAsync ? <FormError error={error} /> : null}\n <AlertDialogFooter>\n <AlertDialogCancel disabled={busy}>{cancelLabel ?? t('common.cancel')}</AlertDialogCancel>\n {isAsync ? (\n <Button\n type=\"button\"\n variant={destructive ? 'destructive' : 'default'}\n disabled={busy || blocked}\n aria-busy={busy || undefined}\n onClick={onConfirm}\n >\n {busy ? (\n <>\n <Loader2 className=\"animate-spin\" aria-hidden=\"true\" />\n {pendingLabel ?? confirmLabel}\n </>\n ) : (\n confirmLabel\n )}\n </Button>\n ) : (\n <AlertDialogAction className={confirmClassName} disabled={blocked} onClick={onConfirm}>\n {confirmLabel}\n </AlertDialogAction>\n )}\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n"],"ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{j as r}from"./cn-
|
|
2
|
-
//# sourceMappingURL=CopyButton-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{j as r}from"./cn-BQ3voEft.js";import{U as i}from"./InfoHint-GJLRVumb.js";import{O as a,i as o}from"./skeleton-C3QLIh7W.js";import{t as s}from"./copy-BDc3r0fO.js";var c=e(t(),1),l=e(n(),1),u=2e3,d=({value:e,ref:t})=>{let{t:n}=r(),[d,f]=(0,c.useState)(!1),p=async()=>{try{await navigator.clipboard.writeText(e),f(!0),setTimeout(()=>f(!1),u)}catch(e){i(e,`copy to clipboard`)}};return(0,l.jsxs)(o,{ref:t,type:`button`,variant:`outline`,onClick:()=>void p(),children:[d?(0,l.jsx)(a,{"aria-hidden":`true`}):(0,l.jsx)(s,{"aria-hidden":`true`}),(0,l.jsx)(`span`,{"aria-live":`polite`,children:n(d?`common.copied`:`common.copy`)})]})};export{d as t};
|
|
2
|
+
//# sourceMappingURL=CopyButton-BoWb-xi1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton-
|
|
1
|
+
{"version":3,"file":"CopyButton-BoWb-xi1.js","names":["useState","__toESM","require_jsx_runtime","useTranslation","reportError","Check","Button","Copy","import_react","require_react","import_jsx_runtime","COPIED_RESET_MS","CopyButton","copied","setCopied","copy","value","error","t"],"sources":["../../src/components/CopyButton/index.tsx"],"sourcesContent":["import { Check, Copy } from 'lucide-react';\nimport { useState, type Ref } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '@/components/ui/button';\nimport { reportError } from '@/helpers/reportError';\n\ntype CopyButtonProps = {\n value: string;\n /** For a caller that moves focus to the button (SecretReveal on mount). */\n ref?: Ref<HTMLButtonElement>;\n};\n\nconst COPIED_RESET_MS = 2000;\n\nexport const CopyButton = ({ value, ref }: CopyButtonProps) => {\n const { t } = useTranslation();\n const [copied, setCopied] = useState(false);\n const copy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), COPIED_RESET_MS);\n } catch (error) {\n reportError(error, 'copy to clipboard');\n }\n };\n return (\n <Button ref={ref} type=\"button\" variant=\"outline\" onClick={() => void copy()}>\n {copied ? <Check aria-hidden=\"true\" /> : <Copy aria-hidden=\"true\" />}\n <span aria-live=\"polite\">{copied ? t('common.copied') : t('common.copy')}</span>\n </Button>\n );\n};\n"],"mappings":"uUAYMW,EAAkB,IAEXC,GAAc,CAAE,QAAO,SAA2B,CAC7D,GAAM,CAAE,KAAMT,EAAe,EACvB,CAACU,EAAQC,IAAA,EAAad,EAAAA,SAAAA,CAAS,EAAK,EACpCe,EAAO,SAAY,CACvB,GAAI,CACF,MAAM,UAAU,UAAU,UAAUC,CAAK,EACzCF,EAAU,EAAI,EACd,eAAiBA,EAAU,EAAK,EAAGH,CAAe,CACpD,OAASM,EAAO,CACdb,EAAYa,EAAO,mBAAmB,CACxC,CACF,EACA,OACE,EAAAP,EAAA,KAAA,CAACJ,EAAD,CAAa,MAAK,KAAK,SAAS,QAAQ,UAAU,YAAe,KAAKS,EAAK,EAA3E,SAAA,CACGF,GAAS,EAAAH,EAAA,IAAA,CAACL,EAAD,CAAO,cAAY,MAAQ,CAAA,GAAI,EAAAK,EAAA,IAAA,CAACH,EAAD,CAAM,cAAY,MAAQ,CAAA,GACnE,EAAAG,EAAA,IAAA,CAAC,OAAD,CAAM,YAAU,SAAU,SAASQ,EAATL,EAAW,gBAAqB,aAAa,CAAQ,CAAA,CACzE,GAEZ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{i as n,j as r,t as i}from"./cn-
|
|
2
|
-
//# sourceMappingURL=CursorPager-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{i as n,j as r,t as i}from"./cn-BQ3voEft.js";import{D as a,i as o}from"./skeleton-C3QLIh7W.js";import{t as s}from"./chevron-left-BsQYDUEC.js";var c={name:`chevrons-left`,size:24,node:[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]};c.node;var l=n(c),u=e(t(),1),d=({onFirst:e,onPrevious:t,onNext:n,className:c})=>{let{t:d}=r();return(0,u.jsxs)(`nav`,{"aria-label":d(`common.pagination`),className:i(`flex items-center justify-end gap-2`,c),children:[(0,u.jsx)(o,{variant:`outline`,size:`icon-sm`,"aria-label":d(`common.first`),disabled:!e,onClick:e,children:(0,u.jsx)(l,{"aria-hidden":`true`})}),(0,u.jsx)(o,{variant:`outline`,size:`icon-sm`,"aria-label":d(`common.previous`),disabled:!t,onClick:t,children:(0,u.jsx)(s,{"aria-hidden":`true`})}),(0,u.jsx)(o,{variant:`outline`,size:`icon-sm`,"aria-label":d(`common.next`),disabled:!n,onClick:n,children:(0,u.jsx)(a,{"aria-hidden":`true`})})]})};export{d as t};
|
|
2
|
+
//# sourceMappingURL=CursorPager-BnxmTk47.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorPager-
|
|
1
|
+
{"version":3,"file":"CursorPager-BnxmTk47.js","names":["__toESM","createLucideIcon","useTranslation","cn","ChevronRight","Button","ChevronLeft","__iconData","ChevronsLeft","import_jsx_runtime","require_jsx_runtime","CursorPager","t","className","onFirst","onPrevious","onNext"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/chevrons-left.mjs","../../src/components/CursorPager/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"chevrons-left\",\n size: 24,\n node: [\n [\"path\", { d: \"m11 17-5-5 5-5\", key: \"13zhaf\" }],\n [\"path\", { d: \"m18 17-5-5 5-5\", key: \"h8a8et\" }]\n ]\n};\n__iconData.node;\nconst ChevronsLeft = createLucideIcon(__iconData);\n\nexport { __iconData, ChevronsLeft as default };\n//# sourceMappingURL=chevrons-left.mjs.map\n","import { ChevronLeft, ChevronRight, ChevronsLeft } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '@/components/ui/button';\nimport { cn } from '@/helpers/cn';\n\ntype CursorPagerProps = {\n /** Undefined when already on the first page. */\n onFirst: (() => void) | undefined;\n onPrevious: (() => void) | undefined;\n /** Undefined when there is no further page. */\n onNext: (() => void) | undefined;\n className?: string;\n};\n\n/** Paging for cursor-paginated lists (newest first, no total): Newest, Previous, Next as icon buttons. */\nexport const CursorPager = ({ onFirst, onPrevious, onNext, className }: CursorPagerProps) => {\n const { t } = useTranslation();\n return (\n <nav aria-label={t('common.pagination')} className={cn('flex items-center justify-end gap-2', className)}>\n <Button\n variant=\"outline\"\n size=\"icon-sm\"\n aria-label={t('common.first')}\n disabled={!onFirst}\n onClick={onFirst}\n >\n <ChevronsLeft aria-hidden=\"true\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-sm\"\n aria-label={t('common.previous')}\n disabled={!onPrevious}\n onClick={onPrevious}\n >\n <ChevronLeft aria-hidden=\"true\" />\n </Button>\n <Button\n variant=\"outline\"\n size=\"icon-sm\"\n aria-label={t('common.next')}\n disabled={!onNext}\n onClick={onNext}\n >\n <ChevronRight aria-hidden=\"true\" />\n </Button>\n </nav>\n );\n};\n"],"ignoreList":[0],"mappings":"gPASA,IAAMO,EAAa,CACjB,KAAM,gBACN,KAAM,GACN,KAAM,CACJ,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,EAC/C,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAS,CAAC,CACjD,CACF,EACAA,EAAW,KACX,IAAMC,EAAeP,EAAiBM,CAAU,aCHnCI,GAAe,CAAE,UAAS,aAAY,SAAQ,eAAkC,CAC3F,GAAM,CAAE,KAAMT,EAAe,EAC7B,OACE,EAAAO,EAAA,KAAA,CAAC,MAAD,CAAK,aAAYG,EAAE,mBAAmB,EAAG,UAAWT,EAAG,sCAAuCU,CAAS,EAAvG,SAAA,EACE,EAAAJ,EAAA,IAAA,CAACJ,EAAD,CACE,QAAQ,UACR,KAAK,UACL,aAAYO,EAAE,cAAc,EAC5B,SAAU,CAACE,EACX,QAASA,EAET,UAAA,EAAAL,EAAA,IAAA,CAACD,EAAD,CAAc,cAAY,MAAQ,CAAA,CAC5B,CAAA,GACR,EAAAC,EAAA,IAAA,CAACJ,EAAD,CACE,QAAQ,UACR,KAAK,UACL,aAAYO,EAAE,iBAAiB,EAC/B,SAAU,CAACG,EACX,QAASA,EAET,UAAA,EAAAN,EAAA,IAAA,CAACH,EAAD,CAAa,cAAY,MAAQ,CAAA,CAC3B,CAAA,GACR,EAAAG,EAAA,IAAA,CAACJ,EAAD,CACE,QAAQ,UACR,KAAK,UACL,aAAYO,EAAE,aAAa,EAC3B,SAAU,CAACI,EACX,QAASA,EAET,UAAA,EAAAP,EAAA,IAAA,CAACL,EAAD,CAAc,cAAY,MAAQ,CAAA,CAC5B,CAAA,CACL,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{j as n}from"./cn-
|
|
2
|
-
//# sourceMappingURL=ExternalLink-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{j as n}from"./cn-BQ3voEft.js";import{t as r}from"./external-link-D3Aoi2yX.js";var i=e(t(),1),a=({href:e,children:t})=>{let{t:a}=n();return(0,i.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 rounded-sm font-medium break-all text-link underline-offset-4 outline-none hover:underline focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[t,(0,i.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,i.jsx)(`span`,{className:`sr-only`,children:a(`publishing.opensInNewTab`)})]})};export{a as t};
|
|
2
|
+
//# sourceMappingURL=ExternalLink-Eeb9mONJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalLink-
|
|
1
|
+
{"version":3,"file":"ExternalLink-Eeb9mONJ.js","names":["ExternalLinkIcon","__toESM","useTranslation","ExternalLink$1","import_jsx_runtime","require_jsx_runtime","ExternalLink","children","t"],"sources":["../../src/features/Publishing/ExternalLink/index.tsx"],"sourcesContent":["import { ExternalLink as ExternalLinkIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype ExternalLinkProps = { href: string; children: ReactNode };\n\n/** A link that leaves the admin in a new tab, without giving the other site access to this window. */\nexport const ExternalLink = ({ href, children }: ExternalLinkProps) => {\n const { t } = useTranslation();\n return (\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1 rounded-sm font-medium break-all text-link underline-offset-4 outline-none hover:underline focus-visible:ring-[3px] focus-visible:ring-ring/50\"\n >\n {children}\n <ExternalLinkIcon className=\"size-3.5 shrink-0\" aria-hidden=\"true\" />\n <span className=\"sr-only\">{t('publishing.opensInNewTab')}</span>\n </a>\n );\n};\n"],"mappings":"gMAOaM,GAAgB,CAAE,OAAM,cAAkC,CACrE,GAAM,CAAE,KAAMJ,EAAe,EAC7B,OACE,EAAAE,EAAA,KAAA,CAAC,IAAD,CACQ,OACN,OAAO,SACP,IAAI,sBACJ,UAAU,gLAJZ,SAAA,CAMGG,GACD,EAAAH,EAAA,IAAA,CAACJ,EAAD,CAAkB,UAAU,oBAAoB,cAAY,MAAQ,CAAA,GACpE,EAAAI,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,UAAW,SAAAI,EAAE,0BAA0B,CAAQ,CAAA,CAC9D,GAEP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{P as r,bt as i,i as a,j as o,t as s}from"./cn-BQ3voEft.js";import{T as c,b as l,u,x as d}from"./auth-pcS9CCXu.js";import{_ as ee,a as te,i as ne,n as f}from"./badge-DD0mE96i.js";import{i as p,n as m,t as h}from"./RowTitle--uFCpx8n.js";import{t as re}from"./UnsavedChangesGuard-DgOASh0p.js";import{G as g,f as _,p as v,t as y,u as ie}from"./InfoHint-GJLRVumb.js";import{N as b,i as ae}from"./skeleton-C3QLIh7W.js";import{a as x,i as S,l as C,r as w,u as T}from"./constants-SrImR6C3.js";import{t as E}from"./useSchemaScopeAccess-DUBeS9kU.js";import{i as oe}from"./ConfirmDialog-B9nWhIIz.js";import{t as D}from"./radio-group-DHIxK-IU.js";import{c as O,f as k,n as A,o as se,t as ce,u as le}from"./zod-BHAd1wTC.js";import{t as ue}from"./settle-LRKtTN_e.js";import{_ as j,a as M,d as N,g as P,i as F,l as I,n as L,o as R,r as z,s as B,t as V}from"./table-CZYtdoHn.js";import{t as H}from"./SharedGlyph-Cqkx30tn.js";import{a as U,h as de,r as fe,u as pe}from"./schema-B4smPFcR.js";import{H as me,_ as W,f as G,g as he,h as ge}from"./src-XaU0N8C-.js";import{t as _e}from"./Panel-iIKjEURi.js";import{a as ve,i as ye,n as K,r as be,t as xe}from"./followPlural-CN6cQfNk.js";import{t as q}from"./RadioTile-BpB79rIK.js";import{t as Se}from"./FormSwitchField-ft8Jbe6E.js";import{t as Ce}from"./FormTextareaField-DzyOzfZb.js";var J={name:`app-window`,size:24,node:[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]};J.node;var we=a(J),Y=e(n(),1),Te=({definition:e})=>(0,Y.jsx)(h,{asChild:!0,children:e.kind===`component`?(0,Y.jsx)(d,{to:`/models/components/$componentId`,params:{componentId:e.id},children:e.label}):(0,Y.jsx)(d,{to:`/models/$modelId`,params:{modelId:e.id},children:e.label})}),X=e(t(),1),Ee=({changeId:e})=>{let{t}=o(),n=pe(e),a=i(),s=n.data?.status,c=s!==void 0&&de.has(s);return(0,X.useEffect)(()=>{c&&a.invalidateQueries({queryKey:r.schema.all})},[c,a]),c||n.isError?null:(0,Y.jsx)(f,{tone:`progress`,size:`sm`,label:t(`models.pendingChange`)})},De=e=>e.kind===`collection`?`${e.apiKey} · ${G(e)}`:e.apiKey,Oe=({items:e,showKind:t=!1,markShared:n=!0})=>{let{t:r}=o(),{multiSite:i}=E(),a=n&&i;return(0,Y.jsx)(B,{children:(0,Y.jsxs)(V,{children:[(0,Y.jsx)(M,{children:(0,Y.jsxs)(R,{children:[(0,Y.jsx)(F,{children:r(`models.columns.label`)}),t?(0,Y.jsx)(F,{children:r(`models.columns.kind`)}):null,(0,Y.jsx)(F,{children:r(`models.columns.apiKey`)}),(0,Y.jsx)(F,{className:`text-right`,children:r(`models.columns.fields`)}),(0,Y.jsx)(F,{className:`text-right`,children:r(`models.columns.version`)}),(0,Y.jsx)(F,{children:r(`models.columns.activated`)})]})}),(0,Y.jsx)(L,{children:e.map(({definition:e,scope:n,version:i,activatedAt:o,pendingChange:s})=>(0,Y.jsxs)(R,{children:[(0,Y.jsx)(z,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(Te,{definition:e}),a&&n===`network`?(0,Y.jsx)(H,{}):null,s?(0,Y.jsx)(Ee,{changeId:s.id}):null]})}),t?(0,Y.jsx)(z,{className:`text-muted-foreground`,children:r(x[e.kind])}):null,(0,Y.jsx)(z,{className:`font-mono text-meta text-muted-foreground`,children:De(e)}),(0,Y.jsx)(z,{className:`text-right tabular-nums`,children:e.fields.length}),(0,Y.jsx)(z,{className:`text-right text-muted-foreground tabular-nums`,children:r(`models.versionNumber`,{version:i})}),(0,Y.jsx)(z,{className:`text-muted-foreground`,title:m(o),children:p(o)})]},e.id))})]})})},ke={API_KEY_INVALID:`validation.apiKeyInvalid`,API_KEY_TOO_LONG:`validation.apiKeyTooLong`,API_KEY_RESERVED_PREFIX:`validation.apiKeyReservedPrefix`},Z=e=>{let t=he(e);return t?ke[t.code]??`validation.apiKeyInvalid`:null},Ae=()=>j().trim().min(1,`validation.required`).superRefine((e,t)=>{let n=Z(e);n&&t.addIssue({code:`custom`,message:n})}),je=(e,t)=>Z(e)?null:t===``?`validation.required`:W(t)===W(e)?`validation.pluralApiKeySameAsSingular`:Z(t),Me=(e,t,n)=>{let r=(0,X.useRef)(e);(0,X.useEffect)(()=>{let i=t();(i===``||i===K(r.current))&&n(K(e)),r.current=e},[e,t,n])},Ne=(e,t,n)=>{let r=(0,X.useRef)(e);(0,X.useEffect)(()=>{let i=t(),a=xe(r.current,e,i);a!==i&&n(a),r.current=e},[e,t,n])},Pe=P({kind:I([`collection`,`singleton`,`component`]),label:se(),apiKey:Ae(),pluralApiKey:j().trim(),description:j().trim(),localized:N(),scope:I([`site`,`network`])}).superRefine((e,t)=>{let n=e.kind===`collection`?je(e.apiKey,e.pluralApiKey):null;n&&t.addIssue({code:`custom`,path:[`pluralApiKey`],message:n})}),Fe=(e,t)=>({kind:e,label:``,apiKey:``,pluralApiKey:``,description:``,localized:!1,scope:t}),Q=({kind:e,label:t,apiKey:n,pluralApiKey:r,description:i,localized:a})=>e===`component`?{kind:e,label:t,apiKey:n,description:i,fields:[]}:e===`collection`?{kind:e,label:t,apiKey:n,pluralApiKey:r,description:i,localized:a,fields:[]}:{kind:e,label:t,apiKey:n,description:i,localized:a,fields:[]},Ie=e=>new Set((e??[]).flatMap(({definition:e})=>[e.apiKey,...me(e)?[G(e)]:[]].map(W))),Le=[`apiKey`,`pluralApiKey`],Re=(e,t=`site`)=>{let n=U(),{definitions:r}=fe(),i=c(),a=le({resolver:ce(Pe),defaultValues:Fe(e,t)}),{setValue:o,setError:s,getValues:u}=a;return Me(k({control:a.control,name:`label`}),(0,X.useCallback)(()=>u(`apiKey`),[u]),(0,X.useCallback)(e=>o(`apiKey`,e,{shouldValidate:!1}),[o])),Ne(k({control:a.control,name:`apiKey`}),(0,X.useCallback)(()=>u(`pluralApiKey`),[u]),(0,X.useCallback)(e=>o(`pluralApiKey`,e,{shouldValidate:!1}),[o])),{form:a,onSubmit:a.handleSubmit(async e=>{let t=Ie(r);if(t.has(W(e.apiKey))){s(`apiKey`,{message:`validation.apiKeyTaken`});return}if(e.kind===`collection`&&t.has(W(e.pluralApiKey))){s(`pluralApiKey`,{message:`validation.apiKeyTaken`});return}let a=C(e.kind),o=await ue(n.mutateAsync({category:a,input:{definition:Q(e),scope:e.scope}}));if(!o.ok){let e=l(n.error);for(let t of Le){let n=e.find(e=>e.path===`/${t}`);n&&s(t,{message:be(n)})}return}g.success(b.t(`models.created`));let c=o.value.definitionId;await i(a===`component`?{to:`/models/components/$componentId`,params:{componentId:c},ignoreBlocker:!0}:{to:`/models/$modelId`,params:{modelId:c},ignoreBlocker:!0})}),pending:n.isPending,error:n.error}},$=({label:e,names:t})=>(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,Y.jsx)(`dt`,{className:`w-14 shrink-0`,children:e}),(0,Y.jsx)(`dd`,{className:`flex min-w-0 flex-wrap gap-1.5`,children:t.map(e=>(0,Y.jsx)(`code`,{className:`max-w-full truncate rounded bg-muted px-1.5 py-0.5 font-mono text-foreground/80`,children:e},e))})]}),ze=({apiKey:e,pluralApiKey:t,kind:n})=>{let{t:r}=o(),i=e.trim();if(i===``||n===`component`)return null;let a=t.trim()||ge(i),s=n===`collection`?a:i,c=n===`collection`?[i,a]:[i];return(0,Y.jsxs)(`dl`,{className:`flex flex-col gap-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)($,{label:r(`models.restLabel`),names:[r(`models.endpointPath`,{routeKey:s})]}),(0,Y.jsx)($,{label:r(`models.graphqlLabel`),names:c})]})},Be=({control:e,kinds:t})=>{let{t:n}=o(),{field:{ref:r,value:i,onChange:a}}=O({control:e,name:`kind`});return(0,Y.jsxs)(v,{className:`gap-3`,children:[(0,Y.jsx)(_,{variant:`label`,className:`mb-0`,children:n(`models.kind`)}),(0,Y.jsx)(D,{ref:r,value:i,onValueChange:a,className:s(`gap-3 sm:grid-cols-2`,t.length>2&&`sm:grid-cols-3`),children:t.map(e=>(0,Y.jsx)(q,{value:e,icon:S[e],label:n(x[e]),description:n(w[e])},e))})]})},Ve=({control:e,canShare:t})=>{let{t:n}=o(),r=u().data?.site,{field:{ref:i,value:a,onChange:s}}=O({control:e,name:`scope`});return(0,Y.jsxs)(v,{className:`gap-3`,children:[(0,Y.jsxs)(_,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[n(`contentTypes.availableOn`),t?null:(0,Y.jsx)(y,{about:n(`contentTypes.allSites`),children:n(`contentTypes.allSitesNeedsNetwork`)})]}),(0,Y.jsxs)(D,{ref:i,value:a,onValueChange:s,className:`gap-3 sm:grid-cols-2`,children:[(0,Y.jsx)(q,{value:`site`,icon:we,label:n(`contentTypes.thisSite`),description:n(`contentTypes.thisSiteDescription`,{site:r?.name??``})}),(0,Y.jsx)(q,{value:`network`,icon:T,label:n(`contentTypes.allSites`),description:n(`contentTypes.allSitesDescription`),disabled:!t})]})]})},He=({title:e,kinds:t,back:n,backLabel:r,intro:i,scope:a})=>{let{t:c}=o(),{locked:l,reason:u}=ve(),{multiSite:f,canShare:p}=E(),{form:m,onSubmit:h,pending:g,error:_}=Re(t[0],a),[v,y,b]=k({control:m.control,name:[`kind`,`apiKey`,`pluralApiKey`]}),x=v===`collection`;return(0,Y.jsxs)(te,{width:`narrow`,children:[(0,Y.jsx)(re,{when:m.formState.isDirty}),(0,Y.jsx)(ne,{breadcrumb:[{label:r,link:n}],title:e}),l?(0,Y.jsx)(ye,{reason:u}):null,i,(0,Y.jsx)(_e,{children:(0,Y.jsx)(`form`,{noValidate:!0,onSubmit:e=>void h(e),children:(0,Y.jsxs)(ie,{className:`gap-5`,children:[t.length>1?(0,Y.jsx)(Be,{control:m.control,kinds:t}):null,a===void 0&&f?(0,Y.jsx)(Ve,{control:m.control,canShare:p}):null,(0,Y.jsx)(A,{control:m.control,name:`label`,label:c(`models.label`),autoComplete:`off`}),(0,Y.jsxs)(`div`,{className:s(`grid items-start gap-5`,x&&`sm:grid-cols-2`),children:[(0,Y.jsx)(A,{control:m.control,name:`apiKey`,label:c(`models.apiKey`),hint:c(`models.apiKeyHint`),autoComplete:`off`,spellCheck:!1,className:`font-mono`}),x?(0,Y.jsx)(A,{control:m.control,name:`pluralApiKey`,label:c(`models.pluralApiKey`),hint:c(`models.pluralApiKeyHint`),autoComplete:`off`,spellCheck:!1,className:`font-mono`}):null]}),(0,Y.jsx)(ze,{apiKey:y,pluralApiKey:b,kind:v}),(0,Y.jsx)(Ce,{control:m.control,name:`description`,label:c(`common.optionalLabel`,{label:c(`models.descriptionLabel`)}),rows:2}),v===`component`?null:(0,Y.jsx)(Se,{control:m.control,name:`localized`,label:c(`models.localized`),hint:c(`models.localizedHint`),variant:`bordered`}),(0,Y.jsx)(oe,{error:_}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,Y.jsx)(ae,{variant:`outline`,asChild:!0,children:(0,Y.jsx)(d,{...n,children:c(`common.cancel`)})}),(0,Y.jsx)(ee,{pending:g,pendingLabel:c(`models.creating`),disabled:l,children:c(`common.create`)})]})]})})})]})};export{Oe as n,He as t};
|
|
2
|
+
//# sourceMappingURL=Form-DZRLD3vH.js.map
|