@shapio/cms 0.4.1 → 0.5.1
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-CoNClUYS.js → AssetTile-B8ftUG4s.js} +2 -2
- package/dist/admin/assets/{AssetTile-CoNClUYS.js.map → AssetTile-B8ftUG4s.js.map} +1 -1
- package/dist/admin/assets/{AssistError-BoejyShH.js → AssistError-BidlzaBY.js} +2 -2
- package/dist/admin/assets/{AssistError-BoejyShH.js.map → AssistError-BidlzaBY.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-B2Jugisa.js → BlockMenuItems-DfNBHqVM.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-B2Jugisa.js.map → BlockMenuItems-DfNBHqVM.js.map} +1 -1
- package/dist/admin/assets/{Body-D3GwLGaB.js → Body-C0oQSX6L.js} +2 -2
- package/dist/admin/assets/{Body-D3GwLGaB.js.map → Body-C0oQSX6L.js.map} +1 -1
- package/dist/admin/assets/{Builder-CmT5-8hI.js → Builder-Z_hcyzNW.js} +2 -2
- package/dist/admin/assets/{Builder-CmT5-8hI.js.map → Builder-Z_hcyzNW.js.map} +1 -1
- package/dist/admin/assets/{ConfirmDialog-HS8Gc2t3.js → ConfirmDialog-DVN-n-tE.js} +2 -2
- package/dist/admin/assets/{ConfirmDialog-HS8Gc2t3.js.map → ConfirmDialog-DVN-n-tE.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-DS-bAA23.js → CopyButton--tHegXQr.js} +2 -2
- package/dist/admin/assets/{CopyButton-DS-bAA23.js.map → CopyButton--tHegXQr.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-C6PyD3wE.js → CursorPager-Cb94mITn.js} +2 -2
- package/dist/admin/assets/{CursorPager-C6PyD3wE.js.map → CursorPager-Cb94mITn.js.map} +1 -1
- package/dist/admin/assets/{ExternalLink-KdO72pTj.js → ExternalLink-M1cb1n2n.js} +2 -2
- package/dist/admin/assets/{ExternalLink-KdO72pTj.js.map → ExternalLink-M1cb1n2n.js.map} +1 -1
- package/dist/admin/assets/{FocalPoint-C62fRhmM.js → FocalPoint-pTq17ngi.js} +2 -2
- package/dist/admin/assets/{FocalPoint-C62fRhmM.js.map → FocalPoint-pTq17ngi.js.map} +1 -1
- package/dist/admin/assets/{Form-CLEr5Csd.js → Form-4zah109J.js} +2 -2
- package/dist/admin/assets/{Form-CLEr5Csd.js.map → Form-4zah109J.js.map} +1 -1
- package/dist/admin/assets/FormCheckboxGroup-DAeuGKAU.js +2 -0
- package/dist/admin/assets/FormCheckboxGroup-DAeuGKAU.js.map +1 -0
- package/dist/admin/assets/{FormRadioGroup-BjE1Jhar.js → FormRadioGroup--xx08rw6.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-BjE1Jhar.js.map → FormRadioGroup--xx08rw6.js.map} +1 -1
- package/dist/admin/assets/{FormSelectField-g4zrUlhv.js → FormSelectField-DNOCQKqc.js} +2 -2
- package/dist/admin/assets/{FormSelectField-g4zrUlhv.js.map → FormSelectField-DNOCQKqc.js.map} +1 -1
- package/dist/admin/assets/{FormSwitchField-gciThNGV.js → FormSwitchField-BECl-pzH.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-gciThNGV.js.map → FormSwitchField-BECl-pzH.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-tsS-UXym.js → FormTextareaField-DmRuKDJ_.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-tsS-UXym.js.map → FormTextareaField-DmRuKDJ_.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-CVe-PIyv.js → HintedLabel-DIEBvftx.js} +2 -2
- package/dist/admin/assets/{HintedLabel-CVe-PIyv.js.map → HintedLabel-DIEBvftx.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-DtaHU1Cg.js → InfoHint-BdAadb9U.js} +2 -2
- package/dist/admin/assets/{InfoHint-DtaHU1Cg.js.map → InfoHint-BdAadb9U.js.map} +1 -1
- package/dist/admin/assets/{InsertMenuItem-DlzaD9zr.js → InsertMenuItem-oh0NJrhB.js} +2 -2
- package/dist/admin/assets/{InsertMenuItem-DlzaD9zr.js.map → InsertMenuItem-oh0NJrhB.js.map} +1 -1
- package/dist/admin/assets/{LinkTabs-stM3j4aH.js → LinkTabs-EBgHX4Uh.js} +2 -2
- package/dist/admin/assets/{LinkTabs-stM3j4aH.js.map → LinkTabs-EBgHX4Uh.js.map} +1 -1
- package/dist/admin/assets/{Match-ErAxnNAY.js → Match-CvpSNEfi.js} +2 -2
- package/dist/admin/assets/{Match-ErAxnNAY.js.map → Match-CvpSNEfi.js.map} +1 -1
- package/dist/admin/assets/{Panel-ClY9b33D.js → Panel-BV1BpNCn.js} +2 -2
- package/dist/admin/assets/{Panel-ClY9b33D.js.map → Panel-BV1BpNCn.js.map} +1 -1
- package/dist/admin/assets/{QueryView-C630REML.js → QueryView-Bbw1eiV2.js} +2 -2
- package/dist/admin/assets/{QueryView-C630REML.js.map → QueryView-Bbw1eiV2.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-CD4mel7U.js → RadioTile-CSYW-8gL.js} +2 -2
- package/dist/admin/assets/{RadioTile-CD4mel7U.js.map → RadioTile-CSYW-8gL.js.map} +1 -1
- package/dist/admin/assets/{RichTextField-CxeVX6C-.js → RichTextField-BDb67rCi.js} +2 -2
- package/dist/admin/assets/{RichTextField-CxeVX6C-.js.map → RichTextField-BDb67rCi.js.map} +1 -1
- package/dist/admin/assets/{RowTitle-B-7RptyN.js → RowTitle-Cted2GP8.js} +2 -2
- package/dist/admin/assets/{RowTitle-B-7RptyN.js.map → RowTitle-Cted2GP8.js.map} +1 -1
- package/dist/admin/assets/SecretReveal-Ccaul96d.js +2 -0
- package/dist/admin/assets/SecretReveal-Ccaul96d.js.map +1 -0
- package/dist/admin/assets/{SharedGlyph-97RaO6Bh.js → SharedGlyph-BrLi3Hug.js} +2 -2
- package/dist/admin/assets/{SharedGlyph-97RaO6Bh.js.map → SharedGlyph-BrLi3Hug.js.map} +1 -1
- package/dist/admin/assets/{StepList--0Fiqsq-.js → StepList-BLvElvPV.js} +2 -2
- package/dist/admin/assets/{StepList--0Fiqsq-.js.map → StepList-BLvElvPV.js.map} +1 -1
- package/dist/admin/assets/Structure-CRNAuVY7.js +2 -0
- package/dist/admin/assets/{Structure-CoO3iah3.js.map → Structure-CRNAuVY7.js.map} +1 -1
- package/dist/admin/assets/{SubNavLink-YjjaDN40.js → SubNavLink-biGV5ozd.js} +2 -2
- package/dist/admin/assets/{SubNavLink-YjjaDN40.js.map → SubNavLink-biGV5ozd.js.map} +1 -1
- package/dist/admin/assets/{SuggestAltButton-Dlyxoypu.js → SuggestAltButton-CrFiRWGr.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-Dlyxoypu.js.map → SuggestAltButton-CrFiRWGr.js.map} +1 -1
- package/dist/admin/assets/{TextLink-DIqr5zkJ.js → TextLink-BPLbXw2n.js} +2 -2
- package/dist/admin/assets/{TextLink-DIqr5zkJ.js.map → TextLink-BPLbXw2n.js.map} +1 -1
- package/dist/admin/assets/{Thumbnail-BUYOr4XJ.js → Thumbnail-B_TWlgEz.js} +2 -2
- package/dist/admin/assets/{Thumbnail-BUYOr4XJ.js.map → Thumbnail-B_TWlgEz.js.map} +1 -1
- package/dist/admin/assets/{UnsavedChangesGuard-BfzHgUkF.js → UnsavedChangesGuard-CrzR2boF.js} +2 -2
- package/dist/admin/assets/{UnsavedChangesGuard-BfzHgUkF.js.map → UnsavedChangesGuard-CrzR2boF.js.map} +1 -1
- package/dist/admin/assets/{UserAvatar-DNOWhSWS.js → UserAvatar-W-S3st7E.js} +2 -2
- package/dist/admin/assets/{UserAvatar-DNOWhSWS.js.map → UserAvatar-W-S3st7E.js.map} +1 -1
- package/dist/admin/assets/{auth-YVfK3SxF.js → auth-cXFFyABE.js} +2 -2
- package/dist/admin/assets/{auth-YVfK3SxF.js.map → auth-cXFFyABE.js.map} +1 -1
- package/dist/admin/assets/{badge-lJ4Ih_Zn.js → badge-DrPwivGk.js} +2 -2
- package/dist/admin/assets/{badge-lJ4Ih_Zn.js.map → badge-DrPwivGk.js.map} +1 -1
- package/dist/admin/assets/{boxes-DRvd25_u.js → boxes-CKJ6P9VA.js} +2 -2
- package/dist/admin/assets/{boxes-DRvd25_u.js.map → boxes-CKJ6P9VA.js.map} +1 -1
- package/dist/admin/assets/{calendar-clock-VENf4s1R.js → calendar-clock-DPyjti63.js} +2 -2
- package/dist/admin/assets/{calendar-clock-VENf4s1R.js.map → calendar-clock-DPyjti63.js.map} +1 -1
- package/dist/admin/assets/{changeSets-JmSyu3tu.js → changeSets-DYGm5j1A.js} +2 -2
- package/dist/admin/assets/{changeSets-JmSyu3tu.js.map → changeSets-DYGm5j1A.js.map} +1 -1
- package/dist/admin/assets/chevron-left-DIp5sJuv.js +2 -0
- package/dist/admin/assets/{chevron-left-D2DnQyeV.js.map → chevron-left-DIp5sJuv.js.map} +1 -1
- package/dist/admin/assets/{circle-check-jmRQz1Jq.js → circle-check-VXPKg4cE.js} +2 -2
- package/dist/admin/assets/{circle-check-jmRQz1Jq.js.map → circle-check-VXPKg4cE.js.map} +1 -1
- package/dist/admin/assets/{clock-DrSTMGjp.js → clock-DNhupIko.js} +2 -2
- package/dist/admin/assets/{clock-DrSTMGjp.js.map → clock-DNhupIko.js.map} +1 -1
- package/dist/admin/assets/cn-CEPUgFbZ.js +2 -0
- package/dist/admin/assets/cn-CEPUgFbZ.js.map +1 -0
- package/dist/admin/assets/coerce-BxuBjZdf.js +2 -0
- package/dist/admin/assets/{coerce-B4MJTGg1.js.map → coerce-BxuBjZdf.js.map} +1 -1
- package/dist/admin/assets/{constants-ahk0YSYl.js → constants-B9cNrCXV.js} +2 -2
- package/dist/admin/assets/{constants-ahk0YSYl.js.map → constants-B9cNrCXV.js.map} +1 -1
- package/dist/admin/assets/{content-DcvNzKGe.js → content-DjyCdi4c.js} +3 -3
- package/dist/admin/assets/{content-DcvNzKGe.js.map → content-DjyCdi4c.js.map} +1 -1
- package/dist/admin/assets/{contentCounts-DzIvdeXR.js → contentCounts-CX15iYcR.js} +2 -2
- package/dist/admin/assets/{contentCounts-DzIvdeXR.js.map → contentCounts-CX15iYcR.js.map} +1 -1
- package/dist/admin/assets/{contentTypes-YAd-AzOF.js → contentTypes-FgyxLhlk.js} +2 -2
- package/dist/admin/assets/{contentTypes-YAd-AzOF.js.map → contentTypes-FgyxLhlk.js.map} +1 -1
- package/dist/admin/assets/{context-4Jl20mYc.js → context-FqJXjS5k.js} +2 -2
- package/dist/admin/assets/{context-4Jl20mYc.js.map → context-FqJXjS5k.js.map} +1 -1
- package/dist/admin/assets/{copy-t6kAFw-O.js → copy-CoHbtS-Y.js} +2 -2
- package/dist/admin/assets/{copy-t6kAFw-O.js.map → copy-CoHbtS-Y.js.map} +1 -1
- package/dist/admin/assets/{dateTimeLocal-IDUOKulz.js → dateTimeLocal-BxmDLO_H.js} +2 -2
- package/dist/admin/assets/{dateTimeLocal-IDUOKulz.js.map → dateTimeLocal-BxmDLO_H.js.map} +1 -1
- package/dist/admin/assets/{develop-DYwiTd6R.js → develop-gx8WeWv4.js} +2 -2
- package/dist/admin/assets/{develop-DYwiTd6R.js.map → develop-gx8WeWv4.js.map} +1 -1
- package/dist/admin/assets/{dropdown-menu-DiYSm-g3.js → dropdown-menu-BG1rctRQ.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-DiYSm-g3.js.map → dropdown-menu-BG1rctRQ.js.map} +1 -1
- package/dist/admin/assets/{ellipsis-DEHUaCkn.js → ellipsis-DHfP1Ah2.js} +2 -2
- package/dist/admin/assets/{ellipsis-DEHUaCkn.js.map → ellipsis-DHfP1Ah2.js.map} +1 -1
- package/dist/admin/assets/{external-link-B8UFREQ_.js → external-link-itxcNtaX.js} +2 -2
- package/dist/admin/assets/{external-link-B8UFREQ_.js.map → external-link-itxcNtaX.js.map} +1 -1
- package/dist/admin/assets/{fileRoute-CVQpW8cj.js → fileRoute-BZ0pGGsh.js} +2 -2
- package/dist/admin/assets/{fileRoute-CVQpW8cj.js.map → fileRoute-BZ0pGGsh.js.map} +1 -1
- package/dist/admin/assets/{folder-plus-iDg1hhew.js → folder-plus-BgsfY_6i.js} +2 -2
- package/dist/admin/assets/{folder-plus-iDg1hhew.js.map → folder-plus-BgsfY_6i.js.map} +1 -1
- package/dist/admin/assets/{followPlural-BdqfEe48.js → followPlural-BqjqhHmz.js} +2 -2
- package/dist/admin/assets/{followPlural-BdqfEe48.js.map → followPlural-BqjqhHmz.js.map} +1 -1
- package/dist/admin/assets/{globe-TooNSp9V.js → globe-RjXj4P-A.js} +2 -2
- package/dist/admin/assets/{globe-TooNSp9V.js.map → globe-RjXj4P-A.js.map} +1 -1
- package/dist/admin/assets/{image-CXZXXH58.js → image-4itB4TLl.js} +2 -2
- package/dist/admin/assets/{image-CXZXXH58.js.map → image-4itB4TLl.js.map} +1 -1
- package/dist/admin/assets/{image-off-cxva5G-Y.js → image-off-CokIymyg.js} +2 -2
- package/dist/admin/assets/{image-off-cxva5G-Y.js.map → image-off-CokIymyg.js.map} +1 -1
- package/dist/admin/assets/{inbox-CnzNfqt9.js → inbox-8AAyyM0T.js} +2 -2
- package/dist/admin/assets/{inbox-CnzNfqt9.js.map → inbox-8AAyyM0T.js.map} +1 -1
- package/dist/admin/assets/{inbox-B8c9Kj_z.js → inbox-97pzmuus.js} +2 -2
- package/dist/admin/assets/{inbox-B8c9Kj_z.js.map → inbox-97pzmuus.js.map} +1 -1
- package/dist/admin/assets/{index-D9KL7arJ.js → index-cpiZvLck.js} +4 -4
- package/dist/admin/assets/{index-D9KL7arJ.js.map → index-cpiZvLck.js.map} +1 -1
- package/dist/admin/assets/{key-round-CFJ61iCd.js → key-round-Dc4_SOi-.js} +2 -2
- package/dist/admin/assets/{key-round-CFJ61iCd.js.map → key-round-Dc4_SOi-.js.map} +1 -1
- package/dist/admin/assets/{languages-eh7U4anI.js → languages-DR2K97A5.js} +2 -2
- package/dist/admin/assets/{languages-eh7U4anI.js.map → languages-DR2K97A5.js.map} +1 -1
- package/dist/admin/assets/{layers-mGfmMsKE.js → layers-ZPmcbieN.js} +2 -2
- package/dist/admin/assets/{layers-mGfmMsKE.js.map → layers-ZPmcbieN.js.map} +1 -1
- package/dist/admin/assets/{link-2-off-DbZzRN_w.js → link-2-off-D_5_hkT7.js} +2 -2
- package/dist/admin/assets/{link-2-off-DbZzRN_w.js.map → link-2-off-D_5_hkT7.js.map} +1 -1
- package/dist/admin/assets/{link-b2pFaN-A.js → link-BnDFFyvi.js} +2 -2
- package/dist/admin/assets/{link-b2pFaN-A.js.map → link-BnDFFyvi.js.map} +1 -1
- package/dist/admin/assets/{locales-oBD0q1pN.js → locales-D-21t-l-.js} +2 -2
- package/dist/admin/assets/{locales-oBD0q1pN.js.map → locales-D-21t-l-.js.map} +1 -1
- package/dist/admin/assets/{media-5ks_0Rre.js → media-D7aimjyy.js} +2 -2
- package/dist/admin/assets/{media-5ks_0Rre.js.map → media-D7aimjyy.js.map} +1 -1
- package/dist/admin/assets/{media-Cs9LCQcz.js → media-Db0cHYNY.js} +2 -2
- package/dist/admin/assets/{media-Cs9LCQcz.js.map → media-Db0cHYNY.js.map} +1 -1
- package/dist/admin/assets/network-l_oLT5fa.js +2 -0
- package/dist/admin/assets/network-l_oLT5fa.js.map +1 -0
- package/dist/admin/assets/{pencil-C7eD5mlZ.js → pencil-Cn8c_gtv.js} +2 -2
- package/dist/admin/assets/{pencil-C7eD5mlZ.js.map → pencil-Cn8c_gtv.js.map} +1 -1
- package/dist/admin/assets/{plus-BDZHQBlU.js → plus-yxvf4aAT.js} +2 -2
- package/dist/admin/assets/{plus-BDZHQBlU.js.map → plus-yxvf4aAT.js.map} +1 -1
- package/dist/admin/assets/{preload-helper-CJNJ4S3k.js → preload-helper-pwSesV5P.js} +2 -2
- package/dist/admin/assets/{preload-helper-CJNJ4S3k.js.map → preload-helper-pwSesV5P.js.map} +1 -1
- package/dist/admin/assets/{publishing-C4YQ4XKt.js → publishing-PQLCOnvu.js} +2 -2
- package/dist/admin/assets/{publishing-C4YQ4XKt.js.map → publishing-PQLCOnvu.js.map} +1 -1
- package/dist/admin/assets/{radio-group-zOsGAYRP.js → radio-group-Fc2ENIMO.js} +2 -2
- package/dist/admin/assets/{radio-group-zOsGAYRP.js.map → radio-group-Fc2ENIMO.js.map} +1 -1
- package/dist/admin/assets/{rotate-ccw-DCWwb4Ga.js → rotate-ccw-BHa0BHug.js} +2 -2
- package/dist/admin/assets/{rotate-ccw-DCWwb4Ga.js.map → rotate-ccw-BHa0BHug.js.map} +1 -1
- package/dist/admin/assets/{schedules-DXrBSypK.js → schedules-B8y_GnqX.js} +2 -2
- package/dist/admin/assets/{schedules-DXrBSypK.js.map → schedules-B8y_GnqX.js.map} +1 -1
- package/dist/admin/assets/{schema-B7L9OJrX.js → schema-BJHcYshf.js} +2 -2
- package/dist/admin/assets/{schema-B7L9OJrX.js.map → schema-BJHcYshf.js.map} +1 -1
- package/dist/admin/assets/{scroll-text-BLThe4Ki.js → scroll-text-BHLmZpBB.js} +2 -2
- package/dist/admin/assets/{scroll-text-BLThe4Ki.js.map → scroll-text-BHLmZpBB.js.map} +1 -1
- package/dist/admin/assets/{search-CcJQqtRw.js → search-D3GGSaSL.js} +2 -2
- package/dist/admin/assets/{search-CcJQqtRw.js.map → search-D3GGSaSL.js.map} +1 -1
- package/dist/admin/assets/{searchSchemas-BCRZ1jyL.js → searchSchemas-C4dnYI9a.js} +2 -2
- package/dist/admin/assets/{searchSchemas-BCRZ1jyL.js.map → searchSchemas-C4dnYI9a.js.map} +1 -1
- package/dist/admin/assets/{sections-v5Flaor9.js → sections-BWoTaw2B.js} +2 -2
- package/dist/admin/assets/{sections-v5Flaor9.js.map → sections-BWoTaw2B.js.map} +1 -1
- package/dist/admin/assets/{sections-TIN_Nl1b.js → sections-eeTU636D.js} +2 -2
- package/dist/admin/assets/{sections-TIN_Nl1b.js.map → sections-eeTU636D.js.map} +1 -1
- package/dist/admin/assets/{select-CpHp3YOH.js → select-BMi4G1Ib.js} +2 -2
- package/dist/admin/assets/{select-CpHp3YOH.js.map → select-BMi4G1Ib.js.map} +1 -1
- package/dist/admin/assets/{send-CbP0Rc9_.js → send-Bqhmg9HP.js} +2 -2
- package/dist/admin/assets/{send-CbP0Rc9_.js.map → send-Bqhmg9HP.js.map} +1 -1
- package/dist/admin/assets/{seo-1n9s7YuX.js → seo-BL9C7Yt3.js} +2 -2
- package/dist/admin/assets/{seo-1n9s7YuX.js.map → seo-BL9C7Yt3.js.map} +1 -1
- package/dist/admin/assets/settings-D-nW3wQb.js +2 -0
- package/dist/admin/assets/settings-D-nW3wQb.js.map +1 -0
- package/dist/admin/assets/skeleton-BPLAzyDo.js +42 -0
- package/dist/admin/assets/skeleton-BPLAzyDo.js.map +1 -0
- package/dist/admin/assets/{snapshots-DkyyrWX3.js → snapshots-COSUeZBP.js} +2 -2
- package/dist/admin/assets/{snapshots-DkyyrWX3.js.map → snapshots-COSUeZBP.js.map} +1 -1
- package/dist/admin/assets/{sparkles-D88gf3vX.js → sparkles-CykwtKTd.js} +2 -2
- package/dist/admin/assets/{sparkles-D88gf3vX.js.map → sparkles-CykwtKTd.js.map} +1 -1
- package/dist/admin/assets/{stableId-DlNKh3HM.js → stableId-DfJkQUV3.js} +2 -2
- package/dist/admin/assets/{stableId-DlNKh3HM.js.map → stableId-DfJkQUV3.js.map} +1 -1
- package/dist/admin/assets/{store-jUWyOXDG.js → store-GOGeP63I.js} +2 -2
- package/dist/admin/assets/{store-jUWyOXDG.js.map → store-GOGeP63I.js.map} +1 -1
- package/dist/admin/assets/{switch-CijNGYkG.js → switch-XRU_EOoM.js} +2 -2
- package/dist/admin/assets/{switch-CijNGYkG.js.map → switch-XRU_EOoM.js.map} +1 -1
- package/dist/admin/assets/{table-DQ5ILlSh.js → table-CLVW6uJB.js} +2 -2
- package/dist/admin/assets/{table-DQ5ILlSh.js.map → table-CLVW6uJB.js.map} +1 -1
- package/dist/admin/assets/{tabs-CSqGW9Du.js → tabs-DB42Xljn.js} +3 -3
- package/dist/admin/assets/{tabs-CSqGW9Du.js.map → tabs-DB42Xljn.js.map} +1 -1
- package/dist/admin/assets/{textarea-FwSvwmyT.js → textarea-DcsLGCkq.js} +2 -2
- package/dist/admin/assets/{textarea-FwSvwmyT.js.map → textarea-DcsLGCkq.js.map} +1 -1
- package/dist/admin/assets/{theme-CHHVK8Ps.js → theme-CnSar6tt.js} +2 -2
- package/dist/admin/assets/{theme-CHHVK8Ps.js.map → theme-CnSar6tt.js.map} +1 -1
- package/dist/admin/assets/{titles-CQYc9nDQ.js → titles-DluirfBO.js} +2 -2
- package/dist/admin/assets/{titles-CQYc9nDQ.js.map → titles-DluirfBO.js.map} +1 -1
- package/dist/admin/assets/{tokens-C-20gLAT.js → tokens-CQooB8Sf.js} +2 -2
- package/dist/admin/assets/{tokens-C-20gLAT.js.map → tokens-CQooB8Sf.js.map} +1 -1
- package/dist/admin/assets/{tooltip-BXqFQv9N.js → tooltip-xfZn0Fla.js} +2 -2
- package/dist/admin/assets/{tooltip-BXqFQv9N.js.map → tooltip-xfZn0Fla.js.map} +1 -1
- package/dist/admin/assets/{undo-2-CLy2zklL.js → undo-2-B_QjuGmR.js} +2 -2
- package/dist/admin/assets/{undo-2-CLy2zklL.js.map → undo-2-B_QjuGmR.js.map} +1 -1
- package/dist/admin/assets/{useAuditLabels-BJF7M5RY.js → useAuditLabels-BZPAj3wG.js} +2 -2
- package/dist/admin/assets/{useAuditLabels-BJF7M5RY.js.map → useAuditLabels-BZPAj3wG.js.map} +1 -1
- package/dist/admin/assets/{useConfirmTarget-BUvlrGSW.js → useConfirmTarget-B7iLg66j.js} +2 -2
- package/dist/admin/assets/{useConfirmTarget-BUvlrGSW.js.map → useConfirmTarget-B7iLg66j.js.map} +1 -1
- package/dist/admin/assets/{useContentSchema-Cvtes34f.js → useContentSchema-BTyBYURX.js} +2 -2
- package/dist/admin/assets/{useContentSchema-Cvtes34f.js.map → useContentSchema-BTyBYURX.js.map} +1 -1
- package/dist/admin/assets/{useCursorPager-CzB6NDOB.js → useCursorPager-CTGOzl69.js} +2 -2
- package/dist/admin/assets/{useCursorPager-CzB6NDOB.js.map → useCursorPager-CTGOzl69.js.map} +1 -1
- package/dist/admin/assets/{useDiscardGuard-BAEGkGK9.js → useDiscardGuard-CSkPw8iq.js} +2 -2
- package/dist/admin/assets/{useDiscardGuard-BAEGkGK9.js.map → useDiscardGuard-CSkPw8iq.js.map} +1 -1
- package/dist/admin/assets/{useMediaPickerDialog-CiN_pias.js → useMediaPickerDialog-W0jhN-hi.js} +2 -2
- package/dist/admin/assets/{useMediaPickerDialog-CiN_pias.js.map → useMediaPickerDialog-W0jhN-hi.js.map} +1 -1
- package/dist/admin/assets/{useMediaUploader-CapEHBIt.js → useMediaUploader-BC5zCkQt.js} +2 -2
- package/dist/admin/assets/{useMediaUploader-CapEHBIt.js.map → useMediaUploader-BC5zCkQt.js.map} +1 -1
- package/dist/admin/assets/{usePaletteItems-wpn3ms6o.js → usePaletteItems-CqcKndUT.js} +2 -2
- package/dist/admin/assets/{usePaletteItems-wpn3ms6o.js.map → usePaletteItems-CqcKndUT.js.map} +1 -1
- package/dist/admin/assets/{usePlaces-6iTN15Xy.js → usePlaces-o4Os5Nbv.js} +2 -2
- package/dist/admin/assets/{usePlaces-6iTN15Xy.js.map → usePlaces-o4Os5Nbv.js.map} +1 -1
- package/dist/admin/assets/{useQueries-CYfcxI0Q.js → useQueries-BTnSD0k5.js} +2 -2
- package/dist/admin/assets/{useQueries-CYfcxI0Q.js.map → useQueries-BTnSD0k5.js.map} +1 -1
- package/dist/admin/assets/{useResolvedScheme-i1EwGHuF.js → useResolvedScheme-SoI-2Faf.js} +2 -2
- package/dist/admin/assets/{useResolvedScheme-i1EwGHuF.js.map → useResolvedScheme-SoI-2Faf.js.map} +1 -1
- package/dist/admin/assets/{useSchemaScopeAccess-WQKmj8_3.js → useSchemaScopeAccess-B4-31q7m.js} +2 -2
- package/dist/admin/assets/{useSchemaScopeAccess-WQKmj8_3.js.map → useSchemaScopeAccess-B4-31q7m.js.map} +1 -1
- package/dist/admin/assets/{users-BgTNDPXx.js → users-BVuapb3u.js} +2 -2
- package/dist/admin/assets/{users-BgTNDPXx.js.map → users-BVuapb3u.js.map} +1 -1
- package/dist/admin/assets/{users-B01EH47o.js → users-Oj5V5za_.js} +2 -2
- package/dist/admin/assets/{users-B01EH47o.js.map → users-Oj5V5za_.js.map} +1 -1
- package/dist/admin/assets/{zod-79xzBIrW.js → zod-cTJwCa4E.js} +2 -2
- package/dist/admin/assets/{zod-79xzBIrW.js.map → zod-cTJwCa4E.js.map} +1 -1
- package/dist/admin/index.html +55 -55
- package/dist/cli.js +128 -21
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/{public-CTK82y3t.d.ts → public-C027OJX6.d.ts} +13 -2
- package/dist/s3Adapter-BipoQiwQ.js +125 -0
- package/dist/s3Adapter-BipoQiwQ.js.map +1 -0
- package/dist/{worker-BDYDbaea.js → worker-BU-V4qbH.js} +555 -411
- package/dist/worker-BU-V4qbH.js.map +1 -0
- package/package.json +8 -5
- package/dist/admin/assets/FormCheckboxGroup-BrXY6qBg.js +0 -2
- package/dist/admin/assets/FormCheckboxGroup-BrXY6qBg.js.map +0 -1
- package/dist/admin/assets/SecretReveal-Dhw_dYxe.js +0 -2
- package/dist/admin/assets/SecretReveal-Dhw_dYxe.js.map +0 -1
- package/dist/admin/assets/Structure-CoO3iah3.js +0 -2
- package/dist/admin/assets/chevron-left-D2DnQyeV.js +0 -2
- package/dist/admin/assets/cn-CL1YHRrS.js +0 -2
- package/dist/admin/assets/cn-CL1YHRrS.js.map +0 -1
- package/dist/admin/assets/coerce-B4MJTGg1.js +0 -2
- package/dist/admin/assets/network-DS8MW3AZ.js +0 -2
- package/dist/admin/assets/network-DS8MW3AZ.js.map +0 -1
- package/dist/admin/assets/settings-CuEO5l07.js +0 -2
- package/dist/admin/assets/settings-CuEO5l07.js.map +0 -1
- package/dist/admin/assets/skeleton-DElTumgk.js +0 -42
- package/dist/admin/assets/skeleton-DElTumgk.js.map +0 -1
- package/dist/worker-BDYDbaea.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{H as e,P as t,V as n,bt as r,d as i,i as a,l as o,s,ut as c}from"./cn-
|
|
2
|
-
//# sourceMappingURL=snapshots-
|
|
1
|
+
import{H as e,P as t,V as n,bt as r,d as i,i as a,l as o,s,ut as c}from"./cn-CEPUgFbZ.js";import{d as l}from"./media-D7aimjyy.js";import{v as u}from"./auth-cXFFyABE.js";import{t as d}from"./link-2-off-D_5_hkT7.js";import{t as f}from"./clock-DNhupIko.js";import{t as p}from"./copy-CoHbtS-Y.js";import{t as m}from"./image-off-CokIymyg.js";import{t as h}from"./languages-DR2K97A5.js";var g={name:`file-exclamation-point`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`file-warning`]};g.node;var _=a(g),v={name:`file-pen`,size:24,node:[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]],aliases:[`file-edit`]};v.node;var y=a(v),b={name:`unlink`,size:24,node:[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]};b.node;var x=a(b),S=[`requiredEmpty`,`relationMissing`,`uniqueConflict`,`altMissing`,`relationUnpublished`,`localeMissing`,`unpublishedChanges`,`staleDraft`],C={requiredEmpty:_,altMissing:m,localeMissing:h,relationMissing:x,relationUnpublished:d,uniqueConflict:p,staleDraft:f,unpublishedChanges:y},w={requiredEmpty:`inbox.rules.requiredEmpty.title`,altMissing:`inbox.rules.altMissing.title`,localeMissing:`inbox.rules.localeMissing.title`,relationMissing:`inbox.rules.relationMissing.title`,relationUnpublished:`inbox.rules.relationUnpublished.title`,uniqueConflict:`inbox.rules.uniqueConflict.title`,staleDraft:`inbox.rules.staleDraft.title`,unpublishedChanges:`inbox.rules.unpublishedChanges.title`},T={requiredEmpty:`inbox.rules.requiredEmpty.sentence`,altMissing:`inbox.rules.altMissing.sentence`,localeMissing:`inbox.rules.localeMissing.sentence`,relationMissing:`inbox.rules.relationMissing.sentence`,relationUnpublished:`inbox.rules.relationUnpublished.sentence`,uniqueConflict:`inbox.rules.uniqueConflict.sentence`,staleDraft:`inbox.rules.staleDraft.sentence`,unpublishedChanges:`inbox.rules.unpublishedChanges.sentence`},E={requiredEmpty:`inbox.rules.requiredEmpty.fix`,altMissing:`inbox.rules.altMissing.fix`,localeMissing:`inbox.rules.localeMissing.fix`,relationMissing:`inbox.rules.relationMissing.fix`,relationUnpublished:`inbox.rules.relationUnpublished.fix`,uniqueConflict:`inbox.rules.uniqueConflict.fix`,staleDraft:`inbox.rules.staleDraft.fix`,unpublishedChanges:`inbox.rules.unpublishedChanges.fix`},D={silent:!0},O=3e4,k=(e,n=!0)=>l({queryKey:t.contentHealth.list(e),queryFn:({pageParam:t})=>o.contentHealth.list({...e,...t?{cursor:t}:{}}),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,staleTime:O,enabled:n,meta:D}),A=(n=!0)=>e({queryKey:t.contentHealth.summary,queryFn:()=>o.contentHealth.summary(),staleTime:O,enabled:n,meta:D}),j={silent:!0},M=n=>e({queryKey:t.develop.snapshots.list(n),queryFn:()=>o.snapshots.list({cursor:n,limit:25}),placeholderData:c,meta:j}),N=n=>e({queryKey:t.develop.snapshots.snapshot(n),queryFn:()=>o.snapshots.get(n),meta:j}),P=(n,r,a=!0)=>e({queryKey:t.develop.snapshots.changes(n,r),queryFn:()=>i.snapshots.changes({from:n,to:r,limit:200}),enabled:a&&n>=0&&n<r,placeholderData:c,meta:j}),F=()=>{let e=r();return n({mutationKey:[`snapshots`,`restore`],meta:j,mutationFn:e=>s(()=>o.snapshots.restore(e)),onSuccess:n=>(e.setQueryData(t.develop.changeSets.set(n.id),n),e.invalidateQueries({queryKey:t.develop.changeSets.all}))})},I=200,L=10,R=()=>e({queryKey:t.develop.snapshots.ledger,queryFn:async()=>{let e=await o.snapshots.list({limit:I}),t=[...e.items];for(let n=1;e.nextCursor&&n<L;n+=1)e=await o.snapshots.list({cursor:e.nextCursor,limit:I}),t.push(...e.items);return{items:t,current:e.current}},meta:j}),z=(e,n,r)=>({queryKey:t.develop.snapshots.place(e,n.routeKey,r),queryFn:async()=>{let t=[n.titleKey,n.coverKey].filter(e=>e!==null),a=new URLSearchParams({snapshot:String(e),locale:r});n.singleton||a.set(`pageSize`,`50`),t.length>0&&a.set(`fields`,t.join(`,`));try{let e=await i.request(`/api/content/${encodeURIComponent(n.routeKey)}?${a.toString()}`);return Array.isArray(e.data)?e.data:e.data?[e.data]:[]}catch(e){if(n.singleton&&u(e))return[];throw e}},staleTime:1/0,meta:j});export{R as a,A as c,S as d,T as f,P as i,E as l,_ as m,F as n,M as o,w as p,N as r,k as s,z as t,C as u};
|
|
2
|
+
//# sourceMappingURL=snapshots-COSUeZBP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots-DkyyrWX3.js","names":["__iconData","__iconData","FileWarning","silent","useQuery","queryKeys","useMutation","useQueryClient","apiClient","createLucideIcon","adminApi","keepPreviousData","useInfiniteQuery","isNotFound","Link2Off","Clock","Copy","ImageOff","Languages","__iconData$2","FileExclamationPoint","__iconData$1","FilePen","__iconData","Unlink","RULE_ORDER","RULE_ICONS","RULE_TITLE_KEYS","RULE_SENTENCE_KEYS","RULE_FIX_KEYS","silent$1","HEALTH_STALE_MS","useContentHealthFindings","query","pageParam","page","useContentHealthSummary","silent","useSnapshots","cursor","useSnapshot","seq","useSnapshotChanges","from","to","enabled","useRestoreSnapshot","queryClient","withCsrf","set","LEDGER_PAGE","LEDGER_MAX_PAGES","useSnapshotLedger","items","read","snapshotPlaceQueryOptions","place","locale","fields","key","params","body","error"],"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-exclamation-point.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-pen.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/unlink.mjs","../../src/features/Inbox/constants.ts","../../src/api/contentHealth.ts","../../src/api/snapshots.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-exclamation-point\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n ],\n aliases: [\"file-warning\"]\n};\n__iconData.node;\nconst FileExclamationPoint = createLucideIcon(__iconData);\n\nexport { __iconData, FileExclamationPoint as default };\n//# sourceMappingURL=file-exclamation-point.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-pen\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34\",\n key: \"o6klzx\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\n \"path\",\n {\n d: \"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z\",\n key: \"zhnas1\"\n }\n ]\n ],\n aliases: [\"file-edit\"]\n};\n__iconData.node;\nconst FilePen = createLucideIcon(__iconData);\n\nexport { __iconData, FilePen as default };\n//# sourceMappingURL=file-pen.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: \"unlink\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n ]\n};\n__iconData.node;\nconst Unlink = createLucideIcon(__iconData);\n\nexport { __iconData, Unlink as default };\n//# sourceMappingURL=unlink.mjs.map\n","import type { HealthRule } from '@shapio/client';\nimport {\n Clock,\n Copy,\n FilePen,\n FileWarning,\n ImageOff,\n Languages,\n Link2Off,\n Unlink,\n type LucideIcon,\n} from 'lucide-react';\n\n/** Findings fetched per page; groups show the first few until \"Show all\". */\nexport const FINDINGS_PAGE_SIZE = 100;\nexport const GROUP_PREVIEW = 5;\n/** Schedules read to find the soonest (the API lists newest first), and how many are shown. */\nexport const SCHEDULES_SCANNED = 50;\nexport const SCHEDULED_SHOWN = 5;\n/** \"Recently published\" diffs this many snapshots back from the live one, and shows this many entries. */\nexport const RECENT_SNAPSHOTS = 5;\nexport const RECENT_SHOWN = 6;\n\n/** The order groups appear in: what blocks publishing or readers first, housekeeping last. */\nexport const RULE_ORDER: readonly HealthRule[] = [\n 'requiredEmpty',\n 'relationMissing',\n 'uniqueConflict',\n 'altMissing',\n 'relationUnpublished',\n 'localeMissing',\n 'unpublishedChanges',\n 'staleDraft',\n];\n\nexport const RULE_ICONS = {\n requiredEmpty: FileWarning,\n altMissing: ImageOff,\n localeMissing: Languages,\n relationMissing: Unlink,\n relationUnpublished: Link2Off,\n uniqueConflict: Copy,\n staleDraft: Clock,\n unpublishedChanges: FilePen,\n} as const satisfies Record<HealthRule, LucideIcon>;\n\nexport const RULE_TITLE_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.title',\n altMissing: 'inbox.rules.altMissing.title',\n localeMissing: 'inbox.rules.localeMissing.title',\n relationMissing: 'inbox.rules.relationMissing.title',\n relationUnpublished: 'inbox.rules.relationUnpublished.title',\n uniqueConflict: 'inbox.rules.uniqueConflict.title',\n staleDraft: 'inbox.rules.staleDraft.title',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.title',\n} as const satisfies Record<HealthRule, string>;\n\nexport const RULE_SENTENCE_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.sentence',\n altMissing: 'inbox.rules.altMissing.sentence',\n localeMissing: 'inbox.rules.localeMissing.sentence',\n relationMissing: 'inbox.rules.relationMissing.sentence',\n relationUnpublished: 'inbox.rules.relationUnpublished.sentence',\n uniqueConflict: 'inbox.rules.uniqueConflict.sentence',\n staleDraft: 'inbox.rules.staleDraft.sentence',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.sentence',\n} as const satisfies Record<HealthRule, string>;\n\nexport const RULE_FIX_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.fix',\n altMissing: 'inbox.rules.altMissing.fix',\n localeMissing: 'inbox.rules.localeMissing.fix',\n relationMissing: 'inbox.rules.relationMissing.fix',\n relationUnpublished: 'inbox.rules.relationUnpublished.fix',\n uniqueConflict: 'inbox.rules.uniqueConflict.fix',\n staleDraft: 'inbox.rules.staleDraft.fix',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.fix',\n} as const satisfies Record<HealthRule, string>;\n","import type { ContentHealthQuery } from '@shapio/client';\nimport { useInfiniteQuery, useQuery } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\nconst silent = { silent: true } as const;\n\n/** Findings are refreshed by the server in the background; a short stale time keeps the Inbox current. */\nconst HEALTH_STALE_MS = 30_000;\n\n/** Open findings the admin may read, a page at a time (the Inbox's \"Needs you\"). */\nexport const useContentHealthFindings = (query: Omit<ContentHealthQuery, 'cursor'>, enabled = true) =>\n useInfiniteQuery({\n queryKey: queryKeys.contentHealth.list(query),\n queryFn: ({ pageParam }) =>\n adminApi.contentHealth.list({ ...query, ...(pageParam ? { cursor: pageParam } : {}) }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (page) => page.nextCursor ?? undefined,\n staleTime: HEALTH_STALE_MS,\n enabled,\n meta: silent,\n });\n\n/** Open findings per rule (the Inbox's counts; the developer pages' health card can share it). */\nexport const useContentHealthSummary = (enabled = true) =>\n useQuery({\n queryKey: queryKeys.contentHealth.summary,\n queryFn: () => adminApi.contentHealth.summary(),\n staleTime: HEALTH_STALE_MS,\n enabled,\n meta: silent,\n });\n","import { keepPreviousData, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { adminApi, apiClient } from './client';\nimport { withCsrf } from './csrf';\nimport { isNotFound } from './errors';\nimport { queryKeys } from './queryKeys';\n\nconst silent = { silent: true } as const;\n\nexport const SNAPSHOT_PAGE_SIZE = 25;\n/** Entries shown per diff (the first page); the summary says when there are more. */\nexport const SNAPSHOT_DIFF_LIMIT = 200;\n\nexport const useSnapshots = (cursor: string | undefined) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.list(cursor),\n queryFn: () => adminApi.snapshots.list({ cursor, limit: SNAPSHOT_PAGE_SIZE }),\n placeholderData: keepPreviousData,\n meta: silent,\n });\n\nexport const useSnapshot = (seq: number) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.snapshot(seq),\n queryFn: () => adminApi.snapshots.get(seq),\n meta: silent,\n });\n\n/**\n * Live content that differs between `from` and `to` (`from < to`), from the snapshot diff API. It is a\n * delivery route; the admin session reads it as an admin, so every model is included.\n */\nexport const useSnapshotChanges = (from: number, to: number, enabled = true) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.changes(from, to),\n queryFn: () => apiClient.snapshots.changes({ from, to, limit: SNAPSHOT_DIFF_LIMIT }),\n enabled: enabled && from >= 0 && from < to,\n placeholderData: keepPreviousData,\n meta: silent,\n });\n\n/** Creates an open restore change set (nothing goes live until it ships). */\nexport const useRestoreSnapshot = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['snapshots', 'restore'],\n meta: silent,\n mutationFn: (seq: number) => withCsrf(() => adminApi.snapshots.restore(seq)),\n onSuccess: (set) => {\n queryClient.setQueryData(queryKeys.develop.changeSets.set(set.id), set);\n return queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all });\n },\n });\n};\n\n/** The ledger's pages read at once (at most 10 × 200 snapshots), for the timeline's slider. */\nconst LEDGER_PAGE = 200;\nconst LEDGER_MAX_PAGES = 10;\n\n/** Every snapshot in the ledger, newest first (the first 2,000), plus the current number. */\nexport const useSnapshotLedger = () =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.ledger,\n queryFn: async () => {\n let page = await adminApi.snapshots.list({ limit: LEDGER_PAGE });\n const items = [...page.items];\n for (let read = 1; page.nextCursor && read < LEDGER_MAX_PAGES; read += 1) {\n page = await adminApi.snapshots.list({ cursor: page.nextCursor, limit: LEDGER_PAGE });\n items.push(...page.items);\n }\n return { items, current: page.current };\n },\n meta: silent,\n });\n\n/** A place as the timeline reads it through delivery: its route, and the fields a card shows. */\nexport type TimelinePlace = {\n modelId: string;\n modelKey: string;\n routeKey: string;\n label: string;\n singleton: boolean;\n titleKey: string | null;\n coverKey: string | null;\n};\n\ntype DeliveryItem = Record<string, unknown> & { id: string; locale: string };\n\n/** Entries a place card grid shows per snapshot (delivery's page size). */\nexport const TIMELINE_PAGE_SIZE = 50;\n\n/**\n * One place as delivery served it at snapshot `seq` in `locale` (the admin session reads every model).\n * Singletons answer with one entry, collections with a page of them.\n */\nexport const snapshotPlaceQueryOptions = (seq: number, place: TimelinePlace, locale: string) => ({\n queryKey: queryKeys.develop.snapshots.place(seq, place.routeKey, locale),\n queryFn: async (): Promise<DeliveryItem[]> => {\n const fields = [place.titleKey, place.coverKey].filter((key): key is string => key !== null);\n const params = new URLSearchParams({ snapshot: String(seq), locale });\n if (!place.singleton) {\n params.set('pageSize', String(TIMELINE_PAGE_SIZE));\n }\n if (fields.length > 0) {\n params.set('fields', fields.join(','));\n }\n try {\n const body = await apiClient.request<{ data: DeliveryItem[] | DeliveryItem | null }>(\n `/api/content/${encodeURIComponent(place.routeKey)}?${params.toString()}`,\n );\n return Array.isArray(body.data) ? body.data : body.data ? [body.data] : [];\n } catch (error) {\n // A singleton that wasn't published yet at that snapshot.\n if (place.singleton && isNotFound(error)) {\n return [];\n }\n throw error;\n }\n },\n staleTime: Infinity,\n meta: silent,\n});\n"],"ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshots-COSUeZBP.js","names":["__iconData","__iconData","FileWarning","silent","useQuery","queryKeys","useMutation","useQueryClient","apiClient","createLucideIcon","adminApi","keepPreviousData","useInfiniteQuery","isNotFound","Link2Off","Clock","Copy","ImageOff","Languages","__iconData$2","FileExclamationPoint","__iconData$1","FilePen","__iconData","Unlink","RULE_ORDER","RULE_ICONS","RULE_TITLE_KEYS","RULE_SENTENCE_KEYS","RULE_FIX_KEYS","silent$1","HEALTH_STALE_MS","useContentHealthFindings","query","pageParam","page","useContentHealthSummary","silent","useSnapshots","cursor","useSnapshot","seq","useSnapshotChanges","from","to","enabled","useRestoreSnapshot","queryClient","withCsrf","set","LEDGER_PAGE","LEDGER_MAX_PAGES","useSnapshotLedger","items","read","snapshotPlaceQueryOptions","place","locale","fields","key","params","body","error"],"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-exclamation-point.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-pen.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/unlink.mjs","../../src/features/Inbox/constants.ts","../../src/api/contentHealth.ts","../../src/api/snapshots.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-exclamation-point\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n ],\n aliases: [\"file-warning\"]\n};\n__iconData.node;\nconst FileExclamationPoint = createLucideIcon(__iconData);\n\nexport { __iconData, FileExclamationPoint as default };\n//# sourceMappingURL=file-exclamation-point.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-pen\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34\",\n key: \"o6klzx\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\n \"path\",\n {\n d: \"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z\",\n key: \"zhnas1\"\n }\n ]\n ],\n aliases: [\"file-edit\"]\n};\n__iconData.node;\nconst FilePen = createLucideIcon(__iconData);\n\nexport { __iconData, FilePen as default };\n//# sourceMappingURL=file-pen.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: \"unlink\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n ]\n};\n__iconData.node;\nconst Unlink = createLucideIcon(__iconData);\n\nexport { __iconData, Unlink as default };\n//# sourceMappingURL=unlink.mjs.map\n","import type { HealthRule } from '@shapio/client';\nimport {\n Clock,\n Copy,\n FilePen,\n FileWarning,\n ImageOff,\n Languages,\n Link2Off,\n Unlink,\n type LucideIcon,\n} from 'lucide-react';\n\n/** Findings fetched per page; groups show the first few until \"Show all\". */\nexport const FINDINGS_PAGE_SIZE = 100;\nexport const GROUP_PREVIEW = 5;\n/** Schedules read to find the soonest (the API lists newest first), and how many are shown. */\nexport const SCHEDULES_SCANNED = 50;\nexport const SCHEDULED_SHOWN = 5;\n/** \"Recently published\" diffs this many snapshots back from the live one, and shows this many entries. */\nexport const RECENT_SNAPSHOTS = 5;\nexport const RECENT_SHOWN = 6;\n\n/** The order groups appear in: what blocks publishing or readers first, housekeeping last. */\nexport const RULE_ORDER: readonly HealthRule[] = [\n 'requiredEmpty',\n 'relationMissing',\n 'uniqueConflict',\n 'altMissing',\n 'relationUnpublished',\n 'localeMissing',\n 'unpublishedChanges',\n 'staleDraft',\n];\n\nexport const RULE_ICONS = {\n requiredEmpty: FileWarning,\n altMissing: ImageOff,\n localeMissing: Languages,\n relationMissing: Unlink,\n relationUnpublished: Link2Off,\n uniqueConflict: Copy,\n staleDraft: Clock,\n unpublishedChanges: FilePen,\n} as const satisfies Record<HealthRule, LucideIcon>;\n\nexport const RULE_TITLE_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.title',\n altMissing: 'inbox.rules.altMissing.title',\n localeMissing: 'inbox.rules.localeMissing.title',\n relationMissing: 'inbox.rules.relationMissing.title',\n relationUnpublished: 'inbox.rules.relationUnpublished.title',\n uniqueConflict: 'inbox.rules.uniqueConflict.title',\n staleDraft: 'inbox.rules.staleDraft.title',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.title',\n} as const satisfies Record<HealthRule, string>;\n\nexport const RULE_SENTENCE_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.sentence',\n altMissing: 'inbox.rules.altMissing.sentence',\n localeMissing: 'inbox.rules.localeMissing.sentence',\n relationMissing: 'inbox.rules.relationMissing.sentence',\n relationUnpublished: 'inbox.rules.relationUnpublished.sentence',\n uniqueConflict: 'inbox.rules.uniqueConflict.sentence',\n staleDraft: 'inbox.rules.staleDraft.sentence',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.sentence',\n} as const satisfies Record<HealthRule, string>;\n\nexport const RULE_FIX_KEYS = {\n requiredEmpty: 'inbox.rules.requiredEmpty.fix',\n altMissing: 'inbox.rules.altMissing.fix',\n localeMissing: 'inbox.rules.localeMissing.fix',\n relationMissing: 'inbox.rules.relationMissing.fix',\n relationUnpublished: 'inbox.rules.relationUnpublished.fix',\n uniqueConflict: 'inbox.rules.uniqueConflict.fix',\n staleDraft: 'inbox.rules.staleDraft.fix',\n unpublishedChanges: 'inbox.rules.unpublishedChanges.fix',\n} as const satisfies Record<HealthRule, string>;\n","import type { ContentHealthQuery } from '@shapio/client';\nimport { useInfiniteQuery, useQuery } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\nconst silent = { silent: true } as const;\n\n/** Findings are refreshed by the server in the background; a short stale time keeps the Inbox current. */\nconst HEALTH_STALE_MS = 30_000;\n\n/** Open findings the admin may read, a page at a time (the Inbox's \"Needs you\"). */\nexport const useContentHealthFindings = (query: Omit<ContentHealthQuery, 'cursor'>, enabled = true) =>\n useInfiniteQuery({\n queryKey: queryKeys.contentHealth.list(query),\n queryFn: ({ pageParam }) =>\n adminApi.contentHealth.list({ ...query, ...(pageParam ? { cursor: pageParam } : {}) }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (page) => page.nextCursor ?? undefined,\n staleTime: HEALTH_STALE_MS,\n enabled,\n meta: silent,\n });\n\n/** Open findings per rule (the Inbox's counts; the developer pages' health card can share it). */\nexport const useContentHealthSummary = (enabled = true) =>\n useQuery({\n queryKey: queryKeys.contentHealth.summary,\n queryFn: () => adminApi.contentHealth.summary(),\n staleTime: HEALTH_STALE_MS,\n enabled,\n meta: silent,\n });\n","import { keepPreviousData, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { adminApi, apiClient } from './client';\nimport { withCsrf } from './csrf';\nimport { isNotFound } from './errors';\nimport { queryKeys } from './queryKeys';\n\nconst silent = { silent: true } as const;\n\nexport const SNAPSHOT_PAGE_SIZE = 25;\n/** Entries shown per diff (the first page); the summary says when there are more. */\nexport const SNAPSHOT_DIFF_LIMIT = 200;\n\nexport const useSnapshots = (cursor: string | undefined) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.list(cursor),\n queryFn: () => adminApi.snapshots.list({ cursor, limit: SNAPSHOT_PAGE_SIZE }),\n placeholderData: keepPreviousData,\n meta: silent,\n });\n\nexport const useSnapshot = (seq: number) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.snapshot(seq),\n queryFn: () => adminApi.snapshots.get(seq),\n meta: silent,\n });\n\n/**\n * Live content that differs between `from` and `to` (`from < to`), from the snapshot diff API. It is a\n * delivery route; the admin session reads it as an admin, so every model is included.\n */\nexport const useSnapshotChanges = (from: number, to: number, enabled = true) =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.changes(from, to),\n queryFn: () => apiClient.snapshots.changes({ from, to, limit: SNAPSHOT_DIFF_LIMIT }),\n enabled: enabled && from >= 0 && from < to,\n placeholderData: keepPreviousData,\n meta: silent,\n });\n\n/** Creates an open restore change set (nothing goes live until it ships). */\nexport const useRestoreSnapshot = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['snapshots', 'restore'],\n meta: silent,\n mutationFn: (seq: number) => withCsrf(() => adminApi.snapshots.restore(seq)),\n onSuccess: (set) => {\n queryClient.setQueryData(queryKeys.develop.changeSets.set(set.id), set);\n return queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all });\n },\n });\n};\n\n/** The ledger's pages read at once (at most 10 × 200 snapshots), for the timeline's slider. */\nconst LEDGER_PAGE = 200;\nconst LEDGER_MAX_PAGES = 10;\n\n/** Every snapshot in the ledger, newest first (the first 2,000), plus the current number. */\nexport const useSnapshotLedger = () =>\n useQuery({\n queryKey: queryKeys.develop.snapshots.ledger,\n queryFn: async () => {\n let page = await adminApi.snapshots.list({ limit: LEDGER_PAGE });\n const items = [...page.items];\n for (let read = 1; page.nextCursor && read < LEDGER_MAX_PAGES; read += 1) {\n page = await adminApi.snapshots.list({ cursor: page.nextCursor, limit: LEDGER_PAGE });\n items.push(...page.items);\n }\n return { items, current: page.current };\n },\n meta: silent,\n });\n\n/** A place as the timeline reads it through delivery: its route, and the fields a card shows. */\nexport type TimelinePlace = {\n modelId: string;\n modelKey: string;\n routeKey: string;\n label: string;\n singleton: boolean;\n titleKey: string | null;\n coverKey: string | null;\n};\n\ntype DeliveryItem = Record<string, unknown> & { id: string; locale: string };\n\n/** Entries a place card grid shows per snapshot (delivery's page size). */\nexport const TIMELINE_PAGE_SIZE = 50;\n\n/**\n * One place as delivery served it at snapshot `seq` in `locale` (the admin session reads every model).\n * Singletons answer with one entry, collections with a page of them.\n */\nexport const snapshotPlaceQueryOptions = (seq: number, place: TimelinePlace, locale: string) => ({\n queryKey: queryKeys.develop.snapshots.place(seq, place.routeKey, locale),\n queryFn: async (): Promise<DeliveryItem[]> => {\n const fields = [place.titleKey, place.coverKey].filter((key): key is string => key !== null);\n const params = new URLSearchParams({ snapshot: String(seq), locale });\n if (!place.singleton) {\n params.set('pageSize', String(TIMELINE_PAGE_SIZE));\n }\n if (fields.length > 0) {\n params.set('fields', fields.join(','));\n }\n try {\n const body = await apiClient.request<{ data: DeliveryItem[] | DeliveryItem | null }>(\n `/api/content/${encodeURIComponent(place.routeKey)}?${params.toString()}`,\n );\n return Array.isArray(body.data) ? body.data : body.data ? [body.data] : [];\n } catch (error) {\n // A singleton that wasn't published yet at that snapshot.\n if (place.singleton && isNotFound(error)) {\n return [];\n }\n throw error;\n }\n },\n staleTime: Infinity,\n meta: silent,\n});\n"],"ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./cn-
|
|
2
|
-
//# sourceMappingURL=sparkles-
|
|
1
|
+
import{i as e}from"./cn-CEPUgFbZ.js";var t={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};t.node;var n=e(t);export{n as t};
|
|
2
|
+
//# sourceMappingURL=sparkles-CykwtKTd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkles-
|
|
1
|
+
{"version":3,"file":"sparkles-CykwtKTd.js","names":["createLucideIcon","__iconData","Sparkles"],"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/sparkles.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: \"sparkles\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\",\n key: \"1s2grr\"\n }\n ],\n [\"path\", { d: \"M20 2v4\", key: \"1rf3ol\" }],\n [\"path\", { d: \"M22 4h-4\", key: \"gwowj6\" }],\n [\"circle\", { cx: \"4\", cy: \"20\", r: \"2\", key: \"6kqj1y\" }]\n ],\n aliases: [\"stars\"]\n};\n__iconData.node;\nconst Sparkles = createLucideIcon(__iconData);\n\nexport { __iconData, Sparkles as default };\n//# sourceMappingURL=sparkles.mjs.map\n"],"ignoreList":[0],"mappings":"qCASA,IAAMC,EAAa,CACjB,KAAM,WACN,KAAM,GACN,KAAM,CACJ,CACE,OACA,CACE,EAAG,yQACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAS,CAAC,EACxC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAS,CAAC,EACzC,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,CACzD,EACA,QAAS,CAAC,OAAO,CACnB,EACAA,EAAW,KACX,IAAMC,EAAWF,EAAiBC,CAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./cn-
|
|
2
|
-
//# sourceMappingURL=stableId-
|
|
1
|
+
import{i as e}from"./cn-CEPUgFbZ.js";var t={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};t.node;var n=e(t),r=e=>Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``),i=()=>{if(typeof globalThis.crypto.randomUUID==`function`)return globalThis.crypto.randomUUID();let e=globalThis.crypto.getRandomValues(new Uint8Array(16));e[6]=(e[6]??0)&15|64,e[8]=(e[8]??0)&63|128;let t=r(e);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`};export{n,i as t};
|
|
2
|
+
//# sourceMappingURL=stableId-DfJkQUV3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stableId-
|
|
1
|
+
{"version":3,"file":"stableId-DfJkQUV3.js","names":["createLucideIcon","__iconData","GripVertical","hex","bytes","byte","newStableId","value"],"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/grip-vertical.mjs","../../src/helpers/stableId.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: \"grip-vertical\",\n size: 24,\n node: [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n ]\n};\n__iconData.node;\nconst GripVertical = createLucideIcon(__iconData);\n\nexport { __iconData, GripVertical as default };\n//# sourceMappingURL=grip-vertical.mjs.map\n","const hex = (bytes: Uint8Array) => Array.from(bytes, (byte) => byte.toString(16).padStart(2, '0')).join('');\n\n/**\n * A random v4 UUID for new fields (the stable-ID format of @shapio/schema). `crypto.randomUUID` only exists\n * in secure contexts, and self-hosters may open the admin over plain HTTP on a LAN address, so this falls\n * back to `crypto.getRandomValues`, which works everywhere.\n */\nexport const newStableId = (): string => {\n if (typeof globalThis.crypto.randomUUID === 'function') {\n return globalThis.crypto.randomUUID();\n }\n const bytes = globalThis.crypto.getRandomValues(new Uint8Array(16));\n bytes[6] = ((bytes[6] ?? 0) & 0x0f) | 0x40;\n bytes[8] = ((bytes[8] ?? 0) & 0x3f) | 0x80;\n const value = hex(bytes);\n return `${value.slice(0, 8)}-${value.slice(8, 12)}-${value.slice(12, 16)}-${value.slice(16, 20)}-${value.slice(20)}`;\n};\n"],"ignoreList":[0],"mappings":"qCASA,IAAMC,EAAa,CACjB,KAAM,gBACN,KAAM,GACN,KAAM,CACJ,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,QAAS,CAAC,EACtD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,EACxD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,IAAK,EAAG,IAAK,IAAK,QAAS,CAAC,EACvD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,CAC1D,CACF,EACAA,EAAW,KACX,IAAMC,EAAeF,EAAiBC,CAAU,ECtB1CE,EAAO,GAAsB,MAAM,KAAKC,EAAQ,GAASC,EAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAO7FC,MAA4B,CACvC,GAAI,OAAO,WAAW,OAAO,YAAe,WAC1C,OAAO,WAAW,OAAO,WAAW,EAEtC,IAAMF,EAAQ,WAAW,OAAO,gBAAgB,IAAI,WAAW,EAAE,CAAC,EAClE,EAAM,IAAOA,EAAM,IAAM,GAAK,GAAQ,GACtC,EAAM,IAAOA,EAAM,IAAM,GAAK,GAAQ,IACtC,IAAMG,EAAQJ,EAAIC,CAAK,EACvB,MAAO,GAAGG,EAAM,MAAM,EAAG,CAAC,EAAE,GAAGA,EAAM,MAAM,EAAG,EAAE,EAAE,GAAGA,EAAM,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAM,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAM,MAAM,EAAE,GACnH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e}from"./cn-
|
|
2
|
-
//# sourceMappingURL=store-
|
|
1
|
+
import{p as e}from"./cn-CEPUgFbZ.js";var t=e()(e=>({open:!1,returnFocus:null,setOpen:t=>e(e=>t&&!e.open?{open:t,returnFocus:document.activeElement instanceof HTMLElement?document.activeElement:null}:{open:t}),registrations:new Map,register:(t,n)=>e(e=>({registrations:new Map(e.registrations).set(t,n)})),unregister:t=>e(e=>{let n=new Map(e.registrations);return n.delete(t),{registrations:n}})}));export{t};
|
|
2
|
+
//# sourceMappingURL=store-GOGeP63I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-
|
|
1
|
+
{"version":3,"file":"store-GOGeP63I.js","names":["create","usePaletteStore","set","open","state","id","registration","registrations"],"sources":["../../src/components/CommandPalette/store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport type { PaletteItem, RegisteredGroup } from './types';\n\ntype Registration = { group: RegisteredGroup; items: readonly PaletteItem[] };\n\ntype PaletteState = {\n open: boolean;\n /** What had focus when the palette opened; it gets focus back when the palette closes. */\n returnFocus: HTMLElement | null;\n setOpen: (open: boolean) => void;\n /** Items registered by mounted screens and the shell, by registration ID. */\n registrations: ReadonlyMap<string, Registration>;\n register: (id: string, registration: Registration) => void;\n unregister: (id: string) => void;\n};\n\n/** Whether the palette is open and what the mounted screens offer in it (client-only state). */\nexport const usePaletteStore = create<PaletteState>()((set) => ({\n open: false,\n returnFocus: null,\n setOpen: (open) =>\n set((state) =>\n open && !state.open\n ? { open, returnFocus: document.activeElement instanceof HTMLElement ? document.activeElement : null }\n : { open },\n ),\n registrations: new Map(),\n register: (id, registration) =>\n set((state) => ({ registrations: new Map(state.registrations).set(id, registration) })),\n unregister: (id) =>\n set((state) => {\n const registrations = new Map(state.registrations);\n registrations.delete(id);\n return { registrations };\n }),\n}));\n"],"mappings":"qCAiBA,IAAaC,EAAkBD,EAAqB,CAAC,CAAE,IAAS,CAC9D,KAAM,GACN,YAAa,KACb,QAAU,GACRE,EAAK,GACHC,GAAQ,CAACC,EAAM,KACX,CAAE,OAAM,YAAa,SAAS,yBAAyB,YAAc,SAAS,cAAgB,IAAK,EACnG,CAAE,MAAK,CACb,EACF,cAAe,IAAI,IACnB,UAAW,EAAI,IACbF,EAAK,IAAW,CAAE,cAAe,IAAI,IAAIE,EAAM,aAAa,CAAC,CAAC,IAAIC,EAAIC,CAAY,CAAE,EAAE,EACxF,WAAa,GACXJ,EAAK,GAAU,CACb,IAAMK,EAAgB,IAAI,IAAIH,EAAM,aAAa,EAEjD,OADAG,EAAc,OAAOF,CAAE,EAChB,CAAE,eAAc,CACzB,CAAC,CACL,EAAE"}
|
|
@@ -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{t as r}from"./cn-
|
|
2
|
-
//# sourceMappingURL=switch-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{t as r}from"./cn-CEPUgFbZ.js";import{N as i}from"./InfoHint-BdAadb9U.js";import{T as a,b as o,g as s,v as c,y as l}from"./skeleton-BPLAzyDo.js";var u=e(t(),1),d=e(n(),1),f=Object.defineProperty,p=(e,t)=>f(e,`name`,{value:t,configurable:!0}),m=`Switch`,[h,g]=l(m),[_,v]=h(m);function y(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:c,onCheckedChange:l,required:f,value:p=`on`,internal_do_not_use_render:h}=e,[g,v]=s({prop:n,defaultProp:i??!1,onChange:l,caller:m}),[y,b]=u.useState(null),[x,S]=u.useState(null),C=u.useRef(!1),[w,T]=u.useReducer(e=>e+1,0),E={checked:g,setChecked:v,disabled:a,control:y,setControl:b,name:c,form:o,value:p,hasConsumerStoppedPropagationRef:C,userInteractionCount:w,onUserInteraction:T,required:f,defaultChecked:i,isFormControl:!y||!!o||!!y.closest(`form`),bubbleInput:x,setBubbleInput:S};return(0,d.jsx)(_,{scope:t,...E,children:D(h)?h(E):r})}p(y,`SwitchProvider`);var b=`SwitchTrigger`,x=u.forwardRef(p(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:s,value:l,disabled:f,checked:m,required:h,setControl:g,setChecked:_,hasConsumerStoppedPropagationRef:y,onUserInteraction:x,isFormControl:S,bubbleInput:C}=v(b,e),w=a(r,g),T=u.useRef(m);return u.useEffect(()=>{let e=s?i?.ownerDocument.getElementById(s):i?.form;if(e instanceof HTMLFormElement){let t=p(()=>_(T.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,s,_]),(0,d.jsx)(o.button,{type:`button`,role:`switch`,"aria-checked":m,"aria-required":h,"data-state":O(m),"data-disabled":f?``:void 0,disabled:f,value:l,...n,ref:w,onClick:c(t,e=>{x(),_(e=>!e),C&&S&&(y.current=e.isPropagationStopped(),y.current||e.stopPropagation())})})},`SwitchTrigger`)),S=u.forwardRef(p(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...f}=e;return(0,d.jsx)(y,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x,{...f,ref:t,__scopeSwitch:n}),e&&(0,d.jsx)(E,{__scopeSwitch:n})]})})},`Switch`)),C=`SwitchThumb`,w=u.forwardRef(p(function(e,t){let{__scopeSwitch:n,...r}=e,i=v(C,n);return(0,d.jsx)(o.span,{"data-state":O(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),T=`SwitchBubbleInput`,E=u.forwardRef(p(function({__scopeSwitch:e,onClick:t,...n},r){let{control:s,hasConsumerStoppedPropagationRef:l,userInteractionCount:f,checked:p,defaultChecked:m,required:h,disabled:g,name:_,value:y,form:b,bubbleInput:x,setBubbleInput:S}=v(T,e),C=a(r,S),w=i(s),E=u.useRef(!1),D=u.useRef(p),O=u.useRef(f);u.useEffect(()=>{let e=x;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=f!==O.current;O.current=f;let i=D.current!==p;D.current=p;let a=!(r&&l.current);if(i&&n){E.current=!r;let t=new Event(`click`,{bubbles:a});n.call(e,p),e.dispatchEvent(t),E.current=!1}},[x,p,l,f]);let k=u.useRef(p);return(0,d.jsx)(o.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:m??k.current,required:h,disabled:g,name:_,value:y,form:b,...n,tabIndex:-1,ref:C,onClick:c(t,e=>{E.current&&e.stopPropagation()}),style:{...n.style,...w,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function D(e){return typeof e==`function`}p(D,`isFunction`);function O(e){return e?`checked`:`unchecked`}p(O,`getState`);function k({className:e,size:t=`default`,...n}){return(0,d.jsx)(S,{"data-slot":`switch`,"data-size":t,className:r(`peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80`,e),...n,children:(0,d.jsx)(w,{"data-slot":`switch-thumb`,className:r(`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground`)})})}export{k as t};
|
|
2
|
+
//# sourceMappingURL=switch-XRU_EOoM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-CijNGYkG.js","names":["Switch","Fragment","SwitchPrimitive.Root","SwitchPrimitive.Thumb","__toESM","require_jsx_runtime","cn","useSize","useComposedRefs","Primitive","useControllableState","composeEventHandlers","createContextScope","import_react","require_react","import_jsx_runtime","__defProp","__name","target","SWITCH_NAME","createSwitchContext","createSwitchScope","SwitchProviderImpl","useSwitchContext","SwitchProvider","checkedProp","props","checked","setChecked","defaultChecked","onCheckedChange","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","userInteractionCount","onUserInteraction","count","context","form","__scopeSwitch","isFunction","internal_do_not_use_render","children","TRIGGER_NAME","SwitchTrigger","switchProps","composedRefs","forwardedRef","initialCheckedStateRef","associatedForm","reset","required","getState","disabled","onClick","prevChecked","isFormControl","event","Switch$1","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","BUBBLE_INPUT_NAME","controlSize","shouldStopClickPropagationRef","prevCheckedRef","prevUserInteractionCountRef","input","inputProto","isUserInteraction","checkedChanged","bubbles","defaultCheckedRef","value","Switch","size","className"],"sources":["../../../../node_modules/.pnpm/@radix-ui+react-switch@1.3.7_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_b893b13323262102390249914712580a/node_modules/@radix-ui/react-switch/dist/index.mjs","../../src/components/ui/switch.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProviderImpl, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nfunction SwitchProvider(props) {\n const {\n __scopeSwitch,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const [userInteractionCount, onUserInteraction] = React.useReducer(\n (count) => count + 1,\n 0\n );\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n setChecked,\n disabled,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n onUserInteraction,\n required,\n defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(SwitchProviderImpl, { scope: __scopeSwitch, ...context, children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children });\n}\n__name(SwitchProvider, \"SwitchProvider\");\nvar TRIGGER_NAME = \"SwitchTrigger\";\nvar SwitchTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function SwitchTrigger2({ __scopeSwitch, onClick, ...switchProps }, forwardedRef) {\n const {\n control,\n form,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n onUserInteraction,\n isFormControl,\n bubbleInput\n } = useSwitchContext(TRIGGER_NAME, __scopeSwitch);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const associatedForm = form ? control?.ownerDocument.getElementById(form) : control?.form;\n if (associatedForm instanceof HTMLFormElement) {\n const reset = /* @__PURE__ */ __name(() => setChecked(initialCheckedStateRef.current), \"reset\");\n associatedForm.addEventListener(\"reset\", reset);\n return () => associatedForm.removeEventListener(\"reset\", reset);\n }\n }, [control, form, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n onUserInteraction();\n setChecked((prevChecked) => !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }, \"SwitchTrigger\")\n);\nvar Switch = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Switch2(props, forwardedRef) {\n const {\n __scopeSwitch,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n return /* @__PURE__ */ jsx(\n SwitchProvider,\n {\n __scopeSwitch,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n SwitchTrigger,\n {\n ...switchProps,\n ref: forwardedRef,\n __scopeSwitch\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n __scopeSwitch\n }\n )\n ] })\n }\n );\n }, \"Switch\")\n);\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function SwitchThumb2(props, forwardedRef) {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }, \"SwitchThumb\")\n);\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function SwitchBubbleInput2({ __scopeSwitch, onClick, ...props }, forwardedRef) {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useSwitchContext(BUBBLE_INPUT_NAME, __scopeSwitch);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const controlSize = useSize(control);\n const shouldStopClickPropagationRef = React.useRef(false);\n const prevCheckedRef = React.useRef(checked);\n const prevUserInteractionCountRef = React.useRef(userInteractionCount);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const isUserInteraction = userInteractionCount !== prevUserInteractionCountRef.current;\n prevUserInteractionCountRef.current = userInteractionCount;\n const checkedChanged = prevCheckedRef.current !== checked;\n prevCheckedRef.current = checked;\n const bubbles = !(isUserInteraction && hasConsumerStoppedPropagationRef.current);\n if (checkedChanged && setChecked) {\n shouldStopClickPropagationRef.current = !isUserInteraction;\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n shouldStopClickPropagationRef.current = false;\n }\n }, [bubbleInput, checked, hasConsumerStoppedPropagationRef, userInteractionCount]);\n const defaultCheckedRef = React.useRef(checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n if (shouldStopClickPropagationRef.current) {\n event.stopPropagation();\n }\n }),\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }, \"SwitchBubbleInput\")\n);\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\n__name(getState, \"getState\");\nexport {\n Switch as Root,\n Switch,\n SwitchThumb,\n SwitchThumb as Thumb,\n createSwitchScope,\n SwitchBubbleInput as unstable_BubbleInput,\n SwitchProvider as unstable_Provider,\n SwitchBubbleInput as unstable_SwitchBubbleInput,\n SwitchProvider as unstable_SwitchProvider,\n SwitchTrigger as unstable_SwitchTrigger,\n SwitchTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground',\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"switch-XRU_EOoM.js","names":["Switch","Fragment","SwitchPrimitive.Root","SwitchPrimitive.Thumb","__toESM","require_jsx_runtime","cn","useSize","useComposedRefs","Primitive","useControllableState","composeEventHandlers","createContextScope","import_react","require_react","import_jsx_runtime","__defProp","__name","target","SWITCH_NAME","createSwitchContext","createSwitchScope","SwitchProviderImpl","useSwitchContext","SwitchProvider","checkedProp","props","checked","setChecked","defaultChecked","onCheckedChange","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","userInteractionCount","onUserInteraction","count","context","form","__scopeSwitch","isFunction","internal_do_not_use_render","children","TRIGGER_NAME","SwitchTrigger","switchProps","composedRefs","forwardedRef","initialCheckedStateRef","associatedForm","reset","required","getState","disabled","onClick","prevChecked","isFormControl","event","Switch$1","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","BUBBLE_INPUT_NAME","controlSize","shouldStopClickPropagationRef","prevCheckedRef","prevUserInteractionCountRef","input","inputProto","isUserInteraction","checkedChanged","bubbles","defaultCheckedRef","value","Switch","size","className"],"sources":["../../../../node_modules/.pnpm/@radix-ui+react-switch@1.3.7_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@_b893b13323262102390249914712580a/node_modules/@radix-ui/react-switch/dist/index.mjs","../../src/components/ui/switch.tsx"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProviderImpl, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nfunction SwitchProvider(props) {\n const {\n __scopeSwitch,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const [userInteractionCount, onUserInteraction] = React.useReducer(\n (count) => count + 1,\n 0\n );\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n setChecked,\n disabled,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n onUserInteraction,\n required,\n defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(SwitchProviderImpl, { scope: __scopeSwitch, ...context, children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children });\n}\n__name(SwitchProvider, \"SwitchProvider\");\nvar TRIGGER_NAME = \"SwitchTrigger\";\nvar SwitchTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function SwitchTrigger2({ __scopeSwitch, onClick, ...switchProps }, forwardedRef) {\n const {\n control,\n form,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n onUserInteraction,\n isFormControl,\n bubbleInput\n } = useSwitchContext(TRIGGER_NAME, __scopeSwitch);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const associatedForm = form ? control?.ownerDocument.getElementById(form) : control?.form;\n if (associatedForm instanceof HTMLFormElement) {\n const reset = /* @__PURE__ */ __name(() => setChecked(initialCheckedStateRef.current), \"reset\");\n associatedForm.addEventListener(\"reset\", reset);\n return () => associatedForm.removeEventListener(\"reset\", reset);\n }\n }, [control, form, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n onUserInteraction();\n setChecked((prevChecked) => !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }, \"SwitchTrigger\")\n);\nvar Switch = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function Switch2(props, forwardedRef) {\n const {\n __scopeSwitch,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n return /* @__PURE__ */ jsx(\n SwitchProvider,\n {\n __scopeSwitch,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n SwitchTrigger,\n {\n ...switchProps,\n ref: forwardedRef,\n __scopeSwitch\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n __scopeSwitch\n }\n )\n ] })\n }\n );\n }, \"Switch\")\n);\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function SwitchThumb2(props, forwardedRef) {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }, \"SwitchThumb\")\n);\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function SwitchBubbleInput2({ __scopeSwitch, onClick, ...props }, forwardedRef) {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n userInteractionCount,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useSwitchContext(BUBBLE_INPUT_NAME, __scopeSwitch);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const controlSize = useSize(control);\n const shouldStopClickPropagationRef = React.useRef(false);\n const prevCheckedRef = React.useRef(checked);\n const prevUserInteractionCountRef = React.useRef(userInteractionCount);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const isUserInteraction = userInteractionCount !== prevUserInteractionCountRef.current;\n prevUserInteractionCountRef.current = userInteractionCount;\n const checkedChanged = prevCheckedRef.current !== checked;\n prevCheckedRef.current = checked;\n const bubbles = !(isUserInteraction && hasConsumerStoppedPropagationRef.current);\n if (checkedChanged && setChecked) {\n shouldStopClickPropagationRef.current = !isUserInteraction;\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n shouldStopClickPropagationRef.current = false;\n }\n }, [bubbleInput, checked, hasConsumerStoppedPropagationRef, userInteractionCount]);\n const defaultCheckedRef = React.useRef(checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n onClick: composeEventHandlers(onClick, (event) => {\n if (shouldStopClickPropagationRef.current) {\n event.stopPropagation();\n }\n }),\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }, \"SwitchBubbleInput\")\n);\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\n__name(getState, \"getState\");\nexport {\n Switch as Root,\n Switch,\n SwitchThumb,\n SwitchThumb as Thumb,\n createSwitchScope,\n SwitchBubbleInput as unstable_BubbleInput,\n SwitchProvider as unstable_Provider,\n SwitchBubbleInput as unstable_SwitchBubbleInput,\n SwitchProvider as unstable_SwitchProvider,\n SwitchTrigger as unstable_SwitchTrigger,\n SwitchTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\nimport * as React from 'react';\nimport { cn } from '@/helpers/cn';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground',\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"ignoreList":[0],"mappings":"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"}
|