@shapio/cms 0.5.6 → 0.5.8
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/{AssetTile-_qRYsivK.js → AssetTile-BrMzsUZD.js} +2 -2
- package/dist/admin/assets/{AssetTile-_qRYsivK.js.map → AssetTile-BrMzsUZD.js.map} +1 -1
- package/dist/admin/assets/AssistError-Cs-r9Ssc.js +2 -0
- package/dist/admin/assets/{AssistError-CMXQWiQo.js.map → AssistError-Cs-r9Ssc.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-WIrbyv1a.js → BlockMenuItems-DsccXMc_.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-WIrbyv1a.js.map → BlockMenuItems-DsccXMc_.js.map} +1 -1
- package/dist/admin/assets/Body-BzZD-TZT.js +2 -0
- package/dist/admin/assets/{Body-BYc1IVsQ.js.map → Body-BzZD-TZT.js.map} +1 -1
- package/dist/admin/assets/Builder-DW-GJA_q.js +2 -0
- package/dist/admin/assets/Builder-DW-GJA_q.js.map +1 -0
- package/dist/admin/assets/{CodeEditor-NMvrWgxT.js → CodeEditor-CBCR73Wd.js} +2 -2
- package/dist/admin/assets/{CodeEditor-NMvrWgxT.js.map → CodeEditor-CBCR73Wd.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-B0RuxynJ.js → CopyButton-CxFsBHfF.js} +2 -2
- package/dist/admin/assets/{CopyButton-B0RuxynJ.js.map → CopyButton-CxFsBHfF.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-CQZsKNxR.js → CursorPager-BW2U3v6l.js} +2 -2
- package/dist/admin/assets/{CursorPager-CQZsKNxR.js.map → CursorPager-BW2U3v6l.js.map} +1 -1
- package/dist/admin/assets/{ExternalLink-BNq7nAYL.js → ExternalLink-BITMgS1K.js} +2 -2
- package/dist/admin/assets/{ExternalLink-BNq7nAYL.js.map → ExternalLink-BITMgS1K.js.map} +1 -1
- package/dist/admin/assets/{FocalPoint-BYu2fOTb.js → FocalPoint-CpZTve1E.js} +2 -2
- package/dist/admin/assets/{FocalPoint-BYu2fOTb.js.map → FocalPoint-CpZTve1E.js.map} +1 -1
- package/dist/admin/assets/Form-lNrRHc0I.js +2 -0
- package/dist/admin/assets/Form-lNrRHc0I.js.map +1 -0
- package/dist/admin/assets/{FormCheckboxGroup-Bz8KERs1.js → FormCheckboxGroup-DeeaYnzB.js} +2 -2
- package/dist/admin/assets/FormCheckboxGroup-DeeaYnzB.js.map +1 -0
- package/dist/admin/assets/{FormRadioGroup-c-wyx7dq.js → FormRadioGroup-Cfx5pvzU.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-c-wyx7dq.js.map → FormRadioGroup-Cfx5pvzU.js.map} +1 -1
- package/dist/admin/assets/{FormSelectField-ijG9qPpb.js → FormSelectField-BzE9Lq9i.js} +2 -2
- package/dist/admin/assets/{FormSelectField-ijG9qPpb.js.map → FormSelectField-BzE9Lq9i.js.map} +1 -1
- package/dist/admin/assets/{FormSwitchField-Bp3hNpeP.js → FormSwitchField-BLOh7qei.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-Bp3hNpeP.js.map → FormSwitchField-BLOh7qei.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-BSKMqHcW.js → FormTextareaField-CO115n_u.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-BSKMqHcW.js.map → FormTextareaField-CO115n_u.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-BrLH4NQW.js → HintedLabel-DzHnEdIK.js} +2 -2
- package/dist/admin/assets/{HintedLabel-BrLH4NQW.js.map → HintedLabel-DzHnEdIK.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-Dyzyf59c.js → InfoHint-CSEtcHjL.js} +2 -2
- package/dist/admin/assets/{InfoHint-Dyzyf59c.js.map → InfoHint-CSEtcHjL.js.map} +1 -1
- package/dist/admin/assets/InlineConfirm-yW-iUKFC.js +2 -0
- package/dist/admin/assets/InlineConfirm-yW-iUKFC.js.map +1 -0
- package/dist/admin/assets/InsertMenuItem-CCr9e0qY.js +2 -0
- package/dist/admin/assets/InsertMenuItem-CCr9e0qY.js.map +1 -0
- package/dist/admin/assets/{LinkTabs-ByB2eCIr.js → LinkTabs-8SmS1vCd.js} +2 -2
- package/dist/admin/assets/{LinkTabs-ByB2eCIr.js.map → LinkTabs-8SmS1vCd.js.map} +1 -1
- package/dist/admin/assets/{Match-Bixf1ygj.js → Match-CcD9KxHH.js} +2 -2
- package/dist/admin/assets/{Match-Bixf1ygj.js.map → Match-CcD9KxHH.js.map} +1 -1
- package/dist/admin/assets/NoAccess-C8RLPN0I.js +2 -0
- package/dist/admin/assets/NoAccess-C8RLPN0I.js.map +1 -0
- package/dist/admin/assets/Panel-Bcl09TtM.js +2 -0
- package/dist/admin/assets/Panel-Bcl09TtM.js.map +1 -0
- package/dist/admin/assets/{QueryView--_vvV7dC.js → QueryView-xMP_uJ_t.js} +2 -2
- package/dist/admin/assets/{QueryView--_vvV7dC.js.map → QueryView-xMP_uJ_t.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-BCp6auUz.js → RadioTile-DQFmni5A.js} +2 -2
- package/dist/admin/assets/{RadioTile-BCp6auUz.js.map → RadioTile-DQFmni5A.js.map} +1 -1
- package/dist/admin/assets/{RichTextField-fWNjndUc.js → RichTextField-CVHRIbnu.js} +5 -5
- package/dist/admin/assets/{RichTextField-fWNjndUc.js.map → RichTextField-CVHRIbnu.js.map} +1 -1
- package/dist/admin/assets/{RowTitle-B4CE8tt7.js → RowTitle-Bqt6evG9.js} +2 -2
- package/dist/admin/assets/{RowTitle-B4CE8tt7.js.map → RowTitle-Bqt6evG9.js.map} +1 -1
- package/dist/admin/assets/SecretReveal-Bm6nYg5J.js +2 -0
- package/dist/admin/assets/SecretReveal-Bm6nYg5J.js.map +1 -0
- package/dist/admin/assets/{SharedGlyph-71FTypoi.js → SharedGlyph-cUmTh0_C.js} +2 -2
- package/dist/admin/assets/{SharedGlyph-71FTypoi.js.map → SharedGlyph-cUmTh0_C.js.map} +1 -1
- package/dist/admin/assets/StepList-BXGYD9eJ.js +2 -0
- package/dist/admin/assets/StepList-BXGYD9eJ.js.map +1 -0
- package/dist/admin/assets/Structure-D8csgrIt.js +2 -0
- package/dist/admin/assets/{Structure-Dk87778W.js.map → Structure-D8csgrIt.js.map} +1 -1
- package/dist/admin/assets/{SubNavLink-CPJFIt1j.js → SubNavLink-CiCaVV8U.js} +2 -2
- package/dist/admin/assets/{SubNavLink-CPJFIt1j.js.map → SubNavLink-CiCaVV8U.js.map} +1 -1
- package/dist/admin/assets/{SuggestAltButton-CxS8IR6m.js → SuggestAltButton-CvIoirnz.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-CxS8IR6m.js.map → SuggestAltButton-CvIoirnz.js.map} +1 -1
- package/dist/admin/assets/{TextLink-DnrMaF2F.js → TextLink-HRn66VL1.js} +2 -2
- package/dist/admin/assets/{TextLink-DnrMaF2F.js.map → TextLink-HRn66VL1.js.map} +1 -1
- package/dist/admin/assets/Thumbnail-DNj5TRBI.js +2 -0
- package/dist/admin/assets/Thumbnail-DNj5TRBI.js.map +1 -0
- package/dist/admin/assets/UnsavedChangesGuard-CUiuMklN.js +2 -0
- package/dist/admin/assets/UnsavedChangesGuard-CUiuMklN.js.map +1 -0
- package/dist/admin/assets/{UserAvatar-D7IbSpsP.js → UserAvatar-p-jV-LoD.js} +2 -2
- package/dist/admin/assets/{UserAvatar-D7IbSpsP.js.map → UserAvatar-p-jV-LoD.js.map} +1 -1
- package/dist/admin/assets/auth-CQO4MBUj.js +2 -0
- package/dist/admin/assets/auth-CQO4MBUj.js.map +1 -0
- package/dist/admin/assets/badge-CqKF1pwz.js +2 -0
- package/dist/admin/assets/{badge-vLiQczOd.js.map → badge-CqKF1pwz.js.map} +1 -1
- package/dist/admin/assets/{boxes-D6Y4Cenx.js → boxes-CAygw8zF.js} +2 -2
- package/dist/admin/assets/{boxes-D6Y4Cenx.js.map → boxes-CAygw8zF.js.map} +1 -1
- package/dist/admin/assets/{calendar-clock-DFUgXWXg.js → calendar-clock-BZGtAvWR.js} +2 -2
- package/dist/admin/assets/{calendar-clock-DFUgXWXg.js.map → calendar-clock-BZGtAvWR.js.map} +1 -1
- package/dist/admin/assets/changeSets-8EburmT0.js +2 -0
- package/dist/admin/assets/changeSets-8EburmT0.js.map +1 -0
- package/dist/admin/assets/chevron-left-DGU3HGYG.js +2 -0
- package/dist/admin/assets/{chevron-left-CZXrLV99.js.map → chevron-left-DGU3HGYG.js.map} +1 -1
- package/dist/admin/assets/{circle-check-De27poaB.js → circle-check-C37MSJqX.js} +2 -2
- package/dist/admin/assets/{circle-check-De27poaB.js.map → circle-check-C37MSJqX.js.map} +1 -1
- package/dist/admin/assets/{clock-BGAXsuo4.js → clock-2arjsgZ4.js} +2 -2
- package/dist/admin/assets/{clock-BGAXsuo4.js.map → clock-2arjsgZ4.js.map} +1 -1
- package/dist/admin/assets/{constants-CKGh8uwT.js → constants-a_15vqOh.js} +2 -2
- package/dist/admin/assets/{constants-CKGh8uwT.js.map → constants-a_15vqOh.js.map} +1 -1
- package/dist/admin/assets/content-CAjkbZEY.js +3 -0
- package/dist/admin/assets/content-CAjkbZEY.js.map +1 -0
- package/dist/admin/assets/contentCounts-DP7YYeZZ.js +2 -0
- package/dist/admin/assets/{contentCounts-DknqJ4kh.js.map → contentCounts-DP7YYeZZ.js.map} +1 -1
- package/dist/admin/assets/{contentTypes-DzQ_0v36.js → contentTypes-84uc0bjR.js} +2 -2
- package/dist/admin/assets/{contentTypes-DzQ_0v36.js.map → contentTypes-84uc0bjR.js.map} +1 -1
- package/dist/admin/assets/context-IKYdzQJ-.js +2 -0
- package/dist/admin/assets/{context-fImO9k99.js.map → context-IKYdzQJ-.js.map} +1 -1
- package/dist/admin/assets/{copy-B5owk67M.js → copy-CsSRHgKZ.js} +2 -2
- package/dist/admin/assets/{copy-B5owk67M.js.map → copy-CsSRHgKZ.js.map} +1 -1
- package/dist/admin/assets/createLucideIcon-CLmh7Go-.js +2 -0
- package/dist/admin/assets/createLucideIcon-CLmh7Go-.js.map +1 -0
- package/dist/admin/assets/develop-BOqvnlgt.js +11 -0
- package/dist/admin/assets/develop-BOqvnlgt.js.map +1 -0
- package/dist/admin/assets/{dropdown-menu-CVAnm22s.js → dropdown-menu-_xfaEp5C.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-CVAnm22s.js.map → dropdown-menu-_xfaEp5C.js.map} +1 -1
- package/dist/admin/assets/{ellipsis-BHtU4ov6.js → ellipsis-F91991on.js} +2 -2
- package/dist/admin/assets/{ellipsis-BHtU4ov6.js.map → ellipsis-F91991on.js.map} +1 -1
- package/dist/admin/assets/entryLink-CVB-TdIn.js +2 -0
- package/dist/admin/assets/entryLink-CVB-TdIn.js.map +1 -0
- package/dist/admin/assets/es2015-BHmI7wjK.js +42 -0
- package/dist/admin/assets/es2015-BHmI7wjK.js.map +1 -0
- package/dist/admin/assets/{external-link-nZp2VpKw.js → external-link-CdG6kHfA.js} +2 -2
- package/dist/admin/assets/{external-link-nZp2VpKw.js.map → external-link-CdG6kHfA.js.map} +1 -1
- package/dist/admin/assets/{field-Bg-JRgsB.js → field-COOzRptX.js} +2 -2
- package/dist/admin/assets/{field-Bg-JRgsB.js.map → field-COOzRptX.js.map} +1 -1
- package/dist/admin/assets/{file-stack-8rRouTJj.js → file-stack-28ZtO1xW.js} +2 -2
- package/dist/admin/assets/{file-stack-8rRouTJj.js.map → file-stack-28ZtO1xW.js.map} +1 -1
- package/dist/admin/assets/{fileRoute-DQCI1nMN.js → fileRoute-s7mCMYUJ.js} +2 -2
- package/dist/admin/assets/{fileRoute-DQCI1nMN.js.map → fileRoute-s7mCMYUJ.js.map} +1 -1
- package/dist/admin/assets/{folder-plus-B3L3b389.js → folder-plus-DIk0pWkP.js} +2 -2
- package/dist/admin/assets/{folder-plus-B3L3b389.js.map → folder-plus-DIk0pWkP.js.map} +1 -1
- package/dist/admin/assets/followPlural-Cm7v_Udv.js +2 -0
- package/dist/admin/assets/followPlural-Cm7v_Udv.js.map +1 -0
- package/dist/admin/assets/{globe-DKkjr9MZ.js → globe-DFr3Gd2w.js} +2 -2
- package/dist/admin/assets/{globe-DKkjr9MZ.js.map → globe-DFr3Gd2w.js.map} +1 -1
- package/dist/admin/assets/{image-B6aL7hP8.js → image-DT79QFa_.js} +2 -2
- package/dist/admin/assets/{image-B6aL7hP8.js.map → image-DT79QFa_.js.map} +1 -1
- package/dist/admin/assets/{image-off-TVxEyb74.js → image-off-DFs5upyX.js} +2 -2
- package/dist/admin/assets/{image-off-TVxEyb74.js.map → image-off-DFs5upyX.js.map} +1 -1
- package/dist/admin/assets/{inbox-BKqu1EfP.js → inbox-CySnQydm.js} +2 -2
- package/dist/admin/assets/{inbox-BKqu1EfP.js.map → inbox-CySnQydm.js.map} +1 -1
- package/dist/admin/assets/inbox-DGO2D8fa.js +2 -0
- package/dist/admin/assets/inbox-DGO2D8fa.js.map +1 -0
- package/dist/admin/assets/index-BIIU9ZI6.js +4 -0
- package/dist/admin/assets/index-BIIU9ZI6.js.map +1 -0
- package/dist/admin/assets/index-lxe7WimO.css +2 -0
- package/dist/admin/assets/{key-round-Dmdr1vP5.js → key-round-D36CePnN.js} +2 -2
- package/dist/admin/assets/{key-round-Dmdr1vP5.js.map → key-round-D36CePnN.js.map} +1 -1
- package/dist/admin/assets/{labels-BrwwGWnv.js → labels-DQckbLGW.js} +2 -2
- package/dist/admin/assets/{labels-BrwwGWnv.js.map → labels-DQckbLGW.js.map} +1 -1
- package/dist/admin/assets/{languages-BbfFIygP.js → languages-CzbTaQv9.js} +2 -2
- package/dist/admin/assets/{languages-BbfFIygP.js.map → languages-CzbTaQv9.js.map} +1 -1
- package/dist/admin/assets/{layers-B0jT4rc4.js → layers-BmcodiaH.js} +2 -2
- package/dist/admin/assets/{layers-B0jT4rc4.js.map → layers-BmcodiaH.js.map} +1 -1
- package/dist/admin/assets/{link-2-off-DC06jLDj.js → link-2-off-CoJNwrxm.js} +2 -2
- package/dist/admin/assets/{link-2-off-DC06jLDj.js.map → link-2-off-CoJNwrxm.js.map} +1 -1
- package/dist/admin/assets/{link-B3O0VUVT.js → link-Pyr2Y35S.js} +2 -2
- package/dist/admin/assets/{link-B3O0VUVT.js.map → link-Pyr2Y35S.js.map} +1 -1
- package/dist/admin/assets/locales-Bg3htKo8.js +2 -0
- package/dist/admin/assets/{locales-e7B5t6id.js.map → locales-Bg3htKo8.js.map} +1 -1
- package/dist/admin/assets/media-BCnVhaDH.js +2 -0
- package/dist/admin/assets/{media-VCJUbYzJ.js.map → media-BCnVhaDH.js.map} +1 -1
- package/dist/admin/assets/media-CURizGns.js +2 -0
- package/dist/admin/assets/media-CURizGns.js.map +1 -0
- package/dist/admin/assets/network-BixABr0o.js +2 -0
- package/dist/admin/assets/network-BixABr0o.js.map +1 -0
- package/dist/admin/assets/{plus-WfYKHW7G.js → plus-BoDtdLCo.js} +2 -2
- package/dist/admin/assets/{plus-WfYKHW7G.js.map → plus-BoDtdLCo.js.map} +1 -1
- package/dist/admin/assets/publishing-Dke9bSKp.js +2 -0
- package/dist/admin/assets/{publishing-CpSDO3M7.js.map → publishing-Dke9bSKp.js.map} +1 -1
- package/dist/admin/assets/{radio-group-DQ3sC1ol.js → radio-group-4ok5evXq.js} +2 -2
- package/dist/admin/assets/{radio-group-DQ3sC1ol.js.map → radio-group-4ok5evXq.js.map} +1 -1
- package/dist/admin/assets/{rotate-ccw-Cvc_uA58.js → rotate-ccw-DL6TzcZh.js} +2 -2
- package/dist/admin/assets/{rotate-ccw-Cvc_uA58.js.map → rotate-ccw-DL6TzcZh.js.map} +1 -1
- package/dist/admin/assets/schedules-BmB9Y73z.js +2 -0
- package/dist/admin/assets/{schedules-CBGpjEg7.js.map → schedules-BmB9Y73z.js.map} +1 -1
- package/dist/admin/assets/schema-D-qo7XSF.js +2 -0
- package/dist/admin/assets/schema-D-qo7XSF.js.map +1 -0
- package/dist/admin/assets/{scroll-text-gKYBbibb.js → scroll-text-PqeZm472.js} +2 -2
- package/dist/admin/assets/{scroll-text-gKYBbibb.js.map → scroll-text-PqeZm472.js.map} +1 -1
- package/dist/admin/assets/{search-CW3iBC4k.js → search-BdwIwOzC.js} +2 -2
- package/dist/admin/assets/{search-CW3iBC4k.js.map → search-BdwIwOzC.js.map} +1 -1
- package/dist/admin/assets/searchSchemas-CSScloG8.js +2 -0
- package/dist/admin/assets/{searchSchemas-D4S2ceA0.js.map → searchSchemas-CSScloG8.js.map} +1 -1
- package/dist/admin/assets/{sections-CN5fIoAr.js → sections-BTS683ur.js} +2 -2
- package/dist/admin/assets/{sections-CN5fIoAr.js.map → sections-BTS683ur.js.map} +1 -1
- package/dist/admin/assets/sections-DqBzSKMP.js +2 -0
- package/dist/admin/assets/{sections-Cl1LrzqH.js.map → sections-DqBzSKMP.js.map} +1 -1
- package/dist/admin/assets/{select-DjCAH45V.js → select-C0USI-Ox.js} +2 -2
- package/dist/admin/assets/{select-DjCAH45V.js.map → select-C0USI-Ox.js.map} +1 -1
- package/dist/admin/assets/{send-DRA-Pe46.js → send-XPWo3m4u.js} +2 -2
- package/dist/admin/assets/{send-DRA-Pe46.js.map → send-XPWo3m4u.js.map} +1 -1
- package/dist/admin/assets/seo-CceGYTIX.js +2 -0
- package/dist/admin/assets/{seo-DJ4k3LtY.js.map → seo-CceGYTIX.js.map} +1 -1
- package/dist/admin/assets/settings-B60vHpZd.js +2 -0
- package/dist/admin/assets/settings-B60vHpZd.js.map +1 -0
- package/dist/admin/assets/settle-CFU6YpQ0.js +2 -0
- package/dist/admin/assets/settle-CFU6YpQ0.js.map +1 -0
- package/dist/admin/assets/shapes-B5twqZcp.js +6 -0
- package/dist/admin/assets/shapes-B5twqZcp.js.map +1 -0
- package/dist/admin/assets/{skeleton-D4eOLKLY.js → skeleton-B5MP72Kw.js} +2 -2
- package/dist/admin/assets/{skeleton-D4eOLKLY.js.map → skeleton-B5MP72Kw.js.map} +1 -1
- package/dist/admin/assets/slugify-rYFum3Sc.js +2 -0
- package/dist/admin/assets/slugify-rYFum3Sc.js.map +1 -0
- package/dist/admin/assets/snapshots-DUI2t-qF.js +2 -0
- package/dist/admin/assets/snapshots-DUI2t-qF.js.map +1 -0
- package/dist/admin/assets/{sparkles-DCRAqbqD.js → sparkles-CvT-jxrW.js} +2 -2
- package/dist/admin/assets/{sparkles-DCRAqbqD.js.map → sparkles-CvT-jxrW.js.map} +1 -1
- package/dist/admin/assets/src-ndgTSYLX.js +7 -0
- package/dist/admin/assets/src-ndgTSYLX.js.map +1 -0
- package/dist/admin/assets/{stableId-iRkUbVIP.js → stableId-BrtQedPy.js} +2 -2
- package/dist/admin/assets/{stableId-iRkUbVIP.js.map → stableId-BrtQedPy.js.map} +1 -1
- package/dist/admin/assets/store-CdIFG90N.js +2 -0
- package/dist/admin/assets/{store-DknnssoQ.js.map → store-CdIFG90N.js.map} +1 -1
- package/dist/admin/assets/{switch-B2R13aVU.js → switch-Dp6WYNam.js} +2 -2
- package/dist/admin/assets/{switch-B2R13aVU.js.map → switch-Dp6WYNam.js.map} +1 -1
- package/dist/admin/assets/theme-65PB8uAu.js +2 -0
- package/dist/admin/assets/{theme-X-qeg74W.js.map → theme-65PB8uAu.js.map} +1 -1
- package/dist/admin/assets/titles-CQiqqDw-.js +2 -0
- package/dist/admin/assets/titles-CQiqqDw-.js.map +1 -0
- package/dist/admin/assets/tokens-ixHjAkDK.js +2 -0
- package/dist/admin/assets/{tokens-BlIDIMY9.js.map → tokens-ixHjAkDK.js.map} +1 -1
- package/dist/admin/assets/{tooltip-u2epXfJF.js → tooltip-BGP1DVBt.js} +2 -2
- package/dist/admin/assets/{tooltip-u2epXfJF.js.map → tooltip-BGP1DVBt.js.map} +1 -1
- package/dist/admin/assets/{undo-2-Zd1OT6qk.js → undo-2-BiTANHFz.js} +2 -2
- package/dist/admin/assets/{undo-2-Zd1OT6qk.js.map → undo-2-BiTANHFz.js.map} +1 -1
- package/dist/admin/assets/useContentSchema-DtYfhsd2.js +2 -0
- package/dist/admin/assets/{useContentSchema-DaQHlL19.js.map → useContentSchema-DtYfhsd2.js.map} +1 -1
- package/dist/admin/assets/useCursorPager-0zHjlm-7.js +2 -0
- package/dist/admin/assets/{useCursorPager-Dc-9B67j.js.map → useCursorPager-0zHjlm-7.js.map} +1 -1
- package/dist/admin/assets/useDiscardGuard-BskWSlbT.js +2 -0
- package/dist/admin/assets/useDiscardGuard-BskWSlbT.js.map +1 -0
- package/dist/admin/assets/useMediaPickerDialog-CU-ekPqX.js +2 -0
- package/dist/admin/assets/{useMediaPickerDialog-C23eOHQR.js.map → useMediaPickerDialog-CU-ekPqX.js.map} +1 -1
- package/dist/admin/assets/useMediaUploader-CBcq1ICg.js +2 -0
- package/dist/admin/assets/{useMediaUploader-CTViR0LX.js.map → useMediaUploader-CBcq1ICg.js.map} +1 -1
- package/dist/admin/assets/useNetworkPermission-Cts98h9d.js +2 -0
- package/dist/admin/assets/{useNetworkPermission-CegwqQXR.js.map → useNetworkPermission-Cts98h9d.js.map} +1 -1
- package/dist/admin/assets/usePaletteItems-DtReWmkd.js +2 -0
- package/dist/admin/assets/{usePaletteItems-B3y2t7Ly.js.map → usePaletteItems-DtReWmkd.js.map} +1 -1
- package/dist/admin/assets/usePlaces-DC47wVeU.js +2 -0
- package/dist/admin/assets/{usePlaces-CAXr-IO9.js.map → usePlaces-DC47wVeU.js.map} +1 -1
- package/dist/admin/assets/useQueries-CirW3Mvp.js +2 -0
- package/dist/admin/assets/{useQueries-CX6eFr24.js.map → useQueries-CirW3Mvp.js.map} +1 -1
- package/dist/admin/assets/{useResolvedScheme-Cg8TdO85.js → useResolvedScheme-C8vcQVko.js} +2 -2
- package/dist/admin/assets/{useResolvedScheme-Cg8TdO85.js.map → useResolvedScheme-C8vcQVko.js.map} +1 -1
- package/dist/admin/assets/{useSchemaScopeAccess-DyfiZnzs.js → useSchemaScopeAccess-ByrxIdKM.js} +2 -2
- package/dist/admin/assets/{useSchemaScopeAccess-DyfiZnzs.js.map → useSchemaScopeAccess-ByrxIdKM.js.map} +1 -1
- package/dist/admin/assets/users-2iJYwlJb.js +2 -0
- package/dist/admin/assets/users-2iJYwlJb.js.map +1 -0
- package/dist/admin/assets/{users-ohHZnBJW.js → users-DM7CXUBJ.js} +2 -2
- package/dist/admin/assets/{users-ohHZnBJW.js.map → users-DM7CXUBJ.js.map} +1 -1
- package/dist/admin/assets/{zod-D5i60ErJ.js → zod-Cry7YvLY.js} +2 -2
- package/dist/admin/assets/{zod-D5i60ErJ.js.map → zod-Cry7YvLY.js.map} +1 -1
- package/dist/admin/index.html +59 -60
- package/dist/cli.js +10 -5696
- package/dist/cli.js.map +1 -1
- package/dist/cliMain-papyXJDd.js +5771 -0
- package/dist/cliMain-papyXJDd.js.map +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -38
- package/dist/contentDisposition-DOL2Xt0l.js +90 -0
- package/dist/contentDisposition-DOL2Xt0l.js.map +1 -0
- package/dist/index.d.ts +23 -6
- package/dist/index.js +2 -2
- package/dist/public-B57h4F7Y.js +39 -0
- package/dist/public-B57h4F7Y.js.map +1 -0
- package/dist/{public-BO_wneBL.d.ts → public-COKbHR-N.d.ts} +47 -3
- package/dist/{s3Adapter-CtPzkzf0.js → s3Adapter-U01iEAcK.js} +2 -2
- package/dist/{s3Adapter-CtPzkzf0.js.map → s3Adapter-U01iEAcK.js.map} +1 -1
- package/dist/{worker-DRCCGGjl.js → worker-B-sC-eY2.js} +5735 -3982
- package/dist/worker-B-sC-eY2.js.map +1 -0
- package/package.json +5 -5
- package/dist/admin/assets/AssistError-CMXQWiQo.js +0 -2
- package/dist/admin/assets/Body-BYc1IVsQ.js +0 -2
- package/dist/admin/assets/Builder-CwHpRhZN.js +0 -2
- package/dist/admin/assets/Builder-CwHpRhZN.js.map +0 -1
- package/dist/admin/assets/ConfirmDialog-Rd6WDt6q.js +0 -2
- package/dist/admin/assets/ConfirmDialog-Rd6WDt6q.js.map +0 -1
- package/dist/admin/assets/Form-CiZUsLPp.js +0 -2
- package/dist/admin/assets/Form-CiZUsLPp.js.map +0 -1
- package/dist/admin/assets/FormCheckboxGroup-Bz8KERs1.js.map +0 -1
- package/dist/admin/assets/InsertMenuItem-BvRDuXtd.js +0 -2
- package/dist/admin/assets/InsertMenuItem-BvRDuXtd.js.map +0 -1
- package/dist/admin/assets/Panel-B1TkcP8V.js +0 -2
- package/dist/admin/assets/Panel-B1TkcP8V.js.map +0 -1
- package/dist/admin/assets/SecretReveal-BhSqdWqh.js +0 -2
- package/dist/admin/assets/SecretReveal-BhSqdWqh.js.map +0 -1
- package/dist/admin/assets/StepList-CZJmwy9e.js +0 -2
- package/dist/admin/assets/StepList-CZJmwy9e.js.map +0 -1
- package/dist/admin/assets/Structure-Dk87778W.js +0 -2
- package/dist/admin/assets/Thumbnail-BwbCNpgQ.js +0 -2
- package/dist/admin/assets/Thumbnail-BwbCNpgQ.js.map +0 -1
- package/dist/admin/assets/UnsavedChangesGuard-C6nD55Fn.js +0 -2
- package/dist/admin/assets/UnsavedChangesGuard-C6nD55Fn.js.map +0 -1
- package/dist/admin/assets/auth-C4fHG9Iu.js +0 -2
- package/dist/admin/assets/auth-C4fHG9Iu.js.map +0 -1
- package/dist/admin/assets/badge-vLiQczOd.js +0 -2
- package/dist/admin/assets/changeSets-D5VevASj.js +0 -2
- package/dist/admin/assets/changeSets-D5VevASj.js.map +0 -1
- package/dist/admin/assets/chevron-left-CZXrLV99.js +0 -2
- package/dist/admin/assets/content-Cbavyq0x.js +0 -3
- package/dist/admin/assets/content-Cbavyq0x.js.map +0 -1
- package/dist/admin/assets/contentCounts-DknqJ4kh.js +0 -2
- package/dist/admin/assets/context-fImO9k99.js +0 -2
- package/dist/admin/assets/createLucideIcon-CqygG5K6.js +0 -2
- package/dist/admin/assets/createLucideIcon-CqygG5K6.js.map +0 -1
- package/dist/admin/assets/develop-BDqMOEql.js +0 -11
- package/dist/admin/assets/develop-BDqMOEql.js.map +0 -1
- package/dist/admin/assets/es2015-BKfbx3rz.js +0 -42
- package/dist/admin/assets/es2015-BKfbx3rz.js.map +0 -1
- package/dist/admin/assets/followPlural-D0bENI5E.js +0 -2
- package/dist/admin/assets/followPlural-D0bENI5E.js.map +0 -1
- package/dist/admin/assets/inbox-Dfy4YBZ2.js +0 -2
- package/dist/admin/assets/inbox-Dfy4YBZ2.js.map +0 -1
- package/dist/admin/assets/index-BEM45u2w.css +0 -2
- package/dist/admin/assets/index-M4TUI1dl.js +0 -4
- package/dist/admin/assets/index-M4TUI1dl.js.map +0 -1
- package/dist/admin/assets/loader-circle-C-9trZPI.js +0 -2
- package/dist/admin/assets/loader-circle-C-9trZPI.js.map +0 -1
- package/dist/admin/assets/locales-e7B5t6id.js +0 -2
- package/dist/admin/assets/media-DBdx-UmR.js +0 -2
- package/dist/admin/assets/media-DBdx-UmR.js.map +0 -1
- package/dist/admin/assets/media-VCJUbYzJ.js +0 -2
- package/dist/admin/assets/network-BpbMYp6D.js +0 -2
- package/dist/admin/assets/network-BpbMYp6D.js.map +0 -1
- package/dist/admin/assets/pencil-BVSFlU14.js +0 -2
- package/dist/admin/assets/pencil-BVSFlU14.js.map +0 -1
- package/dist/admin/assets/publishing-CpSDO3M7.js +0 -2
- package/dist/admin/assets/schedules-CBGpjEg7.js +0 -2
- package/dist/admin/assets/schema-D9BgCVzZ.js +0 -2
- package/dist/admin/assets/schema-D9BgCVzZ.js.map +0 -1
- package/dist/admin/assets/searchSchemas-D4S2ceA0.js +0 -2
- package/dist/admin/assets/sections-Cl1LrzqH.js +0 -2
- package/dist/admin/assets/seo-DJ4k3LtY.js +0 -2
- package/dist/admin/assets/settings-DRZ33PTg.js +0 -2
- package/dist/admin/assets/settings-DRZ33PTg.js.map +0 -1
- package/dist/admin/assets/settle-LRKtTN_e.js +0 -2
- package/dist/admin/assets/settle-LRKtTN_e.js.map +0 -1
- package/dist/admin/assets/shapes-BJe3IMuj.js +0 -6
- package/dist/admin/assets/shapes-BJe3IMuj.js.map +0 -1
- package/dist/admin/assets/snapshots-CT-zs6Up.js +0 -2
- package/dist/admin/assets/snapshots-CT-zs6Up.js.map +0 -1
- package/dist/admin/assets/src-DUpL-qwG.js +0 -7
- package/dist/admin/assets/src-DUpL-qwG.js.map +0 -1
- package/dist/admin/assets/store-DknnssoQ.js +0 -2
- package/dist/admin/assets/theme-X-qeg74W.js +0 -2
- package/dist/admin/assets/titles-CLh5ftA2.js +0 -2
- package/dist/admin/assets/titles-CLh5ftA2.js.map +0 -1
- package/dist/admin/assets/tokens-BlIDIMY9.js +0 -2
- package/dist/admin/assets/useAuditLabels-DWBpLOTB.js +0 -2
- package/dist/admin/assets/useAuditLabels-DWBpLOTB.js.map +0 -1
- package/dist/admin/assets/useContentSchema-DaQHlL19.js +0 -2
- package/dist/admin/assets/useCursorPager-Dc-9B67j.js +0 -2
- package/dist/admin/assets/useDiscardGuard-BVJGUCiH.js +0 -2
- package/dist/admin/assets/useDiscardGuard-BVJGUCiH.js.map +0 -1
- package/dist/admin/assets/useMediaPickerDialog-C23eOHQR.js +0 -2
- package/dist/admin/assets/useMediaUploader-CTViR0LX.js +0 -2
- package/dist/admin/assets/useNetworkPermission-CegwqQXR.js +0 -2
- package/dist/admin/assets/usePaletteItems-B3y2t7Ly.js +0 -2
- package/dist/admin/assets/usePlaces-CAXr-IO9.js +0 -2
- package/dist/admin/assets/useQueries-CX6eFr24.js +0 -2
- package/dist/admin/assets/users-CDoJRL24.js +0 -2
- package/dist/admin/assets/users-CDoJRL24.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/worker-DRCCGGjl.js.map +0 -1
|
@@ -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{At as r,at as i}from"./src-ndgTSYLX.js";import{C as a,D as o,E as s,S as c,T as l,b as u,g as d,w as f,x as p,y as m}from"./badge-CqKF1pwz.js";import{n as h,t as g}from"./createLucideIcon-CLmh7Go-.js";import{a as _,i as v,n as y,r as b,x}from"./InfoHint-CSEtcHjL.js";import{b as S,d as C,h as w,m as T,p as E,u as D,x as O}from"./es2015-BHmI7wjK.js";import{a as k,c as A,i as j,o as M}from"./skeleton-B5MP72Kw.js";import{o as N,t as P,v as ee}from"./field-COOzRptX.js";import{t as F}from"./cn-DVhJ55Mo.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=g(I),R=e(t(),1),z=e(n(),1),te=Object.defineProperty,B=(e,t)=>te(e,`name`,{value:t,configurable:!0}),[ne,re]=T(`AlertDialog`,[o]),V=o(),ie=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(m,{...r,...n,modal:!0})},`AlertDialog`);R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(s,{...i,...r,ref:t})},`AlertDialogTrigger`));var ae=B(e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,z.jsx)(f,{...r,...n})},`AlertDialogPortal`),oe=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(a,{...i,...r,ref:t})},`AlertDialogOverlay`)),[se,ce]=ne(`AlertDialogContent`),le=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,children:r,...i}=e,a=V(n),o=R.useRef(null),s=S(t,o),c=R.useRef(null);return(0,z.jsx)(se,{scope:n,cancelRef:c,children:(0,z.jsx)(p,{role:`alertdialog`,...a,...i,ref:s,onOpenAutoFocus:E(i.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})},`AlertDialogContent`)),ue=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(l,{...i,...r,ref:t})},`AlertDialogTitle`)),de=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(c,{...i,...r,ref:t})},`AlertDialogDescription`)),fe=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,z.jsx)(u,{...i,...r,ref:t})},`AlertDialogAction`)),pe=`AlertDialogCancel`,me=R.forwardRef(B(function(e,t){let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=ce(pe,n),a=V(n),o=S(t,i);return(0,z.jsx)(u,{...a,...r,ref:o})},`AlertDialogCancel`)),he=ie,ge=ae,_e=oe,ve=le,ye=fe,be=me,xe=ue,Se=de,Ce=Object.defineProperty,H=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),U=`Checkbox`,[we,Te]=T(U),[Ee,W]=we(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]=C({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)(Ee,{scope:t,...S,children:K(d)?d(S):r})}H(G,`CheckboxProvider`);var De=`CheckboxTrigger`,Oe=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(De,e),g=S(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)(w.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:E(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:E(n,e=>{p(),d(e=>q(e)?!0:!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})},`CheckboxTrigger`)),ke=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)(Oe,{...d,ref:t,__scopeCheckbox:n}),e&&(0,z.jsx)(Ne,{__scopeCheckbox:n})]})})},`Checkbox`)),Ae=`CheckboxIndicator`,je=R.forwardRef(H(function(e,t){let{__scopeCheckbox:n,forceMount:r,...i}=e,a=W(Ae,n);return(0,z.jsx)(D,{present:r||q(a.checked)||a.checked===!0,children:(0,z.jsx)(w.span,{"data-state":J(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})},`CheckboxIndicator`)),Me=`CheckboxBubbleInput`,Ne=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(Me,e),g=S(r,h),_=x(i),v=R.useRef(!1),y=R.useRef(s),b=R.useRef(o);R.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==b.current;b.current=o;let i=y.current!==s;y.current=s;let c=!(r&&a.current);if(i&&n){v.current=!r;let t=new Event(`click`,{bubbles:c});e.indeterminate=q(s),n.call(e,!q(s)&&s),e.dispatchEvent(t),v.current=!1}},[m,s,a,o]);let C=R.useRef(!q(s)&&s);return(0,z.jsx)(w.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??C.current,required:l,disabled:u,name:d,value:f,form:p,...n,tabIndex:-1,ref:g,onClick:E(t,e=>{v.current&&e.stopPropagation()}),style:{...n.style,..._,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 Pe=M(`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:F(Pe({variant:t}),e),...n})}function Fe({className:e,...t}){return(0,z.jsx)(`div`,{"data-slot":`alert-title`,className:F(`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:F(`col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed`,e),...t})}var Z=({error:e,message:t})=>e?(0,z.jsxs)(Y,{variant:`destructive`,children:[(0,z.jsx)(L,{"aria-hidden":`true`}),(0,z.jsx)(X,{children:t??O(e)})]}):null;function Ie({...e}){return(0,z.jsx)(he,{"data-slot":`alert-dialog`,...e})}function Le({...e}){return(0,z.jsx)(ge,{"data-slot":`alert-dialog-portal`,...e})}function Re({className:e,...t}){return(0,z.jsx)(_e,{"data-slot":`alert-dialog-overlay`,className:F(`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 Q({className:e,size:t=`default`,onOpenAutoFocus:n,onCloseAutoFocus:r,...i}){let a=d(n,r);return(0,z.jsxs)(Le,{children:[(0,z.jsx)(Re,{}),(0,z.jsx)(ve,{"data-slot":`alert-dialog-content`,"data-size":t,className:F(`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:F(`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:F(`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)(xe,{"data-slot":`alert-dialog-title`,className:F(`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)(Se,{"data-slot":`alert-dialog-description`,className:F(`text-sm text-muted-foreground`,e),...t})}function Ue({className:e,variant:t=`default`,size:n=`default`,...r}){return(0,z.jsx)(j,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(ye,{"data-slot":`alert-dialog-action`,className:F(e),...r})})}function We({className:e,variant:t=`outline`,size:n=`default`,...r}){return(0,z.jsx)(j,{variant:t,size:n,asChild:!0,children:(0,z.jsx)(be,{"data-slot":`alert-dialog-cancel`,className:F(e),...r})})}function $({className:e,...t}){return(0,z.jsx)(ke,{"data-slot":`checkbox`,className:F(`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)(je,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:t.checked===`indeterminate`?(0,z.jsx)(ee,{className:`size-3.5`}):(0,z.jsx)(A,{className:`size-3.5`})})})}var Ge=({open:e,onOpenChange:t,title:n,description:r,confirmLabel:a,cancelLabel:o,destructive:s=!1,onConfirm:c,acknowledgement:l,pending:u,pendingLabel:d,error:f})=>{let{t:p}=h(),m=(0,R.useId)(),[g,_]=(0,R.useState)(!1),[v,y]=(0,R.useState)(e);e!==v&&(y(e),e&&_(!1));let b=u!==void 0,x=u===!0,S=l!==void 0&&!g,C=k({variant:s?`destructive`:`default`});return(0,z.jsx)(Ie,{open:e,onOpenChange:e=>x&&!e?void 0:t(e),children:(0,z.jsxs)(Q,{children:[(0,z.jsxs)(ze,{children:[(0,z.jsx)(Ve,{children:n}),(0,z.jsx)(He,{children:r})]}),l?(0,z.jsxs)(P,{orientation:`horizontal`,children:[(0,z.jsx)($,{id:m,checked:g,disabled:x,onCheckedChange:e=>_(e===!0)}),(0,z.jsx)(N,{htmlFor:m,className:`font-normal`,children:l})]}):null,b?(0,z.jsx)(Z,{error:f}):null,(0,z.jsxs)(Be,{children:[(0,z.jsx)(We,{disabled:x,children:o??p(`common.cancel`)}),b?(0,z.jsx)(j,{type:`button`,variant:s?`destructive`:`default`,disabled:x||S,"aria-busy":x||void 0,onClick:c,children:x?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(i,{className:`animate-spin`,"aria-hidden":`true`}),d??a]}):a}):(0,z.jsx)(Ue,{className:C,disabled:S,onClick:c,children:a})]})]})})},Ke=e=>{(0,R.useEffect)(()=>{if(!e)return;let{addUnsavedEdits:t,removeUnsavedEdits:n}=r.getState();return t(),n},[e])},qe=e=>{let{title:t,description:n,confirmLabel:r,cancelLabel:a,pendingLabel:o,tone:s,onConfirm:c,align:l=`end`,side:u=`bottom`,onCloseAutoFocus:f}=e,{t:p}=h(),m=(0,R.useId)(),g=(0,R.useId)(),x=(0,R.useRef)(null),S=(0,R.useRef)(null),[C,w]=(0,R.useState)(!1),[T,E]=(0,R.useState)(!1),[D,O]=(0,R.useState)(null),k=e.trigger===void 0?e.open:C,A=t=>{t&&O(null),e.trigger===void 0?e.onOpenChange(t):w(t)},M=e=>T&&!e?void 0:A(e),N=()=>{let e=c();if(!(e instanceof Promise)){A(!1);return}E(!0),O(null),e.then(()=>{E(!1),A(!1)},e=>{E(!1),O(e)})},P=d(e=>{e.preventDefault(),(s===`danger`?x:S).current?.focus()},f);return(0,z.jsxs)(y,{open:k,onOpenChange:M,modal:!0,children:[e.trigger===void 0?(0,z.jsx)(b,{asChild:!0,children:e.children}):(0,z.jsx)(_,{asChild:!0,children:e.trigger}),(0,z.jsxs)(v,{role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":m,"aria-describedby":n?g:void 0,align:l,side:u,className:`w-80 space-y-4`,...P,children:[(0,z.jsxs)(`div`,{className:`space-y-1`,children:[(0,z.jsx)(`p`,{id:m,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)(j,{ref:x,type:`button`,size:`sm`,variant:`outline`,disabled:T,onClick:()=>A(!1),children:a??p(`common.cancel`)}),(0,z.jsx)(j,{ref:S,type:`button`,size:`sm`,variant:s===`danger`?`destructive`:`default`,disabled:T,"aria-busy":T||void 0,onClick:N,children:T?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(i,{className:`animate-spin`,"aria-hidden":`true`}),o??r]}):r})]})]})]})};export{Z as a,Fe as c,$ as i,L as l,Ke as n,Y as o,Ge as r,X as s,qe as t};
|
|
2
|
+
//# sourceMappingURL=InlineConfirm-yW-iUKFC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineConfirm-yW-iUKFC.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","AlertDialogPrimitive.Root","AlertDialogPrimitive.Portal","AlertDialogPrimitive.Overlay","AlertDialogPrimitive.Content","AlertDialogPrimitive.Title","AlertDialogPrimitive.Description","AlertDialogPrimitive.Action","AlertDialogPrimitive.Cancel","CheckboxPrimitive.Root","CheckboxPrimitive.Indicator","MinusIcon","CheckIcon","useId","useState","_Fragment","Loader2","useId","useRef","useState","_Fragment","Loader2","__toESM","require_jsx_runtime","useSessionStore","LoaderCircle","DialogOverlay","createDialogScope","DialogTrigger","DialogDescription","DialogTitle","DialogClose","useReturnFocus","DialogPortal","DialogContent","Dialog","useTranslation","createLucideIcon","PopoverTrigger","PopoverContent","Popover","PopoverAnchor","useComposedRefs","useControllableState","Primitive","createContextScope","composeEventHandlers","Presence","describeError","buttonVariants","Check","Button","cva","FieldLabel","Field","Minus","cn","__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","useSize","shouldStopClickPropagationRef","prevCheckedRef","prevUserInteractionCountRef","input","inputProto","isUserInteraction","checkedChanged","bubbles","defaultCheckedRef","value","alertVariants","Alert","className","AlertTitle","AlertDescription","FormError","error","message","AlertDialog","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","returnFocus","onOpenAutoFocus","onCloseAutoFocus","size","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","Checkbox","ConfirmDialog","acknowledgementId","acknowledged","setAcknowledged","wasOpen","setWasOpen","open","isAsync","pending","busy","blocked","acknowledgement","confirmClassName","destructive","next","onOpenChange","title","description","cancelLabel","t","onConfirm","pendingLabel","confirmLabel","useRegisterUnsavedEdits","dirty","addUnsavedEdits","removeUnsavedEdits","InlineConfirm","titleId","descriptionId","confirmRef","uncontrolledOpen","setUncontrolledOpen","setPending","setError","changeOpen","requestOpenChange","confirm","result","reason","tone"],"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/ui/alert-dialog.tsx","../../src/components/ui/checkbox.tsx","../../src/components/ConfirmDialog/index.tsx","../../src/hooks/useRegisterUnsavedEdits.ts","../../src/components/InlineConfirm/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 = {\n error: unknown;\n /** Replaces the message derived from `error` (for a refusal the form explains better itself). */\n message?: string;\n};\n\n/** The server's answer to a failed form submission, shown above the submit button and announced. */\nexport const FormError = ({ error, message }: FormErrorProps) => {\n if (!error) {\n return null;\n }\n return (\n <Alert variant=\"destructive\">\n <AlertCircle aria-hidden=\"true\" />\n <AlertDescription>{message ?? describeError(error)}</AlertDescription>\n </Alert>\n );\n};\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 { 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","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","import { useEffect } from 'react';\nimport { useSessionStore } from '@/stores/session';\n\n/**\n * Counts this screen's unsaved edits in the session store while `dirty`, so an ended session is resumed in\n * place (the page and its edits stay) instead of sending the person to Sign in.\n */\nexport const useRegisterUnsavedEdits = (dirty: boolean) => {\n useEffect(() => {\n if (!dirty) {\n return undefined;\n }\n const { addUnsavedEdits, removeUnsavedEdits } = useSessionStore.getState();\n addUnsavedEdits();\n return removeUnsavedEdits;\n }, [dirty]);\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"],"ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -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{t as r}from"./stableId-BrtQedPy.js";import{a as i}from"./dropdown-menu-_xfaEp5C.js";var a=class{text;constructor(e){this.text=e,Object.freeze(this)}},o=e=>new a(e),s=e=>e instanceof a,c=e=>String(e).replace(/~/g,`~0`).replace(/\//g,`~1`),l=(e,t,n)=>{if(s(e))n.push(t);else if(Array.isArray(e))e.forEach((e,r)=>l(e,`${t}/${c(r)}`,n));else if(typeof e==`object`&&e)for(let[r,i]of Object.entries(e))l(i,`${t}/${c(r)}`,n)},u=e=>{let t=[];return l(e,``,t),t},d=e=>{let t=[];return l(e,``,t),t.length>0},f=e=>s(e)?e:Array.isArray(e)?e.map(f):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,f(t)])):e,p=`__key`,m=`__component`,h=e=>typeof e==`object`&&!!e&&!Array.isArray(e),g=e=>{let t=e.doc;return!h(t)||(Array.isArray(t.content)?t.content:[]).every(e=>h(e)&&e.type===`paragraph`&&(!Array.isArray(e.content)||e.content.length===0))},_=e=>e==null||e===``?!0:Array.isArray(e)?e.length===0:h(e)&&e.format===`shapio-richtext`?g(e):!1,v=(e,t)=>{if(Object.is(e,t))return!0;if(s(e)||s(t))return s(e)&&s(t)&&e.text===t.text;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,n)=>v(e,t[n]));if(h(e)&&h(t)){let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.hasOwn(t,n)&&v(e[n],t[n]))}return!1},y=e=>s(e)?e:Array.isArray(e)?e.map(y):h(e)?Object.fromEntries(Object.entries(e).filter(([e])=>e!==p).map(([e,t])=>[e,y(t)])):e,b=(e,t)=>_(e)&&_(t)||v(y(e),y(t)),x=e=>({...e,[p]:r()}),S=(e,t)=>h(e)&&typeof e.__key==`string`?e[p]:`item-${t}`,C=(e,t,n)=>{if(n<0||n>=e.length||t===n)return[...e];let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},w=e=>Array.isArray(e)?e:e==null?[]:[e],T=e(t(),1),E=()=>{let e=(0,T.useRef)(null);return{defer:(0,T.useCallback)(t=>{e.current=t},[]),onCloseAutoFocus:(0,T.useCallback)(t=>{let n=e.current;n&&(e.current=null,t.preventDefault(),n())},[])}},D=e(n(),1),O=({icon:e,label:t,hint:n,disabled:r,onSelect:a})=>(0,D.jsxs)(i,{disabled:r,onSelect:a,className:`gap-3 py-1.5`,children:[(0,D.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground [&_svg]:size-4`,children:(0,D.jsx)(e,{"aria-hidden":`true`})}),(0,D.jsxs)(`span`,{className:`min-w-0`,children:[(0,D.jsx)(`span`,{className:`block`,children:t}),n?(0,D.jsx)(`span`,{className:`block text-meta text-muted-foreground`,children:n}):null]})]});export{o as _,v as a,b as c,w as d,x as f,u as g,s as h,S as i,C as l,d as m,E as n,_ as o,f as p,m as r,h as s,O as t,y as u};
|
|
2
|
+
//# sourceMappingURL=InsertMenuItem-CCr9e0qY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsertMenuItem-CCr9e0qY.js","names":["useRef","useCallback","__toESM","require_jsx_runtime","newStableId","DropdownMenuItem","UnparsedText","text","unparsedText","isUnparsed","value","segment","key","collect","found","path","item","index","child","unparsedPathsOf","values","containsUnparsed","cloneValue","CLIENT_KEY","COMPONENT_KEY","isRecord","isEmptyRichText","doc","node","isEmptyValue","isDeepEqual","left","right","leftKeys","stripClientKeys","isSameContent","withClientKey","clientKeyOf","\"__key\"","fallback","moveItem","to","items","from","next","moved","toList","import_react","require_react","useDeferredMenuAction","pending","action","event","import_jsx_runtime","InsertMenuItem","Icon","label","hint"],"sources":["../../src/fields/helpers/unparsed.ts","../../src/fields/helpers/values.ts","../../src/fields/hooks/useDeferredMenuAction.ts","../../src/fields/InsertMenuItem/index.tsx"],"sourcesContent":["/**\n * Text an editor could not turn into a value (\"3.7\" in an integer field, half-typed JSON). The editor puts\n * it in the form in place of the value, so the form counts the field as changed, the text survives the\n * editor unmounting (settings drawer closed, items reordered), and nothing is sent until it parses: Save,\n * Create and Publish refuse, and autosave holds the field back.\n */\nexport class UnparsedText {\n readonly text: string;\n\n constructor(text: string) {\n this.text = text;\n Object.freeze(this);\n }\n}\n\nexport const unparsedText = (text: string) => new UnparsedText(text);\n\nexport const isUnparsed = (value: unknown): value is UnparsedText => value instanceof UnparsedText;\n\nconst segment = (key: string | number) => String(key).replace(/~/g, '~0').replace(/\\//g, '~1');\n\nconst collect = (value: unknown, path: string, found: string[]) => {\n if (isUnparsed(value)) {\n found.push(path);\n } else if (Array.isArray(value)) {\n value.forEach((item, index) => collect(item, `${path}/${segment(index)}`, found));\n } else if (typeof value === 'object' && value !== null) {\n for (const [key, child] of Object.entries(value)) {\n collect(child, `${path}/${segment(key)}`, found);\n }\n }\n};\n\n/** JSON pointers of every value (at any depth, component items included) still holding unparsed text. */\nexport const unparsedPathsOf = (values: Readonly<Record<string, unknown>>): string[] => {\n const found: string[] = [];\n collect(values, '', found);\n return found;\n};\n\n/** Whether a value holds unparsed text anywhere inside it. */\nexport const containsUnparsed = (value: unknown): boolean => {\n const found: string[] = [];\n collect(value, '', found);\n return found.length > 0;\n};\n\n/** A deep copy (list item duplication) that keeps unparsed text: it is immutable, so it is shared. */\nexport const cloneValue = <T>(value: T): T => {\n if (isUnparsed(value)) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(cloneValue) as T;\n }\n if (typeof value === 'object' && value !== null) {\n return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, cloneValue(child)])) as T;\n }\n return value;\n};\n","import { newStableId } from '@/helpers/stableId';\nimport { isUnparsed } from './unparsed';\n\n/**\n * Field values as the entry form holds them: keyed by API key, like the admin API. List items of\n * repeatable components and dynamic zones carry a client-only `__key` so React can keep each item's\n * state (collapsed, focus) across reorders and saves; it is stripped before anything is sent.\n */\nexport const CLIENT_KEY = '__key';\n/** A dynamic-zone item's component API key (the API's `__component`). */\nexport const COMPONENT_KEY = '__component';\n\nexport type FormValues = Record<string, unknown>;\nexport type ItemValues = Record<string, unknown>;\n\nexport const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** Rich text with no text and no image/table/rule is empty, like the server's `isEmptyRichText`. */\nconst isEmptyRichText = (value: Record<string, unknown>): boolean => {\n const doc = value.doc;\n if (!isRecord(doc)) {\n return true;\n }\n const content = Array.isArray(doc.content) ? (doc.content as unknown[]) : [];\n return content.every(\n (node) =>\n isRecord(node) &&\n node.type === 'paragraph' &&\n (!Array.isArray(node.content) || node.content.length === 0),\n );\n};\n\n/** Absent, null, empty text, empty list or empty rich text: the server does not store these. */\nexport const isEmptyValue = (value: unknown): boolean => {\n if (value === undefined || value === null || value === '') {\n return true;\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n if (isRecord(value) && value.format === 'shapio-richtext') {\n return isEmptyRichText(value);\n }\n return false;\n};\n\n/** Deep structural equality for JSON-like values (key order does not matter). */\nexport const isDeepEqual = (left: unknown, right: unknown): boolean => {\n if (Object.is(left, right)) {\n return true;\n }\n if (isUnparsed(left) || isUnparsed(right)) {\n return isUnparsed(left) && isUnparsed(right) && left.text === right.text;\n }\n if (Array.isArray(left) && Array.isArray(right)) {\n return left.length === right.length && left.every((item, index) => isDeepEqual(item, right[index]));\n }\n if (isRecord(left) && isRecord(right)) {\n const leftKeys = Object.keys(left);\n return (\n leftKeys.length === Object.keys(right).length &&\n leftKeys.every((key) => Object.hasOwn(right, key) && isDeepEqual(left[key], right[key]))\n );\n }\n return false;\n};\n\n/** The value without client-only keys, ready to send or compare. */\nexport const stripClientKeys = (value: unknown): unknown => {\n if (isUnparsed(value)) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(stripClientKeys);\n }\n if (isRecord(value)) {\n return Object.fromEntries(\n Object.entries(value)\n .filter(([key]) => key !== CLIENT_KEY)\n .map(([key, child]) => [key, stripClientKeys(child)]),\n );\n }\n return value;\n};\n\n/** Two values hold the same content (client keys and empty-vs-missing differences ignored). */\nexport const isSameContent = (left: unknown, right: unknown): boolean =>\n (isEmptyValue(left) && isEmptyValue(right)) || isDeepEqual(stripClientKeys(left), stripClientKeys(right));\n\nexport const withClientKey = (item: ItemValues): ItemValues => ({ ...item, [CLIENT_KEY]: newStableId() });\n\nexport const clientKeyOf = (item: unknown, fallback: number): string =>\n isRecord(item) && typeof item[CLIENT_KEY] === 'string' ? item[CLIENT_KEY] : `item-${fallback}`;\n\n/** Moves an item within a list (keyboard reordering). Out-of-range moves return the list unchanged. */\nexport const moveItem = <T>(items: readonly T[], from: number, to: number): T[] => {\n if (to < 0 || to >= items.length || from === to) {\n return [...items];\n }\n const next = [...items];\n const [moved] = next.splice(from, 1);\n next.splice(to, 0, moved as T);\n return next;\n};\n\n/** A list value as an array (a single value becomes a one-item list, empty becomes []). */\nexport const toList = <T = unknown>(value: unknown): T[] => {\n if (Array.isArray(value)) {\n return value as T[];\n }\n return value === undefined || value === null ? [] : [value as T];\n};\n","import { useCallback, useRef } from 'react';\n\n/**\n * Runs a menu item's action after the menu has closed. A Radix menu holds focus while it is open and gives\n * it back to its trigger as it closes, so an action that moves focus (a new block, the cursor in rich text)\n * must run after that: `defer(action)` from the item's `onSelect`, and `onCloseAutoFocus` on the content.\n */\nexport const useDeferredMenuAction = () => {\n const pending = useRef<(() => void) | null>(null);\n const defer = useCallback((action: () => void) => {\n pending.current = action;\n }, []);\n const onCloseAutoFocus = useCallback((event: Event) => {\n const action = pending.current;\n if (action) {\n pending.current = null;\n event.preventDefault();\n action();\n }\n }, []);\n return { defer, onCloseAutoFocus };\n};\n","import type { LucideIcon } from 'lucide-react';\nimport { DropdownMenuItem } from '@/components/ui/dropdown-menu';\n\ntype InsertMenuItemProps = {\n icon: LucideIcon;\n label: string;\n /** One short line under the label (\"from the library or drop a file\"). */\n hint?: string;\n disabled?: boolean;\n onSelect: () => void;\n};\n\n/** One entry of a `+` menu in the entry document: an icon tile, the block's name and an optional hint. */\nexport const InsertMenuItem = ({ icon: Icon, label, hint, disabled, onSelect }: InsertMenuItemProps) => (\n <DropdownMenuItem disabled={disabled} onSelect={onSelect} className=\"gap-3 py-1.5\">\n <span className=\"flex size-7 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground [&_svg]:size-4\">\n <Icon aria-hidden=\"true\" />\n </span>\n <span className=\"min-w-0\">\n <span className=\"block\">{label}</span>\n {hint ? <span className=\"block text-meta text-muted-foreground\">{hint}</span> : null}\n </span>\n </DropdownMenuItem>\n);\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{
|
|
2
|
-
//# sourceMappingURL=LinkTabs-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{S as n}from"./auth-CQO4MBUj.js";import{t as r}from"./cn-DVhJ55Mo.js";var i=e(t(),1),a=({label:e,tabs:t,className:a})=>(0,i.jsx)(`nav`,{"aria-label":e,className:r(`w-full border-b`,a),children:(0,i.jsx)(`ul`,{className:`-mb-px flex h-10 items-stretch gap-5 overflow-x-auto`,children:t.map(e=>(0,i.jsx)(`li`,{className:`flex`,children:(0,i.jsx)(n,{to:e.to,activeOptions:{exact:!0,includeSearch:!1},className:`relative inline-flex items-center rounded-sm px-0.5 text-sm font-semibold whitespace-nowrap text-muted-foreground transition-colors outline-none after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:rounded-full hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-[current=page]:text-foreground aria-[current=page]:after:bg-primary`,children:e.label})},String(e.to)))})});export{a as t};
|
|
2
|
+
//# sourceMappingURL=LinkTabs-8SmS1vCd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkTabs-
|
|
1
|
+
{"version":3,"file":"LinkTabs-8SmS1vCd.js","names":["__toESM","Link","cn","import_jsx_runtime","require_jsx_runtime","LinkTabs","label","className","tabs","tab"],"sources":["../../src/components/LinkTabs/index.tsx"],"sourcesContent":["import { Link, type LinkProps } from '@tanstack/react-router';\nimport { cn } from '@/helpers/cn';\n\nexport type LinkTab = { to: LinkProps['to']; label: string };\n\ntype LinkTabsProps = { label: string; tabs: readonly LinkTab[]; className?: string };\n\n/**\n * Tabs that are routes: each tab is a link (bookmarkable, back-button friendly), underlined like the\n * `underline` tabs variant (2px primary bar under the current one, which carries `aria-current=\"page\"`).\n */\nexport const LinkTabs = ({ label, tabs, className }: LinkTabsProps) => (\n <nav aria-label={label} className={cn('w-full border-b', className)}>\n <ul className=\"-mb-px flex h-10 items-stretch gap-5 overflow-x-auto\">\n {tabs.map((tab) => (\n <li key={String(tab.to)} className=\"flex\">\n <Link\n to={tab.to}\n activeOptions={{ exact: true, includeSearch: false }}\n className=\"relative inline-flex items-center rounded-sm px-0.5 text-sm font-semibold whitespace-nowrap text-muted-foreground transition-colors outline-none after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:rounded-full hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-[current=page]:text-foreground aria-[current=page]:after:bg-primary\"\n >\n {tab.label}\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n);\n"],"mappings":"uLAWaK,GAAY,CAAE,QAAO,OAAM,gBACtC,EAAAF,EAAA,IAAA,CAAC,MAAD,CAAK,aAAYG,EAAO,UAAWJ,EAAG,kBAAmBK,CAAS,EAChE,UAAA,EAAAJ,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,uDACX,SAAAK,EAAK,IAAK,IACT,EAAAL,EAAA,IAAA,CAAC,KAAD,CAAyB,UAAU,OACjC,UAAA,EAAAA,EAAA,IAAA,CAACF,EAAD,CACE,GAAIQ,EAAI,GACR,cAAe,CAAE,MAAO,GAAM,cAAe,EAAM,EACnD,UAAU,mXAET,SAAAA,EAAI,KACD,CAAA,CACJ,EARK,OAAOA,EAAI,EAAE,CAQlB,CACL,CACC,CAAA,CACD,CAAA"}
|
|
@@ -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{
|
|
2
|
-
//# sourceMappingURL=Match-
|
|
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{A as r,D as i,O as a,W as o}from"./auth-CQO4MBUj.js";import{P as s}from"./badge-CqKF1pwz.js";import{n as c}from"./root-CDpNo7ef.js";var l=e(t(),1),u=e(n(),1);function d(){try{return sessionStorage}catch{return}}var f=`tsr-scroll-restoration-v1_3`,p=d();function m(){try{return JSON.parse(p?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}var h=m(),g=`data-scroll-restoration-id`,_=e=>e.state.__TSR_key||e.href;function v(e){let t=e.getAttribute(g);if(t)return`[${g}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var y=!1,b=`window`;function x(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function S(e){let t=new Set;for(let n of e){if(n===b)continue;let e=x(n);e&&t.add(e)}return t}function C(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.e=!0);let i=e.options.getScrollRestorationKey||_,a=new Set,o=e=>{let t=h[e]||={};for(let e of a)e===document?t[b]={scrollX,scrollY}:e.isConnected&&(t[v(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.s&&(r.s=!0,y=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{y||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{history.scrollRestoration=`auto`,o(i(e.stores.resolvedLocation.get()??e.stores.location.get()));try{p?.setItem(f,JSON.stringify(h))}catch{}}),addEventListener(`pageshow`,e=>{e.persisted&&(history.scrollRestoration=`manual`)})),!r.r&&(r.r=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.n,c=r.h,l;if(a.clear(),r.n=!0,r.h=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.e&&d&&d!==u){let e=h[d];if(e){let t=h[u];for(let n in e){if(n===b){if(s)continue}else{let e=x(n);if(!e||s&&o&&(l??=S(o),l.has(e)))continue}t||=h[u]={},t[n]??=e[n]}}}y=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=S(o));let t=e&&i&&c,s=r.e?h[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===b){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=x(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{y=!1}}))}var w=class extends l.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?l.createElement(this.props.errorComponent??T,{error:e[0],reset:this.reset}):this.props.children}};function T({error:e}){let[t,n]=l.useState(!1);return(0,u.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,u.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,u.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,u.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,u.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,u.jsx)(`div`,{children:(0,u.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,u.jsx)(`code`,{children:e.message}):null})}):null]})}function E(e){let t=a(),n=`not-found-${i(t.stores.location,e=>e.pathname)}-${i(t.stores.status)}`;return(0,u.jsx)(w,{getResetKey:()=>n,onCatch:(t,n)=>{if(c(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(c(t))return e.fallback?.(t);throw t},children:e.children})}function D(){return(0,u.jsx)(`p`,{children:`Not Found`})}function O(e,t,n){return t.options.notFoundComponent?(0,u.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,u.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,u.jsx)(D,{})}`${o(JSON.stringify(f))}`;function k(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,u.jsx)(n,{}):null}var A=(e,t)=>e[0]===t[0]&&e[1]===t[1],j=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,M=l.memo(function({routeId:e}){let t=a();return(0,u.jsx)(N,{router:t,match:i(t.stores.getMatchStore(e))})});function N({router:e,match:t}){let n=e.routesById[t.routeId],i=k(e,n),a=n.options.errorComponent??e.options.defaultErrorComponent,o=n.options.onCatch??e.options.defaultOnCatch,d=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,f=t.ssr===!1||t.ssr===`data-only`,p=j(e,n,t.ssr)&&(n.options.wrapInSuspense??i??(n.options.errorComponent?.preload||f)),m=(0,u.jsx)(P,{match:t});f&&(m=(0,u.jsx)(r,{fallback:i,children:m})),d&&(m=(0,u.jsx)(E,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return l.createElement(d,e)},children:m})),a&&(m=(0,u.jsx)(w,{getResetKey:()=>t,errorComponent:a,onCatch:(e,n)=>{if(c(e))throw e.routeId??=t.routeId,e;o?.(e,n)},children:m})),p&&(m=(0,u.jsx)(l.Suspense,{fallback:i,children:m}));let h=n.isRoot?n.options.shellComponent:void 0;return(0,u.jsx)(s.Provider,{value:t.routeId,children:h?(0,u.jsxs)(h,{children:[m,null]}):(0,u.jsxs)(u.Fragment,{children:[m,null]})})}var P=l.memo(function({match:e}){let t=a(),n=e.routeId,r=t.routesById[n],i=l.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),o=l.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,u.jsx)(e,{},i):(0,u.jsx)(F,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!j(t,r,e.ssr))return o;if(t._tx)throw t._tx[5];return k(t,r)}if(e.status===`notFound`)return O(t,r,e.error);if(e.status===`error`)throw e.error;return o}),F=l.memo(function(){let e=a(),t=l.useContext(s),n,r,o;{let a=e.stores.getMatchStore(t);[n,r]=i(a,e=>[!!e._notFound,e.error],{compare:A}),o=i(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return O(e,e.routesById[t],r);if(!o)return null;let c=(0,u.jsx)(M,{routeId:o});return t===`__root__`?(0,u.jsx)(l.Suspense,{fallback:k(e),children:c}):c});export{C as a,w as i,F as n,k as r,M as t};
|
|
2
|
+
//# sourceMappingURL=Match-CcD9KxHH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Match-Bixf1ygj.js","names":["jsx","jsx","Fragment","__toESM","require_jsx_runtime","useRouter","useSelector","escapeHtml","ClientOnly","matchContext","isNotFound","import_react","require_react","import_jsx_runtime","getSafeSessionStorage","storageKey","safeSessionStorage","createScrollRestorationCache","scrollRestorationCache","scrollRestorationIdAttribute","defaultGetScrollRestorationKey","location","getScrollRestorationSelector","attrId","element","selector","el","parent","index","sibling","part","ignoreScroll","windowScrollTarget","getElement","getScrollToTopElements","elements","scrollToTopSelectors","setupScrollRestoration","shouldSetupScrollRestoration","force","router","scroll","getKey","trackedScrollTargets","snapshotCurrentScrollTargets","keyEntry","restoreKey","target","event","behavior","shouldResetScroll","hashNavigation","scrollToTopElements","cacheKey","fromCacheKey","fromElementEntries","toElementEntries","elementSelector","hash","hashScrollIntoViewOptions","windowRestored","skipWindowRestore","elementEntries","scrollY","scrollX","scrollOptions","CatchBoundary","_args","resetKey","props","state","error","errorInfo","ErrorComponent","show","setShow","d","CatchNotFound","DefaultGlobalNotFound","renderRouteNotFound","route","data","renderPending","PendingComponent","outletMatchSelectionEqual","a","b","canWrapInSuspense","ssr","Match","MatchView","routeId","match","pendingElement","routeErrorComponent","routeOnCatch","routeNotFoundComponent","resolvedNoSsr","wrapInSuspense","content","MatchInner","ShellComponent","key","remountDeps","out","Comp","Outlet","parentGlobalNotFound","parentNotFoundError","childRouteId","parentMatchStore","ids","nextMatch"],"sources":["../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration-inline.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration-script/server.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/Match.js"],"sourcesContent":["import { isServer } from \"@tanstack/router-core/isServer\";\n//#region src/scroll-restoration.ts\nfunction getSafeSessionStorage() {\n\ttry {\n\t\treturn sessionStorage;\n\t} catch {\n\t\treturn;\n\t}\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst safeSessionStorage = getSafeSessionStorage();\nfunction createScrollRestorationCache() {\n\ttry {\n\t\treturn JSON.parse(safeSessionStorage?.getItem(\"tsr-scroll-restoration-v1_3\") || \"{}\");\n\t} catch {\n\t\treturn {};\n\t}\n}\nconst scrollRestorationCache = /* @__PURE__ */ createScrollRestorationCache();\nconst scrollRestorationIdAttribute = \"data-scroll-restoration-id\";\n/**\n* The default `getKey` function for `useScrollRestoration`.\n* It returns the `key` from the location state or the `href` of the location.\n*\n* The `location.href` is used as a fallback to support the use case where the location state is not available like the initial render.\n*/\nconst defaultGetScrollRestorationKey = (location) => {\n\treturn location.state.__TSR_key || location.href;\n};\nfunction getScrollRestorationSelector(element) {\n\tconst attrId = element.getAttribute(scrollRestorationIdAttribute);\n\tif (attrId) return `[${scrollRestorationIdAttribute}=\"${attrId}\"]`;\n\tlet selector = \"\";\n\tlet el = element;\n\tlet parent;\n\twhile (parent = el.parentNode) {\n\t\tlet index = 1;\n\t\tlet sibling = el;\n\t\twhile (sibling = sibling.previousElementSibling) index++;\n\t\tconst part = `${el.localName}:nth-child(${index})`;\n\t\tselector = selector ? `${part} > ${selector}` : part;\n\t\tel = parent;\n\t}\n\treturn selector;\n}\nfunction getElementScrollRestorationEntry(router, options) {\n\tconst entries = scrollRestorationCache[(options.getKey || defaultGetScrollRestorationKey)(router.latestLocation)];\n\tif (!entries) return;\n\tif (options.id) return entries[`[${scrollRestorationIdAttribute}=\"${options.id}\"]`];\n\tconst element = options.getElement?.();\n\tif (!element) return;\n\treturn entries[element === window ? windowScrollTarget : getScrollRestorationSelector(element)];\n}\nlet ignoreScroll = false;\nconst windowScrollTarget = \"window\";\nfunction getElement(selector) {\n\ttry {\n\t\treturn typeof selector === \"function\" ? selector() : document.querySelector(selector);\n\t} catch {}\n}\nfunction getScrollToTopElements(scrollToTopSelectors) {\n\tconst elements = /* @__PURE__ */ new Set();\n\tfor (const selector of scrollToTopSelectors) {\n\t\tif (selector === windowScrollTarget) continue;\n\t\tconst element = getElement(selector);\n\t\tif (element) elements.add(element);\n\t}\n\treturn elements;\n}\nfunction setupScrollRestoration(router, force) {\n\tconst shouldSetupScrollRestoration = force ?? router.options.scrollRestoration;\n\tconst scroll = router._scroll;\n\tif (shouldSetupScrollRestoration) scroll.e = true;\n\tif (isServer ?? router.isServer) return;\n\tconst getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n\tconst trackedScrollTargets = /* @__PURE__ */ new Set();\n\tconst snapshotCurrentScrollTargets = (restoreKey) => {\n\t\tconst keyEntry = scrollRestorationCache[restoreKey] ||= {};\n\t\tfor (const target of trackedScrollTargets) if (target === document) keyEntry[windowScrollTarget] = {\n\t\t\tscrollX,\n\t\t\tscrollY\n\t\t};\n\t\telse if (target.isConnected) keyEntry[getScrollRestorationSelector(target)] = {\n\t\t\tscrollX: target.scrollLeft,\n\t\t\tscrollY: target.scrollTop\n\t\t};\n\t};\n\tif (shouldSetupScrollRestoration && !scroll.s) {\n\t\tscroll.s = true;\n\t\tignoreScroll = false;\n\t\thistory.scrollRestoration = \"manual\";\n\t\tdocument.addEventListener(\"scroll\", (event) => {\n\t\t\tif (ignoreScroll) return;\n\t\t\ttrackedScrollTargets.add(event.target);\n\t\t}, true);\n\t\trouter.subscribe(\"onBeforeLoad\", (event) => {\n\t\t\tif (event.fromLocation) snapshotCurrentScrollTargets(getKey(event.fromLocation));\n\t\t\ttrackedScrollTargets.clear();\n\t\t});\n\t\taddEventListener(\"pagehide\", () => {\n\t\t\thistory.scrollRestoration = \"auto\";\n\t\t\tsnapshotCurrentScrollTargets(getKey(router.stores.resolvedLocation.get() ?? router.stores.location.get()));\n\t\t\ttry {\n\t\t\t\tsafeSessionStorage?.setItem(storageKey, JSON.stringify(scrollRestorationCache));\n\t\t\t} catch {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") console.warn(\"[ts-router] Could not persist scroll restoration state to sessionStorage.\");\n\t\t\t}\n\t\t});\n\t\taddEventListener(\"pageshow\", (event) => {\n\t\t\tif (event.persisted) history.scrollRestoration = \"manual\";\n\t\t});\n\t}\n\tif (scroll.r) return;\n\tscroll.r = true;\n\trouter.subscribe(\"onRendered\", (event) => {\n\t\tconst behavior = router.options.scrollRestorationBehavior;\n\t\tconst scrollToTopSelectors = router.options.scrollToTopSelectors;\n\t\tconst shouldResetScroll = scroll.n;\n\t\tconst hashNavigation = scroll.h;\n\t\tlet scrollToTopElements;\n\t\ttrackedScrollTargets.clear();\n\t\tscroll.n = true;\n\t\tscroll.h = false;\n\t\tif (typeof router.options.scrollRestoration === \"function\" && !router.options.scrollRestoration({ location: router.latestLocation })) return;\n\t\tconst cacheKey = getKey(event.toLocation);\n\t\tconst fromCacheKey = event.fromLocation && getKey(event.fromLocation);\n\t\tif (scroll.e && fromCacheKey && fromCacheKey !== cacheKey) {\n\t\t\tconst fromElementEntries = scrollRestorationCache[fromCacheKey];\n\t\t\tif (fromElementEntries) {\n\t\t\t\tlet toElementEntries = scrollRestorationCache[cacheKey];\n\t\t\t\tfor (const elementSelector in fromElementEntries) {\n\t\t\t\t\tif (elementSelector === windowScrollTarget) {\n\t\t\t\t\t\tif (shouldResetScroll) continue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst element = getElement(elementSelector);\n\t\t\t\t\t\tif (!element) continue;\n\t\t\t\t\t\tif (shouldResetScroll && scrollToTopSelectors) {\n\t\t\t\t\t\t\tscrollToTopElements ??= getScrollToTopElements(scrollToTopSelectors);\n\t\t\t\t\t\t\tif (scrollToTopElements.has(element)) continue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!toElementEntries) toElementEntries = scrollRestorationCache[cacheKey] = {};\n\t\t\t\t\ttoElementEntries[elementSelector] ??= fromElementEntries[elementSelector];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tignoreScroll = true;\n\t\ttry {\n\t\t\tconst hash = event.toLocation.hash;\n\t\t\tconst hashScrollIntoViewOptions = event.toLocation.state.__hashScrollIntoViewOptions ?? true;\n\t\t\tlet windowRestored = false;\n\t\t\tif (shouldResetScroll) {\n\t\t\t\tif (!hash && scrollToTopSelectors) scrollToTopElements ??= getScrollToTopElements(scrollToTopSelectors);\n\t\t\t\tconst skipWindowRestore = hash && hashScrollIntoViewOptions && hashNavigation;\n\t\t\t\tconst elementEntries = scroll.e ? scrollRestorationCache[cacheKey] : void 0;\n\t\t\t\tif (elementEntries) for (const elementSelector in elementEntries) {\n\t\t\t\t\tconst { scrollX, scrollY } = elementEntries[elementSelector];\n\t\t\t\t\tif (elementSelector === windowScrollTarget) {\n\t\t\t\t\t\tif (skipWindowRestore) continue;\n\t\t\t\t\t\tscrollTo({\n\t\t\t\t\t\t\ttop: scrollY,\n\t\t\t\t\t\t\tleft: scrollX,\n\t\t\t\t\t\t\tbehavior\n\t\t\t\t\t\t});\n\t\t\t\t\t\twindowRestored = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst element = getElement(elementSelector);\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\telement.scrollLeft = scrollX;\n\t\t\t\t\t\t\telement.scrollTop = scrollY;\n\t\t\t\t\t\t\tscrollToTopElements?.delete(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!hash) {\n\t\t\t\t\tconst scrollOptions = {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tbehavior\n\t\t\t\t\t};\n\t\t\t\t\tif (!windowRestored) scrollTo(scrollOptions);\n\t\t\t\t\tif (scrollToTopElements) for (const element of scrollToTopElements) element.scrollTo(scrollOptions);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!windowRestored && hash && hashScrollIntoViewOptions) document.getElementById(hash)?.scrollIntoView(hashScrollIntoViewOptions);\n\t\t} finally {\n\t\t\tignoreScroll = false;\n\t\t}\n\t});\n}\n//#endregion\nexport { defaultGetScrollRestorationKey, getElementScrollRestorationEntry, setupScrollRestoration, storageKey };\n\n//# sourceMappingURL=scroll-restoration.js.map","\"use client\";\nimport { wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport * as React$1 from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region src/CatchBoundary.tsx\nvar CatchBoundary = class extends React$1.Component {\n\tconstructor(..._args) {\n\t\tsuper(..._args);\n\t\tthis.state = { error: 0 };\n\t\tthis.reset = () => {\n\t\t\tthis.setState({ error: 0 });\n\t\t};\n\t}\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tconst resetKey = props.getResetKey();\n\t\tif (state.error && state.resetKey !== resetKey) return {\n\t\t\tresetKey,\n\t\t\terror: 0\n\t\t};\n\t\treturn { resetKey };\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn { error: [error] };\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tthis.props.onCatch?.(error, errorInfo);\n\t}\n\trender() {\n\t\tconst error = this.state.error;\n\t\tif (error) {\n\t\t\tconst element = React$1.createElement(this.props.errorComponent ?? ErrorComponent, {\n\t\t\t\terror: error[0],\n\t\t\t\treset: this.reset\n\t\t\t});\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(element, \"errorComponent\") : element;\n\t\t}\n\t\treturn this.props.children;\n\t}\n};\nfunction ErrorComponent({ error }) {\n\tconst [show, setShow] = React$1.useState(process.env.NODE_ENV !== \"production\");\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\tstyle: {\n\t\t\tpadding: \".5rem\",\n\t\t\tmaxWidth: \"100%\"\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: \".5rem\"\n\t\t\t\t},\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(\"strong\", {\n\t\t\t\t\tstyle: { fontSize: \"1rem\" },\n\t\t\t\t\tchildren: \"Something went wrong!\"\n\t\t\t\t}), /* @__PURE__ */ jsx(\"button\", {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tappearance: \"none\",\n\t\t\t\t\t\tfontSize: \".6em\",\n\t\t\t\t\t\tborder: \"1px solid currentColor\",\n\t\t\t\t\t\tpadding: \".1rem .2rem\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tborderRadius: \".25rem\"\n\t\t\t\t\t},\n\t\t\t\t\tonClick: () => setShow((d) => !d),\n\t\t\t\t\tchildren: show ? \"Hide Error\" : \"Show Error\"\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n\t\t\tshow ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\"pre\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \".7em\",\n\t\t\t\t\tborder: \"1px solid red\",\n\t\t\t\t\tborderRadius: \".25rem\",\n\t\t\t\t\tpadding: \".3rem\",\n\t\t\t\t\tcolor: \"red\",\n\t\t\t\t\toverflow: \"auto\"\n\t\t\t\t},\n\t\t\t\tchildren: error?.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n\t\t\t}) }) : null\n\t\t]\n\t});\n}\n//#endregion\nexport { CatchBoundary, ErrorComponent };\n\n//# sourceMappingURL=CatchBoundary.js.map","import { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport \"react\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { useSelector } from \"@tanstack/react-store\";\n//#region src/not-found.tsx\nfunction CatchNotFound(props) {\n\tconst router = useRouter();\n\tif (isServer ?? router.isServer) {\n\t\tconst resetKey = `not-found-${router.stores.location.get().pathname}-${router.stores.status.get()}`;\n\t\treturn /* @__PURE__ */ jsx(CatchBoundary, {\n\t\t\tgetResetKey: () => resetKey,\n\t\t\tonCatch: (error, errorInfo) => {\n\t\t\t\tif (isNotFound(error)) props.onCatch?.(error, errorInfo);\n\t\t\t\telse throw error;\n\t\t\t},\n\t\t\terrorComponent: ({ error }) => {\n\t\t\t\tif (isNotFound(error)) return props.fallback?.(error);\n\t\t\t\telse throw error;\n\t\t\t},\n\t\t\tchildren: props.children\n\t\t});\n\t}\n\tconst resetKey = `not-found-${useSelector(router.stores.location, (location) => location.pathname)}-${useSelector(router.stores.status)}`;\n\treturn /* @__PURE__ */ jsx(CatchBoundary, {\n\t\tgetResetKey: () => resetKey,\n\t\tonCatch: (error, errorInfo) => {\n\t\t\tif (isNotFound(error)) props.onCatch?.(error, errorInfo);\n\t\t\telse throw error;\n\t\t},\n\t\terrorComponent: ({ error }) => {\n\t\t\tif (isNotFound(error)) return props.fallback?.(error);\n\t\t\telse throw error;\n\t\t},\n\t\tchildren: props.children\n\t});\n}\nfunction DefaultGlobalNotFound() {\n\treturn /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\n//#endregion\nexport { CatchNotFound, DefaultGlobalNotFound };\n\n//# sourceMappingURL=not-found.js.map","import { useRouter } from \"./useRouter.js\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/ScriptOnce.tsx\n/**\n* Server-only helper to emit a script tag exactly once during SSR.\n*/\nfunction ScriptOnce({ children }) {\n\tconst router = useRouter();\n\tif (!(isServer ?? router.isServer)) return null;\n\treturn /* @__PURE__ */ jsx(\"script\", {\n\t\tnonce: router.options.ssr?.nonce,\n\t\tdangerouslySetInnerHTML: { __html: children + \";document.currentScript.remove()\" }\n\t});\n}\n//#endregion\nexport { ScriptOnce };\n\n//# sourceMappingURL=ScriptOnce.js.map","import { wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nimport \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/renderRouteNotFound.tsx\n/**\n* Renders a not found component for a route when no matching route is found.\n*\n* @param router - The router instance containing the route configuration\n* @param route - The route that triggered the not found state\n* @param data - Additional data to pass to the not found component\n* @returns The rendered not found component or a default fallback component\n*/\nfunction renderRouteNotFound(router, route, data) {\n\tif (!route.options.notFoundComponent) {\n\t\tif (router.options.defaultNotFoundComponent) {\n\t\t\tconst notFoundElement = /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { ...data });\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (!route.options.notFoundComponent) console.warn(`Warning: A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<p>Not Found</p>)`);\n\t\t}\n\t\treturn /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n\t}\n\tconst notFoundElement = /* @__PURE__ */ jsx(route.options.notFoundComponent, { ...data });\n\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n}\n//#endregion\nexport { renderRouteNotFound };\n\n//# sourceMappingURL=renderRouteNotFound.js.map","//#region src/scroll-restoration-inline.ts?script-string\nvar scroll_restoration_inline_default = \"function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||\\\"{}\\\")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t===\\\"window\\\")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)}\";\n//#endregion\nexport { scroll_restoration_inline_default as default };\n\n//# sourceMappingURL=scroll-restoration-inline.js.map","import { escapeHtml } from \"../utils.js\";\nimport { defaultGetScrollRestorationKey, storageKey } from \"../scroll-restoration.js\";\nimport scroll_restoration_inline_default from \"../scroll-restoration-inline.js\";\n//#region src/scroll-restoration-script/server.ts\nconst defaultInlineScrollRestorationScript = `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(storageKey))})`;\nfunction getScrollRestorationScript(key) {\n\tif (key === void 0) return defaultInlineScrollRestorationScript;\n\treturn `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(storageKey))},${escapeHtml(JSON.stringify(key))})`;\n}\nfunction getScrollRestorationScriptForRouter(router) {\n\tif (typeof router.options.scrollRestoration === \"function\" && !router.options.scrollRestoration({ location: router.latestLocation })) return null;\n\tconst getKey = router.options.getScrollRestorationKey;\n\tif (!getKey) return defaultInlineScrollRestorationScript;\n\tconst location = router.latestLocation;\n\tconst userKey = getKey(location);\n\tif (userKey === defaultGetScrollRestorationKey(location)) return defaultInlineScrollRestorationScript;\n\treturn getScrollRestorationScript(userKey);\n}\n//#endregion\nexport { getScrollRestorationScriptForRouter };\n\n//# sourceMappingURL=server.js.map","import { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { getScrollRestorationScriptForRouter } from \"@tanstack/router-core/scroll-restoration-script\";\n//#region src/scroll-restoration.tsx\nfunction ScrollRestoration() {\n\tconst script = getScrollRestorationScriptForRouter(useRouter());\n\tif (!script) return null;\n\treturn /* @__PURE__ */ jsx(ScriptOnce, { children: script });\n}\n//#endregion\nexport { ScrollRestoration };\n\n//# sourceMappingURL=scroll-restoration.js.map","\"use client\";\nimport { nonRouteComponentContext, wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { isNotFound, rootRouteId } from \"@tanstack/router-core\";\nimport * as React$1 from \"react\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useSelector } from \"@tanstack/react-store\";\n//#region src/Match.tsx\nfunction renderPending(router, route) {\n\tconst PendingComponent = route?.options.pendingComponent ?? router.options.defaultPendingComponent;\n\tif (!PendingComponent) return null;\n\tconst pendingElement = /* @__PURE__ */ jsx(PendingComponent, {});\n\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(pendingElement, \"pendingComponent\") : pendingElement;\n}\nvar outletMatchSelectionEqual = (a, b) => a[0] === b[0] && a[1] === b[1];\nvar canWrapInSuspense = (router, route, ssr) => !route.isRoot || route.options.shellComponent || route.options.wrapInSuspense || ssr === false || ssr === \"data-only\" || !((isServer ?? router.isServer) || router.ssr);\nvar Match = React$1.memo(function MatchImpl({ routeId }) {\n\tconst router = useRouter();\n\tif (isServer ?? router.isServer) return /* @__PURE__ */ jsx(MatchView, {\n\t\trouter,\n\t\tmatch: router.stores.byRoute.get(routeId).get()\n\t});\n\treturn /* @__PURE__ */ jsx(MatchView, {\n\t\trouter,\n\t\tmatch: useSelector(router.stores.getMatchStore(routeId))\n\t});\n});\nfunction MatchView({ router, match }) {\n\tconst route = router.routesById[match.routeId];\n\tconst pendingElement = renderPending(router, route);\n\tconst routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n\tconst routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n\tconst routeNotFoundComponent = route.isRoot ? route.options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route.options.notFoundComponent;\n\tconst resolvedNoSsr = match.ssr === false || match.ssr === \"data-only\";\n\tconst wrapInSuspense = canWrapInSuspense(router, route, match.ssr) && (route.options.wrapInSuspense ?? pendingElement ?? (route.options.errorComponent?.preload || resolvedNoSsr));\n\tlet content = /* @__PURE__ */ jsx(MatchInner, { match });\n\tif (resolvedNoSsr) content = /* @__PURE__ */ jsx(ClientOnly, {\n\t\tfallback: pendingElement,\n\t\tchildren: content\n\t});\n\tif (routeNotFoundComponent) content = /* @__PURE__ */ jsx(CatchNotFound, {\n\t\tfallback: (error) => {\n\t\t\terror.routeId ??= match.routeId;\n\t\t\tif (error.routeId !== match.routeId) throw error;\n\t\t\tconst notFoundElement = React$1.createElement(routeNotFoundComponent, error);\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n\t\t},\n\t\tchildren: content\n\t});\n\tif (routeErrorComponent) content = /* @__PURE__ */ jsx(CatchBoundary, {\n\t\tgetResetKey: () => match,\n\t\terrorComponent: routeErrorComponent,\n\t\tonCatch: (error, errorInfo) => {\n\t\t\tif (isNotFound(error)) {\n\t\t\t\terror.routeId ??= match.routeId;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\") console.warn(`Warning: Error in route match: ${match.id}`);\n\t\t\trouteOnCatch?.(error, errorInfo);\n\t\t},\n\t\tchildren: content\n\t});\n\tif (wrapInSuspense) content = /* @__PURE__ */ jsx(React$1.Suspense, {\n\t\tfallback: pendingElement,\n\t\tchildren: content\n\t});\n\tconst scrollRestoration = (isServer ?? router.isServer) && route.parentRoute?.id === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsx(ScrollRestoration, {}) : null;\n\tconst ShellComponent = route.isRoot ? route.options.shellComponent : void 0;\n\treturn /* @__PURE__ */ jsx(matchContext.Provider, {\n\t\tvalue: match.routeId,\n\t\tchildren: ShellComponent ? /* @__PURE__ */ jsxs(ShellComponent, { children: [content, scrollRestoration] }) : /* @__PURE__ */ jsxs(Fragment, { children: [content, scrollRestoration] })\n\t});\n}\nvar MatchInner = React$1.memo(function MatchInnerImpl({ match }) {\n\tconst router = useRouter();\n\tconst routeId = match.routeId;\n\tconst route = router.routesById[routeId];\n\tconst key = React$1.useMemo(() => {\n\t\tconst remountDeps = (route.options.remountDeps ?? router.options.defaultRemountDeps)?.({\n\t\t\trouteId,\n\t\t\tloaderDeps: match.loaderDeps,\n\t\t\tparams: match._strictParams,\n\t\t\tsearch: match._strictSearch\n\t\t});\n\t\treturn remountDeps ? JSON.stringify(remountDeps) : void 0;\n\t}, [\n\t\trouteId,\n\t\tmatch.loaderDeps,\n\t\tmatch._strictParams,\n\t\tmatch._strictSearch,\n\t\troute.options.remountDeps,\n\t\trouter.options.defaultRemountDeps\n\t]);\n\tconst out = React$1.useMemo(() => {\n\t\tconst Comp = route.options.component ?? router.options.defaultComponent;\n\t\treturn Comp ? /* @__PURE__ */ jsx(Comp, {}, key) : /* @__PURE__ */ jsx(Outlet, {});\n\t}, [\n\t\tkey,\n\t\troute.options.component,\n\t\trouter.options.defaultComponent\n\t]);\n\tif (match.status === \"pending\") {\n\t\tif (router.ssr && !canWrapInSuspense(router, route, match.ssr)) return out;\n\t\tif (router._tx) throw router._tx[5];\n\t\treturn renderPending(router, route);\n\t}\n\tif (match.status === \"notFound\") return renderRouteNotFound(router, route, match.error);\n\tif (match.status === \"error\") {\n\t\tif (isServer ?? router.isServer) {\n\t\t\tconst errorElement = /* @__PURE__ */ jsx((route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent, {\n\t\t\t\terror: match.error,\n\t\t\t\treset: void 0,\n\t\t\t\tinfo: { componentStack: \"\" }\n\t\t\t});\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(errorElement, \"errorComponent\") : errorElement;\n\t\t}\n\t\tthrow match.error;\n\t}\n\treturn out;\n});\n/**\n* Render the next child match in the route tree. Typically used inside\n* a route component to render nested routes.\n*\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/outletComponent\n*/\nvar Outlet = React$1.memo(function OutletImpl() {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst nonRouteComponent = React$1.useContext(nonRouteComponentContext);\n\t\tif (nonRouteComponent) console.warn(`Warning: An <Outlet /> was rendered inside a ${nonRouteComponent}. <Outlet /> should only be rendered inside a route component.`);\n\t}\n\tconst router = useRouter();\n\tconst routeId = React$1.useContext(matchContext);\n\tlet parentGlobalNotFound;\n\tlet parentNotFoundError;\n\tlet childRouteId;\n\tif (isServer ?? router.isServer) {\n\t\tconst matches = router.stores.matches.get();\n\t\tconst parentIndex = matches.findIndex((match) => match.routeId === routeId);\n\t\tconst parentMatch = matches[parentIndex];\n\t\tparentGlobalNotFound = !!parentMatch._notFound;\n\t\tparentNotFoundError = parentMatch.error;\n\t\tchildRouteId = matches[parentIndex + 1]?.routeId;\n\t} else {\n\t\tconst parentMatchStore = router.stores.getMatchStore(routeId);\n\t\t[parentGlobalNotFound, parentNotFoundError] = useSelector(parentMatchStore, (match) => [!!match._notFound, match.error], { compare: outletMatchSelectionEqual });\n\t\tchildRouteId = useSelector(router.stores.ids, (ids) => {\n\t\t\treturn ids[ids.indexOf(routeId) + 1];\n\t\t});\n\t}\n\tif (parentGlobalNotFound) return renderRouteNotFound(router, router.routesById[routeId], parentNotFoundError);\n\tif (!childRouteId) return null;\n\tconst nextMatch = /* @__PURE__ */ jsx(Match, { routeId: childRouteId });\n\tif (routeId === rootRouteId) return /* @__PURE__ */ jsx(React$1.Suspense, {\n\t\tfallback: renderPending(router),\n\t\tchildren: nextMatch\n\t});\n\treturn nextMatch;\n});\n//#endregion\nexport { Match, Outlet, renderPending };\n\n//# sourceMappingURL=Match.js.map"],"ignoreList":[0,1,2,3,4,5,6,7,8],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Match-CcD9KxHH.js","names":["jsx","jsx","Fragment","__toESM","require_jsx_runtime","ClientOnly","useSelector","useRouter","escapeHtml","matchContext","isNotFound","import_react","require_react","import_jsx_runtime","getSafeSessionStorage","storageKey","safeSessionStorage","createScrollRestorationCache","scrollRestorationCache","scrollRestorationIdAttribute","defaultGetScrollRestorationKey","location","getScrollRestorationSelector","attrId","element","selector","el","parent","index","sibling","part","ignoreScroll","windowScrollTarget","getElement","getScrollToTopElements","elements","scrollToTopSelectors","setupScrollRestoration","shouldSetupScrollRestoration","force","router","scroll","getKey","trackedScrollTargets","snapshotCurrentScrollTargets","keyEntry","restoreKey","target","event","behavior","shouldResetScroll","hashNavigation","scrollToTopElements","cacheKey","fromCacheKey","fromElementEntries","toElementEntries","elementSelector","hash","hashScrollIntoViewOptions","windowRestored","skipWindowRestore","elementEntries","scrollY","scrollX","scrollOptions","CatchBoundary","_args","resetKey","props","state","error","errorInfo","ErrorComponent","show","setShow","d","CatchNotFound","DefaultGlobalNotFound","renderRouteNotFound","route","data","renderPending","PendingComponent","outletMatchSelectionEqual","a","b","canWrapInSuspense","ssr","Match","MatchView","routeId","match","pendingElement","routeErrorComponent","routeOnCatch","routeNotFoundComponent","resolvedNoSsr","wrapInSuspense","content","MatchInner","ShellComponent","key","remountDeps","out","Comp","Outlet","parentGlobalNotFound","parentNotFoundError","childRouteId","parentMatchStore","ids","nextMatch"],"sources":["../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration-inline.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/scroll-restoration-script/server.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../node_modules/.pnpm/@tanstack+react-router@1.170.41_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@tanstack/react-router/dist/esm/Match.js"],"sourcesContent":["import { isServer } from \"@tanstack/router-core/isServer\";\n//#region src/scroll-restoration.ts\nfunction getSafeSessionStorage() {\n\ttry {\n\t\treturn sessionStorage;\n\t} catch {\n\t\treturn;\n\t}\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst safeSessionStorage = getSafeSessionStorage();\nfunction createScrollRestorationCache() {\n\ttry {\n\t\treturn JSON.parse(safeSessionStorage?.getItem(\"tsr-scroll-restoration-v1_3\") || \"{}\");\n\t} catch {\n\t\treturn {};\n\t}\n}\nconst scrollRestorationCache = /* @__PURE__ */ createScrollRestorationCache();\nconst scrollRestorationIdAttribute = \"data-scroll-restoration-id\";\n/**\n* The default `getKey` function for `useScrollRestoration`.\n* It returns the `key` from the location state or the `href` of the location.\n*\n* The `location.href` is used as a fallback to support the use case where the location state is not available like the initial render.\n*/\nconst defaultGetScrollRestorationKey = (location) => {\n\treturn location.state.__TSR_key || location.href;\n};\nfunction getScrollRestorationSelector(element) {\n\tconst attrId = element.getAttribute(scrollRestorationIdAttribute);\n\tif (attrId) return `[${scrollRestorationIdAttribute}=\"${attrId}\"]`;\n\tlet selector = \"\";\n\tlet el = element;\n\tlet parent;\n\twhile (parent = el.parentNode) {\n\t\tlet index = 1;\n\t\tlet sibling = el;\n\t\twhile (sibling = sibling.previousElementSibling) index++;\n\t\tconst part = `${el.localName}:nth-child(${index})`;\n\t\tselector = selector ? `${part} > ${selector}` : part;\n\t\tel = parent;\n\t}\n\treturn selector;\n}\nfunction getElementScrollRestorationEntry(router, options) {\n\tconst entries = scrollRestorationCache[(options.getKey || defaultGetScrollRestorationKey)(router.latestLocation)];\n\tif (!entries) return;\n\tif (options.id) return entries[`[${scrollRestorationIdAttribute}=\"${options.id}\"]`];\n\tconst element = options.getElement?.();\n\tif (!element) return;\n\treturn entries[element === window ? windowScrollTarget : getScrollRestorationSelector(element)];\n}\nlet ignoreScroll = false;\nconst windowScrollTarget = \"window\";\nfunction getElement(selector) {\n\ttry {\n\t\treturn typeof selector === \"function\" ? selector() : document.querySelector(selector);\n\t} catch {}\n}\nfunction getScrollToTopElements(scrollToTopSelectors) {\n\tconst elements = /* @__PURE__ */ new Set();\n\tfor (const selector of scrollToTopSelectors) {\n\t\tif (selector === windowScrollTarget) continue;\n\t\tconst element = getElement(selector);\n\t\tif (element) elements.add(element);\n\t}\n\treturn elements;\n}\nfunction setupScrollRestoration(router, force) {\n\tconst shouldSetupScrollRestoration = force ?? router.options.scrollRestoration;\n\tconst scroll = router._scroll;\n\tif (shouldSetupScrollRestoration) scroll.e = true;\n\tif (isServer ?? router.isServer) return;\n\tconst getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n\tconst trackedScrollTargets = /* @__PURE__ */ new Set();\n\tconst snapshotCurrentScrollTargets = (restoreKey) => {\n\t\tconst keyEntry = scrollRestorationCache[restoreKey] ||= {};\n\t\tfor (const target of trackedScrollTargets) if (target === document) keyEntry[windowScrollTarget] = {\n\t\t\tscrollX,\n\t\t\tscrollY\n\t\t};\n\t\telse if (target.isConnected) keyEntry[getScrollRestorationSelector(target)] = {\n\t\t\tscrollX: target.scrollLeft,\n\t\t\tscrollY: target.scrollTop\n\t\t};\n\t};\n\tif (shouldSetupScrollRestoration && !scroll.s) {\n\t\tscroll.s = true;\n\t\tignoreScroll = false;\n\t\thistory.scrollRestoration = \"manual\";\n\t\tdocument.addEventListener(\"scroll\", (event) => {\n\t\t\tif (ignoreScroll) return;\n\t\t\ttrackedScrollTargets.add(event.target);\n\t\t}, true);\n\t\trouter.subscribe(\"onBeforeLoad\", (event) => {\n\t\t\tif (event.fromLocation) snapshotCurrentScrollTargets(getKey(event.fromLocation));\n\t\t\ttrackedScrollTargets.clear();\n\t\t});\n\t\taddEventListener(\"pagehide\", () => {\n\t\t\thistory.scrollRestoration = \"auto\";\n\t\t\tsnapshotCurrentScrollTargets(getKey(router.stores.resolvedLocation.get() ?? router.stores.location.get()));\n\t\t\ttry {\n\t\t\t\tsafeSessionStorage?.setItem(storageKey, JSON.stringify(scrollRestorationCache));\n\t\t\t} catch {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") console.warn(\"[ts-router] Could not persist scroll restoration state to sessionStorage.\");\n\t\t\t}\n\t\t});\n\t\taddEventListener(\"pageshow\", (event) => {\n\t\t\tif (event.persisted) history.scrollRestoration = \"manual\";\n\t\t});\n\t}\n\tif (scroll.r) return;\n\tscroll.r = true;\n\trouter.subscribe(\"onRendered\", (event) => {\n\t\tconst behavior = router.options.scrollRestorationBehavior;\n\t\tconst scrollToTopSelectors = router.options.scrollToTopSelectors;\n\t\tconst shouldResetScroll = scroll.n;\n\t\tconst hashNavigation = scroll.h;\n\t\tlet scrollToTopElements;\n\t\ttrackedScrollTargets.clear();\n\t\tscroll.n = true;\n\t\tscroll.h = false;\n\t\tif (typeof router.options.scrollRestoration === \"function\" && !router.options.scrollRestoration({ location: router.latestLocation })) return;\n\t\tconst cacheKey = getKey(event.toLocation);\n\t\tconst fromCacheKey = event.fromLocation && getKey(event.fromLocation);\n\t\tif (scroll.e && fromCacheKey && fromCacheKey !== cacheKey) {\n\t\t\tconst fromElementEntries = scrollRestorationCache[fromCacheKey];\n\t\t\tif (fromElementEntries) {\n\t\t\t\tlet toElementEntries = scrollRestorationCache[cacheKey];\n\t\t\t\tfor (const elementSelector in fromElementEntries) {\n\t\t\t\t\tif (elementSelector === windowScrollTarget) {\n\t\t\t\t\t\tif (shouldResetScroll) continue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst element = getElement(elementSelector);\n\t\t\t\t\t\tif (!element) continue;\n\t\t\t\t\t\tif (shouldResetScroll && scrollToTopSelectors) {\n\t\t\t\t\t\t\tscrollToTopElements ??= getScrollToTopElements(scrollToTopSelectors);\n\t\t\t\t\t\t\tif (scrollToTopElements.has(element)) continue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!toElementEntries) toElementEntries = scrollRestorationCache[cacheKey] = {};\n\t\t\t\t\ttoElementEntries[elementSelector] ??= fromElementEntries[elementSelector];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tignoreScroll = true;\n\t\ttry {\n\t\t\tconst hash = event.toLocation.hash;\n\t\t\tconst hashScrollIntoViewOptions = event.toLocation.state.__hashScrollIntoViewOptions ?? true;\n\t\t\tlet windowRestored = false;\n\t\t\tif (shouldResetScroll) {\n\t\t\t\tif (!hash && scrollToTopSelectors) scrollToTopElements ??= getScrollToTopElements(scrollToTopSelectors);\n\t\t\t\tconst skipWindowRestore = hash && hashScrollIntoViewOptions && hashNavigation;\n\t\t\t\tconst elementEntries = scroll.e ? scrollRestorationCache[cacheKey] : void 0;\n\t\t\t\tif (elementEntries) for (const elementSelector in elementEntries) {\n\t\t\t\t\tconst { scrollX, scrollY } = elementEntries[elementSelector];\n\t\t\t\t\tif (elementSelector === windowScrollTarget) {\n\t\t\t\t\t\tif (skipWindowRestore) continue;\n\t\t\t\t\t\tscrollTo({\n\t\t\t\t\t\t\ttop: scrollY,\n\t\t\t\t\t\t\tleft: scrollX,\n\t\t\t\t\t\t\tbehavior\n\t\t\t\t\t\t});\n\t\t\t\t\t\twindowRestored = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst element = getElement(elementSelector);\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\telement.scrollLeft = scrollX;\n\t\t\t\t\t\t\telement.scrollTop = scrollY;\n\t\t\t\t\t\t\tscrollToTopElements?.delete(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!hash) {\n\t\t\t\t\tconst scrollOptions = {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tbehavior\n\t\t\t\t\t};\n\t\t\t\t\tif (!windowRestored) scrollTo(scrollOptions);\n\t\t\t\t\tif (scrollToTopElements) for (const element of scrollToTopElements) element.scrollTo(scrollOptions);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!windowRestored && hash && hashScrollIntoViewOptions) document.getElementById(hash)?.scrollIntoView(hashScrollIntoViewOptions);\n\t\t} finally {\n\t\t\tignoreScroll = false;\n\t\t}\n\t});\n}\n//#endregion\nexport { defaultGetScrollRestorationKey, getElementScrollRestorationEntry, setupScrollRestoration, storageKey };\n\n//# sourceMappingURL=scroll-restoration.js.map","\"use client\";\nimport { wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport * as React$1 from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region src/CatchBoundary.tsx\nvar CatchBoundary = class extends React$1.Component {\n\tconstructor(..._args) {\n\t\tsuper(..._args);\n\t\tthis.state = { error: 0 };\n\t\tthis.reset = () => {\n\t\t\tthis.setState({ error: 0 });\n\t\t};\n\t}\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tconst resetKey = props.getResetKey();\n\t\tif (state.error && state.resetKey !== resetKey) return {\n\t\t\tresetKey,\n\t\t\terror: 0\n\t\t};\n\t\treturn { resetKey };\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn { error: [error] };\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tthis.props.onCatch?.(error, errorInfo);\n\t}\n\trender() {\n\t\tconst error = this.state.error;\n\t\tif (error) {\n\t\t\tconst element = React$1.createElement(this.props.errorComponent ?? ErrorComponent, {\n\t\t\t\terror: error[0],\n\t\t\t\treset: this.reset\n\t\t\t});\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(element, \"errorComponent\") : element;\n\t\t}\n\t\treturn this.props.children;\n\t}\n};\nfunction ErrorComponent({ error }) {\n\tconst [show, setShow] = React$1.useState(process.env.NODE_ENV !== \"production\");\n\treturn /* @__PURE__ */ jsxs(\"div\", {\n\t\tstyle: {\n\t\t\tpadding: \".5rem\",\n\t\t\tmaxWidth: \"100%\"\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: \".5rem\"\n\t\t\t\t},\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(\"strong\", {\n\t\t\t\t\tstyle: { fontSize: \"1rem\" },\n\t\t\t\t\tchildren: \"Something went wrong!\"\n\t\t\t\t}), /* @__PURE__ */ jsx(\"button\", {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tappearance: \"none\",\n\t\t\t\t\t\tfontSize: \".6em\",\n\t\t\t\t\t\tborder: \"1px solid currentColor\",\n\t\t\t\t\t\tpadding: \".1rem .2rem\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tborderRadius: \".25rem\"\n\t\t\t\t\t},\n\t\t\t\t\tonClick: () => setShow((d) => !d),\n\t\t\t\t\tchildren: show ? \"Hide Error\" : \"Show Error\"\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n\t\t\tshow ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\"pre\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \".7em\",\n\t\t\t\t\tborder: \"1px solid red\",\n\t\t\t\t\tborderRadius: \".25rem\",\n\t\t\t\t\tpadding: \".3rem\",\n\t\t\t\t\tcolor: \"red\",\n\t\t\t\t\toverflow: \"auto\"\n\t\t\t\t},\n\t\t\t\tchildren: error?.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n\t\t\t}) }) : null\n\t\t]\n\t});\n}\n//#endregion\nexport { CatchBoundary, ErrorComponent };\n\n//# sourceMappingURL=CatchBoundary.js.map","import { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport \"react\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { useSelector } from \"@tanstack/react-store\";\n//#region src/not-found.tsx\nfunction CatchNotFound(props) {\n\tconst router = useRouter();\n\tif (isServer ?? router.isServer) {\n\t\tconst resetKey = `not-found-${router.stores.location.get().pathname}-${router.stores.status.get()}`;\n\t\treturn /* @__PURE__ */ jsx(CatchBoundary, {\n\t\t\tgetResetKey: () => resetKey,\n\t\t\tonCatch: (error, errorInfo) => {\n\t\t\t\tif (isNotFound(error)) props.onCatch?.(error, errorInfo);\n\t\t\t\telse throw error;\n\t\t\t},\n\t\t\terrorComponent: ({ error }) => {\n\t\t\t\tif (isNotFound(error)) return props.fallback?.(error);\n\t\t\t\telse throw error;\n\t\t\t},\n\t\t\tchildren: props.children\n\t\t});\n\t}\n\tconst resetKey = `not-found-${useSelector(router.stores.location, (location) => location.pathname)}-${useSelector(router.stores.status)}`;\n\treturn /* @__PURE__ */ jsx(CatchBoundary, {\n\t\tgetResetKey: () => resetKey,\n\t\tonCatch: (error, errorInfo) => {\n\t\t\tif (isNotFound(error)) props.onCatch?.(error, errorInfo);\n\t\t\telse throw error;\n\t\t},\n\t\terrorComponent: ({ error }) => {\n\t\t\tif (isNotFound(error)) return props.fallback?.(error);\n\t\t\telse throw error;\n\t\t},\n\t\tchildren: props.children\n\t});\n}\nfunction DefaultGlobalNotFound() {\n\treturn /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\n//#endregion\nexport { CatchNotFound, DefaultGlobalNotFound };\n\n//# sourceMappingURL=not-found.js.map","import { useRouter } from \"./useRouter.js\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/ScriptOnce.tsx\n/**\n* Server-only helper to emit a script tag exactly once during SSR.\n*/\nfunction ScriptOnce({ children }) {\n\tconst router = useRouter();\n\tif (!(isServer ?? router.isServer)) return null;\n\treturn /* @__PURE__ */ jsx(\"script\", {\n\t\tnonce: router.options.ssr?.nonce,\n\t\tdangerouslySetInnerHTML: { __html: children + \";document.currentScript.remove()\" }\n\t});\n}\n//#endregion\nexport { ScriptOnce };\n\n//# sourceMappingURL=ScriptOnce.js.map","import { wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nimport \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/renderRouteNotFound.tsx\n/**\n* Renders a not found component for a route when no matching route is found.\n*\n* @param router - The router instance containing the route configuration\n* @param route - The route that triggered the not found state\n* @param data - Additional data to pass to the not found component\n* @returns The rendered not found component or a default fallback component\n*/\nfunction renderRouteNotFound(router, route, data) {\n\tif (!route.options.notFoundComponent) {\n\t\tif (router.options.defaultNotFoundComponent) {\n\t\t\tconst notFoundElement = /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { ...data });\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (!route.options.notFoundComponent) console.warn(`Warning: A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<p>Not Found</p>)`);\n\t\t}\n\t\treturn /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n\t}\n\tconst notFoundElement = /* @__PURE__ */ jsx(route.options.notFoundComponent, { ...data });\n\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n}\n//#endregion\nexport { renderRouteNotFound };\n\n//# sourceMappingURL=renderRouteNotFound.js.map","//#region src/scroll-restoration-inline.ts?script-string\nvar scroll_restoration_inline_default = \"function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||\\\"{}\\\")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t===\\\"window\\\")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)}\";\n//#endregion\nexport { scroll_restoration_inline_default as default };\n\n//# sourceMappingURL=scroll-restoration-inline.js.map","import { escapeHtml } from \"../utils.js\";\nimport { defaultGetScrollRestorationKey, storageKey } from \"../scroll-restoration.js\";\nimport scroll_restoration_inline_default from \"../scroll-restoration-inline.js\";\n//#region src/scroll-restoration-script/server.ts\nconst defaultInlineScrollRestorationScript = `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(storageKey))})`;\nfunction getScrollRestorationScript(key) {\n\tif (key === void 0) return defaultInlineScrollRestorationScript;\n\treturn `(${scroll_restoration_inline_default})(${escapeHtml(JSON.stringify(storageKey))},${escapeHtml(JSON.stringify(key))})`;\n}\nfunction getScrollRestorationScriptForRouter(router) {\n\tif (typeof router.options.scrollRestoration === \"function\" && !router.options.scrollRestoration({ location: router.latestLocation })) return null;\n\tconst getKey = router.options.getScrollRestorationKey;\n\tif (!getKey) return defaultInlineScrollRestorationScript;\n\tconst location = router.latestLocation;\n\tconst userKey = getKey(location);\n\tif (userKey === defaultGetScrollRestorationKey(location)) return defaultInlineScrollRestorationScript;\n\treturn getScrollRestorationScript(userKey);\n}\n//#endregion\nexport { getScrollRestorationScriptForRouter };\n\n//# sourceMappingURL=server.js.map","import { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { getScrollRestorationScriptForRouter } from \"@tanstack/router-core/scroll-restoration-script\";\n//#region src/scroll-restoration.tsx\nfunction ScrollRestoration() {\n\tconst script = getScrollRestorationScriptForRouter(useRouter());\n\tif (!script) return null;\n\treturn /* @__PURE__ */ jsx(ScriptOnce, { children: script });\n}\n//#endregion\nexport { ScrollRestoration };\n\n//# sourceMappingURL=scroll-restoration.js.map","\"use client\";\nimport { nonRouteComponentContext, wrapInNonRouteComponentContext } from \"./nonRouteComponentContext.js\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { isNotFound, rootRouteId } from \"@tanstack/router-core\";\nimport * as React$1 from \"react\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useSelector } from \"@tanstack/react-store\";\n//#region src/Match.tsx\nfunction renderPending(router, route) {\n\tconst PendingComponent = route?.options.pendingComponent ?? router.options.defaultPendingComponent;\n\tif (!PendingComponent) return null;\n\tconst pendingElement = /* @__PURE__ */ jsx(PendingComponent, {});\n\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(pendingElement, \"pendingComponent\") : pendingElement;\n}\nvar outletMatchSelectionEqual = (a, b) => a[0] === b[0] && a[1] === b[1];\nvar canWrapInSuspense = (router, route, ssr) => !route.isRoot || route.options.shellComponent || route.options.wrapInSuspense || ssr === false || ssr === \"data-only\" || !((isServer ?? router.isServer) || router.ssr);\nvar Match = React$1.memo(function MatchImpl({ routeId }) {\n\tconst router = useRouter();\n\tif (isServer ?? router.isServer) return /* @__PURE__ */ jsx(MatchView, {\n\t\trouter,\n\t\tmatch: router.stores.byRoute.get(routeId).get()\n\t});\n\treturn /* @__PURE__ */ jsx(MatchView, {\n\t\trouter,\n\t\tmatch: useSelector(router.stores.getMatchStore(routeId))\n\t});\n});\nfunction MatchView({ router, match }) {\n\tconst route = router.routesById[match.routeId];\n\tconst pendingElement = renderPending(router, route);\n\tconst routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n\tconst routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n\tconst routeNotFoundComponent = route.isRoot ? route.options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route.options.notFoundComponent;\n\tconst resolvedNoSsr = match.ssr === false || match.ssr === \"data-only\";\n\tconst wrapInSuspense = canWrapInSuspense(router, route, match.ssr) && (route.options.wrapInSuspense ?? pendingElement ?? (route.options.errorComponent?.preload || resolvedNoSsr));\n\tlet content = /* @__PURE__ */ jsx(MatchInner, { match });\n\tif (resolvedNoSsr) content = /* @__PURE__ */ jsx(ClientOnly, {\n\t\tfallback: pendingElement,\n\t\tchildren: content\n\t});\n\tif (routeNotFoundComponent) content = /* @__PURE__ */ jsx(CatchNotFound, {\n\t\tfallback: (error) => {\n\t\t\terror.routeId ??= match.routeId;\n\t\t\tif (error.routeId !== match.routeId) throw error;\n\t\t\tconst notFoundElement = React$1.createElement(routeNotFoundComponent, error);\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(notFoundElement, \"notFoundComponent\") : notFoundElement;\n\t\t},\n\t\tchildren: content\n\t});\n\tif (routeErrorComponent) content = /* @__PURE__ */ jsx(CatchBoundary, {\n\t\tgetResetKey: () => match,\n\t\terrorComponent: routeErrorComponent,\n\t\tonCatch: (error, errorInfo) => {\n\t\t\tif (isNotFound(error)) {\n\t\t\t\terror.routeId ??= match.routeId;\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\") console.warn(`Warning: Error in route match: ${match.id}`);\n\t\t\trouteOnCatch?.(error, errorInfo);\n\t\t},\n\t\tchildren: content\n\t});\n\tif (wrapInSuspense) content = /* @__PURE__ */ jsx(React$1.Suspense, {\n\t\tfallback: pendingElement,\n\t\tchildren: content\n\t});\n\tconst scrollRestoration = (isServer ?? router.isServer) && route.parentRoute?.id === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsx(ScrollRestoration, {}) : null;\n\tconst ShellComponent = route.isRoot ? route.options.shellComponent : void 0;\n\treturn /* @__PURE__ */ jsx(matchContext.Provider, {\n\t\tvalue: match.routeId,\n\t\tchildren: ShellComponent ? /* @__PURE__ */ jsxs(ShellComponent, { children: [content, scrollRestoration] }) : /* @__PURE__ */ jsxs(Fragment, { children: [content, scrollRestoration] })\n\t});\n}\nvar MatchInner = React$1.memo(function MatchInnerImpl({ match }) {\n\tconst router = useRouter();\n\tconst routeId = match.routeId;\n\tconst route = router.routesById[routeId];\n\tconst key = React$1.useMemo(() => {\n\t\tconst remountDeps = (route.options.remountDeps ?? router.options.defaultRemountDeps)?.({\n\t\t\trouteId,\n\t\t\tloaderDeps: match.loaderDeps,\n\t\t\tparams: match._strictParams,\n\t\t\tsearch: match._strictSearch\n\t\t});\n\t\treturn remountDeps ? JSON.stringify(remountDeps) : void 0;\n\t}, [\n\t\trouteId,\n\t\tmatch.loaderDeps,\n\t\tmatch._strictParams,\n\t\tmatch._strictSearch,\n\t\troute.options.remountDeps,\n\t\trouter.options.defaultRemountDeps\n\t]);\n\tconst out = React$1.useMemo(() => {\n\t\tconst Comp = route.options.component ?? router.options.defaultComponent;\n\t\treturn Comp ? /* @__PURE__ */ jsx(Comp, {}, key) : /* @__PURE__ */ jsx(Outlet, {});\n\t}, [\n\t\tkey,\n\t\troute.options.component,\n\t\trouter.options.defaultComponent\n\t]);\n\tif (match.status === \"pending\") {\n\t\tif (router.ssr && !canWrapInSuspense(router, route, match.ssr)) return out;\n\t\tif (router._tx) throw router._tx[5];\n\t\treturn renderPending(router, route);\n\t}\n\tif (match.status === \"notFound\") return renderRouteNotFound(router, route, match.error);\n\tif (match.status === \"error\") {\n\t\tif (isServer ?? router.isServer) {\n\t\t\tconst errorElement = /* @__PURE__ */ jsx((route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent, {\n\t\t\t\terror: match.error,\n\t\t\t\treset: void 0,\n\t\t\t\tinfo: { componentStack: \"\" }\n\t\t\t});\n\t\t\treturn process.env.NODE_ENV !== \"production\" ? wrapInNonRouteComponentContext(errorElement, \"errorComponent\") : errorElement;\n\t\t}\n\t\tthrow match.error;\n\t}\n\treturn out;\n});\n/**\n* Render the next child match in the route tree. Typically used inside\n* a route component to render nested routes.\n*\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/outletComponent\n*/\nvar Outlet = React$1.memo(function OutletImpl() {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst nonRouteComponent = React$1.useContext(nonRouteComponentContext);\n\t\tif (nonRouteComponent) console.warn(`Warning: An <Outlet /> was rendered inside a ${nonRouteComponent}. <Outlet /> should only be rendered inside a route component.`);\n\t}\n\tconst router = useRouter();\n\tconst routeId = React$1.useContext(matchContext);\n\tlet parentGlobalNotFound;\n\tlet parentNotFoundError;\n\tlet childRouteId;\n\tif (isServer ?? router.isServer) {\n\t\tconst matches = router.stores.matches.get();\n\t\tconst parentIndex = matches.findIndex((match) => match.routeId === routeId);\n\t\tconst parentMatch = matches[parentIndex];\n\t\tparentGlobalNotFound = !!parentMatch._notFound;\n\t\tparentNotFoundError = parentMatch.error;\n\t\tchildRouteId = matches[parentIndex + 1]?.routeId;\n\t} else {\n\t\tconst parentMatchStore = router.stores.getMatchStore(routeId);\n\t\t[parentGlobalNotFound, parentNotFoundError] = useSelector(parentMatchStore, (match) => [!!match._notFound, match.error], { compare: outletMatchSelectionEqual });\n\t\tchildRouteId = useSelector(router.stores.ids, (ids) => {\n\t\t\treturn ids[ids.indexOf(routeId) + 1];\n\t\t});\n\t}\n\tif (parentGlobalNotFound) return renderRouteNotFound(router, router.routesById[routeId], parentNotFoundError);\n\tif (!childRouteId) return null;\n\tconst nextMatch = /* @__PURE__ */ jsx(Match, { routeId: childRouteId });\n\tif (routeId === rootRouteId) return /* @__PURE__ */ jsx(React$1.Suspense, {\n\t\tfallback: renderPending(router),\n\t\tchildren: nextMatch\n\t});\n\treturn nextMatch;\n});\n//#endregion\nexport { Match, Outlet, renderPending };\n\n//# sourceMappingURL=Match.js.map"],"ignoreList":[0,1,2,3,4,5,6,7,8],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{A as n,o as r}from"./badge-CqKF1pwz.js";import{n as i}from"./createLucideIcon-CLmh7Go-.js";var a=e(t(),1),o=({size:e})=>{let{t}=i();return(0,a.jsx)(r,{icon:n,size:e,title:t(`common.noAccess`),description:t(`common.noAccessDescription`)})};export{o as t};
|
|
2
|
+
//# sourceMappingURL=NoAccess-C8RLPN0I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoAccess-C8RLPN0I.js","names":["__toESM","Lock","EmptyState","useTranslation","import_jsx_runtime","require_jsx_runtime","NoAccess"],"sources":["../../src/components/NoAccess/index.tsx"],"sourcesContent":["import { Lock } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { EmptyState } from '@/components/EmptyState';\n\ntype NoAccessProps = { size?: 'panel' | 'page' };\n\n/** Shown instead of a page, form or section the admin's roles don't grant (reached by URL, bookmark or ⌘K). */\nexport const NoAccess = ({ size }: NoAccessProps) => {\n const { t } = useTranslation();\n return (\n <EmptyState\n icon={Lock}\n size={size}\n title={t('common.noAccess')}\n description={t('common.noAccessDescription')}\n />\n );\n};\n"],"mappings":"6MAOaM,GAAY,CAAE,UAA0B,CACnD,GAAM,CAAE,GAAMH,EAAe,EAC7B,OACE,EAAAC,EAAA,IAAA,CAACF,EAAD,CACE,KAAMD,EACA,OACN,MAAO,EAAE,iBAAiB,EAC1B,YAAa,EAAE,4BAA4B,CAC5C,CAAA,CAEL"}
|
|
@@ -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{t as r}from"./cn-DVhJ55Mo.js";var i=e(t(),1),a=e(n(),1),o=({title:e,titleAs:t=`h2`,description:n,actions:o,flush:s=!1,"aria-label":c,className:l,bodyClassName:u,children:d})=>{let f=(0,i.useId)(),p=!!(e||o);return(0,a.jsxs)(`section`,{"data-slot":`panel`,"aria-labelledby":e?f:void 0,"aria-label":e?void 0:c,className:r(`min-w-0 rounded-xl border bg-card text-card-foreground`,l),children:[p?(0,a.jsxs)(`div`,{"data-slot":`panel-header`,className:r(`flex flex-wrap items-start justify-between gap-3 px-5 pt-4`,s?`border-b pb-4`:`pb-3`),children:[(0,a.jsxs)(`div`,{className:`min-w-0 grow basis-24 space-y-0.5`,children:[e?(0,a.jsx)(t,{id:f,className:`text-base leading-6 font-semibold`,children:e}):null,n?(0,a.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:n}):null]}),o?(0,a.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o}):null]}):null,(0,a.jsx)(`div`,{"data-slot":`panel-body`,className:r(!s&&(p?`px-5 pb-5`:`p-5`),u),children:d})]})};export{o as t};
|
|
2
|
+
//# sourceMappingURL=Panel-Bcl09TtM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Panel-Bcl09TtM.js","names":["useId","__toESM","require_jsx_runtime","cn","import_react","require_react","import_jsx_runtime","Panel","Heading","ariaLabel","titleId","hasHeader","title","actions","className","flush","description","bodyClassName"],"sources":["../../src/components/Panel/index.tsx"],"sourcesContent":["import { useId, type ReactNode } from 'react';\nimport { cn } from '@/helpers/cn';\n\ntype PanelProps = {\n /** Header title (16/600). With a title the panel is a labelled region. */\n title?: string;\n /** Heading level of the title in the page outline. */\n titleAs?: 'h2' | 'h3';\n /** One line under the title, or nothing (DESIGN.md, helper-text rule). */\n description?: string;\n /** Right side of the header row: buttons (size sm), a count, a menu. */\n actions?: ReactNode;\n /**\n * The body touches the panel edges (tables, lists, rails); the header then gets a bottom border.\n * Otherwise the body has the panel padding.\n */\n flush?: boolean;\n /** Accessible name when there is no visible title. */\n 'aria-label'?: string;\n className?: string;\n bodyClassName?: string;\n children: ReactNode;\n};\n\n/** A card surface with an optional header row: side panels, settings groups, dashboard blocks. */\nexport const Panel = ({\n title,\n titleAs: Heading = 'h2',\n description,\n actions,\n flush = false,\n 'aria-label': ariaLabel,\n className,\n bodyClassName,\n children,\n}: PanelProps) => {\n const titleId = useId();\n const hasHeader = Boolean(title || actions);\n return (\n <section\n data-slot=\"panel\"\n aria-labelledby={title ? titleId : undefined}\n aria-label={title ? undefined : ariaLabel}\n className={cn('min-w-0 rounded-xl border bg-card text-card-foreground', className)}\n >\n {hasHeader ? (\n <div\n data-slot=\"panel-header\"\n className={cn(\n 'flex flex-wrap items-start justify-between gap-3 px-5 pt-4',\n flush ? 'border-b pb-4' : 'pb-3',\n )}\n >\n {/* Actions too wide to sit beside the title wrap under it instead of squeezing it (390 px). */}\n <div className=\"min-w-0 grow basis-24 space-y-0.5\">\n {title ? (\n <Heading id={titleId} className=\"text-base leading-6 font-semibold\">\n {title}\n </Heading>\n ) : null}\n {description ? <p className=\"text-meta text-muted-foreground\">{description}</p> : null}\n </div>\n {actions ? <div className=\"flex shrink-0 items-center gap-2\">{actions}</div> : null}\n </div>\n ) : null}\n <div data-slot=\"panel-body\" className={cn(!flush && (hasHeader ? 'px-5 pb-5' : 'p-5'), bodyClassName)}>\n {children}\n </div>\n </section>\n );\n};\n"],"mappings":"mMAyBaO,GAAS,CACpB,QACA,QAASC,EAAU,KACnB,cACA,UACA,QAAQ,GACR,aAAcC,EACd,YACA,gBACA,cACgB,CAChB,IAAMC,GAAA,EAAUV,EAAAA,MAAAA,CAAM,EAChBW,EAAY,GAAQC,GAASC,GACnC,OACE,EAAAP,EAAA,KAAA,CAAC,UAAD,CACE,YAAU,QACV,kBAAiBM,EAAQF,EAAU,IAAA,GACnC,aAAYE,EAAQ,IAAA,GAAYH,EAChC,UAAWN,EAAG,yDAA0DW,CAAS,EAJnF,SAAA,CAMGH,GACC,EAAAL,EAAA,KAAA,CAAC,MAAD,CACE,YAAU,eACV,UAAWH,EACT,6DACAY,EAAQ,gBAAkB,MAC5B,EALF,SAAA,EAQE,EAAAT,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,oCAAf,SAAA,CACGM,GACC,EAAAN,EAAA,IAAA,CAACE,EAAD,CAAS,GAAIE,EAAS,UAAU,oCAC7B,SAAAE,CACM,CAAA,EACP,KACHI,GAAc,EAAAV,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,kCAAmC,SAAAU,CAAe,CAAA,EAAI,IAC/E,CACJ,CAAA,EAAAH,GAAU,EAAAP,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mCAAoC,SAAAO,CAAa,CAAA,EAAI,IAC5E,CACH,CAAA,EAAA,MACJ,EAAAP,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,aAAa,UAAWH,EAAG,CAACY,IAAUJ,EAAY,YAAc,OAAQM,CAAa,EACjG,UACE,CAAA,CACE,GAEb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{r as n,v as r}from"./badge-
|
|
2
|
-
//# sourceMappingURL=QueryView
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./jsx-runtime-DREnUpxT.js";import{r as n,v as r}from"./badge-CqKF1pwz.js";var i=e(t(),1),a=({query:e,empty:t,isEmpty:a,loadingRows:o,children:s})=>e.isPending?(0,i.jsx)(r,{rows:o}):e.isError?(0,i.jsx)(n,{error:e.error,onRetry:()=>void e.refetch()}):t!==void 0&&a?.(e.data)?t:s(e.data);export{a as t};
|
|
2
|
+
//# sourceMappingURL=QueryView-xMP_uJ_t.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryView
|
|
1
|
+
{"version":3,"file":"QueryView-xMP_uJ_t.js","names":["__toESM","ErrorState","LoadingState","import_jsx_runtime","require_jsx_runtime","QueryView","query","loadingRows","empty","isEmpty","children"],"sources":["../../src/components/QueryView/index.tsx"],"sourcesContent":["import type { UseQueryResult } from '@tanstack/react-query';\nimport type { ReactNode } from 'react';\nimport { ErrorState } from '../ErrorState';\nimport { LoadingState } from '../LoadingState';\n\ntype QueryViewProps<TData> = {\n query: UseQueryResult<TData>;\n /** Rendered instead of `children` when `isEmpty` says the data has nothing to show. */\n empty?: ReactNode;\n isEmpty?: (data: TData) => boolean;\n loadingRows?: number;\n children: (data: TData) => ReactNode;\n};\n\n/** Loading, error (with retry), empty and loaded states for one query, so every screen handles all four. */\nexport const QueryView = <TData,>({\n query,\n empty,\n isEmpty,\n loadingRows,\n children,\n}: QueryViewProps<TData>) => {\n if (query.isPending) {\n return <LoadingState rows={loadingRows} />;\n }\n if (query.isError) {\n return <ErrorState error={query.error} onRetry={() => void query.refetch()} />;\n }\n if (empty !== undefined && isEmpty?.(query.data)) {\n return empty;\n }\n return children(query.data);\n};\n"],"mappings":"0JAeaK,GAAqB,CAChC,QACA,QACA,UACA,cACA,cAEIC,EAAM,WACD,EAAAH,EAAA,IAAA,CAACD,EAAD,CAAc,KAAMK,CAAc,CAAA,EAEvCD,EAAM,SACD,EAAAH,EAAA,IAAA,CAACF,EAAD,CAAY,MAAOK,EAAM,MAAO,YAAe,KAAKA,EAAM,QAAQ,CAAI,CAAA,EAE3EE,IAAU,IAAA,IAAaC,IAAUH,EAAM,IAAI,EACtCE,EAEFE,EAASJ,EAAM,IAAI"}
|
|
@@ -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{s as r}from"./badge-
|
|
2
|
-
//# sourceMappingURL=RadioTile-
|
|
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{s as r}from"./badge-CqKF1pwz.js";import{o as i}from"./skeleton-B5MP72Kw.js";import{t as a}from"./cn-DVhJ55Mo.js";import{r as o}from"./radio-group-4ok5evXq.js";var s=e(t(),1),c=e(n(),1),l=i(`group/tile relative flex w-full cursor-pointer text-left transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50`,{variants:{variant:{card:`flex-col items-start gap-2.5 rounded-xl border bg-card p-3.5 hover:border-primary/40 hover:bg-muted/40 data-[state=checked]:border-primary data-[state=checked]:bg-accent data-[state=checked]:hover:bg-accent dark:data-[state=checked]:bg-primary/5 dark:data-[state=checked]:hover:bg-primary/5`,tile:`flex-col items-center justify-center gap-1.5 rounded-lg border bg-card px-2 py-2.5 text-center hover:border-primary/40 hover:bg-muted/40 data-[state=checked]:border-primary data-[state=checked]:bg-accent data-[state=checked]:hover:bg-accent dark:data-[state=checked]:bg-primary/5 dark:data-[state=checked]:hover:bg-primary/5`,row:`items-center gap-2.5 rounded-md px-3 py-1.5 text-sm text-foreground/85 before:absolute before:inset-y-1.5 before:left-0 before:w-0.5 before:rounded-full before:bg-primary before:opacity-0 hover:bg-muted data-[state=checked]:bg-accent data-[state=checked]:font-medium data-[state=checked]:text-foreground data-[state=checked]:before:opacity-100 dark:data-[state=checked]:bg-primary/10`}},defaultVariants:{variant:`card`}}),u=({value:e,label:t,description:n,icon:i,media:u,variant:d,disabled:f,className:p})=>{let m=(0,s.useId)(),h=`${m}-label`,g=n?`${m}-description`:void 0;return(0,c.jsxs)(o,{value:e,disabled:f,"aria-labelledby":h,"aria-describedby":g,className:a(l({variant:d}),p),children:[u??(i&&d===`row`?(0,c.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-4 shrink-0 items-center justify-center text-muted-foreground group-data-[state=checked]/tile:text-primary [&_svg]:size-4`,children:(0,c.jsx)(i,{})}):i?(0,c.jsx)(r,{icon:i,size:`sm`}):null),(0,c.jsxs)(`span`,{className:a(`min-w-0`,d!==`tile`&&`space-y-1`),children:[(0,c.jsx)(`span`,{id:h,className:a(`block`,d===`row`&&`truncate`,d===`tile`&&`text-xs leading-tight font-medium`,(d===void 0||d===`card`)&&`text-sm font-semibold`),children:t}),n?(0,c.jsx)(`span`,{id:g,className:a(`block text-xs leading-snug text-muted-foreground`,(d===`row`||d===`tile`)&&`sr-only`),children:n}):null]})]})};export{u as t};
|
|
2
|
+
//# sourceMappingURL=RadioTile-DQFmni5A.js.map
|