@shapio/cms 0.5.8 → 0.5.10
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-BrMzsUZD.js → AssetTile-DecaDqjj.js} +2 -2
- package/dist/admin/assets/{AssetTile-BrMzsUZD.js.map → AssetTile-DecaDqjj.js.map} +1 -1
- package/dist/admin/assets/AssistError-rslPtgWB.js +2 -0
- package/dist/admin/assets/{AssistError-Cs-r9Ssc.js.map → AssistError-rslPtgWB.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-DsccXMc_.js → BlockMenuItems-JHFue7Qt.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-DsccXMc_.js.map → BlockMenuItems-JHFue7Qt.js.map} +1 -1
- package/dist/admin/assets/Body-7NgJl9Pi.js +2 -0
- package/dist/admin/assets/Body-7NgJl9Pi.js.map +1 -0
- package/dist/admin/assets/Builder-DmlYcgiP.js +2 -0
- package/dist/admin/assets/Builder-DmlYcgiP.js.map +1 -0
- package/dist/admin/assets/{CodeEditor-CBCR73Wd.js → CodeEditor-Dv1FtkvI.js} +2 -2
- package/dist/admin/assets/{CodeEditor-CBCR73Wd.js.map → CodeEditor-Dv1FtkvI.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-CxFsBHfF.js → CopyButton-Brnpfqe0.js} +2 -2
- package/dist/admin/assets/{CopyButton-CxFsBHfF.js.map → CopyButton-Brnpfqe0.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-BW2U3v6l.js → CursorPager-C7cAK5Qe.js} +2 -2
- package/dist/admin/assets/{CursorPager-BW2U3v6l.js.map → CursorPager-C7cAK5Qe.js.map} +1 -1
- package/dist/admin/assets/{ExternalLink-BITMgS1K.js → ExternalLink-D80sb5Jj.js} +2 -2
- package/dist/admin/assets/{ExternalLink-BITMgS1K.js.map → ExternalLink-D80sb5Jj.js.map} +1 -1
- package/dist/admin/assets/{FocalPoint-CpZTve1E.js → FocalPoint-Bhtb1gUa.js} +2 -2
- package/dist/admin/assets/{FocalPoint-CpZTve1E.js.map → FocalPoint-Bhtb1gUa.js.map} +1 -1
- package/dist/admin/assets/Form-Cf1ephPH.js +2 -0
- package/dist/admin/assets/Form-Cf1ephPH.js.map +1 -0
- package/dist/admin/assets/FormCheckboxGroup-BzVZFR3W.js +2 -0
- package/dist/admin/assets/FormCheckboxGroup-BzVZFR3W.js.map +1 -0
- package/dist/admin/assets/{FormRadioGroup-Cfx5pvzU.js → FormRadioGroup-BzmLzRnI.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-Cfx5pvzU.js.map → FormRadioGroup-BzmLzRnI.js.map} +1 -1
- package/dist/admin/assets/FormSelectField-Cl7EjXc3.js +2 -0
- package/dist/admin/assets/FormSelectField-Cl7EjXc3.js.map +1 -0
- package/dist/admin/assets/FormSheet-CLZpd_7B.js +2 -0
- package/dist/admin/assets/FormSheet-CLZpd_7B.js.map +1 -0
- package/dist/admin/assets/{FormSwitchField-BLOh7qei.js → FormSwitchField-BbqQ3tx_.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-BLOh7qei.js.map → FormSwitchField-BbqQ3tx_.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-CO115n_u.js → FormTextareaField-9RN5Pt3B.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-CO115n_u.js.map → FormTextareaField-9RN5Pt3B.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-DzHnEdIK.js → HintedLabel-D9IVF0EE.js} +2 -2
- package/dist/admin/assets/{HintedLabel-DzHnEdIK.js.map → HintedLabel-D9IVF0EE.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-CSEtcHjL.js → InfoHint-tlSeZB9U.js} +2 -2
- package/dist/admin/assets/{InfoHint-CSEtcHjL.js.map → InfoHint-tlSeZB9U.js.map} +1 -1
- package/dist/admin/assets/{InlineConfirm-yW-iUKFC.js → InlineConfirm-Kj9AOIFO.js} +2 -2
- package/dist/admin/assets/{InlineConfirm-yW-iUKFC.js.map → InlineConfirm-Kj9AOIFO.js.map} +1 -1
- package/dist/admin/assets/{InsertMenuItem-CCr9e0qY.js → InsertMenuItem-CHAp2tH7.js} +2 -2
- package/dist/admin/assets/{InsertMenuItem-CCr9e0qY.js.map → InsertMenuItem-CHAp2tH7.js.map} +1 -1
- package/dist/admin/assets/{LinkTabs-8SmS1vCd.js → LinkTabs-oQXsy1I3.js} +2 -2
- package/dist/admin/assets/{LinkTabs-8SmS1vCd.js.map → LinkTabs-oQXsy1I3.js.map} +1 -1
- package/dist/admin/assets/{Match-CcD9KxHH.js → Match-BfNRwPfR.js} +2 -2
- package/dist/admin/assets/{Match-CcD9KxHH.js.map → Match-BfNRwPfR.js.map} +1 -1
- package/dist/admin/assets/{NoAccess-C8RLPN0I.js → NoAccess-DnEpYj9l.js} +2 -2
- package/dist/admin/assets/{NoAccess-C8RLPN0I.js.map → NoAccess-DnEpYj9l.js.map} +1 -1
- package/dist/admin/assets/Panel-Bcl09TtM.js.map +1 -1
- package/dist/admin/assets/{QueryView-xMP_uJ_t.js → QueryView-B86NcRt5.js} +2 -2
- package/dist/admin/assets/{QueryView-xMP_uJ_t.js.map → QueryView-B86NcRt5.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-DQFmni5A.js → RadioTile-Bwd2Pmlk.js} +2 -2
- package/dist/admin/assets/RadioTile-Bwd2Pmlk.js.map +1 -0
- package/dist/admin/assets/{RichTextField-CVHRIbnu.js → RichTextField-Dou79MHF.js} +4 -4
- package/dist/admin/assets/RichTextField-Dou79MHF.js.map +1 -0
- package/dist/admin/assets/{RowTitle-Bqt6evG9.js → RowTitle-DH9OZs3g.js} +2 -2
- package/dist/admin/assets/{RowTitle-Bqt6evG9.js.map → RowTitle-DH9OZs3g.js.map} +1 -1
- package/dist/admin/assets/{SecretReveal-Bm6nYg5J.js → SecretReveal-D95oACLj.js} +2 -2
- package/dist/admin/assets/{SecretReveal-Bm6nYg5J.js.map → SecretReveal-D95oACLj.js.map} +1 -1
- package/dist/admin/assets/{SharedGlyph-cUmTh0_C.js → SharedGlyph-Chwb1EIS.js} +2 -2
- package/dist/admin/assets/{SharedGlyph-cUmTh0_C.js.map → SharedGlyph-Chwb1EIS.js.map} +1 -1
- package/dist/admin/assets/StepList-D9iHsUZJ.js +2 -0
- package/dist/admin/assets/StepList-D9iHsUZJ.js.map +1 -0
- package/dist/admin/assets/Structure-CewJL1b3.js +2 -0
- package/dist/admin/assets/{Structure-D8csgrIt.js.map → Structure-CewJL1b3.js.map} +1 -1
- package/dist/admin/assets/{SubNavLink-CiCaVV8U.js → SubNavLink-7Cs1LqMv.js} +2 -2
- package/dist/admin/assets/SubNavLink-7Cs1LqMv.js.map +1 -0
- package/dist/admin/assets/{SuggestAltButton-CvIoirnz.js → SuggestAltButton-BK1uo4yC.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-CvIoirnz.js.map → SuggestAltButton-BK1uo4yC.js.map} +1 -1
- package/dist/admin/assets/{TextLink-HRn66VL1.js → TextLink-Dfs5wsc5.js} +2 -2
- package/dist/admin/assets/{TextLink-HRn66VL1.js.map → TextLink-Dfs5wsc5.js.map} +1 -1
- package/dist/admin/assets/{Thumbnail-DNj5TRBI.js → Thumbnail-C2A_Ub77.js} +2 -2
- package/dist/admin/assets/{Thumbnail-DNj5TRBI.js.map → Thumbnail-C2A_Ub77.js.map} +1 -1
- package/dist/admin/assets/Trans-CPoNNUK1.js +2 -0
- package/dist/admin/assets/Trans-CPoNNUK1.js.map +1 -0
- package/dist/admin/assets/{UnsavedChangesGuard-CUiuMklN.js → UnsavedChangesGuard-BsEyn9oH.js} +2 -2
- package/dist/admin/assets/{UnsavedChangesGuard-CUiuMklN.js.map → UnsavedChangesGuard-BsEyn9oH.js.map} +1 -1
- package/dist/admin/assets/{UserAvatar-p-jV-LoD.js → UserAvatar-CgGKOFfP.js} +2 -2
- package/dist/admin/assets/{UserAvatar-p-jV-LoD.js.map → UserAvatar-CgGKOFfP.js.map} +1 -1
- package/dist/admin/assets/auth-BFSvtV59.js +2 -0
- package/dist/admin/assets/{auth-CQO4MBUj.js.map → auth-BFSvtV59.js.map} +1 -1
- package/dist/admin/assets/{badge-CqKF1pwz.js → badge-DGqA_yr_.js} +2 -2
- package/dist/admin/assets/{badge-CqKF1pwz.js.map → badge-DGqA_yr_.js.map} +1 -1
- package/dist/admin/assets/baseExtensions-TVKN1UwW.js.map +1 -1
- package/dist/admin/assets/{boxes-CAygw8zF.js → boxes-_5klpWNM.js} +2 -2
- package/dist/admin/assets/{boxes-CAygw8zF.js.map → boxes-_5klpWNM.js.map} +1 -1
- package/dist/admin/assets/{calendar-clock-BZGtAvWR.js → calendar-clock-VXok22Xj.js} +2 -2
- package/dist/admin/assets/{calendar-clock-BZGtAvWR.js.map → calendar-clock-VXok22Xj.js.map} +1 -1
- package/dist/admin/assets/changeSets-B6HxCJ4A.js +2 -0
- package/dist/admin/assets/{changeSets-8EburmT0.js.map → changeSets-B6HxCJ4A.js.map} +1 -1
- package/dist/admin/assets/chevron-left-CkRxDtvO.js +2 -0
- package/dist/admin/assets/{chevron-left-DGU3HGYG.js.map → chevron-left-CkRxDtvO.js.map} +1 -1
- package/dist/admin/assets/{circle-check-C37MSJqX.js → circle-check-DtDq7QMo.js} +2 -2
- package/dist/admin/assets/{circle-check-C37MSJqX.js.map → circle-check-DtDq7QMo.js.map} +1 -1
- package/dist/admin/assets/{clock-2arjsgZ4.js → clock-BtvZR9KD.js} +2 -2
- package/dist/admin/assets/{clock-2arjsgZ4.js.map → clock-BtvZR9KD.js.map} +1 -1
- package/dist/admin/assets/cn-DVhJ55Mo.js.map +1 -1
- package/dist/admin/assets/{constants-a_15vqOh.js → constants-DY3YJAKH.js} +2 -2
- package/dist/admin/assets/{constants-a_15vqOh.js.map → constants-DY3YJAKH.js.map} +1 -1
- package/dist/admin/assets/content-BNZF26Ve.js +3 -0
- package/dist/admin/assets/content-BNZF26Ve.js.map +1 -0
- package/dist/admin/assets/{contentCounts-DP7YYeZZ.js → contentCounts-BzC7IQqP.js} +2 -2
- package/dist/admin/assets/{contentCounts-DP7YYeZZ.js.map → contentCounts-BzC7IQqP.js.map} +1 -1
- package/dist/admin/assets/{contentTypes-84uc0bjR.js → contentTypes-Bz2xpqGf.js} +2 -2
- package/dist/admin/assets/{contentTypes-84uc0bjR.js.map → contentTypes-Bz2xpqGf.js.map} +1 -1
- package/dist/admin/assets/{context-IKYdzQJ-.js → context-CEVKblBl.js} +2 -2
- package/dist/admin/assets/{context-IKYdzQJ-.js.map → context-CEVKblBl.js.map} +1 -1
- package/dist/admin/assets/{copy-CsSRHgKZ.js → copy-B7vIq8DS.js} +2 -2
- package/dist/admin/assets/{copy-CsSRHgKZ.js.map → copy-B7vIq8DS.js.map} +1 -1
- package/dist/admin/assets/createLucideIcon-BOsNKleB.js +2 -0
- package/dist/admin/assets/createLucideIcon-BOsNKleB.js.map +1 -0
- package/dist/admin/assets/develop-D6CtwuYj.js +11 -0
- package/dist/admin/assets/develop-D6CtwuYj.js.map +1 -0
- package/dist/admin/assets/{dropdown-menu-_xfaEp5C.js → dropdown-menu-Bz7CLcRK.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-_xfaEp5C.js.map → dropdown-menu-Bz7CLcRK.js.map} +1 -1
- package/dist/admin/assets/{ellipsis-F91991on.js → ellipsis-Ci0rsbCJ.js} +2 -2
- package/dist/admin/assets/{ellipsis-F91991on.js.map → ellipsis-Ci0rsbCJ.js.map} +1 -1
- package/dist/admin/assets/{entryLink-CVB-TdIn.js → entryLink-B0hSb_dN.js} +2 -2
- package/dist/admin/assets/{entryLink-CVB-TdIn.js.map → entryLink-B0hSb_dN.js.map} +1 -1
- package/dist/admin/assets/es2015-Cv57ynE1.js +42 -0
- package/dist/admin/assets/es2015-Cv57ynE1.js.map +1 -0
- package/dist/admin/assets/{external-link-CdG6kHfA.js → external-link-Bs9YRzvY.js} +2 -2
- package/dist/admin/assets/{external-link-CdG6kHfA.js.map → external-link-Bs9YRzvY.js.map} +1 -1
- package/dist/admin/assets/{field-COOzRptX.js → field-D-xWW2E7.js} +2 -2
- package/dist/admin/assets/{field-COOzRptX.js.map → field-D-xWW2E7.js.map} +1 -1
- package/dist/admin/assets/{file-stack-28ZtO1xW.js → file-stack-X4OGmkLA.js} +2 -2
- package/dist/admin/assets/{file-stack-28ZtO1xW.js.map → file-stack-X4OGmkLA.js.map} +1 -1
- package/dist/admin/assets/{fileRoute-s7mCMYUJ.js → fileRoute-DMal-zYL.js} +2 -2
- package/dist/admin/assets/{fileRoute-s7mCMYUJ.js.map → fileRoute-DMal-zYL.js.map} +1 -1
- package/dist/admin/assets/{folder-plus-DIk0pWkP.js → folder-plus-De2GNvry.js} +2 -2
- package/dist/admin/assets/{folder-plus-DIk0pWkP.js.map → folder-plus-De2GNvry.js.map} +1 -1
- package/dist/admin/assets/followPlural-CsgeALTW.js +2 -0
- package/dist/admin/assets/followPlural-CsgeALTW.js.map +1 -0
- package/dist/admin/assets/{globe-DFr3Gd2w.js → globe-DBw84s8Z.js} +2 -2
- package/dist/admin/assets/{globe-DFr3Gd2w.js.map → globe-DBw84s8Z.js.map} +1 -1
- package/dist/admin/assets/{image-DT79QFa_.js → image-CX4mT-_R.js} +2 -2
- package/dist/admin/assets/{image-DT79QFa_.js.map → image-CX4mT-_R.js.map} +1 -1
- package/dist/admin/assets/{image-off-DFs5upyX.js → image-off-CVaH_qKf.js} +2 -2
- package/dist/admin/assets/{image-off-DFs5upyX.js.map → image-off-CVaH_qKf.js.map} +1 -1
- package/dist/admin/assets/inbox-C0PVc6UI.js +2 -0
- package/dist/admin/assets/inbox-C0PVc6UI.js.map +1 -0
- package/dist/admin/assets/{inbox-CySnQydm.js → inbox-D9SmWt5L.js} +2 -2
- package/dist/admin/assets/{inbox-CySnQydm.js.map → inbox-D9SmWt5L.js.map} +1 -1
- package/dist/admin/assets/index-BqtCXB0u.js +4 -0
- package/dist/admin/assets/index-BqtCXB0u.js.map +1 -0
- package/dist/admin/assets/index-DZsQq6fY.css +2 -0
- package/dist/admin/assets/{key-round-D36CePnN.js → key-round-C8sd9CLN.js} +2 -2
- package/dist/admin/assets/{key-round-D36CePnN.js.map → key-round-C8sd9CLN.js.map} +1 -1
- package/dist/admin/assets/{labels-DQckbLGW.js → labels-BtktCNGw.js} +2 -2
- package/dist/admin/assets/{labels-DQckbLGW.js.map → labels-BtktCNGw.js.map} +1 -1
- package/dist/admin/assets/{languages-CzbTaQv9.js → languages-DLjdz6gb.js} +2 -2
- package/dist/admin/assets/{languages-CzbTaQv9.js.map → languages-DLjdz6gb.js.map} +1 -1
- package/dist/admin/assets/{layers-BmcodiaH.js → layers-swLuw-3a.js} +2 -2
- package/dist/admin/assets/{layers-BmcodiaH.js.map → layers-swLuw-3a.js.map} +1 -1
- package/dist/admin/assets/{link-2-off-CoJNwrxm.js → link-2-off-CEsI5T8h.js} +2 -2
- package/dist/admin/assets/{link-2-off-CoJNwrxm.js.map → link-2-off-CEsI5T8h.js.map} +1 -1
- package/dist/admin/assets/{link-Pyr2Y35S.js → link-C98FG_p5.js} +2 -2
- package/dist/admin/assets/{link-Pyr2Y35S.js.map → link-C98FG_p5.js.map} +1 -1
- package/dist/admin/assets/locales-CkuC7TJ1.js +2 -0
- package/dist/admin/assets/{locales-Bg3htKo8.js.map → locales-CkuC7TJ1.js.map} +1 -1
- package/dist/admin/assets/media-CbGSd_Mw.js +2 -0
- package/dist/admin/assets/{media-BCnVhaDH.js.map → media-CbGSd_Mw.js.map} +1 -1
- package/dist/admin/assets/{media-CURizGns.js → media-CeZGDGh7.js} +2 -2
- package/dist/admin/assets/{media-CURizGns.js.map → media-CeZGDGh7.js.map} +1 -1
- package/dist/admin/assets/network-BflLSKFO.js +2 -0
- package/dist/admin/assets/network-BflLSKFO.js.map +1 -0
- package/dist/admin/assets/{plus-BoDtdLCo.js → plus-cr9ZfO6j.js} +2 -2
- package/dist/admin/assets/{plus-BoDtdLCo.js.map → plus-cr9ZfO6j.js.map} +1 -1
- package/dist/admin/assets/publishing-BkxBplUZ.js +2 -0
- package/dist/admin/assets/publishing-BkxBplUZ.js.map +1 -0
- package/dist/admin/assets/{radio-group-4ok5evXq.js → radio-group-CRuWQnuV.js} +2 -2
- package/dist/admin/assets/{radio-group-4ok5evXq.js.map → radio-group-CRuWQnuV.js.map} +1 -1
- package/dist/admin/assets/{rotate-ccw-DL6TzcZh.js → rotate-ccw-BP8Ba-mY.js} +2 -2
- package/dist/admin/assets/{rotate-ccw-DL6TzcZh.js.map → rotate-ccw-BP8Ba-mY.js.map} +1 -1
- package/dist/admin/assets/schedules-BIyBlsYZ.js +2 -0
- package/dist/admin/assets/{schedules-BmB9Y73z.js.map → schedules-BIyBlsYZ.js.map} +1 -1
- package/dist/admin/assets/schema-6eUoC8fJ.js +2 -0
- package/dist/admin/assets/schema-6eUoC8fJ.js.map +1 -0
- package/dist/admin/assets/{scroll-text-PqeZm472.js → scroll-text-B5vfi9fD.js} +2 -2
- package/dist/admin/assets/{scroll-text-PqeZm472.js.map → scroll-text-B5vfi9fD.js.map} +1 -1
- package/dist/admin/assets/{search-BdwIwOzC.js → search-wj7zbkx1.js} +2 -2
- package/dist/admin/assets/{search-BdwIwOzC.js.map → search-wj7zbkx1.js.map} +1 -1
- package/dist/admin/assets/{searchSchemas-CSScloG8.js → searchSchemas-DAnwh3I3.js} +2 -2
- package/dist/admin/assets/{searchSchemas-CSScloG8.js.map → searchSchemas-DAnwh3I3.js.map} +1 -1
- package/dist/admin/assets/{sections-DqBzSKMP.js → sections-CWL-XD6m.js} +2 -2
- package/dist/admin/assets/sections-CWL-XD6m.js.map +1 -0
- package/dist/admin/assets/{sections-BTS683ur.js → sections-DBQpB0uv.js} +2 -2
- package/dist/admin/assets/{sections-BTS683ur.js.map → sections-DBQpB0uv.js.map} +1 -1
- package/dist/admin/assets/{select-C0USI-Ox.js → select-DVrPV1b3.js} +2 -2
- package/dist/admin/assets/{select-C0USI-Ox.js.map → select-DVrPV1b3.js.map} +1 -1
- package/dist/admin/assets/{send-XPWo3m4u.js → send-CzFdgUc_.js} +2 -2
- package/dist/admin/assets/{send-XPWo3m4u.js.map → send-CzFdgUc_.js.map} +1 -1
- package/dist/admin/assets/seo-Bd0sWQMo.js +2 -0
- package/dist/admin/assets/{seo-CceGYTIX.js.map → seo-Bd0sWQMo.js.map} +1 -1
- package/dist/admin/assets/settings-CqnrPmzR.js +2 -0
- package/dist/admin/assets/{settings-B60vHpZd.js.map → settings-CqnrPmzR.js.map} +1 -1
- package/dist/admin/assets/shapes-ZAkMBB-Z.js +6 -0
- package/dist/admin/assets/shapes-ZAkMBB-Z.js.map +1 -0
- package/dist/admin/assets/{skeleton-B5MP72Kw.js → skeleton-CiX26LnL.js} +2 -2
- package/dist/admin/assets/{skeleton-B5MP72Kw.js.map → skeleton-CiX26LnL.js.map} +1 -1
- package/dist/admin/assets/{snapshots-DUI2t-qF.js → snapshots-DbFQNJgN.js} +2 -2
- package/dist/admin/assets/{snapshots-DUI2t-qF.js.map → snapshots-DbFQNJgN.js.map} +1 -1
- package/dist/admin/assets/{sparkles-CvT-jxrW.js → sparkles-D_kmZJVd.js} +2 -2
- package/dist/admin/assets/{sparkles-CvT-jxrW.js.map → sparkles-D_kmZJVd.js.map} +1 -1
- package/dist/admin/assets/src-CMor9izq.js +7 -0
- package/dist/admin/assets/src-CMor9izq.js.map +1 -0
- package/dist/admin/assets/{stableId-BrtQedPy.js → stableId-g1uxJGSz.js} +2 -2
- package/dist/admin/assets/{stableId-BrtQedPy.js.map → stableId-g1uxJGSz.js.map} +1 -1
- package/dist/admin/assets/{store-CdIFG90N.js → store-CznhNKEi.js} +2 -2
- package/dist/admin/assets/{store-CdIFG90N.js.map → store-CznhNKEi.js.map} +1 -1
- package/dist/admin/assets/{switch-Dp6WYNam.js → switch-CiVf05NF.js} +2 -2
- package/dist/admin/assets/{switch-Dp6WYNam.js.map → switch-CiVf05NF.js.map} +1 -1
- package/dist/admin/assets/{theme-65PB8uAu.js → theme-Cv-MfOv8.js} +2 -2
- package/dist/admin/assets/theme-Cv-MfOv8.js.map +1 -0
- package/dist/admin/assets/titles-DrQhW8z3.js +2 -0
- package/dist/admin/assets/titles-DrQhW8z3.js.map +1 -0
- package/dist/admin/assets/tokens-B1S81Epe.js +2 -0
- package/dist/admin/assets/{tokens-ixHjAkDK.js.map → tokens-B1S81Epe.js.map} +1 -1
- package/dist/admin/assets/{tooltip-BGP1DVBt.js → tooltip-Bqf3oyqC.js} +2 -2
- package/dist/admin/assets/{tooltip-BGP1DVBt.js.map → tooltip-Bqf3oyqC.js.map} +1 -1
- package/dist/admin/assets/{undo-2-BiTANHFz.js → undo-2-DpwwRQTf.js} +2 -2
- package/dist/admin/assets/{undo-2-BiTANHFz.js.map → undo-2-DpwwRQTf.js.map} +1 -1
- package/dist/admin/assets/useContentSchema-B_q1rMrG.js +2 -0
- package/dist/admin/assets/useContentSchema-B_q1rMrG.js.map +1 -0
- package/dist/admin/assets/useCursorPager-BHYqHb3M.js +2 -0
- package/dist/admin/assets/{useCursorPager-0zHjlm-7.js.map → useCursorPager-BHYqHb3M.js.map} +1 -1
- package/dist/admin/assets/{useDiscardGuard-BskWSlbT.js → useDiscardGuard-C4QTfiU4.js} +2 -2
- package/dist/admin/assets/{useDiscardGuard-BskWSlbT.js.map → useDiscardGuard-C4QTfiU4.js.map} +1 -1
- package/dist/admin/assets/{useMediaPickerDialog-CU-ekPqX.js → useMediaPickerDialog-BLrVV1Kn.js} +2 -2
- package/dist/admin/assets/{useMediaPickerDialog-CU-ekPqX.js.map → useMediaPickerDialog-BLrVV1Kn.js.map} +1 -1
- package/dist/admin/assets/{useMediaUploader-CBcq1ICg.js → useMediaUploader-CFy6lasO.js} +2 -2
- package/dist/admin/assets/useMediaUploader-CFy6lasO.js.map +1 -0
- package/dist/admin/assets/useModelIndex-NU-WlHQY.js +2 -0
- package/dist/admin/assets/useModelIndex-NU-WlHQY.js.map +1 -0
- package/dist/admin/assets/useNetworkPermission-DehDln-U.js +2 -0
- package/dist/admin/assets/{useNetworkPermission-Cts98h9d.js.map → useNetworkPermission-DehDln-U.js.map} +1 -1
- package/dist/admin/assets/{usePaletteItems-DtReWmkd.js → usePaletteItems-CFpNlSOs.js} +2 -2
- package/dist/admin/assets/{usePaletteItems-DtReWmkd.js.map → usePaletteItems-CFpNlSOs.js.map} +1 -1
- package/dist/admin/assets/usePlaces-BA4x6503.js +2 -0
- package/dist/admin/assets/usePlaces-BA4x6503.js.map +1 -0
- package/dist/admin/assets/useResolvedDefinitions-30lnwFQ1.js +2 -0
- package/dist/admin/assets/useResolvedDefinitions-30lnwFQ1.js.map +1 -0
- package/dist/admin/assets/{useResolvedScheme-C8vcQVko.js → useResolvedScheme-BVM4qLct.js} +2 -2
- package/dist/admin/assets/{useResolvedScheme-C8vcQVko.js.map → useResolvedScheme-BVM4qLct.js.map} +1 -1
- package/dist/admin/assets/useSaveShortcut-DQuNL1uJ.js +2 -0
- package/dist/admin/assets/useSaveShortcut-DQuNL1uJ.js.map +1 -0
- package/dist/admin/assets/{useSchemaScopeAccess-ByrxIdKM.js → useSchemaScopeAccess-JXOMx51q.js} +2 -2
- package/dist/admin/assets/{useSchemaScopeAccess-ByrxIdKM.js.map → useSchemaScopeAccess-JXOMx51q.js.map} +1 -1
- package/dist/admin/assets/users-38jLQ7zr.js +2 -0
- package/dist/admin/assets/users-38jLQ7zr.js.map +1 -0
- package/dist/admin/assets/{users-DM7CXUBJ.js → users-DYwcVDqp.js} +2 -2
- package/dist/admin/assets/{users-DM7CXUBJ.js.map → users-DYwcVDqp.js.map} +1 -1
- package/dist/admin/assets/{zod-Cry7YvLY.js → zod-ZaQjjiAq.js} +2 -2
- package/dist/admin/assets/{zod-Cry7YvLY.js.map → zod-ZaQjjiAq.js.map} +1 -1
- package/dist/admin/index.html +60 -58
- package/dist/cli.js +1 -1
- package/dist/{cliMain-papyXJDd.js → cliMain-CTntiVc2.js} +107 -30
- package/dist/cliMain-CTntiVc2.js.map +1 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.js +1 -1
- package/dist/{contentDisposition-DOL2Xt0l.js → contentDisposition-DzhPhncr.js} +2 -2
- package/dist/{contentDisposition-DOL2Xt0l.js.map → contentDisposition-DzhPhncr.js.map} +1 -1
- package/dist/index.d.ts +43 -6
- package/dist/index.js +2 -2
- package/dist/{public-COKbHR-N.d.ts → public-CMFaGDyf.d.ts} +50 -8
- package/dist/{public-B57h4F7Y.js → public-sJCQaNaP.js} +2 -2
- package/dist/public-sJCQaNaP.js.map +1 -0
- package/dist/{s3Adapter-U01iEAcK.js → s3Adapter-CZcCl0sy.js} +2 -2
- package/dist/{s3Adapter-U01iEAcK.js.map → s3Adapter-CZcCl0sy.js.map} +1 -1
- package/dist/{worker-B-sC-eY2.js → worker-DHm2JwMZ.js} +3140 -1292
- package/dist/worker-DHm2JwMZ.js.map +1 -0
- package/package.json +5 -5
- package/dist/admin/assets/AssistError-Cs-r9Ssc.js +0 -2
- package/dist/admin/assets/Body-BzZD-TZT.js +0 -2
- package/dist/admin/assets/Body-BzZD-TZT.js.map +0 -1
- package/dist/admin/assets/Builder-DW-GJA_q.js +0 -2
- package/dist/admin/assets/Builder-DW-GJA_q.js.map +0 -1
- package/dist/admin/assets/Form-lNrRHc0I.js +0 -2
- package/dist/admin/assets/Form-lNrRHc0I.js.map +0 -1
- package/dist/admin/assets/FormCheckboxGroup-DeeaYnzB.js +0 -2
- package/dist/admin/assets/FormCheckboxGroup-DeeaYnzB.js.map +0 -1
- package/dist/admin/assets/FormSelectField-BzE9Lq9i.js +0 -2
- package/dist/admin/assets/FormSelectField-BzE9Lq9i.js.map +0 -1
- package/dist/admin/assets/RadioTile-DQFmni5A.js.map +0 -1
- package/dist/admin/assets/RichTextField-CVHRIbnu.js.map +0 -1
- package/dist/admin/assets/StepList-BXGYD9eJ.js +0 -2
- package/dist/admin/assets/StepList-BXGYD9eJ.js.map +0 -1
- package/dist/admin/assets/Structure-D8csgrIt.js +0 -2
- package/dist/admin/assets/SubNavLink-CiCaVV8U.js.map +0 -1
- package/dist/admin/assets/auth-CQO4MBUj.js +0 -2
- package/dist/admin/assets/changeSets-8EburmT0.js +0 -2
- package/dist/admin/assets/chevron-left-DGU3HGYG.js +0 -2
- package/dist/admin/assets/content-CAjkbZEY.js +0 -3
- package/dist/admin/assets/content-CAjkbZEY.js.map +0 -1
- package/dist/admin/assets/createLucideIcon-CLmh7Go-.js +0 -2
- package/dist/admin/assets/createLucideIcon-CLmh7Go-.js.map +0 -1
- package/dist/admin/assets/develop-BOqvnlgt.js +0 -11
- package/dist/admin/assets/develop-BOqvnlgt.js.map +0 -1
- package/dist/admin/assets/es2015-BHmI7wjK.js +0 -42
- package/dist/admin/assets/es2015-BHmI7wjK.js.map +0 -1
- package/dist/admin/assets/followPlural-Cm7v_Udv.js +0 -2
- package/dist/admin/assets/followPlural-Cm7v_Udv.js.map +0 -1
- package/dist/admin/assets/inbox-DGO2D8fa.js +0 -2
- package/dist/admin/assets/inbox-DGO2D8fa.js.map +0 -1
- package/dist/admin/assets/index-BIIU9ZI6.js +0 -4
- package/dist/admin/assets/index-BIIU9ZI6.js.map +0 -1
- package/dist/admin/assets/index-lxe7WimO.css +0 -2
- package/dist/admin/assets/locales-Bg3htKo8.js +0 -2
- package/dist/admin/assets/media-BCnVhaDH.js +0 -2
- package/dist/admin/assets/network-BixABr0o.js +0 -2
- package/dist/admin/assets/network-BixABr0o.js.map +0 -1
- package/dist/admin/assets/publishing-Dke9bSKp.js +0 -2
- package/dist/admin/assets/publishing-Dke9bSKp.js.map +0 -1
- package/dist/admin/assets/schedules-BmB9Y73z.js +0 -2
- package/dist/admin/assets/schema-D-qo7XSF.js +0 -2
- package/dist/admin/assets/schema-D-qo7XSF.js.map +0 -1
- package/dist/admin/assets/sections-DqBzSKMP.js.map +0 -1
- package/dist/admin/assets/seo-CceGYTIX.js +0 -2
- package/dist/admin/assets/settings-B60vHpZd.js +0 -2
- package/dist/admin/assets/shapes-B5twqZcp.js +0 -6
- package/dist/admin/assets/shapes-B5twqZcp.js.map +0 -1
- package/dist/admin/assets/src-ndgTSYLX.js +0 -7
- package/dist/admin/assets/src-ndgTSYLX.js.map +0 -1
- package/dist/admin/assets/theme-65PB8uAu.js.map +0 -1
- package/dist/admin/assets/titles-CQiqqDw-.js +0 -2
- package/dist/admin/assets/titles-CQiqqDw-.js.map +0 -1
- package/dist/admin/assets/tokens-ixHjAkDK.js +0 -2
- package/dist/admin/assets/useContentSchema-DtYfhsd2.js +0 -2
- package/dist/admin/assets/useContentSchema-DtYfhsd2.js.map +0 -1
- package/dist/admin/assets/useCursorPager-0zHjlm-7.js +0 -2
- package/dist/admin/assets/useMediaUploader-CBcq1ICg.js.map +0 -1
- package/dist/admin/assets/useNetworkPermission-Cts98h9d.js +0 -2
- package/dist/admin/assets/usePlaces-DC47wVeU.js +0 -2
- package/dist/admin/assets/usePlaces-DC47wVeU.js.map +0 -1
- package/dist/admin/assets/useQueries-CirW3Mvp.js +0 -2
- package/dist/admin/assets/useQueries-CirW3Mvp.js.map +0 -1
- package/dist/admin/assets/useSaveShortcut-rKtp1qK7.js +0 -2
- package/dist/admin/assets/useSaveShortcut-rKtp1qK7.js.map +0 -1
- package/dist/admin/assets/users-2iJYwlJb.js +0 -2
- package/dist/admin/assets/users-2iJYwlJb.js.map +0 -1
- package/dist/cliMain-papyXJDd.js.map +0 -1
- package/dist/public-B57h4F7Y.js.map +0 -1
- package/dist/worker-B-sC-eY2.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{
|
|
2
|
-
//# sourceMappingURL=contentCounts-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{Bt as n,Jt as r,gt as i}from"./src-CMor9izq.js";var a=e(t(),1),o=6e4,s=()=>{let e=r({queryKey:n.contentCounts,queryFn:()=>i.contentCounts.list(),staleTime:o,meta:{silent:!0}});return(0,a.useMemo)(()=>e.data?new Map(e.data.counts.map(e=>[e.modelId,e.total])):void 0,[e.data])};export{s as t};
|
|
2
|
+
//# sourceMappingURL=contentCounts-BzC7IQqP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentCounts-
|
|
1
|
+
{"version":3,"file":"contentCounts-BzC7IQqP.js","names":["useMemo","__toESM","queryKeys","useQuery","adminApi","import_react","require_react","COUNTS_STALE_MS","useContentCounts","query","count"],"sources":["../../src/api/contentCounts.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\n/** The server caches counts for 60s; asking more often would only return the same numbers. */\nconst COUNTS_STALE_MS = 60_000;\n\n/** Entries per model (readable models only), keyed by model ID; undefined while loading or on failure. */\nexport const useContentCounts = () => {\n const query = useQuery({\n queryKey: queryKeys.contentCounts,\n queryFn: () => adminApi.contentCounts.list(),\n staleTime: COUNTS_STALE_MS,\n meta: { silent: true },\n });\n return useMemo(\n () =>\n query.data\n ? new Map(query.data.counts.map((count) => [count.modelId, count.total] as const))\n : undefined,\n [query.data],\n );\n};\n"],"mappings":"4JAMMO,EAAkB,IAGXC,MAAyB,CACpC,IAAMC,EAAQN,EAAS,CACrB,SAAUD,EAAU,cACpB,YAAeE,EAAS,cAAc,KAAK,EAC3C,UAAWG,EACX,KAAM,CAAE,OAAQ,EAAK,CACvB,CAAC,EACD,OAAA,EAAOP,EAAAA,QAAAA,KAEHS,EAAM,KACF,IAAI,IAAIA,EAAM,KAAK,OAAO,IAAK,GAAU,CAACC,EAAM,QAASA,EAAM,KAAK,CAAU,CAAC,EAC/E,IAAA,GACN,CAACD,EAAM,IAAI,CACb,CACF"}
|
|
@@ -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{E as r,S as i,o as a,w as o}from"./auth-
|
|
2
|
-
//# sourceMappingURL=contentTypes-
|
|
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,S as i,o as a,w as o}from"./auth-BFSvtV59.js";import{_ as s,a as c,i as l,j as u,o as d,t as f}from"./badge-DGqA_yr_.js";import{n as p}from"./createLucideIcon-BOsNKleB.js";import{t as m}from"./fileRoute-DMal-zYL.js";import{r as h,t as g}from"./Form-Cf1ephPH.js";import{a as _,d as v}from"./constants-DY3YJAKH.js";import{i as y}from"./skeleton-CiX26LnL.js";import{t as b}from"./Builder-DmlYcgiP.js";import{t as x}from"./plus-cr9ZfO6j.js";import{u as S}from"./changeSets-B6HxCJ4A.js";import{t as C}from"./HintedLabel-D9IVF0EE.js";import{l as w}from"./schema-6eUoC8fJ.js";import{t as T}from"./QueryView-B86NcRt5.js";import{c as E,g as D,i as O,r as k,t as A}from"./AssistError-rslPtgWB.js";import{t as j}from"./textarea-BBjqMF-Y.js";import{t as M}from"./Panel-Bcl09TtM.js";import{c as N,s as P}from"./followPlural-CsgeALTW.js";var F=e(n(),1),I=()=>{let{t:e}=p(),t=w(`component`),n=a(`schema.create`),{locked:r,reason:o}=N(),s=n&&!r?(0,F.jsx)(y,{asChild:!0,children:(0,F.jsxs)(i,{to:`/develop/components/new`,children:[(0,F.jsx)(x,{"aria-hidden":`true`}),e(`contentTypes.newComponentTitle`)]})}):null;return(0,F.jsxs)(c,{children:[(0,F.jsx)(l,{title:e(`shell.nav.components`),actions:s}),r?(0,F.jsx)(P,{reason:o}):null,(0,F.jsx)(T,{query:t,isEmpty:e=>e.length===0,empty:(0,F.jsx)(d,{icon:v,title:e(`contentTypes.noComponents`),description:e(`models.emptyDescription`),action:s}),children:e=>(0,F.jsx)(h,{items:e})})]})},L=()=>{let{componentId:e}=u({from:`/app/develop/components/$componentId`});return(0,F.jsx)(b,{category:`component`,id:e})},R=[`component`],z=()=>{let{t:e}=p();return(0,F.jsx)(g,{title:e(`contentTypes.newComponentTitle`),kinds:R,back:o({to:`/develop/components`}),backLabel:e(`shell.nav.components`)})},B=e(t(),1),V=()=>{let{t:e}=p(),t=r(),[n,i]=(0,B.useState)(``),[a,o]=(0,B.useState)(null),s=E(),c=S();return{description:n,setDescription:i,proposal:a,run:()=>{n.trim()!==``&&(o(null),c.reset(),s.mutate({description:n.trim()},{onSuccess:o}))},discard:()=>{o(null),s.reset(),c.reset()},addToChangeSet:()=>{a&&c.mutate({definitions:a.definitions,newSetTitle:e(`assist.describe.setTitle`,{model:a.model})},{onSuccess:e=>void t({to:`/changes/$changeSetId`,params:{changeSetId:e}})})},proposing:s.isPending,proposeError:s.error,adding:c.isPending,addError:c.error}},H=({proposal:e})=>{let{t}=p();return(0,F.jsxs)(`div`,{className:`space-y-3`,children:[(0,F.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:t(`assist.describe.proposedBy`,{model:e.model})}),(0,F.jsx)(`ul`,{"aria-label":t(`assist.describe.proposalLabel`),className:`space-y-3`,children:e.definitions.map(e=>(0,F.jsxs)(`li`,{className:`rounded-lg border p-3`,children:[(0,F.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,F.jsx)(`span`,{className:`text-sm font-semibold`,children:e.label}),(0,F.jsx)(f,{variant:`secondary`,children:t(_[e.kind])}),(0,F.jsx)(`span`,{className:`font-mono text-meta text-muted-foreground`,children:e.apiKey})]}),(0,F.jsx)(`ul`,{className:`mt-2 space-y-0.5 text-meta text-muted-foreground`,children:e.fields.map(e=>(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`text-foreground`,children:e.label}),` `,t(`assist.describe.fieldType`,{type:t(`models.dataTypes.${e.type}.name`)})]},e.id))})]},e.id))})]})},U=()=>{let{t:e}=p(),t=(0,B.useId)(),n=O(),{locked:r}=N(),i=V();return n?(0,F.jsx)(M,{title:e(`assist.describe.title`),titleAs:`h2`,children:(0,F.jsx)(`div`,{className:`space-y-3`,children:i.proposal?(0,F.jsxs)(`form`,{className:`space-y-3`,onSubmit:e=>{e.preventDefault(),i.addToChangeSet()},children:[(0,F.jsx)(H,{proposal:i.proposal}),(0,F.jsx)(A,{error:i.addError}),(0,F.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,F.jsx)(y,{type:`button`,variant:`outline`,onClick:i.discard,children:e(`assist.discard`)}),(0,F.jsx)(s,{pending:i.adding,pendingLabel:e(`common.saving`),disabled:r,children:e(`assist.describe.add`)})]})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsx)(C,{htmlFor:`${t}-description`,label:e(`assist.describe.label`),hint:e(`assist.describe.hint`)}),(0,F.jsx)(j,{id:`${t}-description`,value:i.description,rows:4,maxLength:D,placeholder:e(`assist.describe.placeholder`),disabled:i.proposing,onChange:e=>i.setDescription(e.target.value)})]}),(0,F.jsx)(A,{error:i.proposeError}),(0,F.jsx)(`div`,{className:`flex justify-end`,children:(0,F.jsx)(k,{variant:`outline`,size:`default`,pending:i.proposing,pendingLabel:e(`assist.working`),disabled:i.description.trim()===``||r,onClick:i.run,children:e(`assist.describe.run`)})})]})})}):null},W=[`collection`,`singleton`],G={newContentType:m(`/app/content/new`)({component:()=>{let{t:e}=p();return(0,F.jsx)(g,{title:e(`contentTypes.newTitle`),kinds:W,back:o({to:`/content`}),backLabel:e(`content.title`),intro:(0,F.jsx)(U,{})})}}),components:m(`/app/develop/components`)({component:I}),newComponent:m(`/app/develop/components/new`)({component:z}),component:m(`/app/develop/components/$componentId`)({component:L})};export{G as contentTypesLazyRoutes};
|
|
2
|
+
//# sourceMappingURL=contentTypes-Bz2xpqGf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentTypes-84uc0bjR.js","names":["DefinitionBuilder","KINDS","New","useState","useId","_Fragment","NewContentType","NewComponent","ComponentBuilder","__toESM","require_jsx_runtime","useNavigate","Link","useHasGlobalPermission","linkOptions","SubmitButton","Page","PageHeader","useParams","EmptyState","Badge","useTranslation","createLazyRoute","List","Form","KIND_LABEL_KEYS","Blocks","Button","Builder$1","Plus","useSaveNewDefinitionsToChangeSet","HintedLabel","useDefinitions","QueryView","useProposeSchema","SCHEMA_DESCRIPTION_MAX","useAssistEnabled","AssistButton","AssistError","Textarea","Panel","useSchemaLock","LockNotice","import_jsx_runtime","Components","components","canCreate","createAction","locked","t","data","Builder","componentId","KINDS$1","New$1","import_react","require_react","useDescribeSchema","navigate","description","setDescription","proposal","setProposal","propose","save","Proposal","definition","field","Describe","id","enabled","describe","event","KINDS","contentTypesLazyRoutes"],"sources":["../../src/features/Components/index.tsx","../../src/features/Components/Builder/index.tsx","../../src/features/Components/New/index.tsx","../../src/features/Content/New/hooks/useDescribeSchema.ts","../../src/features/Content/New/Describe/Proposal/index.tsx","../../src/features/Content/New/Describe/index.tsx","../../src/features/Content/New/index.tsx","../../src/app/lazyRoutes/contentTypes.tsx"],"sourcesContent":["import { Link } from '@tanstack/react-router';\nimport { Blocks, Plus } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHasGlobalPermission } from '@/api/auth';\nimport { useDefinitions } from '@/api/schema';\nimport { EmptyState } from '@/components/EmptyState';\nimport { Page } from '@/components/Page';\nimport { PageHeader } from '@/components/PageHeader';\nimport { QueryView } from '@/components/QueryView';\nimport { Button } from '@/components/ui/button';\nimport { useSchemaLock } from '@/features/Models/hooks/useSchemaLock';\nimport { List } from '@/features/Models/List';\nimport { LockNotice } from '@/features/Models/LockNotice';\n\n/** `/develop/components`: reusable field groups that content types embed (Develop → Components). */\nexport const Components = () => {\n const { t } = useTranslation();\n const components = useDefinitions('component');\n const canCreate = useHasGlobalPermission('schema.create');\n const { locked, reason } = useSchemaLock();\n const createAction =\n canCreate && !locked ? (\n <Button asChild>\n <Link to=\"/develop/components/new\">\n <Plus aria-hidden=\"true\" />\n {t('contentTypes.newComponentTitle')}\n </Link>\n </Button>\n ) : null;\n return (\n <Page>\n <PageHeader title={t('shell.nav.components')} actions={createAction} />\n {locked ? <LockNotice reason={reason} /> : null}\n <QueryView\n query={components}\n isEmpty={(data) => data.length === 0}\n empty={\n <EmptyState\n icon={Blocks}\n title={t('contentTypes.noComponents')}\n description={t('models.emptyDescription')}\n action={createAction}\n />\n }\n >\n {(data) => <List items={data} />}\n </QueryView>\n </Page>\n );\n};\n","import { useParams } from '@tanstack/react-router';\nimport { Builder as DefinitionBuilder } from '@/features/Models/Builder';\n\n/** `/develop/components/:componentId`: a component in the shared definition builder. */\nexport const Builder = () => {\n const { componentId } = useParams({ from: '/app/develop/components/$componentId' });\n return <DefinitionBuilder category=\"component\" id={componentId} />;\n};\n","import { linkOptions } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { Form } from '@/features/Content/New/Form';\n\nconst KINDS = ['component'] as const;\n\n/** `/develop/components/new`: a reusable component (Develop → Components). */\nexport const New = () => {\n const { t } = useTranslation();\n return (\n <Form\n title={t('contentTypes.newComponentTitle')}\n kinds={KINDS}\n back={linkOptions({ to: '/develop/components' })}\n backLabel={t('shell.nav.components')}\n />\n );\n};\n","import type { SchemaDraftResult } from '@shapio/client';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useProposeSchema } from '@/api/assist';\nimport { useSaveNewDefinitionsToChangeSet } from '@/api/changeSets';\n\n/**\n * \"Describe it\": a description → proposed definitions (nothing written) → saved as schema drafts into a\n * change set, whose review opens next. Shipping them stays a person's decision there.\n */\nexport const useDescribeSchema = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const [description, setDescription] = useState('');\n const [proposal, setProposal] = useState<SchemaDraftResult | null>(null);\n const propose = useProposeSchema();\n const save = useSaveNewDefinitionsToChangeSet();\n const run = () => {\n if (description.trim() === '') {\n return;\n }\n setProposal(null);\n save.reset();\n propose.mutate({ description: description.trim() }, { onSuccess: setProposal });\n };\n const discard = () => {\n setProposal(null);\n propose.reset();\n save.reset();\n };\n const addToChangeSet = () => {\n if (!proposal) {\n return;\n }\n save.mutate(\n {\n definitions: proposal.definitions,\n newSetTitle: t('assist.describe.setTitle', { model: proposal.model }),\n },\n {\n onSuccess: (changeSetId) => void navigate({ to: '/changes/$changeSetId', params: { changeSetId } }),\n },\n );\n };\n return {\n description,\n setDescription,\n proposal,\n run,\n discard,\n addToChangeSet,\n proposing: propose.isPending,\n proposeError: propose.error,\n adding: save.isPending,\n addError: save.error,\n };\n};\n","import type { SchemaDraftResult } from '@shapio/client';\nimport { useTranslation } from 'react-i18next';\nimport { Badge } from '@/components/ui/badge';\nimport { KIND_LABEL_KEYS } from '@/features/Models/constants';\n\ntype ProposalProps = { proposal: SchemaDraftResult };\n\n/** The proposed definitions at a glance: name, kind, API ID and fields, before they go into a change set. */\nexport const Proposal = ({ proposal }: ProposalProps) => {\n const { t } = useTranslation();\n return (\n <div className=\"space-y-3\">\n <p className=\"text-meta text-muted-foreground\">\n {t('assist.describe.proposedBy', { model: proposal.model })}\n </p>\n <ul aria-label={t('assist.describe.proposalLabel')} className=\"space-y-3\">\n {proposal.definitions.map((definition) => (\n <li key={definition.id} className=\"rounded-lg border p-3\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold\">{definition.label}</span>\n <Badge variant=\"secondary\">{t(KIND_LABEL_KEYS[definition.kind])}</Badge>\n <span className=\"font-mono text-meta text-muted-foreground\">{definition.apiKey}</span>\n </div>\n <ul className=\"mt-2 space-y-0.5 text-meta text-muted-foreground\">\n {definition.fields.map((field) => (\n <li key={field.id}>\n <span className=\"text-foreground\">{field.label}</span>{' '}\n {t('assist.describe.fieldType', { type: t(`models.dataTypes.${field.type}.name`) })}\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import { useId } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAssistEnabled } from '@/api/assist';\nimport { AssistButton } from '@/components/AssistButton';\nimport { AssistError } from '@/components/AssistError';\nimport { HintedLabel } from '@/components/HintedLabel';\nimport { Panel } from '@/components/Panel';\nimport { SubmitButton } from '@/components/SubmitButton';\nimport { Button } from '@/components/ui/button';\nimport { Textarea } from '@/components/ui/textarea';\nimport { SCHEMA_DESCRIPTION_MAX } from '@/constants/assist';\nimport { useSchemaLock } from '@/features/Models/hooks/useSchemaLock';\nimport { useDescribeSchema } from '../hooks/useDescribeSchema';\nimport { Proposal } from './Proposal';\n\n/** \"Describe it\" above the new content type form: a model proposes the types, a change set holds them. */\nexport const Describe = () => {\n const { t } = useTranslation();\n const id = useId();\n const enabled = useAssistEnabled();\n const { locked } = useSchemaLock();\n const describe = useDescribeSchema();\n if (!enabled) {\n return null;\n }\n return (\n <Panel title={t('assist.describe.title')} titleAs=\"h2\">\n <div className=\"space-y-3\">\n {describe.proposal ? (\n <form\n className=\"space-y-3\"\n onSubmit={(event) => {\n event.preventDefault();\n describe.addToChangeSet();\n }}\n >\n <Proposal proposal={describe.proposal} />\n <AssistError error={describe.addError} />\n <div className=\"flex flex-wrap justify-end gap-2\">\n <Button type=\"button\" variant=\"outline\" onClick={describe.discard}>\n {t('assist.discard')}\n </Button>\n <SubmitButton pending={describe.adding} pendingLabel={t('common.saving')} disabled={locked}>\n {t('assist.describe.add')}\n </SubmitButton>\n </div>\n </form>\n ) : (\n <>\n <div className=\"space-y-2\">\n <HintedLabel\n htmlFor={`${id}-description`}\n label={t('assist.describe.label')}\n hint={t('assist.describe.hint')}\n />\n <Textarea\n id={`${id}-description`}\n value={describe.description}\n rows={4}\n maxLength={SCHEMA_DESCRIPTION_MAX}\n placeholder={t('assist.describe.placeholder')}\n disabled={describe.proposing}\n onChange={(event) => describe.setDescription(event.target.value)}\n />\n </div>\n <AssistError error={describe.proposeError} />\n <div className=\"flex justify-end\">\n <AssistButton\n variant=\"outline\"\n size=\"default\"\n pending={describe.proposing}\n pendingLabel={t('assist.working')}\n disabled={describe.description.trim() === '' || locked}\n onClick={describe.run}\n >\n {t('assist.describe.run')}\n </AssistButton>\n </div>\n </>\n )}\n </div>\n </Panel>\n );\n};\n","import { linkOptions } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { Describe } from './Describe';\nimport { Form } from './Form';\n\nconst KINDS = ['collection', 'singleton'] as const;\n\n/** `/content/new`: a new content type (a place for editors), live as soon as it is created. */\nexport const New = () => {\n const { t } = useTranslation();\n return (\n <Form\n title={t('contentTypes.newTitle')}\n kinds={KINDS}\n back={linkOptions({ to: '/content' })}\n backLabel={t('content.title')}\n intro={<Describe />}\n />\n );\n};\n","import { createLazyRoute } from '@tanstack/react-router';\nimport { Components } from '@/features/Components';\nimport { Builder as ComponentBuilder } from '@/features/Components/Builder';\nimport { New as NewComponent } from '@/features/Components/New';\nimport { New as NewContentType } from '@/features/Content/New';\n\n/** Creating content types and components, and Develop → Components (with @shapio/schema's validators). */\nexport const contentTypesLazyRoutes = {\n newContentType: createLazyRoute('/app/content/new')({ component: NewContentType }),\n components: createLazyRoute('/app/develop/components')({ component: Components }),\n newComponent: createLazyRoute('/app/develop/components/new')({ component: NewComponent }),\n component: createLazyRoute('/app/develop/components/$componentId')({ component: ComponentBuilder }),\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contentTypes-Bz2xpqGf.js","names":["DefinitionBuilder","KINDS","New","useState","useId","_Fragment","NewContentType","NewComponent","ComponentBuilder","__toESM","require_jsx_runtime","useNavigate","Link","useHasGlobalPermission","linkOptions","SubmitButton","Page","PageHeader","useParams","EmptyState","Badge","useTranslation","createLazyRoute","List","Form","KIND_LABEL_KEYS","Blocks","Button","Builder$1","Plus","useSaveNewDefinitionsToChangeSet","HintedLabel","useDefinitions","QueryView","useProposeSchema","SCHEMA_DESCRIPTION_MAX","useAssistEnabled","AssistButton","AssistError","Textarea","Panel","useSchemaLock","LockNotice","import_jsx_runtime","Components","components","canCreate","createAction","locked","t","data","Builder","componentId","KINDS$1","New$1","import_react","require_react","useDescribeSchema","navigate","description","setDescription","proposal","setProposal","propose","save","Proposal","definition","field","Describe","id","enabled","describe","event","KINDS","contentTypesLazyRoutes"],"sources":["../../src/features/Components/index.tsx","../../src/features/Components/Builder/index.tsx","../../src/features/Components/New/index.tsx","../../src/features/Content/New/hooks/useDescribeSchema.ts","../../src/features/Content/New/Describe/Proposal/index.tsx","../../src/features/Content/New/Describe/index.tsx","../../src/features/Content/New/index.tsx","../../src/app/lazyRoutes/contentTypes.tsx"],"sourcesContent":["import { Link } from '@tanstack/react-router';\nimport { Blocks, Plus } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHasGlobalPermission } from '@/api/auth';\nimport { useDefinitions } from '@/api/schema';\nimport { EmptyState } from '@/components/EmptyState';\nimport { Page } from '@/components/Page';\nimport { PageHeader } from '@/components/PageHeader';\nimport { QueryView } from '@/components/QueryView';\nimport { Button } from '@/components/ui/button';\nimport { useSchemaLock } from '@/features/Models/hooks/useSchemaLock';\nimport { List } from '@/features/Models/List';\nimport { LockNotice } from '@/features/Models/LockNotice';\n\n/** `/develop/components`: reusable field groups that content types embed (Develop → Components). */\nexport const Components = () => {\n const { t } = useTranslation();\n const components = useDefinitions('component');\n const canCreate = useHasGlobalPermission('schema.create');\n const { locked, reason } = useSchemaLock();\n const createAction =\n canCreate && !locked ? (\n <Button asChild>\n <Link to=\"/develop/components/new\">\n <Plus aria-hidden=\"true\" />\n {t('contentTypes.newComponentTitle')}\n </Link>\n </Button>\n ) : null;\n return (\n <Page>\n <PageHeader title={t('shell.nav.components')} actions={createAction} />\n {locked ? <LockNotice reason={reason} /> : null}\n <QueryView\n query={components}\n isEmpty={(data) => data.length === 0}\n empty={\n <EmptyState\n icon={Blocks}\n title={t('contentTypes.noComponents')}\n description={t('models.emptyDescription')}\n action={createAction}\n />\n }\n >\n {(data) => <List items={data} />}\n </QueryView>\n </Page>\n );\n};\n","import { useParams } from '@tanstack/react-router';\nimport { Builder as DefinitionBuilder } from '@/features/Models/Builder';\n\n/** `/develop/components/:componentId`: a component in the shared definition builder. */\nexport const Builder = () => {\n const { componentId } = useParams({ from: '/app/develop/components/$componentId' });\n return <DefinitionBuilder category=\"component\" id={componentId} />;\n};\n","import { linkOptions } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { Form } from '@/features/Content/New/Form';\n\nconst KINDS = ['component'] as const;\n\n/** `/develop/components/new`: a reusable component (Develop → Components). */\nexport const New = () => {\n const { t } = useTranslation();\n return (\n <Form\n title={t('contentTypes.newComponentTitle')}\n kinds={KINDS}\n back={linkOptions({ to: '/develop/components' })}\n backLabel={t('shell.nav.components')}\n />\n );\n};\n","import type { SchemaDraftResult } from '@shapio/client';\nimport { useNavigate } from '@tanstack/react-router';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useProposeSchema } from '@/api/assist';\nimport { useSaveNewDefinitionsToChangeSet } from '@/api/changeSets';\n\n/**\n * \"Describe it\": a description → proposed definitions (nothing written) → saved as schema drafts into a\n * change set, whose review opens next. Shipping them stays a person's decision there.\n */\nexport const useDescribeSchema = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const [description, setDescription] = useState('');\n const [proposal, setProposal] = useState<SchemaDraftResult | null>(null);\n const propose = useProposeSchema();\n const save = useSaveNewDefinitionsToChangeSet();\n const run = () => {\n if (description.trim() === '') {\n return;\n }\n setProposal(null);\n save.reset();\n propose.mutate({ description: description.trim() }, { onSuccess: setProposal });\n };\n const discard = () => {\n setProposal(null);\n propose.reset();\n save.reset();\n };\n const addToChangeSet = () => {\n if (!proposal) {\n return;\n }\n save.mutate(\n {\n definitions: proposal.definitions,\n newSetTitle: t('assist.describe.setTitle', { model: proposal.model }),\n },\n {\n onSuccess: (changeSetId) => void navigate({ to: '/changes/$changeSetId', params: { changeSetId } }),\n },\n );\n };\n return {\n description,\n setDescription,\n proposal,\n run,\n discard,\n addToChangeSet,\n proposing: propose.isPending,\n proposeError: propose.error,\n adding: save.isPending,\n addError: save.error,\n };\n};\n","import type { SchemaDraftResult } from '@shapio/client';\nimport { useTranslation } from 'react-i18next';\nimport { Badge } from '@/components/ui/badge';\nimport { KIND_LABEL_KEYS } from '@/features/Models/constants';\n\ntype ProposalProps = { proposal: SchemaDraftResult };\n\n/** The proposed definitions at a glance: name, kind, API ID and fields, before they go into a change set. */\nexport const Proposal = ({ proposal }: ProposalProps) => {\n const { t } = useTranslation();\n return (\n <div className=\"space-y-3\">\n <p className=\"text-meta text-muted-foreground\">\n {t('assist.describe.proposedBy', { model: proposal.model })}\n </p>\n <ul aria-label={t('assist.describe.proposalLabel')} className=\"space-y-3\">\n {proposal.definitions.map((definition) => (\n <li key={definition.id} className=\"rounded-lg border p-3\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"text-sm font-semibold\">{definition.label}</span>\n <Badge variant=\"secondary\">{t(KIND_LABEL_KEYS[definition.kind])}</Badge>\n <span className=\"font-mono text-meta text-muted-foreground\">{definition.apiKey}</span>\n </div>\n <ul className=\"mt-2 space-y-0.5 text-meta text-muted-foreground\">\n {definition.fields.map((field) => (\n <li key={field.id}>\n <span className=\"text-foreground\">{field.label}</span>{' '}\n {t('assist.describe.fieldType', { type: t(`models.dataTypes.${field.type}.name`) })}\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import { useId } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useAssistEnabled } from '@/api/assist';\nimport { AssistButton } from '@/components/AssistButton';\nimport { AssistError } from '@/components/AssistError';\nimport { HintedLabel } from '@/components/HintedLabel';\nimport { Panel } from '@/components/Panel';\nimport { SubmitButton } from '@/components/SubmitButton';\nimport { Button } from '@/components/ui/button';\nimport { Textarea } from '@/components/ui/textarea';\nimport { SCHEMA_DESCRIPTION_MAX } from '@/constants/assist';\nimport { useSchemaLock } from '@/features/Models/hooks/useSchemaLock';\nimport { useDescribeSchema } from '../hooks/useDescribeSchema';\nimport { Proposal } from './Proposal';\n\n/** \"Describe it\" above the new content type form: a model proposes the types, a change set holds them. */\nexport const Describe = () => {\n const { t } = useTranslation();\n const id = useId();\n const enabled = useAssistEnabled();\n const { locked } = useSchemaLock();\n const describe = useDescribeSchema();\n if (!enabled) {\n return null;\n }\n return (\n <Panel title={t('assist.describe.title')} titleAs=\"h2\">\n <div className=\"space-y-3\">\n {describe.proposal ? (\n <form\n className=\"space-y-3\"\n onSubmit={(event) => {\n event.preventDefault();\n describe.addToChangeSet();\n }}\n >\n <Proposal proposal={describe.proposal} />\n <AssistError error={describe.addError} />\n <div className=\"flex flex-wrap justify-end gap-2\">\n <Button type=\"button\" variant=\"outline\" onClick={describe.discard}>\n {t('assist.discard')}\n </Button>\n <SubmitButton pending={describe.adding} pendingLabel={t('common.saving')} disabled={locked}>\n {t('assist.describe.add')}\n </SubmitButton>\n </div>\n </form>\n ) : (\n <>\n <div className=\"space-y-2\">\n <HintedLabel\n htmlFor={`${id}-description`}\n label={t('assist.describe.label')}\n hint={t('assist.describe.hint')}\n />\n <Textarea\n id={`${id}-description`}\n value={describe.description}\n rows={4}\n maxLength={SCHEMA_DESCRIPTION_MAX}\n placeholder={t('assist.describe.placeholder')}\n disabled={describe.proposing}\n onChange={(event) => describe.setDescription(event.target.value)}\n />\n </div>\n <AssistError error={describe.proposeError} />\n <div className=\"flex justify-end\">\n <AssistButton\n variant=\"outline\"\n size=\"default\"\n pending={describe.proposing}\n pendingLabel={t('assist.working')}\n disabled={describe.description.trim() === '' || locked}\n onClick={describe.run}\n >\n {t('assist.describe.run')}\n </AssistButton>\n </div>\n </>\n )}\n </div>\n </Panel>\n );\n};\n","import { linkOptions } from '@tanstack/react-router';\nimport { useTranslation } from 'react-i18next';\nimport { Describe } from './Describe';\nimport { Form } from './Form';\n\nconst KINDS = ['collection', 'singleton'] as const;\n\n/** `/content/new`: a new content type (a place for editors), live as soon as it is created. */\nexport const New = () => {\n const { t } = useTranslation();\n return (\n <Form\n title={t('contentTypes.newTitle')}\n kinds={KINDS}\n back={linkOptions({ to: '/content' })}\n backLabel={t('content.title')}\n intro={<Describe />}\n />\n );\n};\n","import { createLazyRoute } from '@tanstack/react-router';\nimport { Components } from '@/features/Components';\nimport { Builder as ComponentBuilder } from '@/features/Components/Builder';\nimport { New as NewComponent } from '@/features/Components/New';\nimport { New as NewContentType } from '@/features/Content/New';\n\n/** Creating content types and components, and Develop → Components (with @shapio/schema's validators). */\nexport const contentTypesLazyRoutes = {\n newContentType: createLazyRoute('/app/content/new')({ component: NewContentType }),\n components: createLazyRoute('/app/develop/components')({ component: Components }),\n newComponent: createLazyRoute('/app/develop/components/new')({ component: NewComponent }),\n component: createLazyRoute('/app/develop/components/$componentId')({ component: ComponentBuilder }),\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{
|
|
2
|
-
//# sourceMappingURL=context-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{Rt as n}from"./src-CMor9izq.js";var r=e(t(),1),i=(0,r.createContext)(null),a=(0,r.createContext)(null),o=()=>{let e=(0,r.useContext)(i);if(!e)throw Error(`useFieldsEnvironment must be used inside <FieldsProvider>`);return e},s=()=>{let e=(0,r.useContext)(a);if(!e)throw Error(`useEntryFormStore must be used inside <FieldsProvider>`);return e},c=e=>n(s(),e),l=(0,r.createContext)(null),u=()=>(0,r.useContext)(l);export{s as a,c as i,i as n,o,l as r,u as s,a as t};
|
|
2
|
+
//# sourceMappingURL=context-CEVKblBl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-
|
|
1
|
+
{"version":3,"file":"context-CEVKblBl.js","names":["createContext","useContext","__toESM","useStore","import_react","require_react","FieldsEnvironmentContext","EntryFormStoreContext","useFieldsEnvironment","environment","useEntryFormStore","store","useEntryForm","selector","SiblingValuesContext","useSiblingValues"],"sources":["../../src/fields/form/context.ts"],"sourcesContent":["import type { EditorDefinition, PickedMedia, MediaPickOptions } from '@shapio/editor-sdk';\nimport type { ComponentDefinition, ModelDefinition, SchemaDefinition } from '@shapio/schema';\nimport { createContext, useContext } from 'react';\nimport { useStore } from 'zustand';\nimport type { UploadedMedia } from '@/hooks/useMediaUploader';\nimport type { EntryFormState, EntryFormStore } from './store';\n\n/** What every field editor in a form shares: the schema, the entry, and capabilities. */\nexport type FieldsEnvironment = {\n /** Prefix for DOM ids, unique per form on the page (the page's form and an inline-create drawer). */\n idPrefix: string;\n /** The model the entry belongs to. */\n model: ModelDefinition;\n /** Components by stable ID (for component and dynamic-zone fields). */\n components: ReadonlyMap<string, ComponentDefinition>;\n /** Every model by stable ID (relation targets). */\n models: ReadonlyMap<string, ModelDefinition>;\n /** The locale being edited, or null when the model is not localized. */\n locale: string | null;\n entryId: string | null;\n /** Nothing can be changed (no update permission, viewing history). */\n readOnly: boolean;\n /** Temporarily unavailable (saving a conflict resolution, reloading). */\n disabled: boolean;\n runtimeEditors: ReadonlyMap<string, EditorDefinition>;\n pickMedia: (options?: MediaPickOptions) => Promise<PickedMedia[] | null>;\n /**\n * Uploads one file into the library (public, root folder) and resolves with the new asset, for files\n * dropped or pasted into rich text. Absent without `media.write`: editors then don't accept files.\n */\n uploadMedia?: (file: File) => Promise<UploadedMedia>;\n};\n\nexport const FieldsEnvironmentContext = createContext<FieldsEnvironment | null>(null);\nexport const EntryFormStoreContext = createContext<EntryFormStore | null>(null);\n\nexport const useFieldsEnvironment = (): FieldsEnvironment => {\n const environment = useContext(FieldsEnvironmentContext);\n if (!environment) {\n throw new Error('useFieldsEnvironment must be used inside <FieldsProvider>');\n }\n return environment;\n};\n\nexport const useEntryFormStore = (): EntryFormStore => {\n const store = useContext(EntryFormStoreContext);\n if (!store) {\n throw new Error('useEntryFormStore must be used inside <FieldsProvider>');\n }\n return store;\n};\n\nexport const useEntryForm = <T>(selector: (state: EntryFormState) => T): T =>\n useStore(useEntryFormStore(), selector);\n\n/** The definition and values of the level a field sits in (the entry, or one component item). */\nexport type SiblingValues = { definition: SchemaDefinition; values: Readonly<Record<string, unknown>> };\n\nexport const SiblingValuesContext = createContext<SiblingValues | null>(null);\n\nexport const useSiblingValues = () => useContext(SiblingValuesContext);\n"],"mappings":"4IAiCaM,GAAA,EAA2BN,EAAAA,cAAAA,CAAwC,IAAI,EACvEO,GAAA,EAAwBP,EAAAA,cAAAA,CAAqC,IAAI,EAEjEQ,MAAgD,CAC3D,IAAMC,GAAA,EAAcR,EAAAA,WAAAA,CAAWK,CAAwB,EACvD,GAAI,CAACG,EACH,MAAU,MAAM,2DAA2D,EAE7E,OAAOA,CACT,EAEaC,MAA0C,CACrD,IAAMC,GAAA,EAAQV,EAAAA,WAAAA,CAAWM,CAAqB,EAC9C,GAAI,CAACI,EACH,MAAU,MAAM,wDAAwD,EAE1E,OAAOA,CACT,EAEaC,EAAmB,GAC9BT,EAASO,EAAkB,EAAGG,CAAQ,EAK3BC,GAAA,EAAuBd,EAAAA,cAAAA,CAAoC,IAAI,EAE/De,OAAA,EAAyBd,EAAAA,WAAAA,CAAWa,CAAoB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-
|
|
2
|
-
//# sourceMappingURL=copy-
|
|
1
|
+
import{t as e}from"./createLucideIcon-BOsNKleB.js";var t={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};t.node;var n=e(t);export{n as t};
|
|
2
|
+
//# sourceMappingURL=copy-B7vIq8DS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-
|
|
1
|
+
{"version":3,"file":"copy-B7vIq8DS.js","names":["createLucideIcon","__iconData","Copy"],"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/copy.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: \"copy\",\n size: 24,\n node: [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n ]\n};\n__iconData.node;\nconst Copy = createLucideIcon(__iconData);\n\nexport { __iconData, Copy as default };\n//# sourceMappingURL=copy.mjs.map\n"],"ignoreList":[0],"mappings":"mDASA,IAAMC,EAAa,CACjB,KAAM,OACN,KAAM,GACN,KAAM,CACJ,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAS,CAAC,EACvF,CAAC,OAAQ,CAAE,EAAG,0DAA2D,IAAK,QAAS,CAAC,CAC1F,CACF,EACAA,EAAW,KACX,IAAMC,EAAOF,EAAiBC,CAAU"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,t}from"./rolldown-runtime-Dd_uD5pT.js";import{t as n}from"./react-CQOZoUwg.js";var r=t((e=>{var t=n();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),i=t(((e,t)=>{t.exports=r()})),a={setup:`/api/admin/setup`,csrf:`/api/admin/auth/csrf`,login:`/api/admin/auth/login`,logout:`/api/admin/auth/logout`,me:`/api/admin/auth/me`,password:`/api/admin/auth/me/password`,sessions:`/api/admin/auth/sessions`,passwordReset:`/api/admin/auth/password-reset`,passwordResetConfirm:`/api/admin/auth/password-reset/confirm`,users:`/api/admin/users`,invitations:`/api/admin/invitations`,inspectInvitation:`/api/admin/invitations/inspect`,acceptInvitation:`/api/admin/invitations/accept`,roles:`/api/admin/roles`,tokens:`/api/admin/tokens`,audit:`/api/admin/audit`,models:`/api/admin/models`,components:`/api/admin/components`,schema:`/api/admin/schema`,schemaChanges:`/api/admin/schema/changes`,schemaExport:`/api/admin/schema/export`,schemaApply:`/api/admin/schema/apply`,schemaSettings:`/api/admin/schema/settings`,locales:`/api/admin/locales`,mediaFolders:`/api/admin/media/folders`,mediaAssets:`/api/admin/media/assets`,mediaUploads:`/api/admin/media/uploads`,appUsers:`/api/admin/app-users`,appRoles:`/api/admin/app-roles`,content:`/api/admin/content`,contentCounts:`/api/admin/content-counts`,contentHealth:`/api/admin/content-health`,presence:`/api/admin/presence`,editorManifest:`/api/admin/extensions/editors`,extensionThemes:`/api/admin/extensions/themes`,jobs:`/api/admin/jobs`,schedules:`/api/admin/publishing/schedules`,changeSets:`/api/admin/change-sets`,snapshots:`/api/admin/snapshots`,webhooks:`/api/admin/webhooks`,deploymentConnections:`/api/admin/deployments/connections`,deploymentRuns:`/api/admin/deployments/runs`,preview:`/api/admin/preview`,previewTokens:`/api/admin/preview/tokens`},o=(e,t)=>`${e}/${encodeURIComponent(t)}`,s=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&r!==``&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``},c=e=>({appUsers:{list:(t={})=>e(`${a.appUsers}${s(t)}`),get:t=>e(o(a.appUsers,t)),update:(t,n)=>e(o(a.appUsers,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.appUsers,t),{method:`DELETE`}),resendConfirmation:t=>e(`${o(a.appUsers,t)}/resend-confirmation`,{method:`POST`})},appRoles:{list:()=>e(a.appRoles),get:t=>e(o(a.appRoles,t)),create:t=>e(a.appRoles,{method:`POST`,body:t}),update:(t,n)=>e(o(a.appRoles,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.appRoles,t),{method:`DELETE`})}}),l={status:`/api/admin/assist/status`,altText:`/api/admin/assist/alt-text`,summarize:`/api/admin/assist/summarize`,translate:`/api/admin/assist/translate`,rewrite:`/api/admin/assist/rewrite`,schemaDraft:`/api/admin/assist/schema/draft`,contentOpsPropose:`/api/admin/assist/content-ops/propose`,contentOps:`/api/admin/assist/content-ops`},u=e=>({assist:{status:()=>e(l.status),altText:t=>e(l.altText,{method:`POST`,body:t}),summarize:t=>e(l.summarize,{method:`POST`,body:t}),translate:t=>e(l.translate,{method:`POST`,body:t}),rewrite:t=>e(l.rewrite,{method:`POST`,body:t}),schemaDraft:t=>e(l.schemaDraft,{method:`POST`,body:t}),proposeContentOps:t=>e(l.contentOpsPropose,{method:`POST`,body:t}),contentOpsRun:t=>e(o(l.contentOps,t))}}),d=e=>o(a.changeSets,e),f=(e,t)=>`${d(e)}/schema/${encodeURIComponent(t)}`,p=e=>({changeSets:{list:(t={})=>e(`${a.changeSets}${s(t)}`),get:t=>e(d(t)),create:t=>e(a.changeSets,{method:`POST`,body:t}),update:(t,n)=>e(d(t),{method:`PATCH`,body:n}),discard:t=>e(`${d(t)}/discard`,{method:`POST`}),addEntry:(t,n)=>e(`${d(t)}/items`,{method:`POST`,body:n}),removeItem:(t,n)=>e(`${d(t)}/items/${encodeURIComponent(n)}`,{method:`DELETE`}),getSchemaDraft:(t,n)=>e(f(t,n)),putSchemaDraft:(t,n,r)=>e(f(t,n),{method:`PUT`,body:r}),removeSchemaDraft:(t,n)=>e(f(t,n),{method:`DELETE`}),review:t=>e(`${d(t)}/review`),ship:(t,n)=>e(`${d(t)}/ship`,{method:`POST`,body:n}),schedule:(t,n)=>e(`${d(t)}/schedule`,{method:`POST`,body:n}),unschedule:t=>e(`${d(t)}/unschedule`,{method:`POST`}),timeline:async t=>(await e(`${d(t)}/timeline`)).items,unassigned:(t={})=>e(`${a.changeSets}/unassigned${s(t)}`)},snapshots:{list:(t={})=>e(`${a.snapshots}${s(t)}`),get:t=>e(`${a.snapshots}/${t}`),restore:t=>e(`${a.snapshots}/${t}/restore`,{method:`POST`})}}),m=(e,t,n)=>{if(n!=null){if(Array.isArray(n)){n.forEach((n,r)=>{typeof n==`object`&&n?m(e,`${t}[${r}]`,n):e.append(t,String(n))});return}if(typeof n==`object`){for(let[r,i]of Object.entries(n))m(e,`${t}[${r}]`,i);return}(typeof n==`string`||typeof n==`number`||typeof n==`boolean`)&&e.append(t,String(n))}},h=(e={})=>{let t=new URLSearchParams;e.filters&&m(t,`filters`,e.filters);for(let n of e.sort??[])t.append(`sort`,`${n.field}:${n.direction}`);e.page!==void 0&&t.set(`page`,String(e.page)),e.pageSize!==void 0&&t.set(`pageSize`,String(e.pageSize)),e.q&&t.set(`q`,e.q),e.locale&&t.set(`locale`,e.locale);for(let n of e.fields??[])t.append(`fields`,n);for(let n of e.populate??[])t.append(`populate`,n);e.status&&t.set(`status`,e.status),e.author&&t.set(`author`,e.author);let n=t.toString();return n?`?${n}`:``},g=e=>o(a.content,e),_=(e,t)=>o(g(e),t),v=(e,t)=>`${_(e,t)}/revisions`,y=e=>({content:{list:(t,n={})=>e(`${g(t)}${h(n)}`),get:(t,n,{locale:r}={})=>e(`${_(t,n)}${s({locale:r})}`),create:(t,n)=>e(g(t),{method:`POST`,body:n}),update:(t,n,r)=>e(_(t,n),{method:`PUT`,body:r}),remove:(t,n)=>e(_(t,n),{method:`DELETE`}),duplicate:(t,n)=>e(`${_(t,n)}/duplicate`,{method:`POST`}),publish:(t,n,r={})=>e(`${_(t,n)}/publish`,{method:`POST`,body:r}),unpublish:(t,n,r={})=>e(`${_(t,n)}/unpublish`,{method:`POST`,body:r}),previewKindChange:(t,n,r)=>e(`${_(t,n)}/kind${s({dryRun:1})}`,{method:`POST`,body:r}),changeKind:(t,n,r)=>e(`${_(t,n)}/kind`,{method:`POST`,body:r}),revisions:async(t,n,{locale:r}={})=>(await e(`${v(t,n)}${s({locale:r})}`)).items,history:(t,n,{locale:r}={})=>e(`${v(t,n)}${s({locale:r})}`),revision:(t,n,r)=>e(o(v(t,n),r)),restore:(t,n,r,i)=>e(`${o(v(t,n),r)}/restore`,{method:`POST`,body:{expectedVersion:i}})},extensions:{editors:()=>e(a.editorManifest),themes:()=>e(a.extensionThemes)}}),b=(e,t,n)=>o(o(e,t),n),x=e=>({preflight:{run:(t,n,r={})=>e(`${b(a.content,t,n)}/preflight`,{method:`POST`,body:r})},contentHealth:{list:(t={})=>e(`${a.contentHealth}${s(t)}`),summary:()=>e(`${a.contentHealth}/summary`)},presence:{heartbeat:(t,n,r)=>e(b(a.presence,t,n),{method:`PUT`,body:r}),entry:(t,n)=>e(b(a.presence,t,n)),model:t=>e(o(a.presence,t)),leave:(t,n,r)=>e(`${b(a.presence,t,n)}${s({tabId:r})}`,{method:`DELETE`})},contentCounts:{list:()=>e(a.contentCounts)}}),S=e=>({media:{folders:{list:async()=>(await e(a.mediaFolders)).items,create:t=>e(a.mediaFolders,{method:`POST`,body:t}),update:(t,n)=>e(o(a.mediaFolders,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.mediaFolders,t),{method:`DELETE`})},assets:{list:(t={})=>e(`${a.mediaAssets}${s(t)}`),get:t=>e(o(a.mediaAssets,t)),update:(t,n)=>e(o(a.mediaAssets,t),{method:`PATCH`,body:n}),remove:(t,{force:n=!1}={})=>e(`${o(a.mediaAssets,t)}${s({force:n||void 0})}`,{method:`DELETE`}),move:t=>e(`${a.mediaAssets}/move`,{method:`POST`,body:t}),usage:t=>e(`${o(a.mediaAssets,t)}/usage`),replace:(t,n)=>e(`${o(a.mediaAssets,t)}/replace`,{method:`POST`,body:n})},uploads:{create:t=>e(a.mediaUploads,{method:`POST`,body:t}),confirm:t=>e(`${o(a.mediaUploads,t)}/confirm`,{method:`POST`})}}}),C=(e,t,n)=>{let r=new FormData;for(let[t,n]of Object.entries(e.upload.fields))r.append(t,n);return r.append(e.upload.fileField,t,n),r},w=(e,t)=>{let n=`/api/media/uploads/${encodeURIComponent(e.grantId)}`,r=new URL(e.upload.url),i=t.endsWith(`/`)?t:`${t}/`;return r.pathname.endsWith(n)?new URL(n.slice(1),i).href:e.upload.url},T=e=>({jobs:{list:(t={})=>e(`${a.jobs}${s(t)}`),summary:()=>e(`${a.jobs}/summary`),get:t=>e(o(a.jobs,t)),retry:t=>e(`${o(a.jobs,t)}/retry`,{method:`POST`})},schedules:{list:(t={})=>e(`${a.schedules}${s(t)}`),create:t=>e(a.schedules,{method:`POST`,body:t}),cancel:t=>e(o(a.schedules,t),{method:`DELETE`})},webhooks:{list:()=>e(a.webhooks),events:async()=>(await e(`${a.webhooks}/events`)).items,get:t=>e(o(a.webhooks,t)),create:t=>e(a.webhooks,{method:`POST`,body:t}),update:(t,n)=>e(o(a.webhooks,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.webhooks,t),{method:`DELETE`}),rotateSecret:t=>e(`${o(a.webhooks,t)}/rotate-secret`,{method:`POST`}),test:t=>e(`${o(a.webhooks,t)}/test`,{method:`POST`}),deliveries:(t,n={})=>e(`${o(a.webhooks,t)}/deliveries${s(n)}`),redeliver:(t,n)=>e(`${o(a.webhooks,t)}/deliveries/${encodeURIComponent(n)}/redeliver`,{method:`POST`})},deployments:{connections:{list:()=>e(a.deploymentConnections),get:t=>e(o(a.deploymentConnections,t)),create:t=>e(a.deploymentConnections,{method:`POST`,body:t}),update:(t,n)=>e(o(a.deploymentConnections,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.deploymentConnections,t),{method:`DELETE`}),test:t=>e(`${o(a.deploymentConnections,t)}/test`,{method:`POST`}),trigger:t=>e(`${o(a.deploymentConnections,t)}/runs`,{method:`POST`})},runs:{list:(t={})=>e(`${a.deploymentRuns}${s(t)}`),get:t=>e(o(a.deploymentRuns,t)),retry:t=>e(`${o(a.deploymentRuns,t)}/retry`,{method:`POST`})}},preview:{tokens:{list:(t={})=>e(`${a.previewTokens}${s(t)}`),create:t=>e(a.previewTokens,{method:`POST`,body:t}),revoke:t=>e(o(a.previewTokens,t),{method:`DELETE`})},targets:()=>e(`${a.preview}/targets`),open:t=>e(`${a.preview}/open`,{method:`POST`,body:t})}}),ee={model:a.models,component:a.components},te=(e,t)=>{let n=ee[t];return{list:async(t={})=>(await e(`${n}${s(t)}`)).items,get:t=>e(o(n,t)),create:t=>e(n,{method:`POST`,body:t}),planCreate:(t,r)=>e(`${n}/plan`,{method:`POST`,body:r?{definition:t,scope:r}:{definition:t}}),changeScope:(t,r)=>e(`${o(n,t)}/scope`,{method:`PUT`,body:r}),update:(t,r)=>e(o(n,t),{method:`PUT`,body:r}),planUpdate:(t,r)=>e(`${o(n,t)}/plan`,{method:`POST`,body:r}),remove:(t,r,i={})=>e(`${o(n,t)}${s({expectedVersion:r,acknowledgeBreaking:i.acknowledgeBreaking||void 0})}`,{method:`DELETE`}),revisions:async t=>(await e(`${o(n,t)}/revisions`)).items,revision:(t,r)=>e(o(`${o(n,t)}/revisions`,r)),changes:async t=>(await e(`${o(n,t)}/changes`)).items}},ne=e=>({models:te(e,`model`),components:te(e,`component`),schema:{summary:()=>e(a.schema),change:t=>e(o(a.schemaChanges,t)),export:(t={})=>e(`${a.schemaExport}${s(t)}`),apply:t=>e(a.schemaApply,{method:`POST`,body:t}),settings:()=>e(a.schemaSettings),updateSettings:t=>e(a.schemaSettings,{method:`PUT`,body:t})},locales:{list:async()=>(await e(a.locales)).items,create:t=>e(a.locales,{method:`POST`,body:t}),update:(t,n)=>e(o(a.locales,t),{method:`PUT`,body:n}),setDefault:(t,n)=>e(`${o(a.locales,t)}/default`,{method:`POST`,body:{acknowledgeBreaking:n}}),remove:(t,n)=>e(`${o(a.locales,t)}${s({acknowledgeDestructive:n||void 0})}`,{method:`DELETE`})}}),E={sites:`/api/admin/sites`},re=`shapio-site`,D=e=>`${E.sites}/${encodeURIComponent(e)}`,ie=e=>({sites:{list:()=>e(E.sites),get:t=>e(D(t)),create:t=>e(E.sites,{method:`POST`,body:t}),update:(t,n)=>e(D(t),{method:`PATCH`,body:n}),remove:t=>e(D(t),{method:`DELETE`}),appRoles:{get:t=>e(`${D(t)}/app-roles`),set:(t,n)=>e(`${D(t)}/app-roles`,{method:`PUT`,body:n})}}}),ae={fields:`/api/admin/usage/fields`},oe=e=>({usage:{fields:t=>e(`${ae.fields}${s(t)}`)}}),se=e=>({setup:{status:()=>e(a.setup),complete:t=>e(a.setup,{method:`POST`,body:t})},auth:{csrf:()=>e(a.csrf),login:t=>e(a.login,{method:`POST`,body:t}),logout:()=>e(a.logout,{method:`POST`}),me:()=>e(a.me),updateProfile:t=>e(a.me,{method:`PATCH`,body:t}),changePassword:t=>e(a.password,{method:`POST`,body:t}),requestPasswordReset:t=>e(a.passwordReset,{method:`POST`,body:t}),confirmPasswordReset:t=>e(a.passwordResetConfirm,{method:`POST`,body:t})},sessions:{list:()=>e(a.sessions),revoke:t=>e(o(a.sessions,t),{method:`DELETE`})},users:{list:()=>e(a.users),get:t=>e(o(a.users,t)),update:(t,n)=>e(o(a.users,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.users,t),{method:`DELETE`}),revokeSessions:t=>e(`${o(a.users,t)}/sessions`,{method:`DELETE`})},invitations:{list:()=>e(a.invitations),create:t=>e(a.invitations,{method:`POST`,body:t}),revoke:t=>e(o(a.invitations,t),{method:`DELETE`}),link:t=>e(`${o(a.invitations,t)}/link`,{method:`POST`}),inspect:t=>e(a.inspectInvitation,{method:`POST`,body:{token:t}}),accept:t=>e(a.acceptInvitation,{method:`POST`,body:t})},roles:{list:()=>e(a.roles),get:t=>e(o(a.roles,t)),create:t=>e(a.roles,{method:`POST`,body:t}),update:(t,n)=>e(o(a.roles,t),{method:`PATCH`,body:n}),remove:t=>e(o(a.roles,t),{method:`DELETE`})},tokens:{list:()=>e(a.tokens),create:t=>e(a.tokens,{method:`POST`,body:t}),revoke:t=>e(o(a.tokens,t),{method:`DELETE`})},audit:{list:(t={})=>e(`${a.audit}${s(t)}`)},...ne(e),...S(e),...y(e),...x(e),...T(e),...c(e),...p(e),...oe(e),...ie(e),...u(e)}),O={register:`/api/app-auth/register`,login:`/api/app-auth/login`,refresh:`/api/app-auth/refresh`,logout:`/api/app-auth/logout`,me:`/api/app-auth/me`,password:`/api/app-auth/me/password`,confirmEmail:`/api/app-auth/confirm-email`,resendConfirmation:`/api/app-auth/confirm-email/resend`,passwordReset:`/api/app-auth/password-reset`,passwordResetConfirm:`/api/app-auth/password-reset/confirm`,providers:`/api/app-auth/providers`,oauthExchange:`/api/app-auth/oauth/exchange`},ce=(e,t)=>({register:t=>e(O.register,{method:`POST`,body:t}),login:t=>e(O.login,{method:`POST`,body:t}),refresh:t=>e(O.refresh,{method:`POST`,body:{refreshToken:t}}),logout:t=>e(O.logout,{method:`POST`,body:{refreshToken:t}}),me:()=>e(O.me),updateMe:t=>e(O.me,{method:`PATCH`,body:t}),changePassword:t=>e(O.password,{method:`POST`,body:t}),deleteMe:(t={})=>e(O.me,{method:`DELETE`,body:t}),confirmEmail:t=>e(O.confirmEmail,{method:`POST`,body:{token:t}}),resendConfirmation:t=>e(O.resendConfirmation,{method:`POST`,body:{email:t}}),requestPasswordReset:t=>e(O.passwordReset,{method:`POST`,body:{email:t}}),confirmPasswordReset:t=>e(O.passwordResetConfirm,{method:`POST`,body:t}),providers:async()=>(await e(O.providers)).providers,oauthStartUrl:(e,n,r)=>`${t.replace(/\/+$/,``)}/api/app-auth/oauth/${e}/start?redirectTo=${encodeURIComponent(n)}&codeChallenge=${encodeURIComponent(r)}`,exchangeCode:(t,n)=>e(O.oauthExchange,{method:`POST`,body:{code:t,codeVerifier:n}})}),k=`shapio`,le=e=>{let t=e.split(`/`);return t.map((e,n)=>t.slice(0,n+1).join(`/`))},A=e=>`${k}:${e}`,j=(e,t)=>`${k}:${e}:${t}`,M={site:e=>e===void 0?`${k}:site`:`${k}:site:${e}`,model:A,entry:j,changed:(e,t)=>le(e).flatMap(e=>t===void 0?[A(e)]:[A(e),j(e,t)])},N=()=>{try{return typeof process<`u`&&!!{}.NEXT_RUNTIME}catch{return!1}},P=({client:e,read:t,tags:n,pinned:r,drafts:i=!1})=>{if(i)return e!==void 0&&e!==!1||t!==void 0&&t!==!1||N()?{cache:`no-store`}:{};if(t===!1||t===void 0&&e===!1)return{};let a=e===!1?t:t===void 0?e:{...e,...t};if(a===void 0&&!N())return{};if(r&&t?.cache===void 0)return{cache:`force-cache`,next:{tags:n}};let o=a?.cache,s=a?.revalidate;return{...o===void 0?{}:{cache:o},next:{tags:n,...s===void 0?{}:{revalidate:s}}}},F=`/api/content`,I=e=>`${F}/${e.split(`/`).map(encodeURIComponent).join(`/`)}`,ue=({snapshot:e,richText:t,seo:n,...r},i)=>{let a=[...e===void 0?[]:[`snapshot=${encodeURIComponent(String(e))}`],...t===void 0?[]:[`richText=${encodeURIComponent(t)}`],...n===void 0?[]:[`seo=${encodeURIComponent(n)}`],...i?[`publicationState=draft`]:[]],o=h(r);return a.length===0?o:o?`${o}&${a.join(`&`)}`:`?${a.join(`&`)}`},de=()=>Promise.reject(Error("Drafts mode reads saved drafts, which have no publication snapshot: leave `snapshot` out when the client has `drafts: true`")),fe=(e,t)=>{let{drafts:n}=t,r=(e,r,{next:i})=>P({client:t.next,read:i,tags:e,pinned:r.snapshot!==void 0,drafts:n}),i=(t,i,a,o)=>n&&a.snapshot!==void 0?de():e(`${t}${ue(a,n)}`,r(i,a,o)),a=M.site(t.site);return{list:(e,t={},n={})=>i(I(e),[a,M.model(e)],t,n),singleton:(e,t={},n={})=>i(I(e),[a,M.model(e)],t,n),get:(e,t,n={},r={})=>i(`${I(e)}/${encodeURIComponent(t)}`,[a,M.model(e),M.entry(e,t)],n,r)}},L=`/api/site`,pe=(e,t)=>({get:({next:n}={})=>e(L,P({client:t.next,read:n,tags:[M.site(t.site)],pinned:!1,drafts:t.drafts}))}),R={current:`/api/snapshots/current`,changes:`/api/snapshots/changes`},me=e=>{let t=t=>e(`${R.changes}${s(t)}`);return{current:()=>e(R.current),changes:t,allChanges:async e=>{let n=[],r=await t(e);for(n.push(...r.items);r.nextCursor!==null;)r=await t({...e,to:r.to,after:r.nextCursor}),n.push(...r.items);return{from:r.from,to:r.to,schemaVersions:r.schemaVersions,items:n}}}},he=(e,{site:t,next:n,drafts:r=!1}={})=>{let i={site:t,next:n,drafts:r};return{delivery:fe(e,i),site:pe(e,i),snapshots:me(e)}},ge=e=>{if(typeof e!=`object`||!e||!(`error`in e))return!1;let{error:t}=e;return typeof t==`object`&&!!t&&typeof t.code==`string`&&typeof t.message==`string`},z=class extends Error{status;code;details;constructor(e,t){let n=ge(t)?t.error:void 0;super(n?.message??`Request failed with status ${e}`),this.name=`ShapioApiError`,this.status=e,this.code=n?.code??`HTTP_${e}`,this.details=n?.details}},_e=`site`,ve=[`${F}/`,`${F}?`,`/api/snapshots/`,`${L}?`],ye=(e,t)=>e===`GET`&&(t===`/api/content`||t===`/api/site`||Object.values(R).some(e=>t===e)||ve.some(e=>t.startsWith(e))),be=e=>{let t=e.indexOf(`?`);return t!==-1&&new URLSearchParams(e.slice(t+1)).has(`site`)},xe=(e,t,n)=>{if(e===void 0||be(n))return{path:n,headers:{}};if(ye(t,n)){let t=`${_e}=${encodeURIComponent(e)}`;return{path:`${n}${n.includes(`?`)?`&`:`?`}${t}`,headers:{}}}return{path:n,headers:{[re]:e}}},Se=async e=>{let t=await e.text();if(t.length!==0)try{return JSON.parse(t)}catch{return t}},Ce=({baseUrl:e,token:t,fetch:n,credentials:r,headers:i,site:a})=>{let o=e.replace(/\/+$/,``);return async(e,{method:s=`GET`,body:c,signal:l,cache:u,next:d}={})=>{let{path:f,headers:p}=xe(a,s,e),m={accept:`application/json`,...p,...i?.()};t&&(m.authorization=`Bearer ${t}`),c!==void 0&&(m[`content-type`]=`application/json`);let h={method:s,headers:m,...c===void 0?{}:{body:JSON.stringify(c)},...l?{signal:l}:{},...r?{credentials:r}:{},...u?{cache:u}:{},...d?{next:d}:{}},g=await n(`${o}${f}`,h),_=await Se(g);if(!g.ok)throw new z(g.status,_);return _}},we=({baseUrl:e,token:t,fetch:n=globalThis.fetch,credentials:r,headers:i,site:a,next:o,drafts:s})=>{let c=Ce({baseUrl:e,token:t,fetch:n,credentials:r,headers:i,site:a}),l=he(c,{site:a,next:o,...s===void 0?{}:{drafts:s}});return{request:c,system:{health:e=>c(`/api/health`,e?{signal:e}:{}),ready:e=>c(`/api/ready`,e?{signal:e}:{}),version:e=>c(`/api/version`,e?{signal:e}:{})},delivery:l.delivery,site:l.site,admin:se(c),snapshots:l.snapshots,appAuth:ce(c,e)}},B=e(n()),Te=i(),V=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);q(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},H={},U=(e,t,n,r)=>{q(n)&&H[n]||(q(n)&&(H[n]=new Date),V(e,t,n,r))},W=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},G=(e,t,n)=>{e.loadNamespaces(t,W(e,n))},K=(e,t,n,r)=>{if(q(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return G(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,W(e,r))},Ee=(e,t,n={})=>!t.languages||!t.languages.length?(U(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),q=e=>typeof e==`string`,J=e=>typeof e==`object`&&!!e,De=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Oe={"&":`&`,"&":`&`,"<":`<`,"<":`<`,">":`>`,">":`>`,"'":`'`,"'":`'`,""":`"`,""":`"`," ":` `," ":` `,"©":`©`,"©":`©`,"®":`®`,"®":`®`,"…":`…`,"…":`…`,"/":`/`,"/":`/`},ke=e=>Oe[e],Y=e=>e.replace(De,ke),X={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:Y,transDefaultProps:void 0},Ae=(e={})=>{X={...X,...e}},je=()=>X,Me,Ne=e=>{Me=e},Pe=()=>Me,Fe=(0,B.createContext)(),Ie=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},Le={t:(e,t)=>{if(q(t))return t;if(J(t)&&q(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},Re=()=>()=>{},ze=(e,t={})=>{let{i18n:n}=t,{i18n:r,defaultNS:i}=(0,B.useContext)(Fe)||{},a=n||r||Pe();a&&!a.reportNamespaces&&(a.reportNamespaces=new Ie),a||U(a,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`);let o=(0,B.useMemo)(()=>({...je(),...a?.options?.react,...t}),[a,t]),{useSuspense:s,keyPrefix:c}=o,l=e||i||a?.options?.defaultNS,u=q(l)?[l]:l||[`translation`],d=(0,B.useMemo)(()=>u,u);a?.reportNamespaces?.addUsedNamespaces?.(d);let f=(0,B.useRef)(0),p=(0,B.useCallback)(e=>{if(!a)return Re;let{bindI18n:t,bindI18nStore:n}=o,r=()=>{f.current+=1,e()};return t&&a.on(t,r),n&&a.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>a.off(e,r)),n&&n.split(` `).forEach(e=>a.store.off(e,r))}},[a,o]),m=(0,B.useRef)(),h=(0,B.useCallback)(()=>{if(!a)return Le;let e=!!(a.isInitialized||a.initializedStoreOnce)&&d.every(e=>Ee(e,a,o)),n=t.lng||a.language,r=f.current,i=m.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===c&&i.revision===r)return i;let s={t:a.getFixedT(n,o.nsMode===`fallback`?d:d[0],c,{scopeNs:d}),ready:e,lng:n,keyPrefix:c,revision:r};return m.current=s,s},[a,d,c,o,t.lng]),[g,_]=(0,B.useState)(0),{t:v,ready:y}=(0,Te.useSyncExternalStore)(p,h,h);(0,B.useEffect)(()=>{if(a&&!y&&!s){let e=()=>_(e=>e+1);t.lng?K(a,t.lng,d,e):G(a,d,e)}},[a,t.lng,d,y,s,g]);let b=a||{},x=(0,B.useRef)(null),S=(0,B.useRef)(),C=e=>`${e.language}|${e.resolvedLanguage}|${e.languages?.join(`,`)}`,w=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,"__original",{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},T=(0,B.useMemo)(()=>{let e=b,t=e&&C(e),n=e;e&&(x.current&&x.current.__original===e&&S.current===t?n=x.current:(n=w(e),x.current=n,S.current=t));let r=!y&&!s?(...e)=>(U(a,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),v(...e)):v,i=[r,n,y];return i.t=r,i.i18n=n,i.ready=y,i},[v,b,y,b.resolvedLanguage,b.language,b.languages]);if(a&&s&&!y){let e=!1;try{e=!1}catch{}throw e&&U(a,`SUSPENDED_WHILE_LOADING`,`useTranslation: suspended while translations are loading (useSuspense is true by default). Add a <Suspense> boundary above this component, or set react.useSuspense: false in the i18next init options. https://react.i18next.com/latest/usetranslation-hook`),new Promise(e=>{let n=()=>e();t.lng?K(a,t.lng,d,n):G(a,d,n)})}return T},Be=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Ve(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:Be(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var He=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Ue=e=>{let t=He(e);return t.charAt(0).toUpperCase()+t.slice(1)},Z=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Q={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function $(e){return e!=null}function We(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Q.width,a=e.size??e.height??Q.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Z(...c):Z(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Q[`stroke-width`])*Number(e.size??e.width??Q.width)/Number(t.size??t.width??Q.width):t.strokeWidth??Q[`stroke-width`];return[`svg`,{...Object.entries(Q).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&$(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&$(t.width)&&{[r(`width`)]:t.width},...`height`in t&&$(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function Ge(e,t={}){return We(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Ke=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},qe=(0,B.createContext)({}),Je=()=>(0,B.useContext)(qe),Ye=(0,B.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Je()??{},y=!!c||Ke(d),[b,x,S=[]]=Ge(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Z(v,s),hasA11yProp:y,attributes:d});return(0,B.createElement)(b,{ref:f,...x},[...S.map(([e,t])=>(0,B.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Xe(e,t=[],n=[]){let r=typeof e==`string`?Ve(e,t,n):e,i=(0,B.forwardRef)(({className:e,...t},n)=>(0,B.createElement)(Ye,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Ue(r.name)),i}export{a as _,Ne as a,Y as c,V as d,U as f,w as g,C as h,Pe as i,J as l,z as m,ze as n,je as o,we as p,Fe as r,Ae as s,Xe as t,q as u,i as v};
|
|
2
|
+
//# sourceMappingURL=createLucideIcon-BOsNKleB.js.map
|