@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{Dt as n,Ot as r,jt as i}from"./src-ndgTSYLX.js";import{t as a}from"./store-CdIFG90N.js";var o=e(t(),1),s=`(max-width: 1023px)`,c=e=>{let t=window.matchMedia(s);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},l=()=>window.matchMedia(s).matches;function u(){return o.useSyncExternalStore(c,l,()=>!1)}var d=i()(r(e=>({sidebarOpen:!0,setSidebarOpen:t=>e({sidebarOpen:t}),entrySettingsOpen:!0,setEntrySettingsOpen:t=>e({entrySettingsOpen:t})}),{name:`shapio.ui`,storage:n,version:1})),f=(e,t)=>{let n=(0,o.useId)(),r=a(e=>e.register),i=a(e=>e.unregister);(0,o.useEffect)(()=>(r(n,{group:e,items:t}),()=>i(n)),[n,e,t,r,i])};export{d as n,u as r,f as t};
|
|
2
|
+
//# sourceMappingURL=usePaletteItems-DtReWmkd.js.map
|
package/dist/admin/assets/{usePaletteItems-B3y2t7Ly.js.map → usePaletteItems-DtReWmkd.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaletteItems-
|
|
1
|
+
{"version":3,"file":"usePaletteItems-DtReWmkd.js","names":["useId","__toESM","persistentStorage","persist","create","usePaletteStore","import_react","require_react","MOBILE_QUERY","subscribe","mql","onChange","getSnapshot","useIsMobile","useUiStore","set","usePaletteItems","id","register","state","unregister","group","items"],"sources":["../../src/hooks/use-mobile.ts","../../src/stores/ui.ts","../../src/components/CommandPalette/hooks/usePaletteItems.ts"],"sourcesContent":["import * as React from 'react';\n\n// Shapio: the sidebar becomes a sheet below lg (DESIGN.md), not md.\nconst MOBILE_BREAKPOINT = 1024;\nconst MOBILE_QUERY = `(max-width: ${MOBILE_BREAKPOINT - 1}px)`;\n\n// Shapio: subscribes with useSyncExternalStore instead of setState in an effect (shadcn's original).\nconst subscribe = (onChange: () => void) => {\n const mql = window.matchMedia(MOBILE_QUERY);\n mql.addEventListener('change', onChange);\n return () => mql.removeEventListener('change', onChange);\n};\n\nconst getSnapshot = () => window.matchMedia(MOBILE_QUERY).matches;\n\nexport function useIsMobile() {\n return React.useSyncExternalStore(subscribe, getSnapshot, () => false);\n}\n","import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\nimport { persistentStorage } from '@/helpers/safeStorage';\n\ntype UiState = {\n /** Desktop sidebar expanded (true) or collapsed to icons. */\n sidebarOpen: boolean;\n setSidebarOpen: (open: boolean) => void;\n /** The entry's Settings panel on wide screens: open unless the person closed it (remembered per browser). */\n entrySettingsOpen: boolean;\n setEntrySettingsOpen: (open: boolean) => void;\n};\n\nexport const useUiStore = create<UiState>()(\n persist(\n (set) => ({\n sidebarOpen: true,\n setSidebarOpen: (sidebarOpen) => set({ sidebarOpen }),\n entrySettingsOpen: true,\n setEntrySettingsOpen: (entrySettingsOpen) => set({ entrySettingsOpen }),\n }),\n { name: 'shapio.ui', storage: persistentStorage, version: 1 },\n ),\n);\n","import { useEffect, useId } from 'react';\nimport { usePaletteStore } from '../store';\nimport type { PaletteItem, RegisteredGroup } from '../types';\n\n/**\n * Offers `items` in the palette while the calling component is mounted. Pass a memoized array: a new\n * array re-registers.\n */\nexport const usePaletteItems = (group: RegisteredGroup, items: readonly PaletteItem[]) => {\n const id = useId();\n const register = usePaletteStore((state) => state.register);\n const unregister = usePaletteStore((state) => state.unregister);\n useEffect(() => {\n register(id, { group, items });\n return () => unregister(id);\n }, [id, group, items, register, unregister]);\n};\n"],"mappings":"oMAIMQ,EAAe,sBAGfC,EAAa,GAAyB,CAC1C,IAAMC,EAAM,OAAO,WAAWF,CAAY,EAE1C,OADAE,EAAI,iBAAiB,SAAUC,CAAQ,MAC1BD,EAAI,oBAAoB,SAAUC,CAAQ,CACzD,EAEMC,MAAoB,OAAO,WAAWJ,CAAY,CAAC,CAAC,QAE1D,SAAgBK,GAAc,CAC5B,OAAAP,EAAa,qBAAqBG,EAAWG,MAAmB,EAAK,CACvE,CCJA,IAAaE,EAAaV,EAAgB,CAAC,CACzCD,EACG,IAAS,CACR,YAAa,GACb,eAAiB,GAAgBY,EAAI,CAAE,aAAY,CAAC,EACpD,kBAAmB,GACnB,qBAAuB,GAAsBA,EAAI,CAAE,mBAAkB,CAAC,CACxE,GACA,CAAE,KAAM,YAAa,QAASb,EAAmB,QAAS,CAAE,CAC9D,CACF,ECfac,GAAmB,EAAwB,IAAkC,CACxF,IAAMC,GAAA,EAAKjB,EAAAA,MAAAA,CAAM,EACXkB,EAAWb,EAAiB,GAAUc,EAAM,QAAQ,EACpDC,EAAaf,EAAiB,GAAUc,EAAM,UAAU,GAC9D,EAAAb,EAAA,UAAA,MACEY,EAASD,EAAI,CAAE,QAAO,OAAM,CAAC,MAChBG,EAAWH,CAAE,GACzB,CAACA,EAAII,EAAOC,EAAOJ,EAAUE,CAAU,CAAC,CAC7C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{Pt as n,bn as r}from"./src-ndgTSYLX.js";import{u as i}from"./auth-CQO4MBUj.js";import{t as a}from"./createLucideIcon-CLmh7Go-.js";import{l as o}from"./schema-D-qo7XSF.js";import{t as s}from"./modelPermissions-DZ1lWfQZ.js";import{t as c}from"./contentCounts-DP7YYeZZ.js";var l={name:`file-plus-corner`,size:24,node:[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]],aliases:[`file-plus-2`]};l.node;var u=a(l),d=e(t(),1),f=e=>{let t=r(),{data:a,isFetching:o}=i(),s=(0,d.useRef)(new Set);(0,d.useEffect)(()=>{if(!a||!e||o)return;let r=e.map(({definition:e})=>e.id).filter(e=>!(e in a.modelPermissions)&&!s.current.has(e));if(r.length>0){for(let e of r)s.current.add(e);t.invalidateQueries({queryKey:n.me})}},[e,a,o,t])},p={collection:0,singleton:1},m=()=>{let{data:e}=i(),{data:t}=o(`model`),n=c();return f(t),(0,d.useMemo)(()=>t?.flatMap(({definition:t,scope:r})=>t.kind!==`component`&&s(e,t.id,`read`)?[{id:t.id,apiKey:t.apiKey,label:t.label,kind:t.kind,count:t.kind===`collection`?n?.get(t.id):void 0,canCreate:s(e,t.id,`create`),shared:r===`network`}]:[]).sort((e,t)=>p[e.kind]-p[t.kind]||e.label.localeCompare(t.label)),[t,n,e])};export{u as n,m as t};
|
|
2
|
+
//# sourceMappingURL=usePlaces-DC47wVeU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePlaces-
|
|
1
|
+
{"version":3,"file":"usePlaces-DC47wVeU.js","names":["useRef","useMemo","__toESM","queryKeys","useQueryClient","useMe","createLucideIcon","useDefinitions","canOnModel","useContentCounts","__iconData","FilePlusCorner","import_react","require_react","useModelPermissionsRefresh","queryClient","me","asked","definitions","isFetching","unknown","definition","id","KIND_ORDER","usePlaces","counts","scope","a","b"],"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/file-plus-corner.mjs","../../src/features/Shell/hooks/useModelPermissionsRefresh.ts","../../src/features/Shell/hooks/usePlaces.ts"],"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: \"file-plus-corner\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35\",\n key: \"17jvcc\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M14 19h6\", key: \"bvotb8\" }],\n [\"path\", { d: \"M17 16v6\", key: \"18yu1i\" }]\n ],\n aliases: [\"file-plus-2\"]\n};\n__iconData.node;\nconst FilePlusCorner = createLucideIcon(__iconData);\n\nexport { __iconData, FilePlusCorner as default };\n//# sourceMappingURL=file-plus-corner.mjs.map\n","import type { DefinitionListItem } from '@shapio/client';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useRef } from 'react';\nimport { useMe } from '@/api/auth';\nimport { queryKeys } from '@/api/queryKeys';\n\n/**\n * `me.modelPermissions` is keyed by model ID and read once a minute, so a model created since (here or in\n * another session) is missing from it. When the registry shows such a model, re-read `me` once for it.\n */\nexport const useModelPermissionsRefresh = (definitions: readonly DefinitionListItem[] | undefined) => {\n const queryClient = useQueryClient();\n const { data: me, isFetching } = useMe();\n const asked = useRef(new Set<string>());\n useEffect(() => {\n if (!me || !definitions || isFetching) {\n return;\n }\n const unknown = definitions\n .map(({ definition }) => definition.id)\n .filter((id) => !(id in me.modelPermissions) && !asked.current.has(id));\n if (unknown.length > 0) {\n for (const id of unknown) {\n asked.current.add(id);\n }\n void queryClient.invalidateQueries({ queryKey: queryKeys.me });\n }\n }, [definitions, me, isFetching, queryClient]);\n};\n","import { useMemo } from 'react';\nimport { useMe } from '@/api/auth';\nimport { useContentCounts } from '@/api/contentCounts';\nimport { useDefinitions } from '@/api/schema';\nimport { canOnModel } from '@/helpers/modelPermissions';\nimport { useModelPermissionsRefresh } from './useModelPermissionsRefresh';\n\n/** A content type as editors see it: a place in the sidebar. */\nexport type Place = {\n id: string;\n apiKey: string;\n label: string;\n kind: 'collection' | 'singleton';\n /** Entries the admin can read; undefined until counts load (or for single types, which need none). */\n count: number | undefined;\n canCreate: boolean;\n /** Shared with all sites (rather than this site's own). */\n shared: boolean;\n};\n\nconst KIND_ORDER = { collection: 0, singleton: 1 } as const;\n\n/**\n * The places the admin may read, from the model registry: collections, then single types, by label. Models\n * are data (CONTRIBUTING.md rule 2), so a model created a moment ago appears as soon as the registry refreshes.\n */\nexport const usePlaces = (): Place[] | undefined => {\n const { data: me } = useMe();\n const { data: definitions } = useDefinitions('model');\n const counts = useContentCounts();\n useModelPermissionsRefresh(definitions);\n return useMemo(\n () =>\n definitions\n ?.flatMap(({ definition, scope }): Place[] =>\n definition.kind !== 'component' && canOnModel(me, definition.id, 'read')\n ? [\n {\n id: definition.id,\n apiKey: definition.apiKey,\n label: definition.label,\n kind: definition.kind,\n count: definition.kind === 'collection' ? counts?.get(definition.id) : undefined,\n canCreate: canOnModel(me, definition.id, 'create'),\n shared: scope === 'network',\n },\n ]\n : [],\n )\n .sort((a, b) => KIND_ORDER[a.kind] - KIND_ORDER[b.kind] || a.label.localeCompare(b.label)),\n [definitions, counts, me],\n );\n};\n"],"ignoreList":[0],"mappings":"2WASA,IAAMU,EAAa,CACjB,KAAM,mBACN,KAAM,GACN,KAAM,CACJ,CACE,OACA,CACE,EAAG,0GACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAS,CAAC,EACxD,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,CAC3C,EACA,QAAS,CAAC,aAAa,CACzB,EACAA,EAAW,KACX,IAAMC,EAAiBL,EAAiBI,CAAU,aCjBrCI,EAA8B,GAA2D,CACpG,IAAMC,EAAcX,EAAe,EAC7B,CAAE,KAAMY,EAAI,cAAeX,EAAM,EACjCY,GAAA,EAAQjB,EAAAA,OAAAA,CAAO,IAAI,GAAa,GACtC,EAAAY,EAAA,UAAA,KAAgB,CACd,GAAI,CAACI,GAAM,CAACE,GAAeC,EACzB,OAEF,IAAMC,EAAUF,EACb,KAAK,CAAE,gBAAiBG,EAAW,EAAE,CAAC,CACtC,OAAQ,GAAO,EAAEC,KAAMN,EAAG,mBAAqB,CAACC,EAAM,QAAQ,IAAIK,CAAE,CAAC,EACxE,GAAIF,EAAQ,OAAS,EAAG,CACtB,IAAK,IAAME,KAAMF,EACfH,EAAM,QAAQ,IAAIK,CAAE,EAEtBP,EAAiB,kBAAkB,CAAE,SAAUZ,EAAU,EAAG,CAAC,CAC/D,CACF,EAAG,CAACe,EAAaF,EAAIG,EAAYJ,CAAW,CAAC,CAC/C,ECRMQ,EAAa,CAAE,WAAY,EAAG,UAAW,CAAE,EAMpCC,MAAuC,CAClD,GAAM,CAAE,KAAMR,GAAOX,EAAM,EACrB,CAAE,KAAMa,GAAgBX,EAAe,OAAO,EAC9CkB,EAAShB,EAAiB,EAEhC,OADAK,EAA2BI,CAAW,GACtC,EAAOjB,EAAAA,QAAAA,KAEHiB,GACI,SAAS,CAAE,aAAY,WACvBG,EAAW,OAAS,aAAeb,EAAWQ,EAAIK,EAAW,GAAI,MAAM,EACnE,CACE,CACE,GAAIA,EAAW,GACf,OAAQA,EAAW,OACnB,MAAOA,EAAW,MAClB,KAAMA,EAAW,KACjB,MAAOA,EAAW,OAAS,aAAeI,GAAQ,IAAIJ,EAAW,EAAE,EAAI,IAAA,GACvE,UAAWb,EAAWQ,EAAIK,EAAW,GAAI,QAAQ,EACjD,OAAQK,IAAU,SACpB,CACF,EACA,CAAC,CACP,CAAC,CACA,MAAM,EAAG,IAAMH,EAAWI,EAAE,MAAQJ,EAAWK,EAAE,OAASD,EAAE,MAAM,cAAcC,EAAE,KAAK,CAAC,EAC7F,CAACV,EAAaO,EAAQT,CAAE,CAC1B,CACF"}
|
|
@@ -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,Gt as r,Jt as i,Kt as a,Wt as o,Xt as s,Yt as c,Zt as l,_n as u,bn as d,hn as f,in as p,on as m,pn as h,qt as g}from"./src-ndgTSYLX.js";function _(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var v=class extends m{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,p.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!u(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(_(e,n).forEach(e=>{e.destroy()}),_(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=f(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let r=[];return e.forEach(e=>{let i=this.#e.defaultQueryOptions(e),a=t.get(i.queryHash)?.shift()??new n(this.#e,i);r.push({defaultedQueryOptions:i,observer:a})}),r}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&p.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},y=e(t(),1);function b({queries:e,...t},u){let f=d(u),m=l(),_=s(),b=t.subscribed!==!1,x=y.useMemo(()=>e.map(e=>{let t=f.defaultQueryOptions(e);return t._optimisticResults=m?`isRestoring`:b?`optimistic`:void 0,t}),[e,f,m,b]);x.forEach(e=>{o(e);let t=f.getQueryCache().get(e.queryHash);g(e,_,t)}),c(_);let[S]=y.useState(()=>new v(f,x,t)),[C,w,T]=S.getOptimisticResult(x,t.combine),E=!m&&b;y.useSyncExternalStore(y.useCallback(e=>E?S.subscribe(p.batchCalls(e)):h,[S,E]),()=>S.getCurrentResult(),()=>S.getCurrentResult()),y.useEffect(()=>{S.setQueries(x,t)},[x,t,S]);let D=C.some((e,t)=>a(x[t],e))?C.flatMap((e,t)=>{let i=x[t];if(i&&a(i,e)){let e=new n(f,i);return r(i,e,_)}return[]}):[];if(D.length>0)throw Promise.all(D);let O=C.find((e,t)=>{let n=x[t];return n&&i({result:e,errorResetBoundary:_,throwOnError:n.throwOnError,query:f.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(O)throw O.error;return w(T())}export{b as t};
|
|
2
|
+
//# sourceMappingURL=useQueries-CirW3Mvp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries-CX6eFr24.js","names":["__toESM","useIsRestoring","shouldSuspend","QueryObserver","ensurePreventErrorBoundaryRetry","getHasError","ensureSuspenseTimers","fetchOptimistic","useClearResetErrorBoundary","Subscribable","replaceEqualDeep","useQueryClient","noop","shallowEqualObjects","notifyManager","useQueryErrorResetBoundary","difference","excludeSet","array2","array1","x","QueriesObserver","#client","client","#options","options","#queries","#observers","#result","queries","observer","#onUpdate","result","prevObservers","newObserverMatches","#findMatchingObservers","match","newObservers","newResult","hasLengthChange","hasIndexChange","index","hasStructuralChange","hasResultChange","prev","#observerMatches","#notify","matches","queryHashes","#combineResult","r","combine","#trackResult","trackedProps","observerResult","accessedProp","m","lastHashes","#lastQueryHashes","queryHashesChanged","hash","i","#lastResult","#lastCombine","#combinedResult","input","prevObserversMap","key","previousObservers","observers","defaultedOptions","shouldSkipCombine","#shouldSkipCombine","previousResult","listener","import_react","require_react","useQueries","queryClient","isRestoring","errorResetBoundary","subscribed","defaultedQueries","opts","queryOptions","query","optimisticResult","getCombinedResult","trackResult","shouldSubscribe","onStoreChange","suspensePromises","queryObserver","firstSingleResultWhichShouldThrow"],"sources":["../../../../node_modules/.pnpm/@tanstack+query-core@5.104.0/node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.104.0_react@19.3.0/node_modules/@tanstack/react-query/build/modern/useQueries.js"],"sourcesContent":["import { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\n//#region src/queriesObserver.ts\nfunction difference(array1, array2) {\n\tconst excludeSet = new Set(array2);\n\treturn array1.filter((x) => !excludeSet.has(x));\n}\n/**\n* A `QueriesObserver` watches an array of queries at once, exposing them as\n* a single array of `QueryObserverResult`s (or, when a `combine` option is\n* given, as a combined value derived from that array). It manages one\n* internal `QueryObserver` per query, and is the primitive that framework\n* adapters (e.g. `useQueries`) build their hooks on top of.\n*\n* @example\n* ```ts\n* const observer = new QueriesObserver(queryClient, [\n* { queryKey: ['post', 1], queryFn: fetchPost },\n* { queryKey: ['post', 2], queryFn: fetchPost },\n* ])\n*\n* const unsubscribe = observer.subscribe((result) => {\n* console.log(result)\n* })\n* ```\n*/\nvar QueriesObserver = class extends Subscribable {\n\t#client;\n\t#result;\n\t#queries;\n\t#options;\n\t#observers;\n\t#combinedResult;\n\t#lastCombine;\n\t#lastResult;\n\t#lastQueryHashes;\n\t#observerMatches = [];\n\tconstructor(client, queries, options) {\n\t\tsuper();\n\t\tthis.#client = client;\n\t\tthis.#options = options;\n\t\tthis.#queries = [];\n\t\tthis.#observers = [];\n\t\tthis.#result = [];\n\t\tthis.setQueries(queries);\n\t}\n\tonSubscribe() {\n\t\tif (this.listeners.size === 1) this.#observers.forEach((observer) => {\n\t\t\tobserver.subscribe((result) => {\n\t\t\t\tthis.#onUpdate(observer, result);\n\t\t\t});\n\t\t});\n\t}\n\tonUnsubscribe() {\n\t\tif (!this.listeners.size) this.destroy();\n\t}\n\t/**\n\t* Stops observing all queries: clears all listeners and destroys every\n\t* underlying `QueryObserver` this observer manages.\n\t*/\n\tdestroy() {\n\t\tthis.listeners = /* @__PURE__ */ new Set();\n\t\tthis.#observers.forEach((observer) => {\n\t\t\tobserver.destroy();\n\t\t});\n\t}\n\t/**\n\t* Replaces the set of queries being observed. Existing `QueryObserver`s\n\t* are reused for queries that match an already-observed query hash;\n\t* observers for queries that are no longer present are destroyed, and new\n\t* observers are created and subscribed to for newly added queries.\n\t*\n\t* @example\n\t* ```ts\n\t* observer.setQueries([\n\t* { queryKey: ['post', 1], queryFn: fetchPost },\n\t* { queryKey: ['post', 3], queryFn: fetchPost },\n\t* ])\n\t* ```\n\t*/\n\tsetQueries(queries, options) {\n\t\tthis.#queries = queries;\n\t\tthis.#options = options;\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst queryHashes = queries.map((query) => this.#client.defaultQueryOptions(query).queryHash);\n\t\t\tif (new Set(queryHashes).size !== queryHashes.length) console.warn(\"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\");\n\t\t}\n\t\tnotifyManager.batch(() => {\n\t\t\tconst prevObservers = this.#observers;\n\t\t\tconst newObserverMatches = this.#findMatchingObservers(this.#queries);\n\t\t\tnewObserverMatches.forEach((match) => match.observer.setOptions(match.defaultedQueryOptions));\n\t\t\tconst newObservers = newObserverMatches.map((match) => match.observer);\n\t\t\tconst newResult = newObservers.map((observer) => observer.getCurrentResult());\n\t\t\tconst hasLengthChange = prevObservers.length !== newObservers.length;\n\t\t\tconst hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\t\t\tconst hasStructuralChange = hasLengthChange || hasIndexChange;\n\t\t\tconst hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n\t\t\t\tconst prev = this.#result[index];\n\t\t\t\treturn !prev || !shallowEqualObjects(result, prev);\n\t\t\t});\n\t\t\tif (!hasStructuralChange && !hasResultChange) return;\n\t\t\tif (hasStructuralChange) {\n\t\t\t\tthis.#observerMatches = newObserverMatches;\n\t\t\t\tthis.#observers = newObservers;\n\t\t\t}\n\t\t\tthis.#result = newResult;\n\t\t\tif (!this.hasListeners()) return;\n\t\t\tif (hasStructuralChange) {\n\t\t\t\tdifference(prevObservers, newObservers).forEach((observer) => {\n\t\t\t\t\tobserver.destroy();\n\t\t\t\t});\n\t\t\t\tdifference(newObservers, prevObservers).forEach((observer) => {\n\t\t\t\t\tobserver.subscribe((result) => {\n\t\t\t\t\t\tthis.#onUpdate(observer, result);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.#notify();\n\t\t});\n\t}\n\t/**\n\t* Returns the most recently computed array of `QueryObserverResult`s, one\n\t* per observed query, in the same order as the queries passed to the\n\t* constructor or `setQueries`.\n\t*\n\t* @example\n\t* ```ts\n\t* const results = observer.getCurrentResult()\n\t* const data = results.map((result) => result.data)\n\t* ```\n\t*/\n\tgetCurrentResult() {\n\t\treturn this.#result;\n\t}\n\t/**\n\t* Returns the underlying `Query` instances currently being observed, in\n\t* the same order as the queries passed to the constructor or `setQueries`.\n\t*/\n\tgetQueries() {\n\t\treturn this.#observers.map((observer) => observer.getCurrentQuery());\n\t}\n\t/**\n\t* Returns the underlying `QueryObserver` instances this observer manages,\n\t* in the same order as the queries passed to the constructor or\n\t* `setQueries`.\n\t*/\n\tgetObservers() {\n\t\treturn this.#observers;\n\t}\n\t/**\n\t* The `QueriesObserver` counterpart of {@link QueryObserver#getOptimisticResult} — computes\n\t* the result for the given (already-defaulted) queries right now, synchronously. Called by\n\t* framework adapters (e.g. `useQueries`) ahead of subscribing, returning a tuple of the raw\n\t* per-query results, a function to compute the combined result from them, and a function to\n\t* wrap the results for property-access tracking.\n\t*/\n\tgetOptimisticResult(queries, combine) {\n\t\tconst matches = this.#findMatchingObservers(queries);\n\t\tconst result = matches.map((match) => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n\t\tconst queryHashes = matches.map((match) => match.defaultedQueryOptions.queryHash);\n\t\treturn [\n\t\t\tresult,\n\t\t\t(r) => {\n\t\t\t\treturn this.#combineResult(r ?? result, combine, queryHashes);\n\t\t\t},\n\t\t\t() => {\n\t\t\t\treturn this.#trackResult(result, matches);\n\t\t\t}\n\t\t];\n\t}\n\t#trackResult(result, matches) {\n\t\tconst trackedProps = /* @__PURE__ */ new Set();\n\t\treturn matches.map((match, index) => {\n\t\t\tconst observerResult = result[index];\n\t\t\treturn !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n\t\t\t\tif (!trackedProps.has(accessedProp)) {\n\t\t\t\t\ttrackedProps.add(accessedProp);\n\t\t\t\t\tmatches.forEach((m) => {\n\t\t\t\t\t\tm.observer.trackProp(accessedProp);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}) : observerResult;\n\t\t});\n\t}\n\t#combineResult(input, combine, queryHashes) {\n\t\tif (combine) {\n\t\t\tconst lastHashes = this.#lastQueryHashes;\n\t\t\tconst queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n\t\t\tif (this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n\t\t\t\tthis.#lastCombine = combine;\n\t\t\t\tthis.#lastResult = this.#result;\n\t\t\t\tif (queryHashes !== void 0) this.#lastQueryHashes = queryHashes;\n\t\t\t\tthis.#combinedResult = replaceEqualDeep(this.#combinedResult, combine(input));\n\t\t\t}\n\t\t\treturn this.#combinedResult;\n\t\t}\n\t\treturn input;\n\t}\n\t#shouldSkipCombine() {\n\t\treturn !this.#options?.combine || this.#observers.some((observer, index) => {\n\t\t\treturn observer.options.suspense && this.#result[index]?.data === void 0;\n\t\t});\n\t}\n\t#findMatchingObservers(queries) {\n\t\tconst prevObserversMap = /* @__PURE__ */ new Map();\n\t\tthis.#observers.forEach((observer) => {\n\t\t\tconst key = observer.options.queryHash;\n\t\t\tif (!key) return;\n\t\t\tconst previousObservers = prevObserversMap.get(key);\n\t\t\tif (previousObservers) previousObservers.push(observer);\n\t\t\telse prevObserversMap.set(key, [observer]);\n\t\t});\n\t\tconst observers = [];\n\t\tqueries.forEach((options) => {\n\t\t\tconst defaultedOptions = this.#client.defaultQueryOptions(options);\n\t\t\tconst observer = prevObserversMap.get(defaultedOptions.queryHash)?.shift() ?? new QueryObserver(this.#client, defaultedOptions);\n\t\t\tobservers.push({\n\t\t\t\tdefaultedQueryOptions: defaultedOptions,\n\t\t\t\tobserver\n\t\t\t});\n\t\t});\n\t\treturn observers;\n\t}\n\t#onUpdate(observer, result) {\n\t\tconst index = this.#observers.indexOf(observer);\n\t\tif (index !== -1) {\n\t\t\tthis.#result = this.#result.slice();\n\t\t\tthis.#result[index] = result;\n\t\t\tthis.#notify();\n\t\t}\n\t}\n\t#notify() {\n\t\tif (this.hasListeners()) {\n\t\t\tconst shouldSkipCombine = this.#shouldSkipCombine();\n\t\t\tconst previousResult = this.#combinedResult;\n\t\t\tconst newResult = shouldSkipCombine ? previousResult : this.#combineResult(this.#trackResult(this.#result, this.#observerMatches), this.#options?.combine);\n\t\t\tif (shouldSkipCombine || previousResult !== newResult) notifyManager.batch(() => {\n\t\t\t\tthis.listeners.forEach((listener) => {\n\t\t\t\t\tlistener(this.#result);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { QueriesObserver };\n\n//# sourceMappingURL=queriesObserver.js.map","\"use client\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { ensurePreventErrorBoundaryRetry, getHasError, useClearResetErrorBoundary } from \"./errorBoundaryUtils.js\";\nimport { ensureSuspenseTimers, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nimport * as React from \"react\";\nimport { QueriesObserver, QueryObserver, noop, notifyManager } from \"@tanstack/query-core\";\n//#region src/useQueries.ts\n/**\n* The `useQueries` hook can be used to fetch a variable number of queries.\n*\n* The `queries` key accepts an array with query option objects mostly identical to `useQuery` — the top-level\n* `subscribed` option isn't accepted per query (see `placeholderData` below for another difference). A custom\n* `QueryClient` is supplied once, as `useQueries`' own top-level second argument, rather than per query.\n*\n* Having the same query key more than once in the array of query objects may cause some data to be shared\n* between queries. To avoid this, consider de-duplicating the queries and map the results back to the desired\n* structure.\n*\n* The `combine` option can be used to combine the results of the queries into a single value. The result will\n* be structurally shared to be as referentially stable as possible.\n*\n* @remarks The `combine` function only re-runs if it changed referentially, or if any of the query results\n* changed. An inlined `combine` function, as shown in the example below, therefore runs on every render — wrap\n* it in `useCallback`, or extract it to a stable function reference if it doesn't have any dependencies, to\n* avoid that.\n*\n* Unlike `useQuery`, `useQueries` cannot infer the `data` argument of an _inline_ `select` from its sibling\n* `queryFn`. Because `useQueries` infers the type of the whole `queries` array at once, the `select` parameter\n* of a query object written inline cannot be contextually typed from that same object's `queryFn`, so it falls\n* back to `unknown` — a [known TypeScript limitation](https://github.com/TanStack/query/issues/6556). Annotate\n* the `select` parameter explicitly, or define the query with {@link queryOptions}, which resolves its types in\n* a single object _before_ it reaches `useQueries`, to work around this — see the example below. The same\n* limitation applies to {@link useSuspenseQueries}.\n*\n* `placeholderData` is supported here too, but unlike `useQuery`, it doesn't receive information from\n* previously rendered queries, because the number of queries can differ between renders.\n* @param queryClient - Use this to provide a custom `QueryClient`. Otherwise, the one from the nearest context\n* will be used.\n* @returns The combined result. Without `combine`, this is an array with all the query results, in the same\n* order as the input. When `combine` is provided, this is the value returned by `combine` instead.\n*\n* @example\n* ```tsx\n* import { useQueries } from '@tanstack/react-query'\n*\n* function Posts({ ids }: { ids: Array<number> }) {\n* const postQueries = useQueries({\n* queries: ids.map((id) => ({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* staleTime: Infinity,\n* })),\n* })\n*\n* return (\n* <ul>\n* {postQueries.map((query, index) => {\n* if (query.isPending) return <li key={ids[index]}>Loading...</li>\n* if (query.isError) return <li key={ids[index]}>Error: {query.error.message}</li>\n* return <li key={ids[index]}>{query.data.title}</li>\n* })}\n* </ul>\n* )\n* }\n* ```\n*\n* @example\n* Combining results into a single value:\n* ```tsx\n* import { useQueries } from '@tanstack/react-query'\n*\n* function Posts({ ids }: { ids: Array<number> }) {\n* const { data, isPending, isError } = useQueries({\n* queries: ids.map((id) => ({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* })),\n* combine: (postQueries) => {\n* return {\n* data: postQueries.map((query) => query.data),\n* isPending: postQueries.some((query) => query.isPending),\n* isError: postQueries.some((query) => query.isError),\n* }\n* },\n* })\n*\n* if (isPending) return 'Loading...'\n* if (isError) return 'Error loading posts'\n*\n* return (\n* <ul>\n* {data.map((post) => (\n* <li key={post?.id}>{post?.title}</li>\n* ))}\n* </ul>\n* )\n* }\n* ```\n*\n* @example\n* Typing `select` via {@link queryOptions}. Note that spreading a `queryOptions` result and overriding\n* `select` inline still falls back to `unknown` — wrap the spread in `queryOptions` again so the override is\n* resolved before it reaches `useQueries`:\n* ```tsx\n* import { queryOptions, useQueries } from '@tanstack/react-query'\n*\n* const postOptions = (id: number) =>\n* queryOptions({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* })\n*\n* function PostTitle({ id }: { id: number }) {\n* const [{ data: broken }] = useQueries({\n* queries: [\n* {\n* ...postOptions(id),\n* // ❌ `data` is `unknown` here\n* select: (data) => data.title,\n* },\n* ],\n* })\n*\n* const [{ data: fixed }] = useQueries({\n* queries: [\n* queryOptions({\n* ...postOptions(id),\n* // ✅ `data` is `Post`\n* select: (data) => data.title,\n* }),\n* ],\n* })\n*\n* return <h1>{fixed}</h1>\n* }\n* ```\n*/\nfunction useQueries({ queries, ...options }, queryClient) {\n\tconst client = useQueryClient(queryClient);\n\tconst isRestoring = useIsRestoring();\n\tconst errorResetBoundary = useQueryErrorResetBoundary();\n\tconst subscribed = options.subscribed !== false;\n\tconst defaultedQueries = React.useMemo(() => queries.map((opts) => {\n\t\tconst defaultedOptions = client.defaultQueryOptions(opts);\n\t\tdefaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : subscribed ? \"optimistic\" : void 0;\n\t\treturn defaultedOptions;\n\t}), [\n\t\tqueries,\n\t\tclient,\n\t\tisRestoring,\n\t\tsubscribed\n\t]);\n\tdefaultedQueries.forEach((queryOptions) => {\n\t\tensureSuspenseTimers(queryOptions);\n\t\tconst query = client.getQueryCache().get(queryOptions.queryHash);\n\t\tensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n\t});\n\tuseClearResetErrorBoundary(errorResetBoundary);\n\tconst [observer] = React.useState(() => new QueriesObserver(client, defaultedQueries, options));\n\tconst [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(defaultedQueries, options.combine);\n\tconst shouldSubscribe = !isRestoring && subscribed;\n\tReact.useSyncExternalStore(React.useCallback((onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop, [observer, shouldSubscribe]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n\tReact.useEffect(() => {\n\t\tobserver.setQueries(defaultedQueries, options);\n\t}, [\n\t\tdefaultedQueries,\n\t\toptions,\n\t\tobserver\n\t]);\n\tconst suspensePromises = optimisticResult.some((result, index) => shouldSuspend(defaultedQueries[index], result)) ? optimisticResult.flatMap((result, index) => {\n\t\tconst opts = defaultedQueries[index];\n\t\tif (opts && shouldSuspend(opts, result)) {\n\t\t\tconst queryObserver = new QueryObserver(client, opts);\n\t\t\treturn fetchOptimistic(opts, queryObserver, errorResetBoundary);\n\t\t}\n\t\treturn [];\n\t}) : [];\n\tif (suspensePromises.length > 0) throw Promise.all(suspensePromises);\n\tconst firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n\t\tconst query = defaultedQueries[index];\n\t\treturn query && getHasError({\n\t\t\tresult,\n\t\t\terrorResetBoundary,\n\t\t\tthrowOnError: query.throwOnError,\n\t\t\tquery: client.getQueryCache().get(query.queryHash),\n\t\t\tsuspense: query.suspense\n\t\t});\n\t});\n\tif (firstSingleResultWhichShouldThrow) throw firstSingleResultWhichShouldThrow.error;\n\treturn getCombinedResult(trackResult());\n}\n//#endregion\nexport { useQueries };\n\n//# sourceMappingURL=useQueries.js.map"],"ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useQueries-CirW3Mvp.js","names":["__toESM","QueryObserver","fetchOptimistic","getHasError","shouldSuspend","ensureSuspenseTimers","useQueryErrorResetBoundary","useClearResetErrorBoundary","useIsRestoring","shallowEqualObjects","useQueryClient","replaceEqualDeep","notifyManager","Subscribable","noop","ensurePreventErrorBoundaryRetry","difference","excludeSet","array2","array1","x","QueriesObserver","#client","client","#options","options","#queries","#observers","#result","queries","observer","#onUpdate","result","prevObservers","newObserverMatches","#findMatchingObservers","match","newObservers","newResult","hasLengthChange","hasIndexChange","index","hasStructuralChange","hasResultChange","prev","#observerMatches","#notify","matches","queryHashes","#combineResult","r","combine","#trackResult","trackedProps","observerResult","accessedProp","m","lastHashes","#lastQueryHashes","queryHashesChanged","hash","i","#lastResult","#lastCombine","#combinedResult","input","prevObserversMap","key","previousObservers","observers","defaultedOptions","shouldSkipCombine","#shouldSkipCombine","previousResult","listener","import_react","require_react","useQueries","queryClient","isRestoring","errorResetBoundary","subscribed","defaultedQueries","opts","queryOptions","query","optimisticResult","getCombinedResult","trackResult","shouldSubscribe","onStoreChange","suspensePromises","queryObserver","firstSingleResultWhichShouldThrow"],"sources":["../../../../node_modules/.pnpm/@tanstack+query-core@5.104.0/node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../../node_modules/.pnpm/@tanstack+react-query@5.104.0_react@19.3.0/node_modules/@tanstack/react-query/build/modern/useQueries.js"],"sourcesContent":["import { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\n//#region src/queriesObserver.ts\nfunction difference(array1, array2) {\n\tconst excludeSet = new Set(array2);\n\treturn array1.filter((x) => !excludeSet.has(x));\n}\n/**\n* A `QueriesObserver` watches an array of queries at once, exposing them as\n* a single array of `QueryObserverResult`s (or, when a `combine` option is\n* given, as a combined value derived from that array). It manages one\n* internal `QueryObserver` per query, and is the primitive that framework\n* adapters (e.g. `useQueries`) build their hooks on top of.\n*\n* @example\n* ```ts\n* const observer = new QueriesObserver(queryClient, [\n* { queryKey: ['post', 1], queryFn: fetchPost },\n* { queryKey: ['post', 2], queryFn: fetchPost },\n* ])\n*\n* const unsubscribe = observer.subscribe((result) => {\n* console.log(result)\n* })\n* ```\n*/\nvar QueriesObserver = class extends Subscribable {\n\t#client;\n\t#result;\n\t#queries;\n\t#options;\n\t#observers;\n\t#combinedResult;\n\t#lastCombine;\n\t#lastResult;\n\t#lastQueryHashes;\n\t#observerMatches = [];\n\tconstructor(client, queries, options) {\n\t\tsuper();\n\t\tthis.#client = client;\n\t\tthis.#options = options;\n\t\tthis.#queries = [];\n\t\tthis.#observers = [];\n\t\tthis.#result = [];\n\t\tthis.setQueries(queries);\n\t}\n\tonSubscribe() {\n\t\tif (this.listeners.size === 1) this.#observers.forEach((observer) => {\n\t\t\tobserver.subscribe((result) => {\n\t\t\t\tthis.#onUpdate(observer, result);\n\t\t\t});\n\t\t});\n\t}\n\tonUnsubscribe() {\n\t\tif (!this.listeners.size) this.destroy();\n\t}\n\t/**\n\t* Stops observing all queries: clears all listeners and destroys every\n\t* underlying `QueryObserver` this observer manages.\n\t*/\n\tdestroy() {\n\t\tthis.listeners = /* @__PURE__ */ new Set();\n\t\tthis.#observers.forEach((observer) => {\n\t\t\tobserver.destroy();\n\t\t});\n\t}\n\t/**\n\t* Replaces the set of queries being observed. Existing `QueryObserver`s\n\t* are reused for queries that match an already-observed query hash;\n\t* observers for queries that are no longer present are destroyed, and new\n\t* observers are created and subscribed to for newly added queries.\n\t*\n\t* @example\n\t* ```ts\n\t* observer.setQueries([\n\t* { queryKey: ['post', 1], queryFn: fetchPost },\n\t* { queryKey: ['post', 3], queryFn: fetchPost },\n\t* ])\n\t* ```\n\t*/\n\tsetQueries(queries, options) {\n\t\tthis.#queries = queries;\n\t\tthis.#options = options;\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst queryHashes = queries.map((query) => this.#client.defaultQueryOptions(query).queryHash);\n\t\t\tif (new Set(queryHashes).size !== queryHashes.length) console.warn(\"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\");\n\t\t}\n\t\tnotifyManager.batch(() => {\n\t\t\tconst prevObservers = this.#observers;\n\t\t\tconst newObserverMatches = this.#findMatchingObservers(this.#queries);\n\t\t\tnewObserverMatches.forEach((match) => match.observer.setOptions(match.defaultedQueryOptions));\n\t\t\tconst newObservers = newObserverMatches.map((match) => match.observer);\n\t\t\tconst newResult = newObservers.map((observer) => observer.getCurrentResult());\n\t\t\tconst hasLengthChange = prevObservers.length !== newObservers.length;\n\t\t\tconst hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\t\t\tconst hasStructuralChange = hasLengthChange || hasIndexChange;\n\t\t\tconst hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n\t\t\t\tconst prev = this.#result[index];\n\t\t\t\treturn !prev || !shallowEqualObjects(result, prev);\n\t\t\t});\n\t\t\tif (!hasStructuralChange && !hasResultChange) return;\n\t\t\tif (hasStructuralChange) {\n\t\t\t\tthis.#observerMatches = newObserverMatches;\n\t\t\t\tthis.#observers = newObservers;\n\t\t\t}\n\t\t\tthis.#result = newResult;\n\t\t\tif (!this.hasListeners()) return;\n\t\t\tif (hasStructuralChange) {\n\t\t\t\tdifference(prevObservers, newObservers).forEach((observer) => {\n\t\t\t\t\tobserver.destroy();\n\t\t\t\t});\n\t\t\t\tdifference(newObservers, prevObservers).forEach((observer) => {\n\t\t\t\t\tobserver.subscribe((result) => {\n\t\t\t\t\t\tthis.#onUpdate(observer, result);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.#notify();\n\t\t});\n\t}\n\t/**\n\t* Returns the most recently computed array of `QueryObserverResult`s, one\n\t* per observed query, in the same order as the queries passed to the\n\t* constructor or `setQueries`.\n\t*\n\t* @example\n\t* ```ts\n\t* const results = observer.getCurrentResult()\n\t* const data = results.map((result) => result.data)\n\t* ```\n\t*/\n\tgetCurrentResult() {\n\t\treturn this.#result;\n\t}\n\t/**\n\t* Returns the underlying `Query` instances currently being observed, in\n\t* the same order as the queries passed to the constructor or `setQueries`.\n\t*/\n\tgetQueries() {\n\t\treturn this.#observers.map((observer) => observer.getCurrentQuery());\n\t}\n\t/**\n\t* Returns the underlying `QueryObserver` instances this observer manages,\n\t* in the same order as the queries passed to the constructor or\n\t* `setQueries`.\n\t*/\n\tgetObservers() {\n\t\treturn this.#observers;\n\t}\n\t/**\n\t* The `QueriesObserver` counterpart of {@link QueryObserver#getOptimisticResult} — computes\n\t* the result for the given (already-defaulted) queries right now, synchronously. Called by\n\t* framework adapters (e.g. `useQueries`) ahead of subscribing, returning a tuple of the raw\n\t* per-query results, a function to compute the combined result from them, and a function to\n\t* wrap the results for property-access tracking.\n\t*/\n\tgetOptimisticResult(queries, combine) {\n\t\tconst matches = this.#findMatchingObservers(queries);\n\t\tconst result = matches.map((match) => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n\t\tconst queryHashes = matches.map((match) => match.defaultedQueryOptions.queryHash);\n\t\treturn [\n\t\t\tresult,\n\t\t\t(r) => {\n\t\t\t\treturn this.#combineResult(r ?? result, combine, queryHashes);\n\t\t\t},\n\t\t\t() => {\n\t\t\t\treturn this.#trackResult(result, matches);\n\t\t\t}\n\t\t];\n\t}\n\t#trackResult(result, matches) {\n\t\tconst trackedProps = /* @__PURE__ */ new Set();\n\t\treturn matches.map((match, index) => {\n\t\t\tconst observerResult = result[index];\n\t\t\treturn !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n\t\t\t\tif (!trackedProps.has(accessedProp)) {\n\t\t\t\t\ttrackedProps.add(accessedProp);\n\t\t\t\t\tmatches.forEach((m) => {\n\t\t\t\t\t\tm.observer.trackProp(accessedProp);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}) : observerResult;\n\t\t});\n\t}\n\t#combineResult(input, combine, queryHashes) {\n\t\tif (combine) {\n\t\t\tconst lastHashes = this.#lastQueryHashes;\n\t\t\tconst queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n\t\t\tif (this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n\t\t\t\tthis.#lastCombine = combine;\n\t\t\t\tthis.#lastResult = this.#result;\n\t\t\t\tif (queryHashes !== void 0) this.#lastQueryHashes = queryHashes;\n\t\t\t\tthis.#combinedResult = replaceEqualDeep(this.#combinedResult, combine(input));\n\t\t\t}\n\t\t\treturn this.#combinedResult;\n\t\t}\n\t\treturn input;\n\t}\n\t#shouldSkipCombine() {\n\t\treturn !this.#options?.combine || this.#observers.some((observer, index) => {\n\t\t\treturn observer.options.suspense && this.#result[index]?.data === void 0;\n\t\t});\n\t}\n\t#findMatchingObservers(queries) {\n\t\tconst prevObserversMap = /* @__PURE__ */ new Map();\n\t\tthis.#observers.forEach((observer) => {\n\t\t\tconst key = observer.options.queryHash;\n\t\t\tif (!key) return;\n\t\t\tconst previousObservers = prevObserversMap.get(key);\n\t\t\tif (previousObservers) previousObservers.push(observer);\n\t\t\telse prevObserversMap.set(key, [observer]);\n\t\t});\n\t\tconst observers = [];\n\t\tqueries.forEach((options) => {\n\t\t\tconst defaultedOptions = this.#client.defaultQueryOptions(options);\n\t\t\tconst observer = prevObserversMap.get(defaultedOptions.queryHash)?.shift() ?? new QueryObserver(this.#client, defaultedOptions);\n\t\t\tobservers.push({\n\t\t\t\tdefaultedQueryOptions: defaultedOptions,\n\t\t\t\tobserver\n\t\t\t});\n\t\t});\n\t\treturn observers;\n\t}\n\t#onUpdate(observer, result) {\n\t\tconst index = this.#observers.indexOf(observer);\n\t\tif (index !== -1) {\n\t\t\tthis.#result = this.#result.slice();\n\t\t\tthis.#result[index] = result;\n\t\t\tthis.#notify();\n\t\t}\n\t}\n\t#notify() {\n\t\tif (this.hasListeners()) {\n\t\t\tconst shouldSkipCombine = this.#shouldSkipCombine();\n\t\t\tconst previousResult = this.#combinedResult;\n\t\t\tconst newResult = shouldSkipCombine ? previousResult : this.#combineResult(this.#trackResult(this.#result, this.#observerMatches), this.#options?.combine);\n\t\t\tif (shouldSkipCombine || previousResult !== newResult) notifyManager.batch(() => {\n\t\t\t\tthis.listeners.forEach((listener) => {\n\t\t\t\t\tlistener(this.#result);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n};\n//#endregion\nexport { QueriesObserver };\n\n//# sourceMappingURL=queriesObserver.js.map","\"use client\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { ensurePreventErrorBoundaryRetry, getHasError, useClearResetErrorBoundary } from \"./errorBoundaryUtils.js\";\nimport { ensureSuspenseTimers, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nimport * as React from \"react\";\nimport { QueriesObserver, QueryObserver, noop, notifyManager } from \"@tanstack/query-core\";\n//#region src/useQueries.ts\n/**\n* The `useQueries` hook can be used to fetch a variable number of queries.\n*\n* The `queries` key accepts an array with query option objects mostly identical to `useQuery` — the top-level\n* `subscribed` option isn't accepted per query (see `placeholderData` below for another difference). A custom\n* `QueryClient` is supplied once, as `useQueries`' own top-level second argument, rather than per query.\n*\n* Having the same query key more than once in the array of query objects may cause some data to be shared\n* between queries. To avoid this, consider de-duplicating the queries and map the results back to the desired\n* structure.\n*\n* The `combine` option can be used to combine the results of the queries into a single value. The result will\n* be structurally shared to be as referentially stable as possible.\n*\n* @remarks The `combine` function only re-runs if it changed referentially, or if any of the query results\n* changed. An inlined `combine` function, as shown in the example below, therefore runs on every render — wrap\n* it in `useCallback`, or extract it to a stable function reference if it doesn't have any dependencies, to\n* avoid that.\n*\n* Unlike `useQuery`, `useQueries` cannot infer the `data` argument of an _inline_ `select` from its sibling\n* `queryFn`. Because `useQueries` infers the type of the whole `queries` array at once, the `select` parameter\n* of a query object written inline cannot be contextually typed from that same object's `queryFn`, so it falls\n* back to `unknown` — a [known TypeScript limitation](https://github.com/TanStack/query/issues/6556). Annotate\n* the `select` parameter explicitly, or define the query with {@link queryOptions}, which resolves its types in\n* a single object _before_ it reaches `useQueries`, to work around this — see the example below. The same\n* limitation applies to {@link useSuspenseQueries}.\n*\n* `placeholderData` is supported here too, but unlike `useQuery`, it doesn't receive information from\n* previously rendered queries, because the number of queries can differ between renders.\n* @param queryClient - Use this to provide a custom `QueryClient`. Otherwise, the one from the nearest context\n* will be used.\n* @returns The combined result. Without `combine`, this is an array with all the query results, in the same\n* order as the input. When `combine` is provided, this is the value returned by `combine` instead.\n*\n* @example\n* ```tsx\n* import { useQueries } from '@tanstack/react-query'\n*\n* function Posts({ ids }: { ids: Array<number> }) {\n* const postQueries = useQueries({\n* queries: ids.map((id) => ({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* staleTime: Infinity,\n* })),\n* })\n*\n* return (\n* <ul>\n* {postQueries.map((query, index) => {\n* if (query.isPending) return <li key={ids[index]}>Loading...</li>\n* if (query.isError) return <li key={ids[index]}>Error: {query.error.message}</li>\n* return <li key={ids[index]}>{query.data.title}</li>\n* })}\n* </ul>\n* )\n* }\n* ```\n*\n* @example\n* Combining results into a single value:\n* ```tsx\n* import { useQueries } from '@tanstack/react-query'\n*\n* function Posts({ ids }: { ids: Array<number> }) {\n* const { data, isPending, isError } = useQueries({\n* queries: ids.map((id) => ({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* })),\n* combine: (postQueries) => {\n* return {\n* data: postQueries.map((query) => query.data),\n* isPending: postQueries.some((query) => query.isPending),\n* isError: postQueries.some((query) => query.isError),\n* }\n* },\n* })\n*\n* if (isPending) return 'Loading...'\n* if (isError) return 'Error loading posts'\n*\n* return (\n* <ul>\n* {data.map((post) => (\n* <li key={post?.id}>{post?.title}</li>\n* ))}\n* </ul>\n* )\n* }\n* ```\n*\n* @example\n* Typing `select` via {@link queryOptions}. Note that spreading a `queryOptions` result and overriding\n* `select` inline still falls back to `unknown` — wrap the spread in `queryOptions` again so the override is\n* resolved before it reaches `useQueries`:\n* ```tsx\n* import { queryOptions, useQueries } from '@tanstack/react-query'\n*\n* const postOptions = (id: number) =>\n* queryOptions({\n* queryKey: ['post', id],\n* queryFn: () => fetchPost(id),\n* })\n*\n* function PostTitle({ id }: { id: number }) {\n* const [{ data: broken }] = useQueries({\n* queries: [\n* {\n* ...postOptions(id),\n* // ❌ `data` is `unknown` here\n* select: (data) => data.title,\n* },\n* ],\n* })\n*\n* const [{ data: fixed }] = useQueries({\n* queries: [\n* queryOptions({\n* ...postOptions(id),\n* // ✅ `data` is `Post`\n* select: (data) => data.title,\n* }),\n* ],\n* })\n*\n* return <h1>{fixed}</h1>\n* }\n* ```\n*/\nfunction useQueries({ queries, ...options }, queryClient) {\n\tconst client = useQueryClient(queryClient);\n\tconst isRestoring = useIsRestoring();\n\tconst errorResetBoundary = useQueryErrorResetBoundary();\n\tconst subscribed = options.subscribed !== false;\n\tconst defaultedQueries = React.useMemo(() => queries.map((opts) => {\n\t\tconst defaultedOptions = client.defaultQueryOptions(opts);\n\t\tdefaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : subscribed ? \"optimistic\" : void 0;\n\t\treturn defaultedOptions;\n\t}), [\n\t\tqueries,\n\t\tclient,\n\t\tisRestoring,\n\t\tsubscribed\n\t]);\n\tdefaultedQueries.forEach((queryOptions) => {\n\t\tensureSuspenseTimers(queryOptions);\n\t\tconst query = client.getQueryCache().get(queryOptions.queryHash);\n\t\tensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n\t});\n\tuseClearResetErrorBoundary(errorResetBoundary);\n\tconst [observer] = React.useState(() => new QueriesObserver(client, defaultedQueries, options));\n\tconst [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(defaultedQueries, options.combine);\n\tconst shouldSubscribe = !isRestoring && subscribed;\n\tReact.useSyncExternalStore(React.useCallback((onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop, [observer, shouldSubscribe]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n\tReact.useEffect(() => {\n\t\tobserver.setQueries(defaultedQueries, options);\n\t}, [\n\t\tdefaultedQueries,\n\t\toptions,\n\t\tobserver\n\t]);\n\tconst suspensePromises = optimisticResult.some((result, index) => shouldSuspend(defaultedQueries[index], result)) ? optimisticResult.flatMap((result, index) => {\n\t\tconst opts = defaultedQueries[index];\n\t\tif (opts && shouldSuspend(opts, result)) {\n\t\t\tconst queryObserver = new QueryObserver(client, opts);\n\t\t\treturn fetchOptimistic(opts, queryObserver, errorResetBoundary);\n\t\t}\n\t\treturn [];\n\t}) : [];\n\tif (suspensePromises.length > 0) throw Promise.all(suspensePromises);\n\tconst firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n\t\tconst query = defaultedQueries[index];\n\t\treturn query && getHasError({\n\t\t\tresult,\n\t\t\terrorResetBoundary,\n\t\t\tthrowOnError: query.throwOnError,\n\t\t\tquery: client.getQueryCache().get(query.queryHash),\n\t\t\tsuspense: query.suspense\n\t\t});\n\t});\n\tif (firstSingleResultWhichShouldThrow) throw firstSingleResultWhichShouldThrow.error;\n\treturn getCombinedResult(trackResult());\n}\n//#endregion\nexport { useQueries };\n\n//# sourceMappingURL=useQueries.js.map"],"ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{
|
|
2
|
-
//# sourceMappingURL=useResolvedScheme-
|
|
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{E as r,I as i,L as a,O as o,S as s,j as c}from"./auth-CQO4MBUj.js";import{F as l,M as u,j as d}from"./badge-CqKF1pwz.js";import{r as f,t as p}from"./root-CDpNo7ef.js";import{t as m}from"./createLucideIcon-CLmh7Go-.js";import{a as h,c as g,o as _,s as v}from"./RowTitle-Bqt6evG9.js";import{o as y,t as b}from"./theme-65PB8uAu.js";import{g as x,l as S,v as C}from"./table-zG68ipQc.js";import{t as w}from"./coerce-DSIVtcR-.js";function T(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function E(e){return e instanceof Response&&!!e.options}var D=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=p:this.parentRoute||l();let r=n?p:t?.path;r&&r!==`/`&&(r=i(r));let o=t?.id||r,s=n?p:c((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(o??``));r===`__root__`&&(r=`/`);let u=s===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:c(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=s,this._fullPath=u,this._to=a(u)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>T({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},O=class{constructor({id:e}){this.notFound=e=>f({routeId:this.id,...e}),this.redirect=e=>T({from:this.id,...e}),this.id=e}},k=class extends D{constructor(e){super(e)}},A=e(t(),1),j=e(n(),1);function M(e){return new N({id:e})}var N=class extends O{constructor({id:e}){super({id:e}),this.useMatch=e=>u({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>d({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id,strict:!1}),this.useLoaderData=e=>g({...e,from:this.id,strict:!1}),this.useNavigate=()=>r({from:o().routesById[this.id].fullPath}),this.notFound=e=>f({routeId:this.id,...e}),this.Link=A.forwardRef((e,t)=>{let n=o().routesById[this.id].fullPath;return(0,j.jsx)(s,{ref:t,from:n,...e})})}},P=class extends D{constructor(e){super(e),this.useMatch=e=>u({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>d({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id}),this.useLoaderData=e=>g({...e,from:this.id}),this.useNavigate=()=>r({from:this.fullPath}),this.Link=A.forwardRef((e,t)=>(0,j.jsx)(s,{ref:t,from:this.fullPath,...e}))}};function F(e){return new P(e)}function I(){return e=>R(e)}var L=class extends k{constructor(e){super(e),this.useMatch=e=>u({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>d({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id}),this.useLoaderData=e=>g({...e,from:this.id}),this.useNavigate=()=>r({from:this.fullPath}),this.Link=A.forwardRef((e,t)=>(0,j.jsx)(s,{ref:t,from:this.fullPath,...e}))}};function R(e){return new L(e)}var z={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};z.node;var B=m(z),V={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};V.node;var H=m(V),U=[`rest`,`graphql`],W=x({tab:S(U).optional().catch(void 0),op:C().trim().min(1).max(200).optional().catch(void 0)}),G=[`changes`,`checks`,`consumers`,`timeline`],K=x({tab:S(G).optional().catch(void 0)}),q=x({cursor:C().max(500).optional().catch(void 0)}),J=[`diff`,`timeline`],Y=w().int().min(0).optional().catch(void 0),X=x({from:Y,tab:S(J).optional().catch(void 0),at:Y}),Z=()=>{let e=b(e=>e.appearance),t=b(e=>e.variants);return y(e,t)};export{G as a,W as c,I as d,F as f,T as h,q as i,H as l,E as m,J as n,K as o,M as p,X as r,U as s,Z as t,B as u};
|
|
2
|
+
//# sourceMappingURL=useResolvedScheme-C8vcQVko.js.map
|
package/dist/admin/assets/{useResolvedScheme-Cg8TdO85.js.map → useResolvedScheme-C8vcQVko.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolvedScheme-Cg8TdO85.js","names":["__iconData","z.object","z.enum","z.string","z.object","z.enum","z.object","z.string","z.coerce.number","z.enum","__toESM","require_jsx_runtime","cleanPath","useRouter","trimPathLeft","trimPathRight","useNavigate","Link","invariant","useMatch","useParams","notFound","rootRouteId","createLucideIcon","useRouteContext","useLoaderData","useSearch","useLoaderDeps","resolveScheme","useThemeStore","object","_enum","string","number","redirect","opts","headers","response","isRedirect","obj","BaseRoute","originalIndex","options","isRoot","path","customId","id","fullPath","children","lazyFn","BaseRouteApi","BaseRootRoute","import_react","require_react","import_jsx_runtime","getRouteApi","RouteApi","props","Route","createRoute","createRootRouteWithContext","createRootRoute","RootRoute","__iconData$1","Camera","__iconData","FileCodeCorner","EXPLORER_TABS","apiExplorerSearchSchema","CHANGE_SET_TABS","changeSetSearchSchema","snapshotsSearchSchema","SNAPSHOT_TABS","seq","snapshotSearchSchema","useResolvedScheme","appearance","state","variants"],"sources":["../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/route.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/route.js","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/camera.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/file-code-corner.mjs","../../src/features/Develop/ApiExplorer/searchSchema.ts","../../src/features/Develop/ChangeSet/searchSchema.ts","../../src/features/Develop/Snapshots/searchSchema.ts","../../src/hooks/useResolvedScheme.ts"],"sourcesContent":["//#region src/redirect.ts\n/**\n* Create a redirect Response understood by TanStack Router.\n*\n* Use from route `loader`/`beforeLoad` or server functions to trigger a\n* navigation. If `throw: true` is set, the redirect is thrown instead of\n* returned. External `href` values are classified as full-document\n* navigations when the router resolves the redirect.\n*\n* @param opts Options for the redirect. Common fields:\n* - `href`: absolute URL for external redirects.\n* - `statusCode`: HTTP status code to use (defaults to 307).\n* - `headers`: additional headers to include on the Response.\n* - Standard navigation options like `to`, `params`, `search`, `replace`,\n* and `reloadDocument` for internal redirects.\n* @returns A Response augmented with router navigation options.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction\n*/\nfunction redirect(opts) {\n\topts.statusCode = opts.statusCode || opts.code || 307;\n\tconst headers = new Headers(opts.headers);\n\tif (opts.href && headers.get(\"Location\") === null) headers.set(\"Location\", opts.href);\n\tconst response = new Response(null, {\n\t\tstatus: opts.statusCode,\n\t\theaders\n\t});\n\tresponse.options = opts;\n\tif (opts.throw) throw response;\n\treturn response;\n}\n/** Check whether a value is a TanStack Router redirect Response. */\nfunction isRedirect(obj) {\n\treturn obj instanceof Response && !!obj.options;\n}\n/** True if value is a redirect with a resolved `href` location. */\nfunction isResolvedRedirect(obj) {\n\treturn isRedirect(obj) && !!obj.options.href;\n}\n/** Parse a serialized redirect object back into a redirect Response. */\nfunction parseRedirect(obj) {\n\tif (obj !== null && typeof obj === \"object\" && obj.isSerializedRedirect) return redirect(obj);\n}\n//#endregion\nexport { isRedirect, isResolvedRedirect, parseRedirect, redirect };\n\n//# sourceMappingURL=redirect.js.map","import { invariant } from \"./invariant.js\";\nimport { cleanPath, trimPathLeft, trimPathRight } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect } from \"./redirect.js\";\n//#region src/route.ts\nvar BaseRoute = class {\n\tget to() {\n\t\treturn this._to;\n\t}\n\tget id() {\n\t\treturn this._id;\n\t}\n\tget path() {\n\t\treturn this._path;\n\t}\n\tget fullPath() {\n\t\treturn this._fullPath;\n\t}\n\tconstructor(options) {\n\t\tthis.init = (originalIndex) => {\n\t\t\tthis.originalIndex = originalIndex;\n\t\t\tthis._branch = void 0;\n\t\t\tconst options = this.options;\n\t\t\tconst isRoot = !options?.path && !options?.id;\n\t\t\tthis.parentRoute = this.options.getParentRoute?.();\n\t\t\tif (isRoot) this._path = rootRouteId;\n\t\t\telse if (!this.parentRoute) {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") throw new Error(`Invariant failed: Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`);\n\t\t\t\tinvariant();\n\t\t\t}\n\t\t\tlet path = isRoot ? rootRouteId : options?.path;\n\t\t\tif (path && path !== \"/\") path = trimPathLeft(path);\n\t\t\tconst customId = options?.id || path;\n\t\t\tconst id = isRoot ? rootRouteId : cleanPath((this.parentRoute.id === \"__root__\" ? \"\" : this.parentRoute.id) + \"/\" + (customId ?? \"\"));\n\t\t\tif (path === \"__root__\") path = \"/\";\n\t\t\tconst fullPath = id === \"__root__\" ? \"/\" : path === void 0 ? this.parentRoute.fullPath : cleanPath(this.parentRoute.fullPath + \"/\" + path);\n\t\t\tthis._path = path;\n\t\t\tthis._id = id;\n\t\t\tthis._fullPath = fullPath;\n\t\t\tthis._to = trimPathRight(fullPath);\n\t\t};\n\t\tthis.addChildren = (children) => {\n\t\t\treturn this._addFileChildren(children);\n\t\t};\n\t\tthis._addFileChildren = (children) => {\n\t\t\tif (Array.isArray(children)) this.children = children;\n\t\t\tif (typeof children === \"object\" && children !== null) this.children = Object.values(children);\n\t\t\treturn this;\n\t\t};\n\t\tthis._addFileTypes = () => {\n\t\t\treturn this;\n\t\t};\n\t\tthis.updateLoader = (options) => {\n\t\t\tObject.assign(this.options, options);\n\t\t\treturn this;\n\t\t};\n\t\tthis.update = (options) => {\n\t\t\tObject.assign(this.options, options);\n\t\t\treturn this;\n\t\t};\n\t\tthis.lazy = (lazyFn) => {\n\t\t\tthis.lazyFn = lazyFn;\n\t\t\treturn this;\n\t\t};\n\t\tthis.redirect = (opts) => redirect({\n\t\t\tfrom: this.fullPath,\n\t\t\t...opts\n\t\t});\n\t\tthis.options = options || {};\n\t\tthis.isRoot = !options?.getParentRoute;\n\t\tif (options?.id && options?.path) throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n\t}\n};\nvar BaseRouteApi = class {\n\tconstructor({ id }) {\n\t\tthis.notFound = (opts) => {\n\t\t\treturn notFound({\n\t\t\t\trouteId: this.id,\n\t\t\t\t...opts\n\t\t\t});\n\t\t};\n\t\tthis.redirect = (opts) => redirect({\n\t\t\tfrom: this.id,\n\t\t\t...opts\n\t\t});\n\t\tthis.id = id;\n\t}\n};\nvar BaseRootRoute = class extends BaseRoute {\n\tconstructor(options) {\n\t\tsuper(options);\n\t}\n};\n//#endregion\nexport { BaseRootRoute, BaseRoute, BaseRouteApi };\n\n//# sourceMappingURL=route.js.map","import { useRouter } from \"./useRouter.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouteContext } from \"./useRouteContext.js\";\nimport { Link } from \"./link.js\";\nimport { BaseRootRoute, BaseRoute, BaseRouteApi, notFound } from \"@tanstack/router-core\";\nimport React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/route.tsx\n/**\n* Returns a route-specific API that exposes type-safe hooks pre-bound\n* to a single route ID. Useful for consuming a route's APIs from files\n* where the route object isn't directly imported (e.g. code-split files).\n*\n* @param id Route ID string literal for the target route.\n* @returns A `RouteApi` instance bound to the given route ID.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/getRouteApiFunction\n*/\nfunction getRouteApi(id) {\n\treturn new RouteApi({ id });\n}\nvar RouteApi = class extends BaseRouteApi {\n\t/**\n\t* @deprecated Use the `getRouteApi` function instead.\n\t*/\n\tconstructor({ id }) {\n\t\tsuper({ id });\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id,\n\t\t\t\tstrict: false\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id,\n\t\t\t\tstrict: false\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: useRouter().routesById[this.id].fullPath });\n\t\t};\n\t\tthis.notFound = (opts) => {\n\t\t\treturn notFound({\n\t\t\t\trouteId: this.id,\n\t\t\t\t...opts\n\t\t\t});\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\tconst fullPath = useRouter().routesById[this.id].fullPath;\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\nvar Route = class extends BaseRoute {\n\t/**\n\t* @deprecated Use the `createRoute` function instead.\n\t*/\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: this.fullPath });\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: this.fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\n/**\n* Creates a non-root Route instance for code-based routing.\n*\n* Use this to define a route that will be composed into a route tree\n* (typically via a parent route's `addChildren`). If you're using file-based\n* routing, prefer `createFileRoute`.\n*\n* @param options Route options (path, component, loader, context, etc.).\n* @returns A Route instance to be attached to the route tree.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouteFunction\n*/\nfunction createRoute(options) {\n\treturn new Route(options);\n}\n/**\n* Creates a root route factory that requires a router context type.\n*\n* Use when your root route expects `context` to be provided to `createRouter`.\n* The returned function behaves like `createRootRoute` but enforces a context type.\n*\n* @returns A factory function to configure and return a root route.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteWithContextFunction\n*/\nfunction createRootRouteWithContext() {\n\treturn (options) => {\n\t\treturn createRootRoute(options);\n\t};\n}\n/**\n* @deprecated Use the `createRootRouteWithContext` function instead.\n*/\nvar rootRouteWithContext = createRootRouteWithContext;\nvar RootRoute = class extends BaseRootRoute {\n\t/**\n\t* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n\t*/\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: this.fullPath });\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: this.fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\n/**\n* Creates a root Route instance used to build your route tree.\n*\n* Typically paired with `createRouter({ routeTree })`. If you need to require\n* a typed router context, use `createRootRouteWithContext` instead.\n*\n* @param options Root route options (component, error, pending, etc.).\n* @returns A root route instance.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteFunction\n*/\nfunction createRootRoute(options) {\n\treturn new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n\treturn opts;\n}\nvar NotFoundRoute = class extends Route {\n\tconstructor(options) {\n\t\tsuper({\n\t\t\t...options,\n\t\t\tid: \"404\"\n\t\t});\n\t}\n};\n//#endregion\nexport { NotFoundRoute, RootRoute, Route, RouteApi, createRootRoute, createRootRouteWithContext, createRoute, createRouteMask, getRouteApi, rootRouteWithContext };\n\n//# sourceMappingURL=route.js.map","/**\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: \"camera\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\",\n key: \"18u6gg\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"13\", r: \"3\", key: \"1vg3eu\" }]\n ]\n};\n__iconData.node;\nconst Camera = createLucideIcon(__iconData);\n\nexport { __iconData, Camera as default };\n//# sourceMappingURL=camera.mjs.map\n","/**\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: \"file-code-corner\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35\",\n key: \"1wthlu\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"m5 16-3 3 3 3\", key: \"331omg\" }],\n [\"path\", { d: \"m9 22 3-3-3-3\", key: \"lsp7cz\" }]\n ],\n aliases: [\"file-code-2\"]\n};\n__iconData.node;\nconst FileCodeCorner = createLucideIcon(__iconData);\n\nexport { __iconData, FileCodeCorner as default };\n//# sourceMappingURL=file-code-corner.mjs.map\n","import { z } from 'zod';\n\nexport const EXPLORER_TABS = ['rest', 'graphql'] as const;\nexport type ExplorerTab = (typeof EXPLORER_TABS)[number];\n\n/** `/api-explorer?tab=rest&op=listArticle`: the tab and the selected operation (OpenAPI operationId or GraphQL root field). */\nexport const apiExplorerSearchSchema = z.object({\n tab: z.enum(EXPLORER_TABS).optional().catch(undefined),\n op: z.string().trim().min(1).max(200).optional().catch(undefined),\n});\n\nexport type ApiExplorerSearch = z.infer<typeof apiExplorerSearchSchema>;\n","import { z } from 'zod';\n\nexport const CHANGE_SET_TABS = ['changes', 'checks', 'consumers', 'timeline'] as const;\nexport type ChangeSetTab = (typeof CHANGE_SET_TABS)[number];\n\n/** `/changes/:id?tab=`: the review tab lives in the URL (bookmarkable, back-button friendly). */\nexport const changeSetSearchSchema = z.object({ tab: z.enum(CHANGE_SET_TABS).optional().catch(undefined) });\n","import { z } from 'zod';\n\nexport const snapshotsSearchSchema = z.object({ cursor: z.string().max(500).optional().catch(undefined) });\n\nexport const SNAPSHOT_TABS = ['diff', 'timeline'] as const;\nexport type SnapshotTab = (typeof SNAPSHOT_TABS)[number];\n\nconst seq = z.coerce.number().int().min(0).optional().catch(undefined);\n\n/** `/snapshots/:seq?from=&tab=&at=`: the compare base, the tab, and the scrubber's position. */\nexport const snapshotSearchSchema = z.object({\n from: seq,\n tab: z.enum(SNAPSHOT_TABS).optional().catch(undefined),\n at: seq,\n});\n","import type { ThemeVariant } from '@shapio/schema';\nimport { resolveScheme } from '@/helpers/theme';\nimport { useThemeStore } from '@/stores/theme';\n\n/** The variant rendered now (light or dark): the saved look's, or the theme's own if it lost that variant. */\nexport const useResolvedScheme = (): ThemeVariant => {\n const appearance = useThemeStore((state) => state.appearance);\n const variants = useThemeStore((state) => state.variants);\n return resolveScheme(appearance, variants);\n};\n"],"ignoreList":[0,1,2,3,4],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useResolvedScheme-C8vcQVko.js","names":["__iconData","z.object","z.enum","z.string","z.object","z.enum","z.object","z.string","z.coerce.number","z.enum","__toESM","require_jsx_runtime","useNavigate","trimPathLeft","trimPathRight","useRouter","Link","cleanPath","invariant","useMatch","useParams","notFound","rootRouteId","createLucideIcon","useRouteContext","useLoaderData","useSearch","useLoaderDeps","resolveScheme","useThemeStore","object","_enum","string","number","redirect","opts","headers","response","isRedirect","obj","BaseRoute","originalIndex","options","isRoot","path","customId","id","fullPath","children","lazyFn","BaseRouteApi","BaseRootRoute","import_react","require_react","import_jsx_runtime","getRouteApi","RouteApi","props","Route","createRoute","createRootRouteWithContext","createRootRoute","RootRoute","__iconData$1","Camera","__iconData","FileCodeCorner","EXPLORER_TABS","apiExplorerSearchSchema","CHANGE_SET_TABS","changeSetSearchSchema","snapshotsSearchSchema","SNAPSHOT_TABS","seq","snapshotSearchSchema","useResolvedScheme","appearance","state","variants"],"sources":["../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../node_modules/.pnpm/@tanstack+router-core@1.171.34/node_modules/@tanstack/router-core/dist/esm/route.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/route.js","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/camera.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/file-code-corner.mjs","../../src/features/Develop/ApiExplorer/searchSchema.ts","../../src/features/Develop/ChangeSet/searchSchema.ts","../../src/features/Develop/Snapshots/searchSchema.ts","../../src/hooks/useResolvedScheme.ts"],"sourcesContent":["//#region src/redirect.ts\n/**\n* Create a redirect Response understood by TanStack Router.\n*\n* Use from route `loader`/`beforeLoad` or server functions to trigger a\n* navigation. If `throw: true` is set, the redirect is thrown instead of\n* returned. External `href` values are classified as full-document\n* navigations when the router resolves the redirect.\n*\n* @param opts Options for the redirect. Common fields:\n* - `href`: absolute URL for external redirects.\n* - `statusCode`: HTTP status code to use (defaults to 307).\n* - `headers`: additional headers to include on the Response.\n* - Standard navigation options like `to`, `params`, `search`, `replace`,\n* and `reloadDocument` for internal redirects.\n* @returns A Response augmented with router navigation options.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction\n*/\nfunction redirect(opts) {\n\topts.statusCode = opts.statusCode || opts.code || 307;\n\tconst headers = new Headers(opts.headers);\n\tif (opts.href && headers.get(\"Location\") === null) headers.set(\"Location\", opts.href);\n\tconst response = new Response(null, {\n\t\tstatus: opts.statusCode,\n\t\theaders\n\t});\n\tresponse.options = opts;\n\tif (opts.throw) throw response;\n\treturn response;\n}\n/** Check whether a value is a TanStack Router redirect Response. */\nfunction isRedirect(obj) {\n\treturn obj instanceof Response && !!obj.options;\n}\n/** True if value is a redirect with a resolved `href` location. */\nfunction isResolvedRedirect(obj) {\n\treturn isRedirect(obj) && !!obj.options.href;\n}\n/** Parse a serialized redirect object back into a redirect Response. */\nfunction parseRedirect(obj) {\n\tif (obj !== null && typeof obj === \"object\" && obj.isSerializedRedirect) return redirect(obj);\n}\n//#endregion\nexport { isRedirect, isResolvedRedirect, parseRedirect, redirect };\n\n//# sourceMappingURL=redirect.js.map","import { invariant } from \"./invariant.js\";\nimport { cleanPath, trimPathLeft, trimPathRight } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect } from \"./redirect.js\";\n//#region src/route.ts\nvar BaseRoute = class {\n\tget to() {\n\t\treturn this._to;\n\t}\n\tget id() {\n\t\treturn this._id;\n\t}\n\tget path() {\n\t\treturn this._path;\n\t}\n\tget fullPath() {\n\t\treturn this._fullPath;\n\t}\n\tconstructor(options) {\n\t\tthis.init = (originalIndex) => {\n\t\t\tthis.originalIndex = originalIndex;\n\t\t\tthis._branch = void 0;\n\t\t\tconst options = this.options;\n\t\t\tconst isRoot = !options?.path && !options?.id;\n\t\t\tthis.parentRoute = this.options.getParentRoute?.();\n\t\t\tif (isRoot) this._path = rootRouteId;\n\t\t\telse if (!this.parentRoute) {\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") throw new Error(`Invariant failed: Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`);\n\t\t\t\tinvariant();\n\t\t\t}\n\t\t\tlet path = isRoot ? rootRouteId : options?.path;\n\t\t\tif (path && path !== \"/\") path = trimPathLeft(path);\n\t\t\tconst customId = options?.id || path;\n\t\t\tconst id = isRoot ? rootRouteId : cleanPath((this.parentRoute.id === \"__root__\" ? \"\" : this.parentRoute.id) + \"/\" + (customId ?? \"\"));\n\t\t\tif (path === \"__root__\") path = \"/\";\n\t\t\tconst fullPath = id === \"__root__\" ? \"/\" : path === void 0 ? this.parentRoute.fullPath : cleanPath(this.parentRoute.fullPath + \"/\" + path);\n\t\t\tthis._path = path;\n\t\t\tthis._id = id;\n\t\t\tthis._fullPath = fullPath;\n\t\t\tthis._to = trimPathRight(fullPath);\n\t\t};\n\t\tthis.addChildren = (children) => {\n\t\t\treturn this._addFileChildren(children);\n\t\t};\n\t\tthis._addFileChildren = (children) => {\n\t\t\tif (Array.isArray(children)) this.children = children;\n\t\t\tif (typeof children === \"object\" && children !== null) this.children = Object.values(children);\n\t\t\treturn this;\n\t\t};\n\t\tthis._addFileTypes = () => {\n\t\t\treturn this;\n\t\t};\n\t\tthis.updateLoader = (options) => {\n\t\t\tObject.assign(this.options, options);\n\t\t\treturn this;\n\t\t};\n\t\tthis.update = (options) => {\n\t\t\tObject.assign(this.options, options);\n\t\t\treturn this;\n\t\t};\n\t\tthis.lazy = (lazyFn) => {\n\t\t\tthis.lazyFn = lazyFn;\n\t\t\treturn this;\n\t\t};\n\t\tthis.redirect = (opts) => redirect({\n\t\t\tfrom: this.fullPath,\n\t\t\t...opts\n\t\t});\n\t\tthis.options = options || {};\n\t\tthis.isRoot = !options?.getParentRoute;\n\t\tif (options?.id && options?.path) throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n\t}\n};\nvar BaseRouteApi = class {\n\tconstructor({ id }) {\n\t\tthis.notFound = (opts) => {\n\t\t\treturn notFound({\n\t\t\t\trouteId: this.id,\n\t\t\t\t...opts\n\t\t\t});\n\t\t};\n\t\tthis.redirect = (opts) => redirect({\n\t\t\tfrom: this.id,\n\t\t\t...opts\n\t\t});\n\t\tthis.id = id;\n\t}\n};\nvar BaseRootRoute = class extends BaseRoute {\n\tconstructor(options) {\n\t\tsuper(options);\n\t}\n};\n//#endregion\nexport { BaseRootRoute, BaseRoute, BaseRouteApi };\n\n//# sourceMappingURL=route.js.map","import { useRouter } from \"./useRouter.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouteContext } from \"./useRouteContext.js\";\nimport { Link } from \"./link.js\";\nimport { BaseRootRoute, BaseRoute, BaseRouteApi, notFound } from \"@tanstack/router-core\";\nimport React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region src/route.tsx\n/**\n* Returns a route-specific API that exposes type-safe hooks pre-bound\n* to a single route ID. Useful for consuming a route's APIs from files\n* where the route object isn't directly imported (e.g. code-split files).\n*\n* @param id Route ID string literal for the target route.\n* @returns A `RouteApi` instance bound to the given route ID.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/getRouteApiFunction\n*/\nfunction getRouteApi(id) {\n\treturn new RouteApi({ id });\n}\nvar RouteApi = class extends BaseRouteApi {\n\t/**\n\t* @deprecated Use the `getRouteApi` function instead.\n\t*/\n\tconstructor({ id }) {\n\t\tsuper({ id });\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id,\n\t\t\t\tstrict: false\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id,\n\t\t\t\tstrict: false\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: useRouter().routesById[this.id].fullPath });\n\t\t};\n\t\tthis.notFound = (opts) => {\n\t\t\treturn notFound({\n\t\t\t\trouteId: this.id,\n\t\t\t\t...opts\n\t\t\t});\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\tconst fullPath = useRouter().routesById[this.id].fullPath;\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\nvar Route = class extends BaseRoute {\n\t/**\n\t* @deprecated Use the `createRoute` function instead.\n\t*/\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: this.fullPath });\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: this.fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\n/**\n* Creates a non-root Route instance for code-based routing.\n*\n* Use this to define a route that will be composed into a route tree\n* (typically via a parent route's `addChildren`). If you're using file-based\n* routing, prefer `createFileRoute`.\n*\n* @param options Route options (path, component, loader, context, etc.).\n* @returns A Route instance to be attached to the route tree.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRouteFunction\n*/\nfunction createRoute(options) {\n\treturn new Route(options);\n}\n/**\n* Creates a root route factory that requires a router context type.\n*\n* Use when your root route expects `context` to be provided to `createRouter`.\n* The returned function behaves like `createRootRoute` but enforces a context type.\n*\n* @returns A factory function to configure and return a root route.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteWithContextFunction\n*/\nfunction createRootRouteWithContext() {\n\treturn (options) => {\n\t\treturn createRootRoute(options);\n\t};\n}\n/**\n* @deprecated Use the `createRootRouteWithContext` function instead.\n*/\nvar rootRouteWithContext = createRootRouteWithContext;\nvar RootRoute = class extends BaseRootRoute {\n\t/**\n\t* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n\t*/\n\tconstructor(options) {\n\t\tsuper(options);\n\t\tthis.useMatch = (opts) => {\n\t\t\treturn useMatch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useRouteContext = (opts) => {\n\t\t\treturn useRouteContext({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useSearch = (opts) => {\n\t\t\treturn useSearch({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useParams = (opts) => {\n\t\t\treturn useParams({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderDeps = (opts) => {\n\t\t\treturn useLoaderDeps({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useLoaderData = (opts) => {\n\t\t\treturn useLoaderData({\n\t\t\t\t...opts,\n\t\t\t\tfrom: this.id\n\t\t\t});\n\t\t};\n\t\tthis.useNavigate = () => {\n\t\t\treturn useNavigate({ from: this.fullPath });\n\t\t};\n\t\tthis.Link = React.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ jsx(Link, {\n\t\t\t\tref,\n\t\t\t\tfrom: this.fullPath,\n\t\t\t\t...props\n\t\t\t});\n\t\t});\n\t}\n};\n/**\n* Creates a root Route instance used to build your route tree.\n*\n* Typically paired with `createRouter({ routeTree })`. If you need to require\n* a typed router context, use `createRootRouteWithContext` instead.\n*\n* @param options Root route options (component, error, pending, etc.).\n* @returns A root route instance.\n* @link https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteFunction\n*/\nfunction createRootRoute(options) {\n\treturn new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n\treturn opts;\n}\nvar NotFoundRoute = class extends Route {\n\tconstructor(options) {\n\t\tsuper({\n\t\t\t...options,\n\t\t\tid: \"404\"\n\t\t});\n\t}\n};\n//#endregion\nexport { NotFoundRoute, RootRoute, Route, RouteApi, createRootRoute, createRootRouteWithContext, createRoute, createRouteMask, getRouteApi, rootRouteWithContext };\n\n//# sourceMappingURL=route.js.map","/**\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: \"camera\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\",\n key: \"18u6gg\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"13\", r: \"3\", key: \"1vg3eu\" }]\n ]\n};\n__iconData.node;\nconst Camera = createLucideIcon(__iconData);\n\nexport { __iconData, Camera as default };\n//# sourceMappingURL=camera.mjs.map\n","/**\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: \"file-code-corner\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35\",\n key: \"1wthlu\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"m5 16-3 3 3 3\", key: \"331omg\" }],\n [\"path\", { d: \"m9 22 3-3-3-3\", key: \"lsp7cz\" }]\n ],\n aliases: [\"file-code-2\"]\n};\n__iconData.node;\nconst FileCodeCorner = createLucideIcon(__iconData);\n\nexport { __iconData, FileCodeCorner as default };\n//# sourceMappingURL=file-code-corner.mjs.map\n","import { z } from 'zod';\n\nexport const EXPLORER_TABS = ['rest', 'graphql'] as const;\nexport type ExplorerTab = (typeof EXPLORER_TABS)[number];\n\n/** `/api-explorer?tab=rest&op=listArticle`: the tab and the selected operation (OpenAPI operationId or GraphQL root field). */\nexport const apiExplorerSearchSchema = z.object({\n tab: z.enum(EXPLORER_TABS).optional().catch(undefined),\n op: z.string().trim().min(1).max(200).optional().catch(undefined),\n});\n\nexport type ApiExplorerSearch = z.infer<typeof apiExplorerSearchSchema>;\n","import { z } from 'zod';\n\nexport const CHANGE_SET_TABS = ['changes', 'checks', 'consumers', 'timeline'] as const;\nexport type ChangeSetTab = (typeof CHANGE_SET_TABS)[number];\n\n/** `/changes/:id?tab=`: the review tab lives in the URL (bookmarkable, back-button friendly). */\nexport const changeSetSearchSchema = z.object({ tab: z.enum(CHANGE_SET_TABS).optional().catch(undefined) });\n","import { z } from 'zod';\n\nexport const snapshotsSearchSchema = z.object({ cursor: z.string().max(500).optional().catch(undefined) });\n\nexport const SNAPSHOT_TABS = ['diff', 'timeline'] as const;\nexport type SnapshotTab = (typeof SNAPSHOT_TABS)[number];\n\nconst seq = z.coerce.number().int().min(0).optional().catch(undefined);\n\n/** `/snapshots/:seq?from=&tab=&at=`: the compare base, the tab, and the scrubber's position. */\nexport const snapshotSearchSchema = z.object({\n from: seq,\n tab: z.enum(SNAPSHOT_TABS).optional().catch(undefined),\n at: seq,\n});\n","import type { ThemeVariant } from '@shapio/schema';\nimport { resolveScheme } from '@/helpers/theme';\nimport { useThemeStore } from '@/stores/theme';\n\n/** The variant rendered now (light or dark): the saved look's, or the theme's own if it lost that variant. */\nexport const useResolvedScheme = (): ThemeVariant => {\n const appearance = useThemeStore((state) => state.appearance);\n const variants = useThemeStore((state) => state.variants);\n return resolveScheme(appearance, variants);\n};\n"],"ignoreList":[0,1,2,3,4],"mappings":"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"}
|
package/dist/admin/assets/{useSchemaScopeAccess-DyfiZnzs.js → useSchemaScopeAccess-ByrxIdKM.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as e}from"./auth-
|
|
2
|
-
//# sourceMappingURL=useSchemaScopeAccess-
|
|
1
|
+
import{u as e}from"./auth-CQO4MBUj.js";import{t}from"./createLucideIcon-CLmh7Go-.js";var n={name:`braces`,size:24,node:[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]],aliases:[`curly-braces`]};n.node;var r=t(n),i={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};i.node;var a=t(i),o=()=>{let t=e().data;return{multiSite:(t?.siteCount??1)>1,canShare:t?.networkPermissions.includes(`schema.create`)??!1,canCreateOnSite:t?.sitePermissions.includes(`schema.create`)??!1}};export{a as n,r,o as t};
|
|
2
|
+
//# sourceMappingURL=useSchemaScopeAccess-ByrxIdKM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSchemaScopeAccess-
|
|
1
|
+
{"version":3,"file":"useSchemaScopeAccess-ByrxIdKM.js","names":["__iconData","useMe","__iconData$1","Braces","createLucideIcon","__iconData","Link2","useSchemaScopeAccess","me"],"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/braces.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/link-2.mjs","../../src/hooks/useSchemaScopeAccess.ts"],"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: \"braces\",\n size: 24,\n node: [\n [\n \"path\",\n { d: \"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\", key: \"ezmyqa\" }\n ],\n [\n \"path\",\n {\n d: \"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\",\n key: \"e1hn23\"\n }\n ]\n ],\n aliases: [\"curly-braces\"]\n};\n__iconData.node;\nconst Braces = createLucideIcon(__iconData);\n\nexport { __iconData, Braces as default };\n//# sourceMappingURL=braces.mjs.map\n","/**\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: \"link-2\",\n size: 24,\n node: [\n [\"path\", { d: \"M9 17H7A5 5 0 0 1 7 7h2\", key: \"8i5ue5\" }],\n [\"path\", { d: \"M15 7h2a5 5 0 1 1 0 10h-2\", key: \"1b9ql8\" }],\n [\"line\", { x1: \"8\", x2: \"16\", y1: \"12\", y2: \"12\", key: \"1jonct\" }]\n ]\n};\n__iconData.node;\nconst Link2 = createLucideIcon(__iconData);\n\nexport { __iconData, Link2 as default };\n//# sourceMappingURL=link-2.mjs.map\n","import { useMe } from '@/api/auth';\n\n/**\n * Where definitions can live, for this admin: `multiSite` when the instance has more than one site (scope\n * is shown only then), `canShare` when the admin may create and change definitions shared with all sites\n * (`schema.create` on every site), and `canCreateOnSite` when a role on this site grants it for the site's\n * own definitions. The server enforces each of these.\n */\nexport const useSchemaScopeAccess = () => {\n const me = useMe().data;\n return {\n multiSite: (me?.siteCount ?? 1) > 1,\n canShare: me?.networkPermissions.includes('schema.create') ?? false,\n canCreateOnSite: me?.sitePermissions.includes('schema.create') ?? false,\n };\n};\n"],"ignoreList":[0,1],"mappings":"qFASA,IAAMA,EAAa,CACjB,KAAM,SACN,KAAM,GACN,KAAM,CACJ,CACE,OACA,CAAE,EAAG,uEAAwE,IAAK,QAAS,CAC7F,EACA,CACE,OACA,CACE,EAAG,2EACH,IAAK,QACP,CACF,CACF,EACA,QAAS,CAAC,cAAc,CAC1B,EACAA,EAAW,KACX,IAAMG,EAASC,EAAiBJ,CAAU,ECnBpCK,EAAa,CACjB,KAAM,SACN,KAAM,GACN,KAAM,CACJ,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAS,CAAC,EACxD,CAAC,OAAQ,CAAE,EAAG,4BAA6B,IAAK,QAAS,CAAC,EAC1D,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAS,CAAC,CACnE,CACF,EACAA,EAAW,KACX,IAAMC,EAAQF,EAAiBC,CAAU,ECX5BE,MAA6B,CACxC,IAAMC,EAAKP,EAAM,CAAC,CAAC,KACnB,MAAO,CACL,WAAYO,GAAI,WAAa,GAAK,EAClC,SAAUA,GAAI,mBAAmB,SAAS,eAAe,GAAK,GAC9D,gBAAiBA,GAAI,gBAAgB,SAAS,eAAe,GAAK,EACpE,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Ht as e,Pt as t,Vt as n,bn as r,ct as i,un as a,ut as o}from"./src-ndgTSYLX.js";import{n as s,t as c}from"./createLucideIcon-CLmh7Go-.js";var l={name:`user-plus`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]};l.node;var u=c(l),d=n=>e({queryKey:t.audit.list(n),queryFn:()=>o.audit.list(n),placeholderData:a,meta:{silent:!0}}),f=[`name`,`title`,`label`,`email`,`filename`,`apiKey`],p=e=>{if(typeof e!=`object`||!e)return;let t=e;for(let e of f){let n=t[e];if(typeof n==`string`&&n.trim()!==``)return n}},m={"admin_user.create":`audit.actions.adminUserCreate`,"admin_user.delete":`audit.actions.adminUserDelete`,"admin_user.password_change":`audit.actions.adminUserPasswordChange`,"admin_user.update":`audit.actions.adminUserUpdate`,"api_token.create":`audit.actions.apiTokenCreate`,"api_token.revoke":`audit.actions.apiTokenRevoke`,"app_auth.refresh_reuse":`audit.actions.appAuthRefreshReuse`,"app_role.create":`audit.actions.appRoleCreate`,"app_role.delete":`audit.actions.appRoleDelete`,"app_role.update":`audit.actions.appRoleUpdate`,"app_user.block":`audit.actions.appUserBlock`,"app_user.unblock":`audit.actions.appUserUnblock`,"app_user.confirm_email":`audit.actions.appUserConfirmEmail`,"app_user.confirmation_resend":`audit.actions.appUserConfirmationResend`,"app_user.delete":`audit.actions.appUserDelete`,"app_user.oauth_link":`audit.actions.appUserOauthLink`,"app_user.password_change":`audit.actions.appUserPasswordChange`,"app_user.password_reset":`audit.actions.appUserPasswordReset`,"app_user.password_reset_request":`audit.actions.appUserPasswordResetRequest`,"app_user.register":`audit.actions.appUserRegister`,"app_user.roles_change":`audit.actions.appUserRolesChange`,"app_user.update":`audit.actions.appUserUpdate`,"assist.alt_text":`audit.actions.assistAltText`,"assist.content_ops":`audit.actions.assistContentOps`,"assist.rewrite":`audit.actions.assistRewrite`,"assist.schema_draft":`audit.actions.assistSchemaDraft`,"assist.summarize":`audit.actions.assistSummarize`,"assist.translate":`audit.actions.assistTranslate`,"auth.login":`audit.actions.authLogin`,"auth.logout":`audit.actions.authLogout`,"auth.password_reset":`audit.actions.authPasswordReset`,"auth.password_reset_request":`audit.actions.authPasswordResetRequest`,"change_set.create":`audit.actions.changeSetCreate`,"change_set.discard":`audit.actions.changeSetDiscard`,"change_set.item_add":`audit.actions.changeSetItemAdd`,"change_set.item_changed_after_review":`audit.actions.changeSetItemChangedAfterReview`,"change_set.item_remove":`audit.actions.changeSetItemRemove`,"change_set.schedule":`audit.actions.changeSetSchedule`,"change_set.schema_draft":`audit.actions.changeSetSchemaDraft`,"change_set.schema_draft_remove":`audit.actions.changeSetSchemaDraftRemove`,"change_set.ship":`audit.actions.changeSetShip`,"change_set.shipping":`audit.actions.changeSetShipping`,"change_set.unschedule":`audit.actions.changeSetUnschedule`,"change_set.update":`audit.actions.changeSetUpdate`,"content.delete":`audit.actions.contentDelete`,"content.publish":`audit.actions.contentPublish`,"content.restore":`audit.actions.contentRestore`,"content.unpublish":`audit.actions.contentUnpublish`,"deployment.retry":`audit.actions.deploymentRetry`,"deployment.trigger":`audit.actions.deploymentTrigger`,"deployment_connection.create":`audit.actions.deploymentConnectionCreate`,"deployment_connection.delete":`audit.actions.deploymentConnectionDelete`,"deployment_connection.update":`audit.actions.deploymentConnectionUpdate`,"invitation.accept":`audit.actions.invitationAccept`,"invitation.create":`audit.actions.invitationCreate`,"invitation.link":`audit.actions.invitationLink`,"invitation.revoke":`audit.actions.invitationRevoke`,"job.retry":`audit.actions.jobRetry`,"locale.create":`audit.actions.localeCreate`,"locale.delete":`audit.actions.localeDelete`,"locale.update":`audit.actions.localeUpdate`,"media.delete":`audit.actions.mediaDelete`,"media.folder.delete":`audit.actions.mediaFolderDelete`,"media.replace":`audit.actions.mediaReplace`,"media.upload":`audit.actions.mediaUpload`,"media.visibility.change":`audit.actions.mediaVisibilityChange`,"preview_token.create":`audit.actions.previewTokenCreate`,"preview_token.revoke":`audit.actions.previewTokenRevoke`,"publishing.schedule":`audit.actions.publishingSchedule`,"publishing.schedule.publish":`audit.actions.publishingSchedulePublish`,"publishing.schedule.unpublish":`audit.actions.publishingScheduleUnpublish`,"publishing.schedule.cancel":`audit.actions.publishingScheduleCancel`,"publishing.schedule.execute":`audit.actions.publishingScheduleExecute`,"role.create":`audit.actions.roleCreate`,"role.delete":`audit.actions.roleDelete`,"role.update":`audit.actions.roleUpdate`,"schema.activate":`audit.actions.schemaActivate`,"schema.change.request":`audit.actions.schemaChangeRequest`,"schema.create":`audit.actions.schemaCreate`,"schema.delete":`audit.actions.schemaDelete`,"schema.scope":`audit.actions.schemaScope`,"schema.settings.update":`audit.actions.schemaSettingsUpdate`,"session.revoke":`audit.actions.sessionRevoke`,"session.revoke_all":`audit.actions.sessionRevokeAll`,"setup.complete":`audit.actions.setupComplete`,"transfer.import":`audit.actions.transferImport`,"webhook.create":`audit.actions.webhookCreate`,"webhook.delete":`audit.actions.webhookDelete`,"webhook.redeliver":`audit.actions.webhookRedeliver`,"webhook.rotate_secret":`audit.actions.webhookRotateSecret`,"webhook.test":`audit.actions.webhookTest`,"webhook.update":`audit.actions.webhookUpdate`},h={admin_invitation:`audit.targets.adminInvitation`,admin_role:`audit.targets.adminRole`,admin_session:`audit.targets.adminSession`,admin_user:`audit.targets.adminUser`,api_token:`audit.targets.apiToken`,app_role:`audit.targets.appRole`,app_user:`audit.targets.appUser`,change_set:`audit.targets.changeSet`,component:`audit.targets.component`,deployment_connection:`audit.targets.deploymentConnection`,entry:`audit.targets.entry`,job:`audit.targets.job`,locale:`audit.targets.locale`,media_asset:`audit.targets.mediaAsset`,media_folder:`audit.targets.mediaFolder`,model:`audit.targets.model`,preview_token:`audit.targets.previewToken`,schemaSettings:`audit.targets.schemaSettings`,webhook:`audit.targets.webhook`},g=e=>Object.hasOwn(m,e),_=e=>Object.hasOwn(h,e),v=()=>{let{t:e}=s();return{actionLabel:t=>g(t)?e(m[t]):void 0,targetLabel:t=>_(t)?e(h[t]):void 0}},y=()=>e({queryKey:t.users,queryFn:()=>o.users.list(),meta:{silent:!0}}),b=()=>e({queryKey:t.invitations,queryFn:()=>o.invitations.list(),meta:{silent:!0}}),x=()=>{let e=r();return n({mutationKey:[`invitations`,`create`],meta:{silent:!0},mutationFn:e=>i(()=>o.invitations.create(e)),onSuccess:()=>e.invalidateQueries({queryKey:t.invitations})})},S=()=>{let e=r();return n({mutationKey:[`invitations`,`revoke`],mutationFn:e=>i(()=>o.invitations.revoke(e)),onSettled:()=>e.invalidateQueries({queryKey:t.invitations})})},C=()=>n({mutationKey:[`invitations`,`link`],mutationFn:e=>i(()=>o.invitations.link(e))}),w=()=>{let e=r();return n({mutationKey:[`users`,`update`],meta:{silent:!0},mutationFn:({id:e,input:t})=>i(()=>o.users.update(e,t)),onSettled:()=>e.invalidateQueries({queryKey:t.users})})},T=()=>{let e=r();return n({mutationKey:[`users`,`setStatus`],mutationFn:({id:e,status:t})=>i(()=>o.users.update(e,{status:t})),onSettled:()=>e.invalidateQueries({queryKey:t.users})})},E=()=>{let e=r();return n({mutationKey:[`users`,`remove`],mutationFn:e=>i(()=>o.users.remove(e)),onSettled:()=>e.invalidateQueries({queryKey:t.users})})};export{S as a,y as c,d,u as f,E as i,v as l,x as n,T as o,C as r,w as s,b as t,p as u};
|
|
2
|
+
//# sourceMappingURL=users-2iJYwlJb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users-2iJYwlJb.js","names":["useQuery","queryKeys","useMutation","useQueryClient","withCsrf","keepPreviousData","adminApi","useTranslation","createLucideIcon","__iconData","UserPlus","useAuditEvents","query","NAME_FIELDS","auditTargetName","metadata","record","field","value","AUDIT_ACTION_LABEL_KEYS","AUDIT_TARGET_LABEL_KEYS","isActionCode","code","isTargetType","type","useAuditLabels","t","useUsers","useInvitations","useInviteUser","queryClient","input","useRevokeInvitation","id","useIssueInvitationLink","useUpdateUser","useSetUserStatus","useRemoveUser"],"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/user-plus.mjs","../../src/api/audit.ts","../../src/helpers/auditTargetName.ts","../../src/constants/auditLabels.ts","../../src/hooks/useAuditLabels.ts","../../src/api/users.ts"],"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: \"user-plus\",\n size: 24,\n node: [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"19\", x2: \"19\", y1: \"8\", y2: \"14\", key: \"1bvyxn\" }],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"11\", y2: \"11\", key: \"1shjgl\" }]\n ]\n};\n__iconData.node;\nconst UserPlus = createLucideIcon(__iconData);\n\nexport { __iconData, UserPlus as default };\n//# sourceMappingURL=user-plus.mjs.map\n","import type { AuditQuery } from '@shapio/client';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\nexport const useAuditEvents = (query: AuditQuery) =>\n useQuery({\n queryKey: queryKeys.audit.list(query),\n queryFn: () => adminApi.audit.list(query),\n placeholderData: keepPreviousData,\n meta: { silent: true },\n });\n","/** Metadata fields that name an audit event's target, in order of preference. */\nconst NAME_FIELDS = ['name', 'title', 'label', 'email', 'filename', 'apiKey'] as const;\n\n/** The target's name as the server recorded it in the event's metadata, if it did. */\nexport const auditTargetName = (metadata: unknown): string | undefined => {\n if (typeof metadata !== 'object' || metadata === null) {\n return undefined;\n }\n const record = metadata as Record<string, unknown>;\n for (const field of NAME_FIELDS) {\n const value = record[field];\n if (typeof value === 'string' && value.trim() !== '') {\n return value;\n }\n }\n return undefined;\n};\n","/**\n * Translation keys for the audit action codes and target types the API records (apps/api: `recordAudit` and\n * route `config.audit` declarations). Codes contain dots, which i18next reads as nesting, hence the maps.\n * A code missing here is shown raw.\n */\nexport const AUDIT_ACTION_LABEL_KEYS = {\n 'admin_user.create': 'audit.actions.adminUserCreate',\n 'admin_user.delete': 'audit.actions.adminUserDelete',\n 'admin_user.password_change': 'audit.actions.adminUserPasswordChange',\n 'admin_user.update': 'audit.actions.adminUserUpdate',\n 'api_token.create': 'audit.actions.apiTokenCreate',\n 'api_token.revoke': 'audit.actions.apiTokenRevoke',\n 'app_auth.refresh_reuse': 'audit.actions.appAuthRefreshReuse',\n 'app_role.create': 'audit.actions.appRoleCreate',\n 'app_role.delete': 'audit.actions.appRoleDelete',\n 'app_role.update': 'audit.actions.appRoleUpdate',\n 'app_user.block': 'audit.actions.appUserBlock',\n 'app_user.unblock': 'audit.actions.appUserUnblock',\n 'app_user.confirm_email': 'audit.actions.appUserConfirmEmail',\n 'app_user.confirmation_resend': 'audit.actions.appUserConfirmationResend',\n 'app_user.delete': 'audit.actions.appUserDelete',\n 'app_user.oauth_link': 'audit.actions.appUserOauthLink',\n 'app_user.password_change': 'audit.actions.appUserPasswordChange',\n 'app_user.password_reset': 'audit.actions.appUserPasswordReset',\n 'app_user.password_reset_request': 'audit.actions.appUserPasswordResetRequest',\n 'app_user.register': 'audit.actions.appUserRegister',\n 'app_user.roles_change': 'audit.actions.appUserRolesChange',\n 'app_user.update': 'audit.actions.appUserUpdate',\n 'assist.alt_text': 'audit.actions.assistAltText',\n 'assist.content_ops': 'audit.actions.assistContentOps',\n 'assist.rewrite': 'audit.actions.assistRewrite',\n 'assist.schema_draft': 'audit.actions.assistSchemaDraft',\n 'assist.summarize': 'audit.actions.assistSummarize',\n 'assist.translate': 'audit.actions.assistTranslate',\n 'auth.login': 'audit.actions.authLogin',\n 'auth.logout': 'audit.actions.authLogout',\n 'auth.password_reset': 'audit.actions.authPasswordReset',\n 'auth.password_reset_request': 'audit.actions.authPasswordResetRequest',\n 'change_set.create': 'audit.actions.changeSetCreate',\n 'change_set.discard': 'audit.actions.changeSetDiscard',\n 'change_set.item_add': 'audit.actions.changeSetItemAdd',\n 'change_set.item_changed_after_review': 'audit.actions.changeSetItemChangedAfterReview',\n 'change_set.item_remove': 'audit.actions.changeSetItemRemove',\n 'change_set.schedule': 'audit.actions.changeSetSchedule',\n 'change_set.schema_draft': 'audit.actions.changeSetSchemaDraft',\n 'change_set.schema_draft_remove': 'audit.actions.changeSetSchemaDraftRemove',\n 'change_set.ship': 'audit.actions.changeSetShip',\n 'change_set.shipping': 'audit.actions.changeSetShipping',\n 'change_set.unschedule': 'audit.actions.changeSetUnschedule',\n 'change_set.update': 'audit.actions.changeSetUpdate',\n 'content.delete': 'audit.actions.contentDelete',\n 'content.publish': 'audit.actions.contentPublish',\n 'content.restore': 'audit.actions.contentRestore',\n 'content.unpublish': 'audit.actions.contentUnpublish',\n 'deployment.retry': 'audit.actions.deploymentRetry',\n 'deployment.trigger': 'audit.actions.deploymentTrigger',\n 'deployment_connection.create': 'audit.actions.deploymentConnectionCreate',\n 'deployment_connection.delete': 'audit.actions.deploymentConnectionDelete',\n 'deployment_connection.update': 'audit.actions.deploymentConnectionUpdate',\n 'invitation.accept': 'audit.actions.invitationAccept',\n 'invitation.create': 'audit.actions.invitationCreate',\n 'invitation.link': 'audit.actions.invitationLink',\n 'invitation.revoke': 'audit.actions.invitationRevoke',\n 'job.retry': 'audit.actions.jobRetry',\n 'locale.create': 'audit.actions.localeCreate',\n 'locale.delete': 'audit.actions.localeDelete',\n 'locale.update': 'audit.actions.localeUpdate',\n 'media.delete': 'audit.actions.mediaDelete',\n 'media.folder.delete': 'audit.actions.mediaFolderDelete',\n 'media.replace': 'audit.actions.mediaReplace',\n 'media.upload': 'audit.actions.mediaUpload',\n 'media.visibility.change': 'audit.actions.mediaVisibilityChange',\n 'preview_token.create': 'audit.actions.previewTokenCreate',\n 'preview_token.revoke': 'audit.actions.previewTokenRevoke',\n 'publishing.schedule': 'audit.actions.publishingSchedule',\n 'publishing.schedule.publish': 'audit.actions.publishingSchedulePublish',\n 'publishing.schedule.unpublish': 'audit.actions.publishingScheduleUnpublish',\n 'publishing.schedule.cancel': 'audit.actions.publishingScheduleCancel',\n 'publishing.schedule.execute': 'audit.actions.publishingScheduleExecute',\n 'role.create': 'audit.actions.roleCreate',\n 'role.delete': 'audit.actions.roleDelete',\n 'role.update': 'audit.actions.roleUpdate',\n 'schema.activate': 'audit.actions.schemaActivate',\n 'schema.change.request': 'audit.actions.schemaChangeRequest',\n 'schema.create': 'audit.actions.schemaCreate',\n 'schema.delete': 'audit.actions.schemaDelete',\n 'schema.scope': 'audit.actions.schemaScope',\n 'schema.settings.update': 'audit.actions.schemaSettingsUpdate',\n 'session.revoke': 'audit.actions.sessionRevoke',\n 'session.revoke_all': 'audit.actions.sessionRevokeAll',\n 'setup.complete': 'audit.actions.setupComplete',\n 'transfer.import': 'audit.actions.transferImport',\n 'webhook.create': 'audit.actions.webhookCreate',\n 'webhook.delete': 'audit.actions.webhookDelete',\n 'webhook.redeliver': 'audit.actions.webhookRedeliver',\n 'webhook.rotate_secret': 'audit.actions.webhookRotateSecret',\n 'webhook.test': 'audit.actions.webhookTest',\n 'webhook.update': 'audit.actions.webhookUpdate',\n} as const;\n\nexport const AUDIT_TARGET_LABEL_KEYS = {\n admin_invitation: 'audit.targets.adminInvitation',\n admin_role: 'audit.targets.adminRole',\n admin_session: 'audit.targets.adminSession',\n admin_user: 'audit.targets.adminUser',\n api_token: 'audit.targets.apiToken',\n app_role: 'audit.targets.appRole',\n app_user: 'audit.targets.appUser',\n change_set: 'audit.targets.changeSet',\n component: 'audit.targets.component',\n deployment_connection: 'audit.targets.deploymentConnection',\n entry: 'audit.targets.entry',\n job: 'audit.targets.job',\n locale: 'audit.targets.locale',\n media_asset: 'audit.targets.mediaAsset',\n media_folder: 'audit.targets.mediaFolder',\n model: 'audit.targets.model',\n preview_token: 'audit.targets.previewToken',\n schemaSettings: 'audit.targets.schemaSettings',\n webhook: 'audit.targets.webhook',\n} as const;\n","import { useTranslation } from 'react-i18next';\nimport { AUDIT_ACTION_LABEL_KEYS, AUDIT_TARGET_LABEL_KEYS } from '@/constants/auditLabels';\n\nconst isActionCode = (code: string): code is keyof typeof AUDIT_ACTION_LABEL_KEYS =>\n Object.hasOwn(AUDIT_ACTION_LABEL_KEYS, code);\n\nconst isTargetType = (type: string): type is keyof typeof AUDIT_TARGET_LABEL_KEYS =>\n Object.hasOwn(AUDIT_TARGET_LABEL_KEYS, type);\n\n/**\n * Human labels for audit action codes (\"auth.login\" → \"Signed in\") and target types (\"admin_user\" →\n * \"Admin user\"). Undefined for a code the admin doesn't know yet (a newer server, an extension's route):\n * callers then show the raw code.\n */\nexport const useAuditLabels = () => {\n const { t } = useTranslation();\n return {\n actionLabel: (code: string) => (isActionCode(code) ? t(AUDIT_ACTION_LABEL_KEYS[code]) : undefined),\n targetLabel: (type: string) => (isTargetType(type) ? t(AUDIT_TARGET_LABEL_KEYS[type]) : undefined),\n };\n};\n","import type { AdminUserStatus, InviteUserInput, UpdateAdminUserInput } from '@shapio/client';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { withCsrf } from './csrf';\nimport { queryKeys } from './queryKeys';\n\nexport const useUsers = () =>\n useQuery({ queryKey: queryKeys.users, queryFn: () => adminApi.users.list(), meta: { silent: true } });\n\nexport const useInvitations = () =>\n useQuery({\n queryKey: queryKeys.invitations,\n queryFn: () => adminApi.invitations.list(),\n meta: { silent: true },\n });\n\nexport const useInviteUser = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['invitations', 'create'],\n meta: { silent: true },\n mutationFn: (input: InviteUserInput) => withCsrf(() => adminApi.invitations.create(input)),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.invitations }),\n });\n};\n\nexport const useRevokeInvitation = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['invitations', 'revoke'],\n mutationFn: (id: string) => withCsrf(() => adminApi.invitations.revoke(id)),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.invitations }),\n });\n};\n\n/** A fresh accept link to send by hand; any earlier link for the invitation stops working. */\nexport const useIssueInvitationLink = () =>\n useMutation({\n mutationKey: ['invitations', 'link'],\n mutationFn: (id: string) => withCsrf(() => adminApi.invitations.link(id)),\n });\n\nexport const useUpdateUser = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['users', 'update'],\n meta: { silent: true },\n mutationFn: ({ id, input }: { id: string; input: UpdateAdminUserInput }) =>\n withCsrf(() => adminApi.users.update(id, input)),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.users }),\n });\n};\n\nexport const useSetUserStatus = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['users', 'setStatus'],\n mutationFn: ({ id, status }: { id: string; status: AdminUserStatus }) =>\n withCsrf(() => adminApi.users.update(id, { status })),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.users }),\n });\n};\n\nexport const useRemoveUser = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['users', 'remove'],\n mutationFn: (id: string) => withCsrf(() => adminApi.users.remove(id)),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.users }),\n });\n};\n"],"ignoreList":[0],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-
|
|
2
|
-
//# sourceMappingURL=users-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CLmh7Go-.js";var t={name:`users`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]};t.node;var n=e(t);export{n as t};
|
|
2
|
+
//# sourceMappingURL=users-DM7CXUBJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users-
|
|
1
|
+
{"version":3,"file":"users-DM7CXUBJ.js","names":["createLucideIcon","__iconData","Users"],"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/users.mjs"],"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: \"users\",\n size: 24,\n node: [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"path\", { d: \"M16 3.128a4 4 0 0 1 0 7.744\", key: \"16gr8j\" }],\n [\"path\", { d: \"M22 21v-2a4 4 0 0 0-3-3.87\", key: \"kshegd\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n ]\n};\n__iconData.node;\nconst Users = createLucideIcon(__iconData);\n\nexport { __iconData, Users as default };\n//# sourceMappingURL=users.mjs.map\n"],"ignoreList":[0],"mappings":"mDASA,IAAMC,EAAa,CACjB,KAAM,QACN,KAAM,GACN,KAAM,CACJ,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAS,CAAC,EAC1E,CAAC,OAAQ,CAAE,EAAG,8BAA+B,IAAK,QAAS,CAAC,EAC5D,CAAC,OAAQ,CAAE,EAAG,6BAA8B,IAAK,QAAS,CAAC,EAC3D,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,OAAQ,CAAC,CACvD,CACF,EACAA,EAAW,KACX,IAAMC,EAAQF,EAAiBC,CAAU"}
|