@strapi/admin 4.20.4 → 5.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/AdminSeatInfo-YaA1q_2d.js +101 -0
- package/dist/_chunks/AdminSeatInfo-YaA1q_2d.js.map +1 -0
- package/dist/_chunks/AdminSeatInfo-l78lfIiY.mjs +101 -0
- package/dist/_chunks/AdminSeatInfo-l78lfIiY.mjs.map +1 -0
- package/dist/_chunks/ApplicationInfoPage-PHLA1Ysy.js +690 -0
- package/dist/_chunks/ApplicationInfoPage-PHLA1Ysy.js.map +1 -0
- package/dist/_chunks/ApplicationInfoPage-Zn5JU2zd.mjs +668 -0
- package/dist/_chunks/ApplicationInfoPage-Zn5JU2zd.mjs.map +1 -0
- package/dist/_chunks/AuthResponse-1aYRF7_3.mjs +43 -0
- package/dist/_chunks/AuthResponse-1aYRF7_3.mjs.map +1 -0
- package/dist/_chunks/AuthResponse-7NG3smr6.js +64 -0
- package/dist/_chunks/AuthResponse-7NG3smr6.js.map +1 -0
- package/dist/_chunks/AuthenticatedLayout-5r4rzKeb.js +1129 -0
- package/dist/_chunks/AuthenticatedLayout-5r4rzKeb.js.map +1 -0
- package/dist/_chunks/AuthenticatedLayout-a7KNOdln.mjs +1103 -0
- package/dist/_chunks/AuthenticatedLayout-a7KNOdln.mjs.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-R3qV_iCR.js +255 -0
- package/dist/_chunks/ComponentConfigurationPage-R3qV_iCR.js.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-pb8HhFAg.mjs +236 -0
- package/dist/_chunks/ComponentConfigurationPage-pb8HhFAg.mjs.map +1 -0
- package/dist/_chunks/ComponentIcon-49LyfYCX.js +176 -0
- package/dist/_chunks/ComponentIcon-49LyfYCX.js.map +1 -0
- package/dist/_chunks/ComponentIcon-J3aEhVgQ.mjs +158 -0
- package/dist/_chunks/ComponentIcon-J3aEhVgQ.mjs.map +1 -0
- package/dist/_chunks/ContentBox-4TRGOJYI.js +41 -0
- package/dist/_chunks/ContentBox-4TRGOJYI.js.map +1 -0
- package/dist/_chunks/ContentBox-EWvnSfCf.mjs +40 -0
- package/dist/_chunks/ContentBox-EWvnSfCf.mjs.map +1 -0
- package/dist/_chunks/CreateActionEE-a2zWCIpQ.js +55 -0
- package/dist/_chunks/CreateActionEE-a2zWCIpQ.js.map +1 -0
- package/dist/_chunks/CreateActionEE-hb4Pr-SD.mjs +53 -0
- package/dist/_chunks/CreateActionEE-hb4Pr-SD.mjs.map +1 -0
- package/dist/_chunks/CreatePage-Bil0egZ1.mjs +247 -0
- package/dist/_chunks/CreatePage-Bil0egZ1.mjs.map +1 -0
- package/dist/_chunks/CreatePage-MAI6XyNg.js +14 -0
- package/dist/_chunks/CreatePage-MAI6XyNg.js.map +1 -0
- package/dist/_chunks/CreatePage-NSKUL8l4.js +267 -0
- package/dist/_chunks/CreatePage-NSKUL8l4.js.map +1 -0
- package/dist/_chunks/CreatePage-UC4uBFUR.mjs +14 -0
- package/dist/_chunks/CreatePage-UC4uBFUR.mjs.map +1 -0
- package/dist/_chunks/CreatePage-h5L6QP47.mjs +245 -0
- package/dist/_chunks/CreatePage-h5L6QP47.mjs.map +1 -0
- package/dist/_chunks/CreatePage-nl6zKkKT.js +266 -0
- package/dist/_chunks/CreatePage-nl6zKkKT.js.map +1 -0
- package/dist/_chunks/CreateView-3DMhoCPN.js +13 -0
- package/dist/_chunks/CreateView-3DMhoCPN.js.map +1 -0
- package/dist/_chunks/CreateView-DuSt3AcE.mjs +13 -0
- package/dist/_chunks/CreateView-DuSt3AcE.mjs.map +1 -0
- package/dist/_chunks/CreateView-RVrFxAFt.mjs +13 -0
- package/dist/_chunks/CreateView-RVrFxAFt.mjs.map +1 -0
- package/dist/_chunks/CreateView-kc0iM0LS.js +13 -0
- package/dist/_chunks/CreateView-kc0iM0LS.js.map +1 -0
- package/dist/_chunks/EditConfigurationPage-OpEZOvAG.js +149 -0
- package/dist/_chunks/EditConfigurationPage-OpEZOvAG.js.map +1 -0
- package/dist/_chunks/EditConfigurationPage-y_TvxjZM.mjs +130 -0
- package/dist/_chunks/EditConfigurationPage-y_TvxjZM.mjs.map +1 -0
- package/dist/_chunks/EditPage-9aK8IFXY.js +322 -0
- package/dist/_chunks/EditPage-9aK8IFXY.js.map +1 -0
- package/dist/_chunks/EditPage-A6olBfVm.js +348 -0
- package/dist/_chunks/EditPage-A6olBfVm.js.map +1 -0
- package/dist/_chunks/EditPage-PpBP7TBo.js +279 -0
- package/dist/_chunks/EditPage-PpBP7TBo.js.map +1 -0
- package/dist/_chunks/EditPage-QoDSqYYq.js +810 -0
- package/dist/_chunks/EditPage-QoDSqYYq.js.map +1 -0
- package/dist/_chunks/EditPage-VoRR5DCQ.mjs +326 -0
- package/dist/_chunks/EditPage-VoRR5DCQ.mjs.map +1 -0
- package/dist/_chunks/EditPage-_swY0Hy-.mjs +259 -0
- package/dist/_chunks/EditPage-_swY0Hy-.mjs.map +1 -0
- package/dist/_chunks/EditPage-fDVAYmuS.mjs +303 -0
- package/dist/_chunks/EditPage-fDVAYmuS.mjs.map +1 -0
- package/dist/_chunks/EditPage-wfPrhkA7.mjs +789 -0
- package/dist/_chunks/EditPage-wfPrhkA7.mjs.map +1 -0
- package/dist/_chunks/EditView-C_ynfmtW.js +359 -0
- package/dist/_chunks/EditView-C_ynfmtW.js.map +1 -0
- package/dist/_chunks/EditView-EuUw_2zc.mjs +339 -0
- package/dist/_chunks/EditView-EuUw_2zc.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-8uPO5GWR.mjs +838 -0
- package/dist/_chunks/EditViewPage-8uPO5GWR.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-XtJmgPi5.js +218 -0
- package/dist/_chunks/EditViewPage-XtJmgPi5.js.map +1 -0
- package/dist/_chunks/EditViewPage-Z_e1dpbU.js +864 -0
- package/dist/_chunks/EditViewPage-Z_e1dpbU.js.map +1 -0
- package/dist/_chunks/EditViewPage-xYzUSAwS.mjs +197 -0
- package/dist/_chunks/EditViewPage-xYzUSAwS.mjs.map +1 -0
- package/dist/_chunks/EventsTable-WP7PUujH.mjs +32 -0
- package/dist/_chunks/EventsTable-WP7PUujH.mjs.map +1 -0
- package/dist/_chunks/EventsTable-hI0aV29K.js +32 -0
- package/dist/_chunks/EventsTable-hI0aV29K.js.map +1 -0
- package/dist/_chunks/FieldTypeIcon-Is5Qjngf.mjs +50 -0
- package/dist/_chunks/FieldTypeIcon-Is5Qjngf.mjs.map +1 -0
- package/dist/_chunks/FieldTypeIcon-OeDSkshr.js +49 -0
- package/dist/_chunks/FieldTypeIcon-OeDSkshr.js.map +1 -0
- package/dist/_chunks/Filters-tMd2Q5jg.mjs +487 -0
- package/dist/_chunks/Filters-tMd2Q5jg.mjs.map +1 -0
- package/dist/_chunks/Filters-xVuf1kg6.js +505 -0
- package/dist/_chunks/Filters-xVuf1kg6.js.map +1 -0
- package/dist/_chunks/Form-EiK_H9BI.js +758 -0
- package/dist/_chunks/Form-EiK_H9BI.js.map +1 -0
- package/dist/_chunks/Form-sZKjSFQC.mjs +736 -0
- package/dist/_chunks/Form-sZKjSFQC.mjs.map +1 -0
- package/dist/_chunks/History-1AF4LH3c.mjs +428 -0
- package/dist/_chunks/History-1AF4LH3c.mjs.map +1 -0
- package/dist/_chunks/History-V_ik1IL0.js +447 -0
- package/dist/_chunks/History-V_ik1IL0.js.map +1 -0
- package/dist/_chunks/HomePage-7Xva17wM.mjs +11 -0
- package/dist/_chunks/HomePage-7Xva17wM.mjs.map +1 -0
- package/dist/_chunks/HomePage-C6Ivli1q.mjs +517 -0
- package/dist/_chunks/HomePage-C6Ivli1q.mjs.map +1 -0
- package/dist/_chunks/HomePage-yrIp1-eG.js +519 -0
- package/dist/_chunks/HomePage-yrIp1-eG.js.map +1 -0
- package/dist/_chunks/HomePage-zL7HPV7A.js +11 -0
- package/dist/_chunks/HomePage-zL7HPV7A.js.map +1 -0
- package/dist/_chunks/InputRenderer-RMnWnPI4.js +5281 -0
- package/dist/_chunks/InputRenderer-RMnWnPI4.js.map +1 -0
- package/dist/_chunks/InputRenderer-iP1kRki4.mjs +5248 -0
- package/dist/_chunks/InputRenderer-iP1kRki4.mjs.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-7m_FfOGl.mjs +104 -0
- package/dist/_chunks/InstalledPluginsPage-7m_FfOGl.mjs.map +1 -0
- package/dist/_chunks/InstalledPluginsPage-PrMyistN.js +123 -0
- package/dist/_chunks/InstalledPluginsPage-PrMyistN.js.map +1 -0
- package/dist/_chunks/Layout-9Li8e-qi.js +219 -0
- package/dist/_chunks/Layout-9Li8e-qi.js.map +1 -0
- package/dist/_chunks/Layout-DC68R0Fa.js +90 -0
- package/dist/_chunks/Layout-DC68R0Fa.js.map +1 -0
- package/dist/_chunks/Layout-EDS3Yv8X.mjs +197 -0
- package/dist/_chunks/Layout-EDS3Yv8X.mjs.map +1 -0
- package/dist/_chunks/Layout-tDfvrUZo.mjs +89 -0
- package/dist/_chunks/Layout-tDfvrUZo.mjs.map +1 -0
- package/dist/_chunks/ListConfigurationPage-7O7HiJjG.mjs +645 -0
- package/dist/_chunks/ListConfigurationPage-7O7HiJjG.mjs.map +1 -0
- package/dist/_chunks/ListConfigurationPage-Gl8AA-2t.js +666 -0
- package/dist/_chunks/ListConfigurationPage-Gl8AA-2t.js.map +1 -0
- package/dist/_chunks/ListPage-0eDZZ7Zw.js +11 -0
- package/dist/_chunks/ListPage-0eDZZ7Zw.js.map +1 -0
- package/dist/_chunks/ListPage-1q5Fi4W9.mjs +278 -0
- package/dist/_chunks/ListPage-1q5Fi4W9.mjs.map +1 -0
- package/dist/_chunks/ListPage-DZBRIMkE.mjs +340 -0
- package/dist/_chunks/ListPage-DZBRIMkE.mjs.map +1 -0
- package/dist/_chunks/ListPage-God7L19W.mjs +540 -0
- package/dist/_chunks/ListPage-God7L19W.mjs.map +1 -0
- package/dist/_chunks/ListPage-Ky2tG2bd.mjs +292 -0
- package/dist/_chunks/ListPage-Ky2tG2bd.mjs.map +1 -0
- package/dist/_chunks/ListPage-NdzVJ_Ed.js +311 -0
- package/dist/_chunks/ListPage-NdzVJ_Ed.js.map +1 -0
- package/dist/_chunks/ListPage-RlY1nro4.mjs +486 -0
- package/dist/_chunks/ListPage-RlY1nro4.mjs.map +1 -0
- package/dist/_chunks/ListPage-_i7RNkUF.js +507 -0
- package/dist/_chunks/ListPage-_i7RNkUF.js.map +1 -0
- package/dist/_chunks/ListPage-aElBcYPH.js +359 -0
- package/dist/_chunks/ListPage-aElBcYPH.js.map +1 -0
- package/dist/_chunks/ListPage-cBvO_gYR.mjs +11 -0
- package/dist/_chunks/ListPage-cBvO_gYR.mjs.map +1 -0
- package/dist/_chunks/ListPage-em8KMoKx.js +561 -0
- package/dist/_chunks/ListPage-em8KMoKx.js.map +1 -0
- package/dist/_chunks/ListPage-skKuhRrN.js +298 -0
- package/dist/_chunks/ListPage-skKuhRrN.js.map +1 -0
- package/dist/_chunks/ListView--mxDKrnG.js +225 -0
- package/dist/_chunks/ListView--mxDKrnG.js.map +1 -0
- package/dist/_chunks/ListView-QEgFV6dm.mjs +215 -0
- package/dist/_chunks/ListView-QEgFV6dm.mjs.map +1 -0
- package/dist/_chunks/ListView-hm-mjZ8N.mjs +205 -0
- package/dist/_chunks/ListView-hm-mjZ8N.mjs.map +1 -0
- package/dist/_chunks/ListView-vP-PjR4p.js +235 -0
- package/dist/_chunks/ListView-vP-PjR4p.js.map +1 -0
- package/dist/_chunks/ListViewPage-NiwpwxBR.js +965 -0
- package/dist/_chunks/ListViewPage-NiwpwxBR.js.map +1 -0
- package/dist/_chunks/ListViewPage-xOVa04T_.mjs +941 -0
- package/dist/_chunks/ListViewPage-xOVa04T_.mjs.map +1 -0
- package/dist/_chunks/Login-0FtP5Ck_.js +32 -0
- package/dist/_chunks/Login-0FtP5Ck_.js.map +1 -0
- package/dist/_chunks/Login-IFCsIrab.mjs +30 -0
- package/dist/_chunks/Login-IFCsIrab.mjs.map +1 -0
- package/dist/_chunks/MagicLinkEE-S7dXBaH0.js +27 -0
- package/dist/_chunks/MagicLinkEE-S7dXBaH0.js.map +1 -0
- package/dist/_chunks/MagicLinkEE-eaU4kQ6o.mjs +27 -0
- package/dist/_chunks/MagicLinkEE-eaU4kQ6o.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-f0ZrC_p8.mjs +1008 -0
- package/dist/_chunks/MarketplacePage-f0ZrC_p8.mjs.map +1 -0
- package/dist/_chunks/MarketplacePage-zSQ_GRnZ.js +1032 -0
- package/dist/_chunks/MarketplacePage-zSQ_GRnZ.js.map +1 -0
- package/dist/_chunks/ModalForm-K_BmPh4N.js +25 -0
- package/dist/_chunks/ModalForm-K_BmPh4N.js.map +1 -0
- package/dist/_chunks/ModalForm-ULuD5ODP.mjs +25 -0
- package/dist/_chunks/ModalForm-ULuD5ODP.mjs.map +1 -0
- package/dist/_chunks/NoContentTypePage-ER4yVLjV.mjs +52 -0
- package/dist/_chunks/NoContentTypePage-ER4yVLjV.mjs.map +1 -0
- package/dist/_chunks/NoContentTypePage-_XU8B8oQ.js +52 -0
- package/dist/_chunks/NoContentTypePage-_XU8B8oQ.js.map +1 -0
- package/dist/_chunks/NoPermissionsPage-5A4Hwjad.js +25 -0
- package/dist/_chunks/NoPermissionsPage-5A4Hwjad.js.map +1 -0
- package/dist/_chunks/NoPermissionsPage-DcFRsCHz.mjs +25 -0
- package/dist/_chunks/NoPermissionsPage-DcFRsCHz.mjs.map +1 -0
- package/dist/_chunks/NotAllowed-MohR5HGD.mjs +36 -0
- package/dist/_chunks/NotAllowed-MohR5HGD.mjs.map +1 -0
- package/dist/_chunks/NotAllowed-NhYUk6La.js +37 -0
- package/dist/_chunks/NotAllowed-NhYUk6La.js.map +1 -0
- package/dist/_chunks/Ornaments-Aq2xidN_.mjs +211 -0
- package/dist/_chunks/Ornaments-Aq2xidN_.mjs.map +1 -0
- package/dist/_chunks/Ornaments-_AXIwJ-m.js +210 -0
- package/dist/_chunks/Ornaments-_AXIwJ-m.js.map +1 -0
- package/dist/_chunks/Permissions--rdF1ZKQ.js +2054 -0
- package/dist/_chunks/Permissions--rdF1ZKQ.js.map +1 -0
- package/dist/_chunks/Permissions-Ke5fqSQ2.mjs +2023 -0
- package/dist/_chunks/Permissions-Ke5fqSQ2.mjs.map +1 -0
- package/dist/_chunks/PrivateRoute-GLTcdbu8.js +19 -0
- package/dist/_chunks/PrivateRoute-GLTcdbu8.js.map +1 -0
- package/dist/_chunks/PrivateRoute-dWrZb-9J.mjs +20 -0
- package/dist/_chunks/PrivateRoute-dWrZb-9J.mjs.map +1 -0
- package/dist/_chunks/ProfilePage-EEcNKnGH.js +414 -0
- package/dist/_chunks/ProfilePage-EEcNKnGH.js.map +1 -0
- package/dist/_chunks/ProfilePage-bE7txhNu.mjs +392 -0
- package/dist/_chunks/ProfilePage-bE7txhNu.mjs.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-FDxVKdto.mjs +33 -0
- package/dist/_chunks/ReviewWorkflowsColumn-FDxVKdto.mjs.map +1 -0
- package/dist/_chunks/ReviewWorkflowsColumn-hJRkAN5a.js +33 -0
- package/dist/_chunks/ReviewWorkflowsColumn-hJRkAN5a.js.map +1 -0
- package/dist/_chunks/SelectRoles-Iih1yeTu.mjs +106 -0
- package/dist/_chunks/SelectRoles-Iih1yeTu.mjs.map +1 -0
- package/dist/_chunks/SelectRoles-XK5HcBdP.js +107 -0
- package/dist/_chunks/SelectRoles-XK5HcBdP.js.map +1 -0
- package/dist/_chunks/SingleSignOnPage-uURRsIxP.js +260 -0
- package/dist/_chunks/SingleSignOnPage-uURRsIxP.js.map +1 -0
- package/dist/_chunks/SingleSignOnPage-vOeDxBfa.mjs +241 -0
- package/dist/_chunks/SingleSignOnPage-vOeDxBfa.mjs.map +1 -0
- package/dist/_chunks/Table-VsNr4Mha.js +184 -0
- package/dist/_chunks/Table-VsNr4Mha.js.map +1 -0
- package/dist/_chunks/Table-k6gVR2KH.mjs +164 -0
- package/dist/_chunks/Table-k6gVR2KH.mjs.map +1 -0
- package/dist/_chunks/TokenTypeSelect-QN_bDdss.js +373 -0
- package/dist/_chunks/TokenTypeSelect-QN_bDdss.js.map +1 -0
- package/dist/_chunks/TokenTypeSelect-Z9iyoteG.mjs +354 -0
- package/dist/_chunks/TokenTypeSelect-Z9iyoteG.mjs.map +1 -0
- package/dist/_chunks/UseCasePage-qJwKBweD.mjs +147 -0
- package/dist/_chunks/UseCasePage-qJwKBweD.mjs.map +1 -0
- package/dist/_chunks/UseCasePage-xAlTWOcX.js +168 -0
- package/dist/_chunks/UseCasePage-xAlTWOcX.js.map +1 -0
- package/dist/_chunks/apiTokens-b3w4qO8B.js +59 -0
- package/dist/_chunks/apiTokens-b3w4qO8B.js.map +1 -0
- package/dist/_chunks/apiTokens-dGGyJI-w.mjs +60 -0
- package/dist/_chunks/apiTokens-dGGyJI-w.mjs.map +1 -0
- package/dist/_chunks/ar-QC-k5ddo.js +936 -0
- package/dist/_chunks/ar-QC-k5ddo.js.map +1 -0
- package/dist/_chunks/ar-Z3BD7TXr.mjs +936 -0
- package/dist/_chunks/ar-Z3BD7TXr.mjs.map +1 -0
- package/dist/_chunks/ca-aXWlXG9g.mjs +724 -0
- package/dist/_chunks/ca-aXWlXG9g.mjs.map +1 -0
- package/dist/_chunks/ca-pKSR4Q9q.js +724 -0
- package/dist/_chunks/ca-pKSR4Q9q.js.map +1 -0
- package/dist/_chunks/constants-IZEgEoW9.js +188 -0
- package/dist/_chunks/constants-IZEgEoW9.js.map +1 -0
- package/dist/_chunks/constants-PHXhIuUs.js +52 -0
- package/dist/_chunks/constants-PHXhIuUs.js.map +1 -0
- package/dist/_chunks/constants-WjN6I3sL.mjs +169 -0
- package/dist/_chunks/constants-WjN6I3sL.mjs.map +1 -0
- package/dist/_chunks/constants-ruIkLWCb.mjs +50 -0
- package/dist/_chunks/constants-ruIkLWCb.mjs.map +1 -0
- package/dist/_chunks/cs-6sDi2LJs.js +291 -0
- package/dist/_chunks/cs-6sDi2LJs.js.map +1 -0
- package/dist/_chunks/cs-zUoPZI4s.mjs +291 -0
- package/dist/_chunks/cs-zUoPZI4s.mjs.map +1 -0
- package/dist/_chunks/de-MMN7NdI0.js +716 -0
- package/dist/_chunks/de-MMN7NdI0.js.map +1 -0
- package/dist/_chunks/de-ek6cDDK8.mjs +716 -0
- package/dist/_chunks/de-ek6cDDK8.mjs.map +1 -0
- package/dist/_chunks/dk-BdUx8cFW.js +634 -0
- package/dist/_chunks/dk-BdUx8cFW.js.map +1 -0
- package/dist/_chunks/dk-opXY5SME.mjs +634 -0
- package/dist/_chunks/dk-opXY5SME.mjs.map +1 -0
- package/dist/_chunks/en-9q9Qw4Vl.js +1065 -0
- package/dist/_chunks/en-9q9Qw4Vl.js.map +1 -0
- package/dist/_chunks/en-YVPg1Mvo.mjs +1065 -0
- package/dist/_chunks/en-YVPg1Mvo.mjs.map +1 -0
- package/dist/_chunks/es-9imfnBIU.js +796 -0
- package/dist/_chunks/es-9imfnBIU.js.map +1 -0
- package/dist/_chunks/es-qWS0DuB6.mjs +796 -0
- package/dist/_chunks/es-qWS0DuB6.mjs.map +1 -0
- package/dist/_chunks/eu-LBdMNPpr.mjs +832 -0
- package/dist/_chunks/eu-LBdMNPpr.mjs.map +1 -0
- package/dist/_chunks/eu-aAvfsPGu.js +832 -0
- package/dist/_chunks/eu-aAvfsPGu.js.map +1 -0
- package/dist/_chunks/fr-KXfw9S0F.js +762 -0
- package/dist/_chunks/fr-KXfw9S0F.js.map +1 -0
- package/dist/_chunks/fr-jPBjKfV_.mjs +762 -0
- package/dist/_chunks/fr-jPBjKfV_.mjs.map +1 -0
- package/dist/_chunks/gu-Y0z1LfFv.js +623 -0
- package/dist/_chunks/gu-Y0z1LfFv.js.map +1 -0
- package/dist/_chunks/gu-bURNBu5c.mjs +623 -0
- package/dist/_chunks/gu-bURNBu5c.mjs.map +1 -0
- package/dist/_chunks/hi-MbNfZZA_.js +722 -0
- package/dist/_chunks/hi-MbNfZZA_.js.map +1 -0
- package/dist/_chunks/hi-s7B600dI.mjs +722 -0
- package/dist/_chunks/hi-s7B600dI.mjs.map +1 -0
- package/dist/_chunks/hu-HZwWiL3b.mjs +832 -0
- package/dist/_chunks/hu-HZwWiL3b.mjs.map +1 -0
- package/dist/_chunks/hu-QV5uhOW9.js +832 -0
- package/dist/_chunks/hu-QV5uhOW9.js.map +1 -0
- package/dist/_chunks/id-bByqKITV.mjs +448 -0
- package/dist/_chunks/id-bByqKITV.mjs.map +1 -0
- package/dist/_chunks/id-kFCOSN99.js +448 -0
- package/dist/_chunks/id-kFCOSN99.js.map +1 -0
- package/dist/_chunks/index-5ZvCaCyY.mjs +10971 -0
- package/dist/_chunks/index-5ZvCaCyY.mjs.map +1 -0
- package/dist/_chunks/index-ibtz273H.js +11006 -0
- package/dist/_chunks/index-ibtz273H.js.map +1 -0
- package/dist/_chunks/it-7xUr74VQ.mjs +459 -0
- package/dist/_chunks/it-7xUr74VQ.mjs.map +1 -0
- package/dist/_chunks/it-XZ_jYkVh.js +459 -0
- package/dist/_chunks/it-XZ_jYkVh.js.map +1 -0
- package/dist/_chunks/ja-Thwj6BLp.js +633 -0
- package/dist/_chunks/ja-Thwj6BLp.js.map +1 -0
- package/dist/_chunks/ja-uYLwB0aQ.mjs +633 -0
- package/dist/_chunks/ja-uYLwB0aQ.mjs.map +1 -0
- package/dist/_chunks/ko-_jJKWFgE.js +631 -0
- package/dist/_chunks/ko-_jJKWFgE.js.map +1 -0
- package/dist/_chunks/ko-s0EMd2R_.mjs +631 -0
- package/dist/_chunks/ko-s0EMd2R_.mjs.map +1 -0
- package/dist/_chunks/ml-J8WVOGJw.mjs +722 -0
- package/dist/_chunks/ml-J8WVOGJw.mjs.map +1 -0
- package/dist/_chunks/ml-dV8cEwE9.js +722 -0
- package/dist/_chunks/ml-dV8cEwE9.js.map +1 -0
- package/dist/_chunks/ms--jlrw42b.js +342 -0
- package/dist/_chunks/ms--jlrw42b.js.map +1 -0
- package/dist/_chunks/ms-HMf2TlIb.mjs +342 -0
- package/dist/_chunks/ms-HMf2TlIb.mjs.map +1 -0
- package/dist/_chunks/nl-dZtP9mID.js +828 -0
- package/dist/_chunks/nl-dZtP9mID.js.map +1 -0
- package/dist/_chunks/nl-r6_qFslC.mjs +828 -0
- package/dist/_chunks/nl-r6_qFslC.mjs.map +1 -0
- package/dist/_chunks/pl-SIHRdWWc.js +721 -0
- package/dist/_chunks/pl-SIHRdWWc.js.map +1 -0
- package/dist/_chunks/pl-clhbpDNh.mjs +721 -0
- package/dist/_chunks/pl-clhbpDNh.mjs.map +1 -0
- package/dist/_chunks/pt-BR-hWKoFXkw.js +794 -0
- package/dist/_chunks/pt-BR-hWKoFXkw.js.map +1 -0
- package/dist/_chunks/pt-BR-punxoRa2.mjs +794 -0
- package/dist/_chunks/pt-BR-punxoRa2.mjs.map +1 -0
- package/dist/_chunks/pt-Cf1BVWpH.mjs +296 -0
- package/dist/_chunks/pt-Cf1BVWpH.mjs.map +1 -0
- package/dist/_chunks/pt-_KgwbYMU.js +296 -0
- package/dist/_chunks/pt-_KgwbYMU.js.map +1 -0
- package/dist/_chunks/ru-6Tk_GR-j.mjs +993 -0
- package/dist/_chunks/ru-6Tk_GR-j.mjs.map +1 -0
- package/dist/_chunks/ru-UwdNMjzX.js +993 -0
- package/dist/_chunks/ru-UwdNMjzX.js.map +1 -0
- package/dist/_chunks/sa--IWI9QIC.mjs +722 -0
- package/dist/_chunks/sa--IWI9QIC.mjs.map +1 -0
- package/dist/_chunks/sa-EHIMiiE5.js +722 -0
- package/dist/_chunks/sa-EHIMiiE5.js.map +1 -0
- package/dist/_chunks/selectors-JBxTdRJK.mjs +6 -0
- package/dist/_chunks/selectors-JBxTdRJK.mjs.map +1 -0
- package/dist/_chunks/selectors-TFKI8arF.js +5 -0
- package/dist/_chunks/selectors-TFKI8arF.js.map +1 -0
- package/dist/_chunks/sk-O6d4eSB_.mjs +690 -0
- package/dist/_chunks/sk-O6d4eSB_.mjs.map +1 -0
- package/dist/_chunks/sk-mQumWjau.js +690 -0
- package/dist/_chunks/sk-mQumWjau.js.map +1 -0
- package/dist/_chunks/sv-20Po9yTX.mjs +827 -0
- package/dist/_chunks/sv-20Po9yTX.mjs.map +1 -0
- package/dist/_chunks/sv-9DHr5qSx.js +827 -0
- package/dist/_chunks/sv-9DHr5qSx.js.map +1 -0
- package/dist/_chunks/th-D3uMSMTb.mjs +430 -0
- package/dist/_chunks/th-D3uMSMTb.mjs.map +1 -0
- package/dist/_chunks/th-R7ewxEfd.js +430 -0
- package/dist/_chunks/th-R7ewxEfd.js.map +1 -0
- package/dist/_chunks/tr-3lPrmNK_.js +785 -0
- package/dist/_chunks/tr-3lPrmNK_.js.map +1 -0
- package/dist/_chunks/tr-yKDN9Q8W.mjs +785 -0
- package/dist/_chunks/tr-yKDN9Q8W.mjs.map +1 -0
- package/dist/_chunks/transferTokens-4KlyXDql.mjs +63 -0
- package/dist/_chunks/transferTokens-4KlyXDql.mjs.map +1 -0
- package/dist/_chunks/transferTokens-G-suI4pp.js +62 -0
- package/dist/_chunks/transferTokens-G-suI4pp.js.map +1 -0
- package/dist/_chunks/uk-jXdJMxUf.mjs +343 -0
- package/dist/_chunks/uk-jXdJMxUf.mjs.map +1 -0
- package/dist/_chunks/uk-w5sI8yln.js +343 -0
- package/dist/_chunks/uk-w5sI8yln.js.map +1 -0
- package/dist/_chunks/useAdminRoles-7_YWhmkQ.mjs +28 -0
- package/dist/_chunks/useAdminRoles-7_YWhmkQ.mjs.map +1 -0
- package/dist/_chunks/useAdminRoles-o4dxsCcY.js +46 -0
- package/dist/_chunks/useAdminRoles-o4dxsCcY.js.map +1 -0
- package/dist/_chunks/useContentTypes-dRoMxL8c.js +68 -0
- package/dist/_chunks/useContentTypes-dRoMxL8c.js.map +1 -0
- package/dist/_chunks/useContentTypes-x6OLbsWe.mjs +50 -0
- package/dist/_chunks/useContentTypes-x6OLbsWe.mjs.map +1 -0
- package/dist/_chunks/useDebounce-GrNR3exx.mjs +17 -0
- package/dist/_chunks/useDebounce-GrNR3exx.mjs.map +1 -0
- package/dist/_chunks/useDebounce-nLQfrFAo.js +35 -0
- package/dist/_chunks/useDebounce-nLQfrFAo.js.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-BaSsY40x.js +99 -0
- package/dist/_chunks/useLicenseLimitNotification-BaSsY40x.js.map +1 -0
- package/dist/_chunks/useLicenseLimitNotification-wzvrsJoL.mjs +79 -0
- package/dist/_chunks/useLicenseLimitNotification-wzvrsJoL.mjs.map +1 -0
- package/dist/_chunks/useOnce-BuAUYuau.mjs +7 -0
- package/dist/_chunks/useOnce-BuAUYuau.mjs.map +1 -0
- package/dist/_chunks/useOnce-eIxJr0o-.js +25 -0
- package/dist/_chunks/useOnce-eIxJr0o-.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-3SKYABe_.js +26 -0
- package/dist/_chunks/useReviewWorkflows-3SKYABe_.js.map +1 -0
- package/dist/_chunks/useReviewWorkflows-PAvhwNm3.mjs +27 -0
- package/dist/_chunks/useReviewWorkflows-PAvhwNm3.mjs.map +1 -0
- package/dist/_chunks/useSyncRbac-Kt8Li0Yf.mjs +39 -0
- package/dist/_chunks/useSyncRbac-Kt8Li0Yf.mjs.map +1 -0
- package/dist/_chunks/useSyncRbac-f7CCq_yt.js +57 -0
- package/dist/_chunks/useSyncRbac-f7CCq_yt.js.map +1 -0
- package/dist/_chunks/useWebhooks-6rWM4vzd.mjs +90 -0
- package/dist/_chunks/useWebhooks-6rWM4vzd.mjs.map +1 -0
- package/dist/_chunks/useWebhooks-Fhm21I_2.js +89 -0
- package/dist/_chunks/useWebhooks-Fhm21I_2.js.map +1 -0
- package/dist/_chunks/validateWorkflow-1g4fl4e7.js +1064 -0
- package/dist/_chunks/validateWorkflow-1g4fl4e7.js.map +1 -0
- package/dist/_chunks/validateWorkflow-DlwU9a4N.mjs +1041 -0
- package/dist/_chunks/validateWorkflow-DlwU9a4N.mjs.map +1 -0
- package/dist/_chunks/validation-NckIpCgz.js +61 -0
- package/dist/_chunks/validation-NckIpCgz.js.map +1 -0
- package/dist/_chunks/validation-aaWzg0nE.mjs +43 -0
- package/dist/_chunks/validation-aaWzg0nE.mjs.map +1 -0
- package/dist/_chunks/vi-kY-om6ai.mjs +298 -0
- package/dist/_chunks/vi-kY-om6ai.mjs.map +1 -0
- package/dist/_chunks/vi-t8uM5szE.js +298 -0
- package/dist/_chunks/vi-t8uM5szE.js.map +1 -0
- package/dist/_chunks/zh-Hans-RfPwVDfv.js +957 -0
- package/dist/_chunks/zh-Hans-RfPwVDfv.js.map +1 -0
- package/dist/_chunks/zh-Hans-xf4WJxoN.mjs +957 -0
- package/dist/_chunks/zh-Hans-xf4WJxoN.mjs.map +1 -0
- package/dist/_chunks/zh-NcXD6EU3.js +836 -0
- package/dist/_chunks/zh-NcXD6EU3.js.map +1 -0
- package/dist/_chunks/zh-fRA5e8rP.mjs +836 -0
- package/dist/_chunks/zh-fRA5e8rP.mjs.map +1 -0
- package/dist/_internal/index.d.ts +1 -0
- package/dist/_internal.js +63 -0
- package/dist/_internal.js.map +1 -0
- package/dist/_internal.mjs +63 -0
- package/dist/_internal.mjs.map +1 -0
- package/dist/admin/index.js +26 -72
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +29 -75
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/App.d.ts +8 -11
- package/dist/admin/src/StrapiApp.d.ts +118 -67
- package/dist/admin/src/components/ConfirmDialog.d.ts +34 -0
- package/dist/admin/src/components/ContentBox.d.ts +12 -0
- package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +31 -0
- package/dist/admin/src/components/ErrorElement.d.ts +6 -0
- package/dist/admin/src/components/Filters.d.ts +83 -0
- package/dist/admin/src/components/Form.d.ts +71 -0
- package/dist/admin/src/components/FormInputs/Boolean.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/Checkbox.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/Date.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/DateTime.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/Email.d.ts +3 -0
- package/dist/admin/src/components/FormInputs/Enumeration.d.ts +3 -0
- package/dist/admin/src/components/FormInputs/Json.d.ts +6 -0
- package/dist/admin/src/components/FormInputs/Number.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/Password.d.ts +3 -0
- package/dist/admin/src/components/FormInputs/Renderer.d.ts +10 -0
- package/dist/admin/src/components/FormInputs/String.d.ts +6 -0
- package/dist/admin/src/components/FormInputs/Textarea.d.ts +3 -0
- package/dist/admin/src/components/FormInputs/Time.d.ts +4 -0
- package/dist/admin/src/components/FormInputs/types.d.ts +32 -0
- package/dist/admin/src/components/GuidedTour/Provider.d.ts +38 -1
- package/dist/admin/src/components/PageHelpers.d.ts +38 -0
- package/dist/admin/src/components/Pagination.d.ts +55 -0
- package/dist/admin/src/components/PluginsInitializer.d.ts +4 -1
- package/dist/admin/src/components/PrivateRoute.d.ts +2 -3
- package/dist/admin/src/components/Providers.d.ts +4 -5
- package/dist/admin/src/components/RelativeTime.d.ts +28 -0
- package/dist/admin/src/components/SearchInput.d.ts +11 -0
- package/dist/admin/src/components/Table.d.ts +135 -0
- package/dist/admin/src/constants/filters.d.ts +137 -0
- package/dist/admin/src/constants.d.ts +1 -1
- package/dist/admin/src/content-manager/components/ConfigurationForm/EditFieldForm.d.ts +9 -0
- package/dist/admin/src/content-manager/components/ConfigurationForm/Fields.d.ts +21 -0
- package/dist/admin/src/content-manager/components/ConfigurationForm/Form.d.ts +32 -0
- package/dist/admin/src/content-manager/components/DragPreviews/CardDragPreview.d.ts +2 -2
- package/dist/admin/src/content-manager/components/DragPreviews/RelationDragPreview.d.ts +4 -2
- package/dist/admin/src/content-manager/components/FieldTypeIcon.d.ts +5 -28
- package/dist/admin/src/content-manager/constants/attributes.d.ts +13 -1
- package/dist/admin/src/content-manager/constants/collections.d.ts +3 -0
- package/dist/admin/src/content-manager/exports.d.ts +10 -0
- package/dist/admin/src/content-manager/features/DocumentRBAC.d.ts +36 -0
- package/dist/admin/src/content-manager/history/components/HistoryAction.d.ts +3 -0
- package/dist/admin/src/content-manager/history/components/VersionContent.d.ts +2 -0
- package/dist/admin/src/content-manager/history/components/VersionHeader.d.ts +5 -0
- package/dist/admin/src/content-manager/history/components/VersionsList.d.ts +2 -0
- package/dist/admin/src/content-manager/history/pages/History.d.ts +25 -0
- package/dist/admin/src/content-manager/history/routes.d.ts +11 -0
- package/dist/admin/src/content-manager/history/services/historyVersion.d.ts +7 -0
- package/dist/admin/src/content-manager/hooks/useContentManagerInitData.d.ts +2 -16
- package/dist/admin/src/content-manager/hooks/useContentTypeSchema.d.ts +24 -0
- package/dist/admin/src/content-manager/hooks/useDocument.d.ts +85 -0
- package/dist/admin/src/content-manager/hooks/useDocumentActions.d.ts +102 -0
- package/dist/admin/src/content-manager/hooks/useDocumentLayout.d.ts +138 -0
- package/dist/admin/src/content-manager/hooks/useDragAndDrop.d.ts +6 -3
- package/dist/admin/src/content-manager/hooks/useSyncRbac.d.ts +13 -26
- package/dist/admin/src/content-manager/layout.d.ts +16 -0
- package/dist/admin/src/content-manager/modules/rbac.d.ts +14 -0
- package/dist/admin/src/content-manager/modules/reducers.d.ts +4 -0
- package/dist/admin/src/content-manager/pages/ComponentConfigurationPage.d.ts +3 -0
- package/dist/admin/src/content-manager/pages/EditConfigurationPage.d.ts +3 -0
- package/dist/admin/src/content-manager/pages/EditView/EditViewPage.d.ts +2 -17
- package/dist/admin/src/content-manager/pages/EditView/components/DocumentActions.d.ts +69 -0
- package/dist/admin/src/content-manager/pages/EditView/components/DocumentStatus.d.ts +16 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +61 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +10 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Input.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/ComponentContext.d.ts +42 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +17 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +14 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +13 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Relations.d.ts +26 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/UID.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +18 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +59 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +54 -0
- package/dist/admin/src/content-manager/pages/EditView/components/FormLayout.d.ts +5 -0
- package/dist/admin/src/content-manager/pages/EditView/components/Header.d.ts +33 -5
- package/dist/admin/src/content-manager/pages/EditView/components/InputRenderer.d.ts +14 -0
- package/dist/admin/src/content-manager/pages/EditView/components/Panels.d.ts +10 -0
- package/dist/admin/src/content-manager/pages/EditView/utils/data.d.ts +20 -0
- package/dist/admin/src/content-manager/pages/EditView/utils/forms.d.ts +9 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/Header.d.ts +8 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/Settings.d.ts +5 -0
- package/dist/admin/src/content-manager/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
- package/dist/admin/src/content-manager/pages/ListView/ListViewPage.d.ts +2 -24
- package/dist/admin/src/content-manager/pages/ListView/components/AutoCloneFailureModal.d.ts +6 -10
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Buttons.d.ts +4 -19
- package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/SelectedEntriesModal.d.ts +1 -2
- package/dist/admin/src/content-manager/pages/ListView/components/Filters.d.ts +8 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableActions.d.ts +8 -0
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.d.ts +3 -5
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Components.d.ts +5 -5
- package/dist/admin/src/content-manager/pages/ListView/components/TableCells/Relations.d.ts +7 -7
- package/dist/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu.d.ts +8 -4
- package/dist/admin/src/content-manager/router.d.ts +5 -0
- package/dist/admin/src/content-manager/services/api.d.ts +3 -0
- package/dist/admin/src/content-manager/services/components.d.ts +6 -0
- package/dist/admin/src/content-manager/services/contentTypes.d.ts +18 -0
- package/dist/admin/src/content-manager/services/documents.d.ts +92 -0
- package/dist/admin/src/content-manager/services/init.d.ts +10 -0
- package/dist/admin/src/content-manager/services/relations.d.ts +49 -0
- package/dist/admin/src/content-manager/services/uid.d.ts +32 -0
- package/dist/admin/src/content-manager/utils/api.d.ts +9 -4
- package/dist/admin/src/content-manager/utils/attributes.d.ts +17 -1
- package/dist/admin/src/content-manager/utils/relations.d.ts +12 -0
- package/dist/admin/src/content-manager/utils/validation.d.ts +3 -17
- package/dist/admin/src/core/apis/CustomFields.d.ts +51 -5
- package/dist/admin/src/core/apis/Plugin.d.ts +19 -11
- package/dist/admin/src/core/apis/content-manager.d.ts +98 -0
- package/dist/admin/src/core/store/configure.d.ts +14 -12
- package/dist/admin/src/core/store/hooks.d.ts +15 -15
- package/dist/admin/src/features/AppInfo.d.ts +22 -0
- package/dist/admin/src/features/BackButton.d.ts +51 -0
- package/dist/admin/src/features/Configuration.d.ts +5 -11
- package/dist/admin/src/features/Notifications.d.ts +47 -0
- package/dist/admin/src/features/StrapiApp.d.ts +15 -0
- package/dist/admin/src/features/Tracking.d.ts +187 -0
- package/dist/admin/src/hooks/useAPIErrorHandler.d.ts +96 -0
- package/dist/admin/src/hooks/useContentTypes.d.ts +0 -1
- package/dist/admin/src/hooks/useControllableState.d.ts +8 -0
- package/dist/admin/src/hooks/useForceUpdate.d.ts +7 -0
- package/dist/admin/src/hooks/useInjectReducer.d.ts +9 -5
- package/dist/admin/src/hooks/useInjectionZone.d.ts +1 -5
- package/dist/admin/src/hooks/useIsMounted.d.ts +3 -0
- package/dist/admin/src/hooks/useMenu.d.ts +4 -3
- package/dist/admin/src/hooks/useSettingsMenu.d.ts +1 -1
- package/dist/admin/src/hooks/useThrottledCallback.d.ts +22 -0
- package/dist/admin/src/index.d.ts +39 -3
- package/dist/admin/src/layouts/AuthenticatedLayout.d.ts +3 -0
- package/dist/admin/src/pages/Auth/AuthPage.d.ts +1 -5
- package/dist/admin/src/pages/Marketplace/components/NpmPackageCard.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/components/NpmPackagesGrid.d.ts +1 -1
- package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
- package/dist/admin/src/pages/Settings/Layout.d.ts +2 -0
- package/dist/admin/src/pages/Settings/components/Tokens/FormHead.d.ts +1 -2
- package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +4 -10
- package/dist/admin/src/pages/Settings/constants.d.ts +2 -4
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Roles/components/CollapseLabel.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Roles/utils/difference.d.ts +5 -0
- package/dist/admin/src/pages/Settings/pages/TransferTokens/EditView.d.ts +0 -4
- package/dist/admin/src/pages/Settings/pages/Users/ListPage.d.ts +0 -18
- package/dist/admin/src/pages/Settings/pages/Users/components/SelectRoles.d.ts +2 -5
- package/dist/admin/src/pages/Settings/pages/Users/utils/validation.d.ts +2 -2
- package/dist/admin/src/pages/Settings/pages/Webhooks/components/Events.d.ts +1 -1
- package/dist/admin/src/pages/UseCasePage.d.ts +3 -1
- package/dist/admin/src/reducer.d.ts +2 -2
- package/dist/admin/src/render.d.ts +5 -2
- package/dist/admin/src/selectors.d.ts +10 -10
- package/dist/admin/src/services/auth.d.ts +7 -2
- package/dist/admin/src/services/contentManager.d.ts +2 -2
- package/dist/admin/src/services/users.d.ts +2 -2
- package/dist/admin/src/types/errors.d.ts +2 -0
- package/dist/admin/src/types/forms.d.ts +23 -0
- package/dist/admin/src/types/utils.d.ts +1 -0
- package/dist/admin/src/utils/baseQuery.d.ts +1 -1
- package/dist/admin/src/utils/getPrefixedId.d.ts +4 -0
- package/dist/admin/src/utils/getYupInnerErrors.d.ts +7 -0
- package/dist/admin/src/utils/locales.d.ts +9 -0
- package/dist/admin/src/utils/normalizeAPIError.d.ts +25 -0
- package/dist/admin/src/utils/objects.d.ts +30 -5
- package/dist/admin/src/utils/shims.d.ts +4 -0
- package/dist/admin/src/utils/translatedErrors.d.ts +90 -0
- package/dist/admin/src/utils/urls.d.ts +2 -0
- package/dist/admin/src/utils/users.d.ts +7 -0
- package/dist/ee/admin/src/constants.d.ts +7 -7
- package/dist/ee/admin/src/content-manager/pages/EditView/components/ReviewWorkflowsPanel.d.ts +3 -0
- package/dist/ee/admin/src/content-manager/pages/ListView/components/AssigneeFilter.d.ts +2 -1
- package/dist/ee/admin/src/content-manager/pages/ListView/components/StageFilter.d.ts +2 -1
- package/dist/ee/admin/src/content-manager/pages/ListView/constants.d.ts +41 -58
- package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +1 -1
- package/dist/ee/admin/src/pages/SettingsPage/constants.d.ts +6 -2
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/ComboboxFilter.d.ts +2 -11
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.d.ts +2 -2
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage.d.ts +1 -7
- package/dist/ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/components/Layout.d.ts +3 -7
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/CreateActionEE.d.ts +1 -7
- package/dist/ee/admin/src/pages/SettingsPage/pages/Users/components/ModalForm.d.ts +6 -9
- package/dist/ee/server/index.js +169 -141
- package/dist/ee/server/index.js.map +1 -1
- package/dist/ee/server/index.mjs +170 -141
- package/dist/ee/server/index.mjs.map +1 -1
- package/dist/server/index.js +156 -171
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +158 -172
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +0 -5
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +0 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/transfer/runner.d.ts.map +1 -1
- package/dist/server/src/domain/permission/index.d.ts +4 -2
- package/dist/server/src/domain/permission/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/data-transfer.d.ts.map +1 -1
- package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -1
- package/dist/server/src/services/api-token.d.ts +1 -0
- package/dist/server/src/services/api-token.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +2 -6
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/sanitize.d.ts.map +1 -1
- package/dist/server/src/services/permission/permissions-manager/validate.d.ts.map +1 -1
- package/dist/server/src/services/project-settings.d.ts +1 -0
- package/dist/server/src/services/project-settings.d.ts.map +1 -1
- package/dist/server/src/services/role.d.ts.map +1 -1
- package/dist/server/src/services/transfer/token.d.ts.map +1 -1
- package/dist/server/src/services/transfer/utils.d.ts +2 -6
- package/dist/server/src/services/transfer/utils.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts +2 -6
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/server/src/strategies/api-token.d.ts.map +1 -1
- package/dist/server/src/strategies/data-transfer.d.ts.map +1 -1
- package/dist/shared/contracts/user.d.ts +3 -1
- package/dist/shared/contracts/user.d.ts.map +1 -1
- package/package.json +43 -78
- package/dist/_chunks/AdminSeatInfo-9cSpeWWp.js +0 -166
- package/dist/_chunks/AdminSeatInfo-9cSpeWWp.js.map +0 -1
- package/dist/_chunks/AdminSeatInfo-IZMiKB-_.mjs +0 -166
- package/dist/_chunks/AdminSeatInfo-IZMiKB-_.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedApp-FKtpxGn5.mjs +0 -1418
- package/dist/_chunks/AuthenticatedApp-FKtpxGn5.mjs.map +0 -1
- package/dist/_chunks/AuthenticatedApp-VMottKnI.js +0 -1444
- package/dist/_chunks/AuthenticatedApp-VMottKnI.js.map +0 -1
- package/dist/_chunks/CreateActionEE-oYq0Ptw4.mjs +0 -122
- package/dist/_chunks/CreateActionEE-oYq0Ptw4.mjs.map +0 -1
- package/dist/_chunks/CreateActionEE-saIAShnR.js +0 -125
- package/dist/_chunks/CreateActionEE-saIAShnR.js.map +0 -1
- package/dist/_chunks/CreatePage-5SwBLUfK.js +0 -327
- package/dist/_chunks/CreatePage-5SwBLUfK.js.map +0 -1
- package/dist/_chunks/CreatePage-8azm2joF.mjs +0 -86
- package/dist/_chunks/CreatePage-8azm2joF.mjs.map +0 -1
- package/dist/_chunks/CreatePage-MACIPS8o.js +0 -333
- package/dist/_chunks/CreatePage-MACIPS8o.js.map +0 -1
- package/dist/_chunks/CreatePage-U5i8fNmY.mjs +0 -305
- package/dist/_chunks/CreatePage-U5i8fNmY.mjs.map +0 -1
- package/dist/_chunks/CreatePage-Ygam32G2.mjs +0 -314
- package/dist/_chunks/CreatePage-Ygam32G2.mjs.map +0 -1
- package/dist/_chunks/CreatePage-c5fVtthX.js +0 -86
- package/dist/_chunks/CreatePage-c5fVtthX.js.map +0 -1
- package/dist/_chunks/CreateView-BZiXWQwU.mjs +0 -92
- package/dist/_chunks/CreateView-BZiXWQwU.mjs.map +0 -1
- package/dist/_chunks/CreateView-_ROGDfSe.mjs +0 -88
- package/dist/_chunks/CreateView-_ROGDfSe.mjs.map +0 -1
- package/dist/_chunks/CreateView-my4tNhs8.js +0 -92
- package/dist/_chunks/CreateView-my4tNhs8.js.map +0 -1
- package/dist/_chunks/CreateView-y5qpDsf7.js +0 -88
- package/dist/_chunks/CreateView-y5qpDsf7.js.map +0 -1
- package/dist/_chunks/EditPage-2dZ7Didb.mjs +0 -474
- package/dist/_chunks/EditPage-2dZ7Didb.mjs.map +0 -1
- package/dist/_chunks/EditPage-5JMBEHOq.js +0 -809
- package/dist/_chunks/EditPage-5JMBEHOq.js.map +0 -1
- package/dist/_chunks/EditPage-A5pZLHyM.mjs +0 -328
- package/dist/_chunks/EditPage-A5pZLHyM.mjs.map +0 -1
- package/dist/_chunks/EditPage-PXkhvYbn.mjs +0 -788
- package/dist/_chunks/EditPage-PXkhvYbn.mjs.map +0 -1
- package/dist/_chunks/EditPage-Qu27zt5G.js +0 -390
- package/dist/_chunks/EditPage-Qu27zt5G.js.map +0 -1
- package/dist/_chunks/EditPage-lD4OQN1_.mjs +0 -371
- package/dist/_chunks/EditPage-lD4OQN1_.mjs.map +0 -1
- package/dist/_chunks/EditPage-sFUIJLxL.js +0 -348
- package/dist/_chunks/EditPage-sFUIJLxL.js.map +0 -1
- package/dist/_chunks/EditPage-xD9UGfCa.js +0 -496
- package/dist/_chunks/EditPage-xD9UGfCa.js.map +0 -1
- package/dist/_chunks/EditView-ArtwB2hE.mjs +0 -413
- package/dist/_chunks/EditView-ArtwB2hE.mjs.map +0 -1
- package/dist/_chunks/EditView-x-J2N1ej.js +0 -433
- package/dist/_chunks/EditView-x-J2N1ej.js.map +0 -1
- package/dist/_chunks/EditViewPage-7rQGA5pS.mjs +0 -909
- package/dist/_chunks/EditViewPage-7rQGA5pS.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-kioXXfuP.js +0 -936
- package/dist/_chunks/EditViewPage-kioXXfuP.js.map +0 -1
- package/dist/_chunks/EventsTable-tQN7Kxkg.js +0 -107
- package/dist/_chunks/EventsTable-tQN7Kxkg.js.map +0 -1
- package/dist/_chunks/EventsTable-yJP3KCo9.mjs +0 -107
- package/dist/_chunks/EventsTable-yJP3KCo9.mjs.map +0 -1
- package/dist/_chunks/Filters-Gdnt7qft.js +0 -61
- package/dist/_chunks/Filters-Gdnt7qft.js.map +0 -1
- package/dist/_chunks/Filters-dLXfVnI0.mjs +0 -43
- package/dist/_chunks/Filters-dLXfVnI0.mjs.map +0 -1
- package/dist/_chunks/HomePage-6Ua7KUdf.mjs +0 -86
- package/dist/_chunks/HomePage-6Ua7KUdf.mjs.map +0 -1
- package/dist/_chunks/HomePage-Rhag1CPK.js +0 -86
- package/dist/_chunks/HomePage-Rhag1CPK.js.map +0 -1
- package/dist/_chunks/HomePage-gFS-q0IU.js +0 -600
- package/dist/_chunks/HomePage-gFS-q0IU.js.map +0 -1
- package/dist/_chunks/HomePage-xDNIroqJ.mjs +0 -579
- package/dist/_chunks/HomePage-xDNIroqJ.mjs.map +0 -1
- package/dist/_chunks/InformationBoxEE-FT-zOby4.mjs +0 -340
- package/dist/_chunks/InformationBoxEE-FT-zOby4.mjs.map +0 -1
- package/dist/_chunks/InformationBoxEE-LXF_HZCc.js +0 -359
- package/dist/_chunks/InformationBoxEE-LXF_HZCc.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-86OzWsBR.js +0 -188
- package/dist/_chunks/InstalledPluginsPage-86OzWsBR.js.map +0 -1
- package/dist/_chunks/InstalledPluginsPage-PxcyuL3K.mjs +0 -169
- package/dist/_chunks/InstalledPluginsPage-PxcyuL3K.mjs.map +0 -1
- package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs +0 -41
- package/dist/_chunks/InternalErrorPage-7JIAF-Ev.mjs.map +0 -1
- package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js +0 -41
- package/dist/_chunks/InternalErrorPage-MkOX2w_Q.js.map +0 -1
- package/dist/_chunks/Layout-wbTGXdLJ.js +0 -88
- package/dist/_chunks/Layout-wbTGXdLJ.js.map +0 -1
- package/dist/_chunks/Layout-wyY8eyNA.mjs +0 -87
- package/dist/_chunks/Layout-wyY8eyNA.mjs.map +0 -1
- package/dist/_chunks/LimitsModal-gq7jwfap.js +0 -75
- package/dist/_chunks/LimitsModal-gq7jwfap.js.map +0 -1
- package/dist/_chunks/LimitsModal-slvRtty7.mjs +0 -74
- package/dist/_chunks/LimitsModal-slvRtty7.mjs.map +0 -1
- package/dist/_chunks/ListPage-9mrFiaQm.js +0 -349
- package/dist/_chunks/ListPage-9mrFiaQm.js.map +0 -1
- package/dist/_chunks/ListPage-By4B7n1l.mjs +0 -88
- package/dist/_chunks/ListPage-By4B7n1l.mjs.map +0 -1
- package/dist/_chunks/ListPage-IgWMe693.mjs +0 -595
- package/dist/_chunks/ListPage-IgWMe693.mjs.map +0 -1
- package/dist/_chunks/ListPage-XqGIbYt6.mjs +0 -659
- package/dist/_chunks/ListPage-XqGIbYt6.mjs.map +0 -1
- package/dist/_chunks/ListPage-ZVGJxWN_.js +0 -403
- package/dist/_chunks/ListPage-ZVGJxWN_.js.map +0 -1
- package/dist/_chunks/ListPage-cqCdPKED.js +0 -88
- package/dist/_chunks/ListPage-cqCdPKED.js.map +0 -1
- package/dist/_chunks/ListPage-iIZOJJjA.mjs +0 -348
- package/dist/_chunks/ListPage-iIZOJJjA.mjs.map +0 -1
- package/dist/_chunks/ListPage-kpat6sMn.js +0 -369
- package/dist/_chunks/ListPage-kpat6sMn.js.map +0 -1
- package/dist/_chunks/ListPage-q0rdi9bm.mjs +0 -384
- package/dist/_chunks/ListPage-q0rdi9bm.mjs.map +0 -1
- package/dist/_chunks/ListPage-qXBhxPx4.js +0 -617
- package/dist/_chunks/ListPage-qXBhxPx4.js.map +0 -1
- package/dist/_chunks/ListPage-sYLIB3vd.js +0 -680
- package/dist/_chunks/ListPage-sYLIB3vd.js.map +0 -1
- package/dist/_chunks/ListPage-yzNNJ5yr.mjs +0 -346
- package/dist/_chunks/ListPage-yzNNJ5yr.mjs.map +0 -1
- package/dist/_chunks/ListView-415zGylf.mjs +0 -280
- package/dist/_chunks/ListView-415zGylf.mjs.map +0 -1
- package/dist/_chunks/ListView-Wsc3wuC5.js +0 -301
- package/dist/_chunks/ListView-Wsc3wuC5.js.map +0 -1
- package/dist/_chunks/ListView-hm684P4o.mjs +0 -270
- package/dist/_chunks/ListView-hm684P4o.mjs.map +0 -1
- package/dist/_chunks/ListView-xfceGGWI.js +0 -291
- package/dist/_chunks/ListView-xfceGGWI.js.map +0 -1
- package/dist/_chunks/Login-fV4bsRFM.mjs +0 -96
- package/dist/_chunks/Login-fV4bsRFM.mjs.map +0 -1
- package/dist/_chunks/Login-viM76hOb.js +0 -98
- package/dist/_chunks/Login-viM76hOb.js.map +0 -1
- package/dist/_chunks/MagicLinkEE-EtaFlZcG.mjs +0 -96
- package/dist/_chunks/MagicLinkEE-EtaFlZcG.mjs.map +0 -1
- package/dist/_chunks/MagicLinkEE-F_2xYiNa.js +0 -96
- package/dist/_chunks/MagicLinkEE-F_2xYiNa.js.map +0 -1
- package/dist/_chunks/MarketplacePage-3VoQKeo4.js +0 -1081
- package/dist/_chunks/MarketplacePage-3VoQKeo4.js.map +0 -1
- package/dist/_chunks/MarketplacePage-jFLa-9Tv.mjs +0 -1057
- package/dist/_chunks/MarketplacePage-jFLa-9Tv.mjs.map +0 -1
- package/dist/_chunks/ModalForm-W9-dHdzq.mjs +0 -28
- package/dist/_chunks/ModalForm-W9-dHdzq.mjs.map +0 -1
- package/dist/_chunks/ModalForm-cFcYN_zA.js +0 -28
- package/dist/_chunks/ModalForm-cFcYN_zA.js.map +0 -1
- package/dist/_chunks/Permissions-9WfQZ8_F.mjs +0 -2011
- package/dist/_chunks/Permissions-9WfQZ8_F.mjs.map +0 -1
- package/dist/_chunks/Permissions-F2PDn9xj.js +0 -2040
- package/dist/_chunks/Permissions-F2PDn9xj.js.map +0 -1
- package/dist/_chunks/ProfilePage-ZUob15tz.js +0 -668
- package/dist/_chunks/ProfilePage-ZUob15tz.js.map +0 -1
- package/dist/_chunks/ProfilePage-rqXKHHyl.mjs +0 -645
- package/dist/_chunks/ProfilePage-rqXKHHyl.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-bazWGZp9.mjs +0 -102
- package/dist/_chunks/ReviewWorkflowsColumn-bazWGZp9.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-p4XT5o2U.js +0 -102
- package/dist/_chunks/ReviewWorkflowsColumn-p4XT5o2U.js.map +0 -1
- package/dist/_chunks/SelectRoles-ZOi4rQNz.js +0 -103
- package/dist/_chunks/SelectRoles-ZOi4rQNz.js.map +0 -1
- package/dist/_chunks/SelectRoles-gwJ489xE.mjs +0 -102
- package/dist/_chunks/SelectRoles-gwJ489xE.mjs.map +0 -1
- package/dist/_chunks/SettingsPage-FmUuUwzq.mjs +0 -1077
- package/dist/_chunks/SettingsPage-FmUuUwzq.mjs.map +0 -1
- package/dist/_chunks/SettingsPage-gVcDV5ak.js +0 -1100
- package/dist/_chunks/SettingsPage-gVcDV5ak.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-MgEcw5vB.js +0 -316
- package/dist/_chunks/SingleSignOnPage-MgEcw5vB.js.map +0 -1
- package/dist/_chunks/SingleSignOnPage-WbZZR0tX.mjs +0 -297
- package/dist/_chunks/SingleSignOnPage-WbZZR0tX.mjs.map +0 -1
- package/dist/_chunks/Table-T-qYlZ1f.js +0 -226
- package/dist/_chunks/Table-T-qYlZ1f.js.map +0 -1
- package/dist/_chunks/Table-nKuv1TlJ.mjs +0 -206
- package/dist/_chunks/Table-nKuv1TlJ.mjs.map +0 -1
- package/dist/_chunks/TokenTypeSelect-5Ftt7gUK.mjs +0 -353
- package/dist/_chunks/TokenTypeSelect-5Ftt7gUK.mjs.map +0 -1
- package/dist/_chunks/TokenTypeSelect-YXOIDDGa.js +0 -372
- package/dist/_chunks/TokenTypeSelect-YXOIDDGa.js.map +0 -1
- package/dist/_chunks/apiTokens-7DkHvpGO.js +0 -59
- package/dist/_chunks/apiTokens-7DkHvpGO.js.map +0 -1
- package/dist/_chunks/apiTokens-irhyMv7m.mjs +0 -60
- package/dist/_chunks/apiTokens-irhyMv7m.mjs.map +0 -1
- package/dist/_chunks/ar-jktgflyG.mjs +0 -936
- package/dist/_chunks/ar-jktgflyG.mjs.map +0 -1
- package/dist/_chunks/ar-qfb99PVh.js +0 -936
- package/dist/_chunks/ar-qfb99PVh.js.map +0 -1
- package/dist/_chunks/build-8t_xn2ku.mjs +0 -77
- package/dist/_chunks/build-8t_xn2ku.mjs.map +0 -1
- package/dist/_chunks/build-QRFarm0x.js +0 -80
- package/dist/_chunks/build-QRFarm0x.js.map +0 -1
- package/dist/_chunks/build-UkKhySt2.js +0 -66
- package/dist/_chunks/build-UkKhySt2.js.map +0 -1
- package/dist/_chunks/build-Xj2_p4-7.mjs +0 -44
- package/dist/_chunks/build-Xj2_p4-7.mjs.map +0 -1
- package/dist/_chunks/build-bnYNP-fZ.js +0 -77
- package/dist/_chunks/build-bnYNP-fZ.js.map +0 -1
- package/dist/_chunks/build-yLRsyw6N.mjs +0 -75
- package/dist/_chunks/build-yLRsyw6N.mjs.map +0 -1
- package/dist/_chunks/ca-bQs9dsIc.js +0 -724
- package/dist/_chunks/ca-bQs9dsIc.js.map +0 -1
- package/dist/_chunks/ca-g_TZ9Gyb.mjs +0 -724
- package/dist/_chunks/ca-g_TZ9Gyb.mjs.map +0 -1
- package/dist/_chunks/colors-6VKZqnio.js +0 -33
- package/dist/_chunks/colors-6VKZqnio.js.map +0 -1
- package/dist/_chunks/colors-YeFa2BnS.mjs +0 -34
- package/dist/_chunks/colors-YeFa2BnS.mjs.map +0 -1
- package/dist/_chunks/config-bN5VpLkz.mjs +0 -135
- package/dist/_chunks/config-bN5VpLkz.mjs.map +0 -1
- package/dist/_chunks/config-cQDYAnre.js +0 -61
- package/dist/_chunks/config-cQDYAnre.js.map +0 -1
- package/dist/_chunks/config-e-cmAy8N.js +0 -281
- package/dist/_chunks/config-e-cmAy8N.js.map +0 -1
- package/dist/_chunks/config-gs-JvsQG.js +0 -137
- package/dist/_chunks/config-gs-JvsQG.js.map +0 -1
- package/dist/_chunks/config-vWNWOcHV.mjs +0 -58
- package/dist/_chunks/config-vWNWOcHV.mjs.map +0 -1
- package/dist/_chunks/config-wB5k8sQ0.mjs +0 -251
- package/dist/_chunks/config-wB5k8sQ0.mjs.map +0 -1
- package/dist/_chunks/constants-6iCQwI-9.js +0 -189
- package/dist/_chunks/constants-6iCQwI-9.js.map +0 -1
- package/dist/_chunks/constants-8-320B44.mjs +0 -168
- package/dist/_chunks/constants-8-320B44.mjs.map +0 -1
- package/dist/_chunks/constants-8sAt6dKz.mjs +0 -59
- package/dist/_chunks/constants-8sAt6dKz.mjs.map +0 -1
- package/dist/_chunks/constants-GARR3cYH.js +0 -52
- package/dist/_chunks/constants-GARR3cYH.js.map +0 -1
- package/dist/_chunks/constants-L1I-Y-RJ.js +0 -58
- package/dist/_chunks/constants-L1I-Y-RJ.js.map +0 -1
- package/dist/_chunks/constants-TZ6t2aUw.mjs +0 -245
- package/dist/_chunks/constants-TZ6t2aUw.mjs.map +0 -1
- package/dist/_chunks/constants-Y8nh5K2J.js +0 -116
- package/dist/_chunks/constants-Y8nh5K2J.js.map +0 -1
- package/dist/_chunks/constants-cWopus7R.mjs +0 -114
- package/dist/_chunks/constants-cWopus7R.mjs.map +0 -1
- package/dist/_chunks/constants-ci91UBPw.mjs +0 -52
- package/dist/_chunks/constants-ci91UBPw.mjs.map +0 -1
- package/dist/_chunks/constants-jzEsxOxr.js +0 -6
- package/dist/_chunks/constants-jzEsxOxr.js.map +0 -1
- package/dist/_chunks/constants-q1-_l5GM.mjs +0 -7
- package/dist/_chunks/constants-q1-_l5GM.mjs.map +0 -1
- package/dist/_chunks/constants-yy0XD177.js +0 -245
- package/dist/_chunks/constants-yy0XD177.js.map +0 -1
- package/dist/_chunks/cs-XYXIcfVY.js +0 -291
- package/dist/_chunks/cs-XYXIcfVY.js.map +0 -1
- package/dist/_chunks/cs-pnCQlrWo.mjs +0 -291
- package/dist/_chunks/cs-pnCQlrWo.mjs.map +0 -1
- package/dist/_chunks/de-elBeWdG2.js +0 -716
- package/dist/_chunks/de-elBeWdG2.js.map +0 -1
- package/dist/_chunks/de-uQFFWv6o.mjs +0 -716
- package/dist/_chunks/de-uQFFWv6o.mjs.map +0 -1
- package/dist/_chunks/develop-3cP1QX7t.mjs +0 -66
- package/dist/_chunks/develop-3cP1QX7t.mjs.map +0 -1
- package/dist/_chunks/develop-YNTGWKMC.js +0 -70
- package/dist/_chunks/develop-YNTGWKMC.js.map +0 -1
- package/dist/_chunks/dk-QgYCviRU.mjs +0 -634
- package/dist/_chunks/dk-QgYCviRU.mjs.map +0 -1
- package/dist/_chunks/dk-qvFj0oFG.js +0 -634
- package/dist/_chunks/dk-qvFj0oFG.js.map +0 -1
- package/dist/_chunks/en-ZBAy2GQ0.mjs +0 -1035
- package/dist/_chunks/en-ZBAy2GQ0.mjs.map +0 -1
- package/dist/_chunks/en-l5S8Gv-y.js +0 -1035
- package/dist/_chunks/en-l5S8Gv-y.js.map +0 -1
- package/dist/_chunks/es-h5dK2UFx.mjs +0 -796
- package/dist/_chunks/es-h5dK2UFx.mjs.map +0 -1
- package/dist/_chunks/es-hBQ_pL0X.js +0 -796
- package/dist/_chunks/es-hBQ_pL0X.js.map +0 -1
- package/dist/_chunks/eu-7yW2eEOy.mjs +0 -832
- package/dist/_chunks/eu-7yW2eEOy.mjs.map +0 -1
- package/dist/_chunks/eu-VH6nNPXY.js +0 -832
- package/dist/_chunks/eu-VH6nNPXY.js.map +0 -1
- package/dist/_chunks/fr-I-0ckcEU.mjs +0 -762
- package/dist/_chunks/fr-I-0ckcEU.mjs.map +0 -1
- package/dist/_chunks/fr-RVVsyT5B.js +0 -762
- package/dist/_chunks/fr-RVVsyT5B.js.map +0 -1
- package/dist/_chunks/gu-76mTVAc2.js +0 -623
- package/dist/_chunks/gu-76mTVAc2.js.map +0 -1
- package/dist/_chunks/gu-k2JKO75-.mjs +0 -623
- package/dist/_chunks/gu-k2JKO75-.mjs.map +0 -1
- package/dist/_chunks/hi-eUDhoDjK.mjs +0 -722
- package/dist/_chunks/hi-eUDhoDjK.mjs.map +0 -1
- package/dist/_chunks/hi-zD7tX6HS.js +0 -722
- package/dist/_chunks/hi-zD7tX6HS.js.map +0 -1
- package/dist/_chunks/hu-0pmvoLj1.js +0 -832
- package/dist/_chunks/hu-0pmvoLj1.js.map +0 -1
- package/dist/_chunks/hu-Nw7d3QWI.mjs +0 -832
- package/dist/_chunks/hu-Nw7d3QWI.mjs.map +0 -1
- package/dist/_chunks/id-xMqk-8lW.mjs +0 -448
- package/dist/_chunks/id-xMqk-8lW.mjs.map +0 -1
- package/dist/_chunks/id-yQtHASS7.js +0 -448
- package/dist/_chunks/id-yQtHASS7.js.map +0 -1
- package/dist/_chunks/index-0WWbaSNa.mjs +0 -898
- package/dist/_chunks/index-0WWbaSNa.mjs.map +0 -1
- package/dist/_chunks/index-FHnaHjSM.js +0 -19129
- package/dist/_chunks/index-FHnaHjSM.js.map +0 -1
- package/dist/_chunks/index-Sr5PWLEf.mjs +0 -19071
- package/dist/_chunks/index-Sr5PWLEf.mjs.map +0 -1
- package/dist/_chunks/index-sNH2VWbC.js +0 -936
- package/dist/_chunks/index-sNH2VWbC.js.map +0 -1
- package/dist/_chunks/it-RPJqQqp3.js +0 -459
- package/dist/_chunks/it-RPJqQqp3.js.map +0 -1
- package/dist/_chunks/it-rHB9s1La.mjs +0 -459
- package/dist/_chunks/it-rHB9s1La.mjs.map +0 -1
- package/dist/_chunks/ja-5uFhM-kW.js +0 -633
- package/dist/_chunks/ja-5uFhM-kW.js.map +0 -1
- package/dist/_chunks/ja-WD-v2aCc.mjs +0 -633
- package/dist/_chunks/ja-WD-v2aCc.mjs.map +0 -1
- package/dist/_chunks/ko-JyirX0Lo.js +0 -631
- package/dist/_chunks/ko-JyirX0Lo.js.map +0 -1
- package/dist/_chunks/ko-bqCJmLX_.mjs +0 -631
- package/dist/_chunks/ko-bqCJmLX_.mjs.map +0 -1
- package/dist/_chunks/ml-NdVWq6KA.mjs +0 -722
- package/dist/_chunks/ml-NdVWq6KA.mjs.map +0 -1
- package/dist/_chunks/ml-QqpcKQgB.js +0 -722
- package/dist/_chunks/ml-QqpcKQgB.js.map +0 -1
- package/dist/_chunks/ms-gansS54r.mjs +0 -342
- package/dist/_chunks/ms-gansS54r.mjs.map +0 -1
- package/dist/_chunks/ms-wbSWdQJ0.js +0 -342
- package/dist/_chunks/ms-wbSWdQJ0.js.map +0 -1
- package/dist/_chunks/nl--_EbnSVw.mjs +0 -828
- package/dist/_chunks/nl--_EbnSVw.mjs.map +0 -1
- package/dist/_chunks/nl-Foqdtl_-.js +0 -828
- package/dist/_chunks/nl-Foqdtl_-.js.map +0 -1
- package/dist/_chunks/pl-01EnRFRc.js +0 -721
- package/dist/_chunks/pl-01EnRFRc.js.map +0 -1
- package/dist/_chunks/pl-3EvXSIl8.mjs +0 -721
- package/dist/_chunks/pl-3EvXSIl8.mjs.map +0 -1
- package/dist/_chunks/pt-BR-8-G6vaMo.mjs +0 -794
- package/dist/_chunks/pt-BR-8-G6vaMo.mjs.map +0 -1
- package/dist/_chunks/pt-BR-F3FsQI-D.js +0 -794
- package/dist/_chunks/pt-BR-F3FsQI-D.js.map +0 -1
- package/dist/_chunks/pt-Mve7WzqZ.js +0 -296
- package/dist/_chunks/pt-Mve7WzqZ.js.map +0 -1
- package/dist/_chunks/pt-TrdDLCZ4.mjs +0 -296
- package/dist/_chunks/pt-TrdDLCZ4.mjs.map +0 -1
- package/dist/_chunks/reviewWorkflows-Lf__WK8E.mjs +0 -117
- package/dist/_chunks/reviewWorkflows-Lf__WK8E.mjs.map +0 -1
- package/dist/_chunks/reviewWorkflows-csFsWJYs.js +0 -116
- package/dist/_chunks/reviewWorkflows-csFsWJYs.js.map +0 -1
- package/dist/_chunks/ru-flezEXdc.js +0 -993
- package/dist/_chunks/ru-flezEXdc.js.map +0 -1
- package/dist/_chunks/ru-mivqkjAk.mjs +0 -993
- package/dist/_chunks/ru-mivqkjAk.mjs.map +0 -1
- package/dist/_chunks/sa-AbTtHezl.mjs +0 -722
- package/dist/_chunks/sa-AbTtHezl.mjs.map +0 -1
- package/dist/_chunks/sa-gjKCAmHv.js +0 -722
- package/dist/_chunks/sa-gjKCAmHv.js.map +0 -1
- package/dist/_chunks/sk-IoQ_DY_j.mjs +0 -690
- package/dist/_chunks/sk-IoQ_DY_j.mjs.map +0 -1
- package/dist/_chunks/sk-xA9DPcmq.js +0 -690
- package/dist/_chunks/sk-xA9DPcmq.js.map +0 -1
- package/dist/_chunks/sv-SHJ67uau.mjs +0 -827
- package/dist/_chunks/sv-SHJ67uau.mjs.map +0 -1
- package/dist/_chunks/sv-be1suA3a.js +0 -827
- package/dist/_chunks/sv-be1suA3a.js.map +0 -1
- package/dist/_chunks/th-7ExcBOpr.js +0 -430
- package/dist/_chunks/th-7ExcBOpr.js.map +0 -1
- package/dist/_chunks/th-TrS9p5eO.mjs +0 -430
- package/dist/_chunks/th-TrS9p5eO.mjs.map +0 -1
- package/dist/_chunks/tr-f8ouRTmt.mjs +0 -785
- package/dist/_chunks/tr-f8ouRTmt.mjs.map +0 -1
- package/dist/_chunks/tr-u4e0KNRe.js +0 -785
- package/dist/_chunks/tr-u4e0KNRe.js.map +0 -1
- package/dist/_chunks/transferTokens-Wn5Ixusu.js +0 -62
- package/dist/_chunks/transferTokens-Wn5Ixusu.js.map +0 -1
- package/dist/_chunks/transferTokens-nVplpXze.mjs +0 -63
- package/dist/_chunks/transferTokens-nVplpXze.mjs.map +0 -1
- package/dist/_chunks/uk-5Ikxxci1.js +0 -343
- package/dist/_chunks/uk-5Ikxxci1.js.map +0 -1
- package/dist/_chunks/uk-x2flwIlG.mjs +0 -343
- package/dist/_chunks/uk-x2flwIlG.mjs.map +0 -1
- package/dist/_chunks/useAdminRoles-DlSzAd-1.mjs +0 -28
- package/dist/_chunks/useAdminRoles-DlSzAd-1.mjs.map +0 -1
- package/dist/_chunks/useAdminRoles-ganYae89.js +0 -46
- package/dist/_chunks/useAdminRoles-ganYae89.js.map +0 -1
- package/dist/_chunks/useContentTypes-DTqkkGy_.js +0 -90
- package/dist/_chunks/useContentTypes-DTqkkGy_.js.map +0 -1
- package/dist/_chunks/useContentTypes-qmvH8G01.mjs +0 -72
- package/dist/_chunks/useContentTypes-qmvH8G01.mjs.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-4e6mQbbM.js +0 -100
- package/dist/_chunks/useLicenseLimitNotification-4e6mQbbM.js.map +0 -1
- package/dist/_chunks/useLicenseLimitNotification-A_JEdOP4.mjs +0 -80
- package/dist/_chunks/useLicenseLimitNotification-A_JEdOP4.mjs.map +0 -1
- package/dist/_chunks/useReviewWorkflows-6jJL-HLH.js +0 -26
- package/dist/_chunks/useReviewWorkflows-6jJL-HLH.js.map +0 -1
- package/dist/_chunks/useReviewWorkflows-sodMM24w.mjs +0 -27
- package/dist/_chunks/useReviewWorkflows-sodMM24w.mjs.map +0 -1
- package/dist/_chunks/useWebhooks-854ZWFz4.mjs +0 -90
- package/dist/_chunks/useWebhooks-854ZWFz4.mjs.map +0 -1
- package/dist/_chunks/useWebhooks-I5pui8ds.js +0 -89
- package/dist/_chunks/useWebhooks-I5pui8ds.js.map +0 -1
- package/dist/_chunks/validateWorkflow-Y1LKUNt8.mjs +0 -1055
- package/dist/_chunks/validateWorkflow-Y1LKUNt8.mjs.map +0 -1
- package/dist/_chunks/validateWorkflow-qc34E4Tb.js +0 -1078
- package/dist/_chunks/validateWorkflow-qc34E4Tb.js.map +0 -1
- package/dist/_chunks/validation-f9rGWFeU.mjs +0 -16
- package/dist/_chunks/validation-f9rGWFeU.mjs.map +0 -1
- package/dist/_chunks/validation-j25hbp81.js +0 -34
- package/dist/_chunks/validation-j25hbp81.js.map +0 -1
- package/dist/_chunks/vi-BbeHSbqs.mjs +0 -298
- package/dist/_chunks/vi-BbeHSbqs.mjs.map +0 -1
- package/dist/_chunks/vi-SYqVl8vH.js +0 -298
- package/dist/_chunks/vi-SYqVl8vH.js.map +0 -1
- package/dist/_chunks/watch-6AKkERUi.mjs +0 -86
- package/dist/_chunks/watch-6AKkERUi.mjs.map +0 -1
- package/dist/_chunks/watch-IKaZxKoL.js +0 -134
- package/dist/_chunks/watch-IKaZxKoL.js.map +0 -1
- package/dist/_chunks/watch-ObwxNhtY.mjs +0 -129
- package/dist/_chunks/watch-ObwxNhtY.mjs.map +0 -1
- package/dist/_chunks/watch-ZVMgmXK1.js +0 -111
- package/dist/_chunks/watch-ZVMgmXK1.js.map +0 -1
- package/dist/_chunks/zh-9728QXZm.js +0 -836
- package/dist/_chunks/zh-9728QXZm.js.map +0 -1
- package/dist/_chunks/zh-Hans-SHNzD0Zk.js +0 -957
- package/dist/_chunks/zh-Hans-SHNzD0Zk.js.map +0 -1
- package/dist/_chunks/zh-Hans-eY3IWdFB.mjs +0 -957
- package/dist/_chunks/zh-Hans-eY3IWdFB.mjs.map +0 -1
- package/dist/_chunks/zh-cZop7tV1.mjs +0 -836
- package/dist/_chunks/zh-cZop7tV1.mjs.map +0 -1
- package/dist/admin/src/components/AuthenticatedApp.d.ts +0 -2
- package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +0 -69
- package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +0 -19
- package/dist/admin/src/content-manager/components/ComponentInitializer.d.ts +0 -10
- package/dist/admin/src/content-manager/components/ContentTypeFormWrapper.d.ts +0 -32
- package/dist/admin/src/content-manager/components/DynamicZone/ComponentCard.d.ts +0 -9
- package/dist/admin/src/content-manager/components/DynamicZone/ComponentCategory.d.ts +0 -17
- package/dist/admin/src/content-manager/components/DynamicZone/DynamicComponent.d.ts +0 -15
- package/dist/admin/src/content-manager/components/DynamicZone/DynamicZoneLabel.d.ts +0 -13
- package/dist/admin/src/content-manager/components/DynamicZone/Field.d.ts +0 -32
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/Provider.d.ts +0 -18
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.d.ts +0 -150
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.d.ts +0 -6
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.d.ts +0 -33
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.d.ts +0 -6
- package/dist/admin/src/content-manager/components/EditViewDataManagerProvider/utils/moveFields.d.ts +0 -2
- package/dist/admin/src/content-manager/components/FieldComponent.d.ts +0 -16
- package/dist/admin/src/content-manager/components/Hint.d.ts +0 -9
- package/dist/admin/src/content-manager/components/InputUID.d.ts +0 -16
- package/dist/admin/src/content-manager/components/Inputs.d.ts +0 -11
- package/dist/admin/src/content-manager/components/NonRepeatableComponent.d.ts +0 -9
- package/dist/admin/src/content-manager/components/Relations/RelationInput.d.ts +0 -62
- package/dist/admin/src/content-manager/components/Relations/RelationInputDataManager.d.ts +0 -26
- package/dist/admin/src/content-manager/components/Relations/useRelation.d.ts +0 -31
- package/dist/admin/src/content-manager/components/Relations/utils/diffRelations.d.ts +0 -2
- package/dist/admin/src/content-manager/components/Relations/utils/getRelationLink.d.ts +0 -2
- package/dist/admin/src/content-manager/components/Relations/utils/normalizeRelations.d.ts +0 -13
- package/dist/admin/src/content-manager/components/Relations/utils/normalizeSearchResults.d.ts +0 -149
- package/dist/admin/src/content-manager/components/RepeatableComponent.d.ts +0 -14
- package/dist/admin/src/content-manager/components/Wysiwyg/Editor.d.ts +0 -28
- package/dist/admin/src/content-manager/components/Wysiwyg/EditorLayout.d.ts +0 -59
- package/dist/admin/src/content-manager/components/Wysiwyg/Field.d.ts +0 -14
- package/dist/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.d.ts +0 -54
- package/dist/admin/src/content-manager/contexts/models.d.ts +0 -5
- package/dist/admin/src/content-manager/hooks/useContentTypeLayout.d.ts +0 -6
- package/dist/admin/src/content-manager/hooks/useFindRedirectionLink.d.ts +0 -2
- package/dist/admin/src/content-manager/hooks/useLayouts.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/App.d.ts +0 -50
- package/dist/admin/src/content-manager/pages/CollectionTypePages.d.ts +0 -12
- package/dist/admin/src/content-manager/pages/ComponentSettingsView.d.ts +0 -2
- package/dist/admin/src/content-manager/pages/EditView/components/DeleteLink.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/EditView/components/DraftAndPublishBadge.d.ts +0 -2
- package/dist/admin/src/content-manager/pages/EditView/components/Information.d.ts +0 -10
- package/dist/admin/src/content-manager/pages/EditView/components/InformationBoxCE.d.ts +0 -2
- package/dist/admin/src/content-manager/pages/EditViewLayoutManager.d.ts +0 -26
- package/dist/admin/src/content-manager/pages/ListView/components/AdminUsersFilter.d.ts +0 -6
- package/dist/admin/src/content-manager/pages/ListView/components/DialogConfirmDelete.d.ts +0 -9
- package/dist/admin/src/content-manager/pages/ListView/components/Filter.d.ts +0 -7
- package/dist/admin/src/content-manager/pages/ListView/components/Table.d.ts +0 -28
- package/dist/admin/src/content-manager/pages/ListView/hooks/useAllowedAttributes.d.ts +0 -3
- package/dist/admin/src/content-manager/pages/ListViewLayoutManager.d.ts +0 -75
- package/dist/admin/src/content-manager/sharedReducers/crud/actions.d.ts +0 -63
- package/dist/admin/src/content-manager/sharedReducers/crud/constants.d.ts +0 -8
- package/dist/admin/src/content-manager/sharedReducers/crud/reducer.d.ts +0 -24
- package/dist/admin/src/content-manager/utils/arrayMoveItem.d.ts +0 -2
- package/dist/admin/src/content-manager/utils/data.d.ts +0 -5
- package/dist/admin/src/content-manager/utils/fields.d.ts +0 -7
- package/dist/admin/src/content-manager/utils/layouts.d.ts +0 -96
- package/dist/admin/src/content-manager/utils/paths.d.ts +0 -7
- package/dist/admin/src/content-manager/utils/permissions.d.ts +0 -8
- package/dist/admin/src/content-manager/utils/refs.d.ts +0 -8
- package/dist/admin/src/content-manager/utils/schemas.d.ts +0 -22
- package/dist/admin/src/content-manager/utils/users.d.ts +0 -7
- package/dist/admin/src/core/apis/Components.d.ts +0 -10
- package/dist/admin/src/core/apis/Fields.d.ts +0 -10
- package/dist/admin/src/core/apis/Middlewares.d.ts +0 -9
- package/dist/admin/src/core/apis/Reducers.d.ts +0 -10
- package/dist/admin/src/hooks/useDocument.d.ts +0 -24
- package/dist/admin/src/layouts/AppLayout.d.ts +0 -7
- package/dist/admin/src/pages/Admin.d.ts +0 -7
- package/dist/admin/src/pages/Auth/components/FieldActionWrapper.d.ts +0 -3
- package/dist/admin/src/pages/Settings/SettingsPage.d.ts +0 -4
- package/dist/admin/src/pages/Settings/components/Filters.d.ts +0 -5
- package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/LoadingView.d.ts +0 -5
- package/dist/admin/src/pages/Settings/pages/Users/components/TableRows.d.ts +0 -9
- package/dist/admin/src/types/form.d.ts +0 -6
- package/dist/admin/src/utils/createRoute.d.ts +0 -6
- package/dist/admin/src/utils/getFullName.d.ts +0 -1
- package/dist/cli.js +0 -34
- package/dist/cli.js.map +0 -1
- package/dist/cli.mjs +0 -34
- package/dist/cli.mjs.map +0 -1
- package/dist/ee/admin/src/content-manager/pages/EditView/components/InformationBoxEE.d.ts +0 -2
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/PaginationFooter.d.ts +0 -6
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/TableRows.d.ts +0 -32
- package/index.d.ts +0 -22
- package/index.js +0 -255
- /package/dist/admin/src/content-manager/{utils → constants}/dragAndDrop.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Code.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Heading.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Image.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Link.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/List.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Paragraph.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Blocks/Quote.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/BlocksContent.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/BlocksToolbar.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/EditorLayout.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/Modifiers.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/plugins/withImages.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/plugins/withLinks.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/plugins/withStrapiSchema.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/utils/conversions.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/utils/enterKey.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/utils/links.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/BlocksInput/utils/types.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/DynamicZone/AddComponentButton.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/DynamicZone/ComponentPicker.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/PreviewWysiwyg.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/WysiwygFooter.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/WysiwygNav.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/utils/continueList.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/utils/mdRenderer.d.ts +0 -0
- /package/dist/admin/src/content-manager/{components → pages/EditView/components/FormInputs}/Wysiwyg/utils/utils.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-9WfQZ8_F.mjs","sources":["../../admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.ts","../../admin/src/utils/arrays.ts","../../admin/src/pages/Settings/pages/Roles/utils/createArrayOfValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/permissions.ts","../../admin/src/pages/Settings/pages/Roles/utils/forms.ts","../../admin/src/pages/Settings/pages/Roles/utils/layouts.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateConditionsToFalse.ts","../../admin/src/pages/Settings/pages/Roles/utils/updateValues.ts","../../admin/src/pages/Settings/pages/Roles/utils/constants.ts","../../admin/src/pages/Settings/pages/Roles/utils/removeConditionKeyFromData.ts","../../admin/src/pages/Settings/pages/Roles/utils/getCheckboxState.ts","../../admin/src/utils/strings.ts","../../admin/src/pages/Settings/pages/Roles/components/CollapseLabel.tsx","../../admin/src/pages/Settings/pages/Roles/components/HiddenAction.tsx","../../admin/src/pages/Settings/pages/Roles/components/RequiredSign.tsx","../../admin/src/pages/Settings/pages/Roles/components/RowLabelWithCheckbox.tsx","../../admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsButton.tsx","../../admin/src/pages/Settings/pages/Roles/components/ConditionsModal.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.tsx","../../admin/src/pages/Settings/pages/Roles/components/GlobalActions.tsx","../../admin/src/pages/Settings/pages/Roles/components/ContentTypes.tsx","../../admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.tsx","../../admin/src/pages/Settings/pages/Roles/components/Permissions.tsx"],"sourcesContent":["import { createContext } from '@radix-ui/react-context';\n\nimport { Condition } from '../../../../../../../shared/contracts/permissions';\n\nimport type {\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n State,\n} from '../components/Permissions';\n\n// Note: I had to guess most of these types based on the name and usage, but I actually don't\n// know if they are correct, because the usage is very generic. Feel free to correct them if\n// they create problems.\nexport interface PermissionsDataManagerContextValue extends Pick<State, 'modifiedData'> {\n availableConditions: Condition[];\n onChangeCollectionTypeLeftActionRowCheckbox: (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => void;\n onChangeConditions: (conditions: OnChangeConditionsAction['conditions']) => void;\n onChangeSimpleCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeParentCheckbox: (event: { target: { name: string; value: boolean } }) => void;\n onChangeCollectionTypeGlobalActionCheckbox: (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => void;\n}\n\nconst [PermissionsDataManagerProvider, usePermissionsDataManagerContext] =\n createContext<PermissionsDataManagerContextValue>('PermissionsDataManager');\n\nexport const usePermissionsDataManager = () =>\n usePermissionsDataManagerContext('usePermissionsDataManager');\n\nexport { PermissionsDataManagerProvider };\n","/**\n * @internal\n * @description Mutates a value to be a union of flat values, no arrays allowed.\n */\ntype Flat<T> = T extends string ? T : T extends ArrayLike<any> ? never : T;\n\n/**\n * @internal\n */\ninterface RecursiveArray<T> extends Array<T | RecursiveArray<T>> {}\n/**\n * @internal\n */\ninterface ArrayOfRecursiveArraysOrValues<T> extends ArrayLike<T | RecursiveArray<T>> {}\n\n/**\n * @internal\n *\n * @description Flattens an array recursively.\n */\nconst flattenDeep = <T>(\n array?: ArrayOfRecursiveArraysOrValues<T> | null | undefined\n): Array<Flat<T>> => {\n if (Array.isArray(array)) {\n return array.reduce((acc, value) => {\n if (Array.isArray(value)) {\n acc.push(...flattenDeep(value));\n } else {\n acc.push(value);\n }\n\n return acc;\n }, [] as Array<Flat<T>>);\n } else {\n return [];\n }\n};\n\nexport { flattenDeep };\nexport type { Flat, RecursiveArray, ArrayOfRecursiveArraysOrValues };\n","import { Flat, flattenDeep } from '../../../../../utils/arrays';\nimport { isObject } from '../../../../../utils/objects';\n\nconst createArrayOfValues = <TData>(obj: unknown): Array<Flat<TData>> => {\n if (!isObject(obj)) {\n return [];\n }\n\n return flattenDeep(\n Object.values(obj).map((value) => {\n if (isObject(value)) {\n return createArrayOfValues(value);\n }\n\n return value;\n })\n );\n};\n\nexport { createArrayOfValues };\n","import { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n\nimport type { ConditionForm, Form, PropertyChildForm } from './forms';\nimport type { UpdatePermissions } from '../../../../../../../shared/contracts/roles';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\nimport type { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\n\ntype PermissionApiBody = UpdatePermissions.Request['body']['permissions'];\n\n/**\n * @description Given a users permissions array we find the first one that matches a provided subject & action\n */\nconst findMatchingPermission = (\n permissions: Permission[],\n action: string,\n subject: string | null\n) => permissions.find((perm) => perm.action === action && perm.subject === subject);\n\nconst formatPermissionsForAPI = (\n modifiedData: PermissionsDataManagerContextValue['modifiedData']\n): PermissionApiBody => {\n const pluginsPermissions = formatSettingsPermissions(modifiedData.plugins);\n const settingsPermissions = formatSettingsPermissions(modifiedData.settings);\n const collectionTypesPermissions = formatContentTypesPermissions(modifiedData.collectionTypes);\n const singleTypesPermissions = formatContentTypesPermissions(modifiedData.singleTypes);\n\n return [\n ...pluginsPermissions,\n ...settingsPermissions,\n ...collectionTypesPermissions,\n ...singleTypesPermissions,\n ];\n};\n\nconst formatSettingsPermissions = (\n settingsPermissionsObject:\n | PermissionsDataManagerContextValue['modifiedData']['plugins']\n | PermissionsDataManagerContextValue['modifiedData']['settings']\n): PermissionApiBody => {\n return Object.values(settingsPermissionsObject).reduce<PermissionApiBody>((formAcc, form) => {\n const currentCategoryPermissions = Object.values(form).reduce<PermissionApiBody>(\n (childFormAcc, childForm) => {\n const permissions = Object.entries(childForm).reduce<PermissionApiBody>(\n (\n responsesAcc,\n [\n actionName,\n {\n conditions,\n properties: { enabled },\n },\n ]\n ) => {\n if (!enabled) {\n return responsesAcc;\n }\n\n responsesAcc.push({\n action: actionName,\n subject: null,\n conditions: createConditionsArray(conditions),\n properties: {},\n });\n\n return responsesAcc;\n },\n []\n );\n\n return [...childFormAcc, ...permissions];\n },\n []\n );\n\n return [...formAcc, ...currentCategoryPermissions];\n }, []);\n};\n\nconst formatContentTypesPermissions = (contentTypesPermissions: Form): PermissionApiBody => {\n const permissions = Object.entries(contentTypesPermissions).reduce<PermissionApiBody>(\n (allPermissions, current) => {\n const [subject, currentSubjectActions] = current;\n\n const permissions = Object.entries(currentSubjectActions).reduce<PermissionApiBody>(\n (acc, current) => {\n const [actionName, permissions] = current;\n const shouldCreatePermission = createArrayOfValues(permissions).some((val) => val);\n\n if (!shouldCreatePermission) {\n return acc;\n }\n\n if (!permissions?.properties?.enabled) {\n const createdPermissionsArray = Object.entries(permissions.properties).reduce<\n PermissionApiBody[number]\n >(\n (acc, current) => {\n const [propertyName, propertyValue] = current;\n\n // @ts-expect-error – `propertyValue` can be boolean or an object, but we don't account for it...\n acc.properties[propertyName] = createPropertyArray(propertyValue);\n\n return acc;\n },\n {\n action: actionName,\n subject,\n conditions: createConditionsArray(permissions.conditions),\n properties: {},\n }\n );\n\n return [...acc, createdPermissionsArray];\n }\n\n if (!permissions.properties.enabled) {\n return acc;\n }\n\n acc.push({\n action: actionName,\n subject,\n properties: {},\n conditions: createConditionsArray(permissions.conditions),\n });\n\n return acc;\n },\n []\n );\n\n return [...allPermissions, ...permissions];\n },\n []\n );\n\n return permissions;\n};\n\nconst createPropertyArray = (propertyValue: PropertyChildForm, prefix = ''): string[] => {\n return Object.entries(propertyValue).reduce<string[]>((acc, current) => {\n const [name, value] = current;\n\n if (isObject(value)) {\n return [...acc, ...createPropertyArray(value, `${prefix}${name}.`)];\n }\n\n if (value && !isObject(value)) {\n acc.push(`${prefix}${name}`);\n }\n\n return acc;\n }, []);\n};\n\nconst createConditionsArray = (conditions: ConditionForm) =>\n Object.entries(conditions)\n .filter(([, conditionValue]) => {\n return conditionValue;\n })\n .map(([conditionName]) => conditionName);\n\nexport { findMatchingPermission, formatPermissionsForAPI };\n","import isEmpty from 'lodash/isEmpty';\nimport merge from 'lodash/merge';\n\nimport { findMatchingPermission } from './permissions';\n\nimport type { GenericLayout } from './layouts';\nimport type {\n Condition,\n SettingPermission,\n ContentPermission,\n Subject,\n SubjectProperty,\n} from '../../../../../../../shared/contracts/permissions';\nimport type { Permission } from '../../../../../../../shared/contracts/shared';\n\ntype ConditionForm = Record<string, boolean>;\n\n/**\n * Creates the default condition form: { [conditionId]: false }\n */\nconst createDefaultConditionsForm = (\n conditions: Condition[],\n initialConditions: Permission['conditions'] = []\n): ConditionForm =>\n conditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = initialConditions.indexOf(current.id) !== -1;\n\n return acc;\n }, {});\n\ninterface SubCategoryForm {\n properties: {\n enabled: boolean;\n };\n conditions: ConditionForm;\n}\n\ntype ChildrenForm = Record<\n string,\n SubCategoryForm | (Omit<SubCategoryForm, 'properties'> & PropertyForm)\n>;\n\ntype Form = Record<string, ChildrenForm>;\n\nconst createDefaultForm = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: GenericLayout<TLayout>[],\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return layout.reduce<Record<string, Form>>((acc, { categoryId, childrenForm }) => {\n const childrenDefaultForm = childrenForm.reduce<Form>((acc, current) => {\n acc[current.subCategoryId] = current.actions.reduce<ChildrenForm>((acc, current) => {\n const foundMatchingPermission = findMatchingPermission(\n initialPermissions,\n current.action,\n null\n );\n\n acc[current.action] = {\n properties: {\n enabled: foundMatchingPermission !== undefined,\n },\n conditions: createDefaultConditionsForm(\n conditions,\n foundMatchingPermission?.conditions ?? []\n ),\n };\n\n return acc;\n }, {});\n\n return acc;\n }, {});\n\n acc[categoryId] = childrenDefaultForm;\n\n return acc;\n }, {});\n};\n\ninterface PropertyChildForm extends Record<string, boolean | PropertyChildForm> {}\n\ninterface PropertyForm {\n properties: PropertyChildForm;\n}\n\n/**\n * Creates the default form for all the properties found in a content type's layout\n */\nconst createDefaultPropertiesForm = (\n properties: string[],\n subject: Subject,\n matchingPermission?: Permission\n): PropertyForm => {\n const recursivelyCreatePropertyForm = (\n { children = [] }: SubjectProperty,\n propertyValues: string[],\n prefix = ''\n ): PropertyChildForm => {\n return children.reduce<PropertyChildForm>((acc, current) => {\n if (current.children) {\n return {\n ...acc,\n [current.value]: recursivelyCreatePropertyForm(\n current,\n propertyValues,\n `${prefix}${current.value}.`\n ),\n };\n }\n\n const hasProperty = propertyValues.indexOf(`${prefix}${current.value}`) !== -1;\n\n acc[current.value] = hasProperty;\n\n return acc;\n }, {});\n };\n\n return properties.reduce<PropertyForm>(\n (acc, currentPropertyName) => {\n const foundProperty = subject.properties.find(({ value }) => value === currentPropertyName);\n\n if (foundProperty) {\n const matchingPermissionPropertyValues =\n matchingPermission?.properties[foundProperty.value] ?? [];\n\n const propertyForm = recursivelyCreatePropertyForm(\n foundProperty,\n matchingPermissionPropertyValues\n );\n\n acc.properties[currentPropertyName] = propertyForm;\n }\n\n return acc;\n },\n { properties: {} }\n );\n};\n\n/**\n * Creates the default for for a content type\n */\nconst createDefaultCTForm = (\n { subjects, actions = [] }: ContentPermission,\n conditions: Condition[],\n initialPermissions: Permission[] = []\n) => {\n return actions.reduce<Form>((defaultForm, action) => {\n type SubjectLayouts = Record<string, Subject>;\n\n const subjectLayouts = action.subjects.reduce<SubjectLayouts>((acc, current) => {\n const foundLayout = subjects.find(({ uid }) => uid === current) || null;\n\n if (foundLayout) {\n acc[current] = foundLayout;\n }\n\n return acc;\n }, {});\n\n // This can happen when an action is not related to a content type\n // for instance the D&P permission is applied only with the cts that\n // have the D&P features enabled\n if (isEmpty(subjectLayouts)) {\n return defaultForm;\n }\n\n // The object has the following shape: { [ctUID]: { [actionId]: { [property]: { enabled: false } } } }\n const contentTypesActions = Object.keys(subjectLayouts).reduce<Form>((acc, currentCTUID) => {\n const { actionId, applyToProperties } = action;\n const currentSubjectLayout = subjectLayouts[currentCTUID];\n const properties = currentSubjectLayout.properties.map(({ value }) => value);\n const doesNothaveProperty = properties.every(\n (property) => (applyToProperties || []).indexOf(property) === -1\n );\n\n const matchingPermission = findMatchingPermission(initialPermissions, actionId, currentCTUID);\n const conditionsForm = createDefaultConditionsForm(\n conditions,\n matchingPermission?.conditions ?? []\n );\n\n if (!acc[currentCTUID]) {\n acc[currentCTUID] = {};\n }\n\n if (isEmpty(applyToProperties) || doesNothaveProperty) {\n acc[currentCTUID][actionId] = {\n properties: {\n enabled: matchingPermission !== undefined,\n },\n conditions: conditionsForm,\n };\n\n return acc;\n }\n\n const propertiesForm = createDefaultPropertiesForm(\n applyToProperties,\n subjectLayouts[currentCTUID],\n matchingPermission\n );\n\n acc[currentCTUID][actionId] = { ...propertiesForm, conditions: conditionsForm };\n\n return acc;\n }, {});\n\n return merge(defaultForm, contentTypesActions);\n }, {});\n};\n\nexport { createDefaultConditionsForm, createDefaultForm, createDefaultCTForm };\nexport type { ConditionForm, Form, PropertyForm, SubCategoryForm, ChildrenForm, PropertyChildForm };\n","import groupBy from 'lodash/groupBy';\n\nimport { SettingPermission } from '../../../../../../../shared/contracts/permissions';\n\ninterface GenericLayout<TLayout> {\n category: string;\n categoryId: string;\n childrenForm: Array<{\n subCategoryName: string;\n subCategoryId: string;\n actions: TLayout[];\n }>;\n}\n\nconst formatLayout = <TLayout extends Omit<SettingPermission, 'category'>>(\n layout: TLayout[],\n groupByKey: keyof TLayout\n): GenericLayout<TLayout>[] => {\n return Object.entries(groupBy(layout, groupByKey)).map(([itemName, item]) => ({\n category: itemName,\n categoryId: itemName.split(' ').join('-'),\n childrenForm: Object.entries(groupBy(item, 'subCategory')).map(\n ([subCategoryName, actions]) => ({\n subCategoryName,\n subCategoryId: subCategoryName.split(' ').join('-'),\n actions,\n })\n ),\n }));\n};\n\nexport { formatLayout };\nexport type { GenericLayout };\n","import has from 'lodash/has';\nimport omit from 'lodash/omit';\n\nimport { isObject } from '../../../../../utils/objects';\n\nimport { createArrayOfValues } from './createArrayOfValues';\n/**\n * Changes all the conditions leaf when the properties are all falsy\n */\nconst updateConditionsToFalse = (obj: object): object => {\n return Object.keys(obj).reduce((acc, current) => {\n // @ts-expect-error – TODO: type better\n const currentValue = obj[current];\n\n if (isObject(currentValue) && !has(currentValue, 'conditions')) {\n return { ...acc, [current]: updateConditionsToFalse(currentValue) };\n }\n\n if (isObject(currentValue) && has(currentValue, 'conditions')) {\n const isActionEnabled = createArrayOfValues(omit(currentValue, 'conditions')).some(\n (val) => val\n );\n\n if (!isActionEnabled) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = Object.keys(currentValue.conditions).reduce((acc1, current) => {\n // @ts-expect-error – TODO: type better\n acc1[current] = false;\n\n return acc1;\n }, {});\n\n return { ...acc, [current]: { ...currentValue, conditions: updatedConditions } };\n }\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }, {});\n};\n\nexport { updateConditionsToFalse };\n","import { isObject } from '../../../../../utils/objects';\n\n/**\n * Sets all the none object values of an object to the given one\n * It preserves the shape of the object, it only modifies the leafs\n * of an object.\n * This utility is very helpful when dealing with parent<>children checkboxes\n */\nconst updateValues = (obj: object, valueToSet: boolean, isFieldUpdate = false): object => {\n return Object.keys(obj).reduce((acc, current) => {\n const currentValue = obj[current as keyof object];\n\n if (current === 'conditions' && !isFieldUpdate) {\n // @ts-expect-error – TODO: type better\n acc[current] = currentValue;\n\n return acc;\n }\n\n if (isObject(currentValue)) {\n return { ...acc, [current]: updateValues(currentValue, valueToSet, current === 'fields') };\n }\n\n // @ts-expect-error – TODO: type better\n acc[current] = valueToSet;\n\n return acc;\n }, {});\n};\n\nexport { updateValues };\n","export const cellWidth = `${120 / 16}rem`;\nexport const firstRowWidth = `${200 / 16}rem`;\nexport const rowHeight = `${53 / 16}rem`;\n","type DataWithoutCondition<TData extends { conditions?: unknown }> = Omit<TData, 'conditions'>;\n\nconst removeConditionKeyFromData = <TData extends { conditions?: unknown }>(\n obj?: TData\n): DataWithoutCondition<TData> | null => {\n if (!obj) {\n return null;\n }\n\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (key !== 'conditions') {\n // @ts-expect-error – TODO: fix this type error correctly.\n acc[key] = value;\n }\n\n return acc;\n }, {} as DataWithoutCondition<TData>);\n};\n\nexport { removeConditionKeyFromData };\nexport type { DataWithoutCondition };\n","import { createArrayOfValues } from './createArrayOfValues';\nimport { removeConditionKeyFromData } from './removeConditionKeyFromData';\n\ninterface RecursiveRecordOfBooleans extends Record<string, boolean | RecursiveRecordOfBooleans> {}\n\nconst getCheckboxState = (dataObj: RecursiveRecordOfBooleans) => {\n const dataWithoutCondition = removeConditionKeyFromData(dataObj);\n\n const arrayOfValues = createArrayOfValues(dataWithoutCondition);\n\n if (!arrayOfValues.length) {\n return { hasAllActionsSelected: false, hasSomeActionsSelected: false };\n }\n\n const hasAllActionsSelected = arrayOfValues.every((val) => val);\n const hasSomeActionsSelected = arrayOfValues.some((val) => val) && !hasAllActionsSelected;\n\n return { hasAllActionsSelected, hasSomeActionsSelected };\n};\n\nexport { getCheckboxState };\nexport type { RecursiveRecordOfBooleans };\n","const capitalise = (str: string): string => str.charAt(0).toUpperCase() + str.slice(1);\n\nexport { capitalise };\n","import { Flex } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nconst CollapseLabel = styled(Flex)<{ isCollapsable: boolean }>`\n padding-right: ${({ theme }) => theme.spaces[2]};\n overflow: hidden;\n flex: 1;\n ${({ isCollapsable }) => isCollapsable && 'cursor: pointer;'}\n`;\n\nexport { CollapseLabel };\n","import styled from 'styled-components';\n\nimport { cellWidth } from '../utils/constants';\n\nconst HiddenAction = styled.div`\n width: ${cellWidth};\n`;\n\nexport { HiddenAction };\n","import { Box } from '@strapi/design-system';\n\nconst RequiredSign = () => (\n <Box color=\"danger700\" paddingLeft={1}>\n *\n </Box>\n);\n\nexport { RequiredSign };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport { PermissionsDataManagerContextValue } from '../hooks/usePermissionsDataManager';\nimport { firstRowWidth } from '../utils/constants';\n\nimport { CollapseLabel } from './CollapseLabel';\n\ninterface RowLabelWithCheckboxProps {\n children: React.ReactNode;\n checkboxName?: string;\n isActive?: boolean;\n isCollapsable?: boolean;\n isFormDisabled?: boolean;\n label: string;\n onChange: PermissionsDataManagerContextValue['onChangeParentCheckbox'];\n onClick: () => void;\n someChecked?: boolean;\n value: boolean;\n}\n\nconst RowLabelWithCheckbox = ({\n checkboxName = '',\n children,\n isActive = false,\n isCollapsable = false,\n isFormDisabled = false,\n label,\n onChange,\n onClick,\n someChecked = false,\n value,\n}: RowLabelWithCheckboxProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex alignItems=\"center\" paddingLeft={6} width={firstRowWidth} shrink={0}>\n <Box paddingRight={2}>\n <BaseCheckbox\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n { label }\n )}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) =>\n onChange({\n target: {\n name: checkboxName,\n value,\n },\n })\n }\n indeterminate={someChecked}\n value={value}\n />\n </Box>\n <CollapseLabel\n title={label}\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n {...(isCollapsable && {\n onClick,\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) => (key === 'Enter' || key === ' ') && onClick(),\n tabIndex: 0,\n role: 'button',\n })}\n >\n <Typography\n fontWeight={isActive ? 'bold' : undefined}\n textColor={isActive ? 'primary600' : 'neutral800'}\n ellipsis\n >\n {capitalise(label)}\n </Typography>\n {children}\n </CollapseLabel>\n </Flex>\n );\n};\n\nexport { RowLabelWithCheckbox };\nexport type { RowLabelWithCheckboxProps };\n","import React, { useMemo } from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport { CarretDown } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme, css } from 'styled-components';\n\nimport { Action, SubjectProperty } from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth, rowHeight } from '../utils/constants';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapseLabel } from './CollapseLabel';\nimport { HiddenAction } from './HiddenAction';\nimport { RequiredSign } from './RequiredSign';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsePropertyMatrix\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapsePropertyMatrixProps\n extends Pick<\n ActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'label' | 'pathToData' | 'propertyName'\n > {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n}\n\ninterface PropertyAction {\n label: string;\n actionId: string;\n isActionRelatedToCurrentProperty: boolean;\n}\n\nconst CollapsePropertyMatrix = ({\n availableActions = [],\n childrenForm = [],\n isFormDisabled,\n label,\n pathToData,\n propertyName,\n}: CollapsePropertyMatrixProps) => {\n const propertyActions = useMemo(\n () =>\n availableActions.map((action) => {\n const isActionRelatedToCurrentProperty =\n Array.isArray(action.applyToProperties) &&\n action.applyToProperties.indexOf(propertyName) !== -1 &&\n action.isDisplayed;\n\n return { label: action.label, actionId: action.actionId, isActionRelatedToCurrentProperty };\n }) satisfies PropertyAction[],\n [availableActions, propertyName]\n );\n\n return (\n <Flex display=\"inline-flex\" direction=\"column\" minWidth={0}>\n <Header label={label} headers={propertyActions} />\n <Box>\n {childrenForm.map(({ children: childrenForm, label, value, required }, i) => (\n <ActionRow\n childrenForm={childrenForm}\n key={value}\n label={label}\n isFormDisabled={isFormDisabled}\n name={value}\n required={required}\n propertyActions={propertyActions}\n pathToData={pathToData}\n propertyName={propertyName}\n isOdd={i % 2 === 0}\n />\n ))}\n </Box>\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps\n extends Pick<\n SubActionRowProps,\n 'childrenForm' | 'isFormDisabled' | 'propertyActions' | 'propertyName'\n > {\n label: string;\n name: string;\n required?: boolean;\n pathToData: string;\n isOdd?: boolean;\n}\n\nconst ActionRow = ({\n childrenForm = [],\n label,\n isFormDisabled = false,\n name,\n required = false,\n pathToData,\n propertyActions,\n propertyName,\n isOdd = false,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n const {\n modifiedData,\n onChangeCollectionTypeLeftActionRowCheckbox,\n onChangeParentCheckbox,\n onChangeSimpleCheckbox,\n } = usePermissionsDataManager();\n\n const isActive = rowToOpen === name;\n\n const recursiveChildren = useMemo(() => {\n if (!Array.isArray(childrenForm)) {\n return [];\n }\n\n return childrenForm;\n }, [childrenForm]);\n\n const isCollapsable = recursiveChildren.length > 0;\n\n const handleClick = React.useCallback(() => {\n if (isCollapsable) {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n }\n }, [isCollapsable, name]);\n\n const handleChangeLeftRowCheckbox: RowLabelWithCheckboxProps['onChange'] = ({\n target: { value },\n }) => {\n onChangeCollectionTypeLeftActionRowCheckbox(pathToData, propertyName, name, value);\n };\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = useMemo(() => {\n return getRowLabelCheckboxState(propertyActions, modifiedData, pathToData, propertyName, name);\n }, [propertyActions, modifiedData, pathToData, propertyName, name]);\n\n return (\n <>\n <Wrapper\n alignItems=\"center\"\n isCollapsable={isCollapsable}\n isActive={isActive}\n background={isOdd ? 'neutral100' : 'neutral0'}\n >\n <Flex>\n <RowLabelWithCheckbox\n onChange={handleChangeLeftRowCheckbox}\n onClick={handleClick}\n isCollapsable={isCollapsable}\n isFormDisabled={isFormDisabled}\n label={label}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </RowLabelWithCheckbox>\n <Flex>\n {propertyActions.map(({ label, isActionRelatedToCurrentProperty, actionId }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={label} />;\n }\n\n const checkboxName = [\n ...pathToData.split('..'),\n actionId,\n 'properties',\n propertyName,\n name,\n ];\n\n if (!isCollapsable) {\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n return (\n <Flex\n key={actionId}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const data = get(modifiedData, checkboxName, {});\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(data);\n\n return (\n <Flex\n key={label}\n width={cellWidth}\n position=\"relative\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${name} ${label}` }\n )}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n })}\n </Flex>\n </Flex>\n </Wrapper>\n {isActive && (\n <SubActionRow\n childrenForm={recursiveChildren}\n isFormDisabled={isFormDisabled}\n parentName={name}\n pathToDataFromActionRow={pathToData}\n propertyName={propertyName}\n propertyActions={propertyActions}\n recursiveLevel={0}\n />\n )}\n </>\n );\n};\n\n/**\n *\n * Returns the state of the left checkbox of a ActionRow main checkbox\n */\nconst getRowLabelCheckboxState = (\n propertyActions: PropertyAction[],\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToContentType: string,\n propertyToCheck: string,\n targetKey: string\n) => {\n const actionIds = propertyActions.reduce<string[]>((acc, current) => {\n if (current.isActionRelatedToCurrentProperty) {\n acc.push(current.actionId);\n }\n\n return acc;\n }, []);\n\n const data = actionIds.reduce<Record<string, boolean>>((acc, current) => {\n const mainData = get(\n modifiedData,\n [...pathToContentType.split('..'), current, 'properties', propertyToCheck, targetKey],\n false\n );\n\n acc[current] = mainData;\n\n return acc;\n }, {});\n\n return getCheckboxState(data);\n};\n\nconst Wrapper = styled(Flex)<{ isCollapsable?: boolean; isActive?: boolean }>`\n height: ${rowHeight};\n flex: 1;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst CarretIcon = styled(CarretDown)<{ $isActive: boolean }>`\n display: none;\n width: ${10 / 16}rem;\n transform: rotate(${({ $isActive }) => ($isActive ? '180' : '0')}deg);\n margin-left: ${({ theme }) => theme.spaces[2]};\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * SubActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubActionRowProps {\n childrenForm: SubjectProperty['children'];\n isFormDisabled?: boolean;\n parentName: string;\n pathToDataFromActionRow: string;\n propertyActions: PropertyAction[];\n propertyName: string;\n recursiveLevel: number;\n}\n\nconst SubActionRow = ({\n childrenForm = [],\n isFormDisabled,\n recursiveLevel,\n pathToDataFromActionRow,\n propertyActions,\n parentName,\n propertyName,\n}: SubActionRowProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const [rowToOpen, setRowToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleSubLevel = (name: string) => {\n setRowToOpen((prev) => {\n if (prev === name) {\n return null;\n }\n\n return name;\n });\n };\n\n const displayedRecursiveChildren = useMemo(() => {\n if (!rowToOpen) {\n return null;\n }\n\n return childrenForm.find(({ value }) => value === rowToOpen);\n }, [rowToOpen, childrenForm]);\n\n return (\n <Box paddingLeft={`2rem`}>\n <TopTimeline />\n {childrenForm.map(({ label, value, required, children: subChildrenForm }, index) => {\n const isVisible = index + 1 < childrenForm.length;\n const isArrayType = Array.isArray(subChildrenForm);\n const isActive = rowToOpen === value;\n\n return (\n <LeftBorderTimeline key={value} isVisible={isVisible}>\n <Flex height={rowHeight}>\n <StyledBox>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n color=\"primary200\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n fill=\"#D9D8FF\"\n />\n </Svg>\n </StyledBox>\n <Flex style={{ flex: 1 }}>\n <RowStyle level={recursiveLevel} isActive={isActive} isCollapsable={isArrayType}>\n <CollapseLabel\n alignItems=\"center\"\n isCollapsable={isArrayType}\n {...(isArrayType && {\n onClick: () => handleClickToggleSubLevel(value),\n 'aria-expanded': isActive,\n onKeyDown: ({ key }) =>\n (key === 'Enter' || key === ' ') && handleClickToggleSubLevel(value),\n tabIndex: 0,\n role: 'button',\n })}\n title={label}\n >\n <Typography ellipsis>{capitalise(label)}</Typography>\n {required && <RequiredSign />}\n <CarretIcon $isActive={isActive} />\n </CollapseLabel>\n </RowStyle>\n <Flex style={{ flex: 1 }}>\n {propertyActions.map(\n ({ actionId, label: propertyLabel, isActionRelatedToCurrentProperty }) => {\n if (!isActionRelatedToCurrentProperty) {\n return <HiddenAction key={actionId} />;\n }\n /*\n * Usually we use a 'dot' in order to know the key path of an object for which we want to change the value.\n * Since an action and a subject are both separated by '.' or '::' we chose to use the '..' separators\n */\n const checkboxName = [\n ...pathToDataFromActionRow.split('..'),\n actionId,\n 'properties',\n propertyName,\n ...parentName.split('..'),\n value,\n ];\n\n const checkboxValue = get(modifiedData, checkboxName, false);\n\n if (!subChildrenForm) {\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={checkboxValue}\n />\n </Flex>\n );\n }\n\n const { hasAllActionsSelected, hasSomeActionsSelected } =\n getCheckboxState(checkboxValue);\n\n return (\n <Flex\n key={propertyLabel}\n position=\"relative\"\n width={cellWidth}\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <BaseCheckbox\n key={propertyLabel}\n disabled={isFormDisabled}\n name={checkboxName.join('..')}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${parentName} ${label} ${propertyLabel}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName.join('..'),\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n indeterminate={hasSomeActionsSelected}\n />\n </Flex>\n );\n }\n )}\n </Flex>\n </Flex>\n </Flex>\n {displayedRecursiveChildren && isActive && (\n <Box paddingBottom={2}>\n <SubActionRow\n isFormDisabled={isFormDisabled}\n parentName={`${parentName}..${value}`}\n pathToDataFromActionRow={pathToDataFromActionRow}\n propertyActions={propertyActions}\n propertyName={propertyName}\n recursiveLevel={recursiveLevel + 1}\n childrenForm={displayedRecursiveChildren.children}\n />\n </Box>\n )}\n </LeftBorderTimeline>\n );\n })}\n </Box>\n );\n};\n\nconst LeftBorderTimeline = styled(Box)<{ isVisible?: boolean }>`\n border-left: ${({ isVisible, theme }) =>\n isVisible ? `4px solid ${theme.colors.primary200}` : '4px solid transparent'};\n`;\n\nconst RowStyle = styled(Flex)<{ level: number; isCollapsable?: boolean; isActive?: boolean }>`\n padding-left: ${({ theme }) => theme.spaces[4]};\n width: ${({ level }) => 145 - level * 36}px;\n\n ${({ isCollapsable, theme }) =>\n isCollapsable &&\n `\n ${CarretIcon} {\n display: block;\n color: ${theme.colors.neutral100};\n }\n &:hover {\n ${activeStyle(theme)}\n }\n `}\n ${({ isActive, theme }) => isActive && activeStyle(theme)};\n`;\n\nconst TopTimeline = styled.div`\n padding-top: ${({ theme }) => theme.spaces[2]};\n margin-top: ${({ theme }) => theme.spaces[2]};\n width: ${4 / 16}rem;\n background-color: ${({ theme }) => theme.colors.primary200};\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n`;\n\nconst StyledBox = styled(Box)`\n transform: translate(-4px, -12px);\n\n &:before {\n content: '';\n width: ${4 / 16}rem;\n height: ${12 / 16}rem;\n background: ${({ theme }) => theme.colors.primary200};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<{ color: keyof DefaultTheme['colors'] }>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color]};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n headers?: PropertyAction[];\n label: string;\n}\n\nconst Header = ({ headers = [], label }: HeaderProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex>\n <Flex width={firstRowWidth} height={rowHeight} shrink={0} alignItems=\"center\" paddingLeft={6}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage(\n {\n id: 'Settings.roles.form.permission.property-label',\n defaultMessage: '{label} permissions',\n },\n { label }\n )}\n </Typography>\n </Flex>\n {headers.map((header) => {\n if (!header.isActionRelatedToCurrentProperty) {\n return <Flex width={cellWidth} shrink={0} key={header.label} />;\n }\n\n return (\n <Flex width={cellWidth} shrink={0} justifyContent=\"center\" key={header.label}>\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${header.label.toLowerCase()}`,\n defaultMessage: header.label,\n })}\n </Typography>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * activeStyle (util)\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * @internal\n */\nconst activeStyle = (theme: DefaultTheme) => css`\n ${Typography} {\n color: ${theme.colors.primary600};\n font-weight: ${theme.fontWeights.bold};\n }\n ${CarretIcon} {\n display: block;\n\n path {\n fill: ${theme.colors.primary600};\n }\n }\n`;\n\nexport { activeStyle as _internalActiveStyle };\nexport { CollapsePropertyMatrix };\n","import { Box, Button, ButtonProps } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\ninterface ConditionsButtonProps extends Pick<ButtonProps, 'className' | 'onClick' | 'variant'> {\n hasConditions?: boolean;\n}\n\nconst ConditionsButtonImpl = ({\n onClick,\n className,\n hasConditions = false,\n variant = 'tertiary',\n}: ConditionsButtonProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <ButtonContainer hasConditions={hasConditions} className={className}>\n <Button variant={variant} startIcon={<Cog />} onClick={onClick}>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Button>\n </ButtonContainer>\n );\n};\n\ninterface ButtonContainerProps extends Pick<ConditionsButtonProps, 'hasConditions'> {\n disabled?: boolean;\n}\n\nconst ButtonContainer = styled(Box)<ButtonContainerProps>`\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: -3px;\n left: -10px;\n width: 6px;\n height: 6px;\n border-radius: ${20 / 16}rem;;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\n/**\n * We reference the component directly in other styled-components\n * and as such we need it to have a className already assigned.\n * Therefore we wrapped the implementation in a styled function.\n */\nconst ConditionsButton = styled(ConditionsButtonImpl)``;\n\nexport { ConditionsButton };\nexport type { ConditionsButtonProps };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n ModalLayoutProps,\n MultiSelectNested,\n MultiSelectNestedProps,\n Typography,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport produce from 'immer';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\n\nimport type { HiddenCheckboxAction, VisibleCheckboxAction } from './ContentTypeCollapses';\nimport type { ConditionForm } from '../utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * ConditionsModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ConditionAction extends Pick<ActionRowProps, 'label'> {\n actionId: string;\n isDisplayed: boolean;\n hasSomeActionsSelected?: boolean;\n hasAllActionsSelected?: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface ConditionsModalProps extends Pick<ActionRowProps, 'isFormDisabled'> {\n actions?: Array<ConditionAction | HiddenCheckboxAction | VisibleCheckboxAction>;\n headerBreadCrumbs?: string[];\n onClosed: ModalLayoutProps['onClose'];\n onToggle: () => void;\n}\n\nconst ConditionsModal = ({\n actions = [],\n headerBreadCrumbs = [],\n isFormDisabled,\n onClosed,\n onToggle,\n}: ConditionsModalProps) => {\n const { formatMessage } = useIntl();\n const { availableConditions, modifiedData, onChangeConditions } = usePermissionsDataManager();\n\n const arrayOfOptionsGroupedByCategory = React.useMemo(() => {\n return Object.entries(groupBy(availableConditions, 'category'));\n }, [availableConditions]);\n\n const actionsToDisplay = actions.filter<VisibleCheckboxAction | ConditionAction>(\n // @ts-expect-error – TODO: fix this type issue\n ({ isDisplayed, hasSomeActionsSelected, hasAllActionsSelected }) =>\n isDisplayed && Boolean(hasSomeActionsSelected || hasAllActionsSelected)\n );\n\n const [state, setState] = React.useState(\n createDefaultConditionsForm(actionsToDisplay, modifiedData, arrayOfOptionsGroupedByCategory)\n );\n\n const handleChange = (name: string, values: ConditionForm) => {\n setState(\n produce((draft) => {\n if (!draft[name]) {\n draft[name] = {};\n }\n\n if (!draft[name].default) {\n draft[name].default = {};\n }\n\n draft[name].default = values;\n })\n );\n };\n\n const handleSubmit = () => {\n const conditionsWithoutCategory = Object.entries(state).reduce<Record<string, ConditionForm>>(\n (acc, current) => {\n const [key, value] = current;\n\n const merged = Object.values(value).reduce((acc1, current1) => {\n return { ...acc1, ...current1 };\n }, {});\n\n acc[key] = merged;\n\n return acc;\n },\n {}\n );\n\n onChangeConditions(conditionsWithoutCategory);\n onToggle();\n };\n\n return (\n <ModalLayout labelledBy=\"condition-modal-breadcrumbs\" onClose={onClosed}>\n <ModalHeader>\n <Breadcrumbs id=\"condition-modal-breadcrumbs\" label={headerBreadCrumbs.join(', ')}>\n {headerBreadCrumbs.map((label, index, arr) => (\n <Crumb isCurrent={index === arr.length - 1} key={label}>\n {upperFirst(\n formatMessage({\n id: label,\n defaultMessage: label,\n })\n )}\n </Crumb>\n ))}\n </Breadcrumbs>\n </ModalHeader>\n <ModalBody>\n {actionsToDisplay.length === 0 && (\n <Typography>\n {formatMessage({\n id: 'Settings.permissions.conditions.no-actions',\n defaultMessage:\n 'You first need to select actions (create, read, update, ...) before defining conditions on them.',\n })}\n </Typography>\n )}\n <ul>\n {actionsToDisplay.map(({ actionId, label, pathToConditionsObject }, index) => {\n const name = pathToConditionsObject.join('..');\n\n return (\n <ActionRow\n key={actionId}\n arrayOfOptionsGroupedByCategory={arrayOfOptionsGroupedByCategory}\n label={label}\n isFormDisabled={isFormDisabled}\n isGrey={index % 2 === 0}\n name={name}\n onChange={handleChange}\n value={get(state, name, {})}\n />\n );\n })}\n </ul>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button variant=\"tertiary\" onClick={onToggle}>\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n }\n endActions={\n <Button onClick={handleSubmit}>\n {formatMessage({\n id: 'Settings.permissions.conditions.apply',\n defaultMessage: 'Apply',\n })}\n </Button>\n }\n />\n </ModalLayout>\n );\n};\n\nconst createDefaultConditionsForm = (\n actionsToDisplay: Array<ConditionAction | VisibleCheckboxAction>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n arrayOfOptionsGroupedByCategory: ActionRowProps['arrayOfOptionsGroupedByCategory']\n) => {\n return actionsToDisplay.reduce<Record<string, Record<string, ConditionForm>>>((acc, current) => {\n const valueFromModifiedData: ConditionForm = get(\n modifiedData,\n [...current.pathToConditionsObject, 'conditions'],\n {}\n );\n\n const categoryDefaultForm = arrayOfOptionsGroupedByCategory.reduce<\n Record<string, ConditionForm>\n >((acc, current) => {\n const [categoryName, relatedConditions] = current;\n\n const conditionsForm = relatedConditions.reduce<ConditionForm>((acc, current) => {\n acc[current.id] = get(valueFromModifiedData, current.id, false);\n\n return acc;\n }, {});\n\n acc[categoryName] = conditionsForm;\n\n return acc;\n }, {});\n\n acc[current.pathToConditionsObject.join('..')] = categoryDefaultForm;\n\n return acc;\n }, {});\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionRow\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionRowProps {\n arrayOfOptionsGroupedByCategory: Array<\n [string, PermissionsDataManagerContextValue['availableConditions']]\n >;\n isFormDisabled?: boolean;\n isGrey?: boolean;\n label: string;\n name: string;\n onChange?: (name: string, values: Record<string, boolean>) => void;\n value: Record<string, ConditionForm>;\n}\n\nconst ActionRow = ({\n arrayOfOptionsGroupedByCategory,\n isFormDisabled = false,\n isGrey = false,\n label,\n name,\n onChange,\n value,\n}: ActionRowProps) => {\n const { formatMessage } = useIntl();\n\n const handleChange: MultiSelectNestedProps['onChange'] = (val) => {\n if (onChange) {\n onChange(name, getNewStateFromChangedValues(arrayOfOptionsGroupedByCategory, val));\n }\n };\n\n return (\n <Flex as=\"li\" background={isGrey ? 'neutral100' : 'neutral0'} paddingBottom={3} paddingTop={3}>\n <Flex paddingLeft={6} style={{ width: 180 }}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.permissions.conditions.can',\n defaultMessage: 'Can',\n })}\n \n </Typography>\n <Typography variant=\"sigma\" title={label} textColor=\"primary600\" ellipsis>\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n \n {formatMessage({\n id: 'Settings.permissions.conditions.when',\n defaultMessage: 'When',\n })}\n </Typography>\n </Flex>\n <Box style={{ maxWidth: 430, width: '100%' }}>\n {/* @ts-expect-error – fix this label issue */}\n <MultiSelectNested\n id={name}\n customizeContent={(values = []) => `${values.length} currently selected`}\n onChange={handleChange}\n value={getSelectedValues(value)}\n options={getNestedOptions(arrayOfOptionsGroupedByCategory)}\n disabled={isFormDisabled}\n />\n </Box>\n </Flex>\n );\n};\n\nconst getSelectedValues = (rawValue: Record<string, ConditionForm>): string[] =>\n Object.values(rawValue)\n .map((x) =>\n Object.entries(x)\n .filter(([, value]) => value)\n .map(([key]) => key)\n )\n .flat();\n\nconst getNestedOptions = (options: ActionRowProps['arrayOfOptionsGroupedByCategory']) =>\n options.reduce<MultiSelectNestedProps['options']>((acc, [label, children]) => {\n acc.push({\n label: capitalise(label),\n children: children.map((child) => ({\n label: child.displayName,\n value: child.id,\n })),\n });\n\n return acc;\n }, []);\n\nconst getNewStateFromChangedValues = (\n options: ActionRowProps['arrayOfOptionsGroupedByCategory'],\n changedValues: string[]\n) =>\n options\n .map(([, values]) => values)\n .flat()\n .reduce<Record<string, boolean>>(\n (acc, curr) => ({ [curr.id]: changedValues.includes(curr.id), ...acc }),\n {}\n );\n\nexport { ConditionsModal };\nexport type { ConditionsModalProps };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex } from '@strapi/design-system';\nimport { ChevronDown, ChevronUp } from '@strapi/icons';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport omit from 'lodash/omit';\nimport { useIntl } from 'react-intl';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { Action, Subject } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, rowHeight } from '../utils/constants';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ConditionForm } from '../utils/forms';\nimport { getCheckboxState } from '../utils/getCheckboxState';\n\nimport { CollapsePropertyMatrix, _internalActiveStyle } from './CollapsePropertyMatrix';\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\nimport { HiddenAction } from './HiddenAction';\nimport { RowLabelWithCheckbox, RowLabelWithCheckboxProps } from './RowLabelWithCheckbox';\n\n/* -------------------------------------------------------------------------------------------------\n * ContentTypeCollapses\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentTypeCollapsesProps extends Pick<CollapseProps, 'pathToData'> {\n actions?: Action[];\n isFormDisabled?: boolean;\n subjects?: Subject[];\n}\n\nconst ContentTypeCollapses = ({\n actions = [],\n isFormDisabled,\n pathToData,\n subjects = [],\n}: ContentTypeCollapsesProps) => {\n const [collapseToOpen, setCollapseToOpen] = React.useState<string | null>(null);\n\n const handleClickToggleCollapse = (collapseName: string) => () => {\n const nextCollapseToOpen = collapseToOpen === collapseName ? null : collapseName;\n\n setCollapseToOpen(nextCollapseToOpen);\n };\n\n return (\n <>\n {subjects.map(({ uid, label, properties }, index) => {\n const isActive = collapseToOpen === uid;\n const availableActions = actions.map((action) => ({\n ...action,\n isDisplayed: Array.isArray(action.subjects) && action.subjects.indexOf(uid) !== -1,\n }));\n return (\n <Flex\n key={uid}\n direction=\"column\"\n display=\"inline-flex\"\n minWidth=\"100%\"\n borderColor=\"primary600\"\n borderWidth={isActive ? 1 : 0}\n >\n <Collapse\n availableActions={availableActions}\n isActive={isActive}\n isGrey={index % 2 === 0}\n isFormDisabled={isFormDisabled}\n label={label}\n onClickToggle={handleClickToggleCollapse(uid)}\n pathToData={[pathToData, uid].join('..')}\n />\n {isActive &&\n properties.map(({ label: propertyLabel, value, children: childrenForm }) => {\n return (\n <CollapsePropertyMatrix\n availableActions={availableActions}\n childrenForm={childrenForm}\n isFormDisabled={isFormDisabled}\n label={propertyLabel}\n pathToData={[pathToData, uid].join('..')}\n propertyName={value}\n key={value}\n />\n );\n })}\n </Flex>\n );\n })}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Collapse\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CollapseProps\n extends Pick<RowLabelWithCheckboxProps, 'isActive' | 'isFormDisabled' | 'label'> {\n availableActions?: Array<Action & { isDisplayed: boolean }>;\n isGrey?: boolean;\n onClickToggle: RowLabelWithCheckboxProps['onClick'];\n pathToData: string;\n}\n\nconst Collapse = ({\n availableActions = [],\n isActive = false,\n isGrey = false,\n isFormDisabled = false,\n label,\n onClickToggle,\n pathToData,\n}: CollapseProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n\n // This corresponds to the data related to the CT left checkbox\n // modifiedData: { collectionTypes: { [ctuid]: {create: {properties: { fields: {f1: true} }, update: {}, ... } } } }\n const mainData = get(modifiedData, pathToData.split('..'), {});\n // The utils we are using: getCheckboxState, retrieves all the boolean leafs of an object in order\n // to return the state of checkbox. Since the conditions are not related to the property we need to remove the key from the object.\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<Record<string, ConditionForm>>((acc, current) => {\n acc[current] = omit(mainData[current], 'conditions');\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n // Here we create an array of <checkbox>, since the state of each one of them is used in\n // order to know if whether or not we need to display the associated action in\n // the <ConditionsModal />\n const checkboxesActions = React.useMemo(() => {\n return generateCheckboxesActions(availableActions, modifiedData, pathToData);\n }, [availableActions, modifiedData, pathToData]);\n\n // @ts-expect-error – hasConditions does not exist on all versions of checkboxesActions.\n const doesConditionButtonHasConditions = checkboxesActions.some((action) => action.hasConditions);\n\n return (\n <BoxWrapper isActive={isActive}>\n <Wrapper\n height={rowHeight}\n flex={1}\n alignItems=\"center\"\n background={isGrey ? 'neutral100' : 'neutral0'}\n >\n <RowLabelWithCheckbox\n isCollapsable\n isFormDisabled={isFormDisabled}\n label={label}\n checkboxName={pathToData}\n onChange={onChangeParentCheckbox}\n onClick={onClickToggle}\n someChecked={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n isActive={isActive}\n >\n <Chevron paddingLeft={2}>{isActive ? <ChevronUp /> : <ChevronDown />}</Chevron>\n </RowLabelWithCheckbox>\n\n <Flex style={{ flex: 1 }}>\n {checkboxesActions.map(\n ({ actionId, hasSomeActionsSelected, isDisplayed, ...restAction }) => {\n if (!isDisplayed) {\n return <HiddenAction key={actionId} />;\n }\n\n const {\n hasConditions,\n hasAllActionsSelected,\n isParentCheckbox,\n checkboxName,\n label: permissionLabel,\n } = restAction as VisibleCheckboxAction;\n\n if (isParentCheckbox) {\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n name={checkboxName}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-by-permission`,\n defaultMessage: 'Select {label} permission',\n },\n { label: `${permissionLabel} ${label}` }\n )}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n\n return (\n <Cell key={actionId} justifyContent=\"center\" alignItems=\"center\">\n {hasConditions && (\n <Box\n as=\"span\"\n position=\"absolute\"\n top=\"-6px\"\n left=\"37px\"\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"20px\"\n background=\"primary600\"\n />\n )}\n <BaseCheckbox\n disabled={isFormDisabled}\n indeterminate={hasConditions}\n name={checkboxName}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={hasAllActionsSelected}\n />\n </Cell>\n );\n }\n )}\n </Flex>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[label, 'Settings.permissions.conditions.conditions']}\n actions={checkboxesActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </Wrapper>\n <Box transform=\"translateY(10px)\" right=\"9px\" position=\"absolute\">\n <ConditionsButton\n onClick={handleToggleModalIsOpen}\n hasConditions={doesConditionButtonHasConditions}\n />\n </Box>\n </BoxWrapper>\n );\n};\n\ninterface VisibleCheckboxAction {\n actionId: string;\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n isDisplayed: true;\n isParentCheckbox: boolean;\n checkboxName: string;\n label: string;\n hasConditions: boolean;\n pathToConditionsObject: string[];\n}\n\ninterface HiddenCheckboxAction {\n actionId: string;\n isDisplayed: false;\n hasAllActionsSelected?: never;\n hasSomeActionsSelected: boolean;\n}\n\nconst generateCheckboxesActions = (\n availableActions: Array<Action & { isDisplayed: boolean }>,\n modifiedData: PermissionsDataManagerContextValue['modifiedData'],\n pathToData: string\n): Array<VisibleCheckboxAction | HiddenCheckboxAction> => {\n return availableActions.map(({ actionId, isDisplayed, applyToProperties, label }) => {\n if (!isDisplayed) {\n return { actionId, hasSomeActionsSelected: false, isDisplayed };\n }\n\n const baseCheckboxNameArray = [...pathToData.split('..'), actionId];\n const checkboxNameArray = isEmpty(applyToProperties)\n ? [...baseCheckboxNameArray, 'properties', 'enabled']\n : baseCheckboxNameArray;\n const conditionsValue = get(modifiedData, [...baseCheckboxNameArray, 'conditions'], null);\n\n const baseCheckboxAction = {\n actionId,\n checkboxName: checkboxNameArray.join('..'),\n hasConditions: createArrayOfValues(conditionsValue).some((val) => val),\n isDisplayed,\n label,\n pathToConditionsObject: baseCheckboxNameArray,\n };\n\n if (isEmpty(applyToProperties)) {\n const value = get(modifiedData, checkboxNameArray, false);\n\n // Since applyToProperties is empty it is not a parent checkbox, therefore hasAllActionsSelected is\n // equal to hasSomeActionsSelected\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected: value,\n hasSomeActionsSelected: value,\n isParentCheckbox: false,\n };\n }\n\n const mainData = get(modifiedData, checkboxNameArray, null);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(mainData);\n\n return {\n ...baseCheckboxAction,\n hasAllActionsSelected,\n hasSomeActionsSelected,\n isParentCheckbox: true,\n };\n });\n};\n\nconst activeRowStyle = (theme: DefaultTheme, isActive?: boolean): string => `\n ${Wrapper} {\n background-color: ${theme.colors.primary100};\n color: ${theme.colors.primary600};\n border-radius: ${isActive ? '2px 2px 0 0' : '2px'};\n }\n ${Chevron} {\n display: flex;\n }\n ${ConditionsButton} {\n display: block;\n }\n &:hover {\n ${_internalActiveStyle(theme)}\n }\n\n &:focus-within {\n ${() => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Wrapper = styled(Flex)`\n border: 1px solid transparent;\n`;\n\nconst BoxWrapper = styled.div<{ isActive: boolean }>`\n display: inline-flex;\n min-width: 100%;\n\n ${ConditionsButton} {\n display: none;\n }\n ${({ isActive, theme }) => isActive && activeRowStyle(theme, isActive)}\n &:hover {\n ${({ theme, isActive }) => activeRowStyle(theme, isActive)}\n }\n`;\n\nconst Cell = styled(Flex)`\n width: ${cellWidth};\n position: relative;\n`;\n\nconst Chevron = styled(Box)`\n display: none;\n svg {\n width: 11px;\n }\n * {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nexport { ContentTypeCollapses };\nexport type { ContentTypeCollapsesProps, HiddenCheckboxAction, VisibleCheckboxAction };\n","import * as React from 'react';\n\nimport { BaseCheckbox, Box, Flex, Typography } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { Action } from '../../../../../../../shared/contracts/permissions';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { cellWidth, firstRowWidth } from '../utils/constants';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\ninterface GlobalActionsProps {\n actions: Action[];\n isFormDisabled?: boolean;\n kind: Extract<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n}\n\nconst GlobalActions = ({ actions = [], isFormDisabled, kind }: GlobalActionsProps) => {\n const { formatMessage } = useIntl();\n const { modifiedData, onChangeCollectionTypeGlobalActionCheckbox } = usePermissionsDataManager();\n\n const displayedActions = actions.filter(({ subjects }) => subjects && subjects.length);\n\n const checkboxesState = React.useMemo(() => {\n const actionsIds = displayedActions.map(({ actionId }) => actionId);\n\n const data = modifiedData[kind];\n\n const relatedActionsData = actionsIds.reduce<Record<string, RecursiveRecordOfBooleans>>(\n (acc, actionId) => {\n Object.keys(data).forEach((ctUid) => {\n const actionIdData = get(data, [ctUid, actionId]);\n\n const actionIdState = { [ctUid]: removeConditionKeyFromData(actionIdData)! };\n\n if (!acc[actionId]) {\n acc[actionId] = actionIdState;\n } else {\n acc[actionId] = { ...acc[actionId], ...actionIdState };\n }\n });\n\n return acc;\n },\n {}\n );\n\n const checkboxesState = Object.keys(relatedActionsData).reduce<\n Record<\n string,\n {\n hasAllActionsSelected: boolean;\n hasSomeActionsSelected: boolean;\n }\n >\n >((acc, current) => {\n acc[current] = getCheckboxState(relatedActionsData[current]);\n\n return acc;\n }, {});\n\n return checkboxesState;\n }, [modifiedData, displayedActions, kind]);\n\n return (\n <Box paddingBottom={4} paddingTop={6} style={{ paddingLeft: firstRowWidth }}>\n <Flex gap={0}>\n {displayedActions.map(({ label, actionId }) => {\n return (\n <Flex\n shrink={0}\n width={cellWidth}\n direction=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n key={actionId}\n gap={3}\n >\n <Typography variant=\"sigma\" textColor=\"neutral500\">\n {formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n })}\n </Typography>\n <BaseCheckbox\n disabled={isFormDisabled}\n onValueChange={(value) => {\n onChangeCollectionTypeGlobalActionCheckbox(kind, actionId, value);\n }}\n name={actionId}\n aria-label={formatMessage(\n {\n id: `Settings.permissions.select-all-by-permission`,\n defaultMessage: 'Select all {label} permissions',\n },\n {\n label: formatMessage({\n id: `Settings.roles.form.permissions.${label.toLowerCase()}`,\n defaultMessage: label,\n }),\n }\n )}\n value={get(checkboxesState, [actionId, 'hasAllActionsSelected'], false)}\n indeterminate={get(checkboxesState, [actionId, 'hasSomeActionsSelected'], false)}\n />\n </Flex>\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nexport { GlobalActions };\nexport type { GlobalActionsProps };\n","import { Box } from '@strapi/design-system';\nimport styled from 'styled-components';\n\nimport { ContentPermission } from '../../../../../../../shared/contracts/permissions';\n\nimport { ContentTypeCollapses } from './ContentTypeCollapses';\nimport { GlobalActions, GlobalActionsProps } from './GlobalActions';\n\ninterface ContentTypesProps extends Pick<GlobalActionsProps, 'kind'> {\n isFormDisabled?: boolean;\n layout: ContentPermission;\n}\n\nconst ContentTypes = ({\n isFormDisabled,\n kind,\n layout: { actions, subjects },\n}: ContentTypesProps) => {\n const sortedSubjects = [...subjects].sort((a, b) => a.label.localeCompare(b.label));\n\n return (\n <StyledBox background=\"neutral0\">\n <GlobalActions actions={actions} kind={kind} isFormDisabled={isFormDisabled} />\n <ContentTypeCollapses\n actions={actions}\n isFormDisabled={isFormDisabled}\n pathToData={kind}\n subjects={sortedSubjects}\n />\n </StyledBox>\n );\n};\n\nconst StyledBox = styled(Box)`\n overflow-x: auto;\n`;\n\nexport { ContentTypes };\n","import * as React from 'react';\n\nimport {\n Accordion,\n AccordionContent,\n AccordionToggle,\n Box,\n Checkbox,\n Flex,\n Grid,\n GridItem,\n Typography,\n} from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\n\nimport {\n SettingPermission,\n PluginPermission,\n} from '../../../../../../../shared/contracts/permissions';\nimport { capitalise } from '../../../../../utils/strings';\nimport {\n PermissionsDataManagerContextValue,\n usePermissionsDataManager,\n} from '../hooks/usePermissionsDataManager';\nimport { createArrayOfValues } from '../utils/createArrayOfValues';\nimport { ChildrenForm, ConditionForm } from '../utils/forms';\nimport { RecursiveRecordOfBooleans, getCheckboxState } from '../utils/getCheckboxState';\nimport { removeConditionKeyFromData } from '../utils/removeConditionKeyFromData';\n\nimport { ConditionsButton } from './ConditionsButton';\nimport { ConditionsModal } from './ConditionsModal';\n\nimport type { GenericLayout } from '../utils/layouts';\n\n/* -------------------------------------------------------------------------------------------------\n * PluginsAndSettingsPermissions\n * -----------------------------------------------------------------------------------------------*/\n\ntype Layout = GenericLayout<SettingPermission | PluginPermission>[];\n\ninterface PluginsAndSettingsPermissionsProps extends Pick<RowProps, 'kind' | 'isFormDisabled'> {\n layout: Layout;\n}\n\nconst PluginsAndSettingsPermissions = ({\n layout,\n ...restProps\n}: PluginsAndSettingsPermissionsProps) => {\n const [openedCategory, setOpenedCategory] = React.useState<string | null>(null);\n\n const handleOpenCategory = (categoryName: string) => {\n setOpenedCategory(categoryName === openedCategory ? null : categoryName);\n };\n\n return (\n <Box padding={6} background=\"neutral0\">\n {layout.map(({ category, categoryId, childrenForm }, index) => {\n return (\n <Row\n key={category}\n childrenForm={childrenForm}\n isOpen={openedCategory === category}\n isWhite={index % 2 === 1}\n name={category}\n onOpenCategory={handleOpenCategory}\n pathToData={[restProps.kind, categoryId]}\n {...restProps}\n />\n );\n })}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Row\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RowProps extends Pick<Layout[number], 'childrenForm'> {\n kind: Exclude<keyof PermissionsDataManagerContextValue['modifiedData'], `${string}Types`>;\n name: string;\n isFormDisabled?: boolean;\n isOpen?: boolean;\n isWhite?: boolean;\n onOpenCategory: (categoryName: string) => void;\n pathToData: string[];\n}\n\nconst Row = ({\n childrenForm,\n kind,\n name,\n isOpen = false,\n isFormDisabled = false,\n isWhite,\n onOpenCategory,\n pathToData,\n}: RowProps) => {\n const { formatMessage } = useIntl();\n const handleClick = () => {\n onOpenCategory(name);\n };\n\n const categoryName = name.split('::').pop() ?? '';\n\n return (\n <Accordion\n expanded={isOpen}\n onToggle={handleClick}\n id={`accordion-${name}`}\n variant={isWhite ? 'primary' : 'secondary'}\n >\n <AccordionToggle\n title={capitalise(categoryName)}\n description={`${formatMessage(\n { id: 'Settings.permissions.category', defaultMessage: categoryName },\n { category: categoryName }\n )} ${kind === 'plugins' ? 'plugin' : kind}`}\n />\n\n <AccordionContent>\n <Box padding={6}>\n {childrenForm.map(({ actions, subCategoryName, subCategoryId }) => (\n <SubCategory\n key={subCategoryName}\n actions={actions}\n categoryName={categoryName}\n isFormDisabled={isFormDisabled}\n subCategoryName={subCategoryName}\n pathToData={[...pathToData, subCategoryId]}\n />\n ))}\n </Box>\n </AccordionContent>\n </Accordion>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * SubCategory\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SubCategoryProps {\n actions?: Array<SettingPermission | PluginPermission>;\n categoryName: string;\n isFormDisabled?: boolean;\n subCategoryName: string;\n pathToData: string[];\n}\n\nconst SubCategory = ({\n actions = [],\n categoryName,\n isFormDisabled,\n subCategoryName,\n pathToData,\n}: SubCategoryProps) => {\n const [isModalOpen, setModalOpen] = React.useState(false);\n const { modifiedData, onChangeParentCheckbox, onChangeSimpleCheckbox } =\n usePermissionsDataManager();\n const { formatMessage } = useIntl();\n\n const mainData = get(modifiedData, pathToData, {});\n\n const dataWithoutCondition = React.useMemo(() => {\n return Object.keys(mainData).reduce<RecursiveRecordOfBooleans>((acc, current) => {\n acc[current] = removeConditionKeyFromData(mainData[current])!;\n\n return acc;\n }, {});\n }, [mainData]);\n\n const { hasAllActionsSelected, hasSomeActionsSelected } = getCheckboxState(dataWithoutCondition);\n\n const handleToggleModalIsOpen = () => {\n setModalOpen((s) => !s);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n };\n // We need to format the actions so it matches the shape of the ConditionsModal actions props\n const formattedActions = React.useMemo(() => {\n return actions.map((action) => {\n const checkboxName = [...pathToData, action.action, 'properties', 'enabled'];\n const checkboxValue = get(modifiedData, checkboxName, false);\n const conditionValue = get(modifiedData, [...pathToData, action.action, 'conditions'], {});\n const hasConditions = createArrayOfValues(conditionValue).some((val) => val);\n\n return {\n ...action,\n isDisplayed: checkboxValue,\n checkboxName: checkboxName.join('..'),\n hasSomeActionsSelected: checkboxValue,\n value: checkboxValue,\n hasConditions,\n label: action.displayName,\n actionId: action.action,\n pathToConditionsObject: [...pathToData, action.action],\n };\n });\n }, [actions, modifiedData, pathToData]);\n\n const datum: ChildrenForm = get(modifiedData, [...pathToData], {});\n\n const doesButtonHasCondition = createArrayOfValues(\n Object.entries(datum).reduce<Record<string, ConditionForm>>((acc, current) => {\n const [catName, { conditions }] = current;\n\n acc[catName] = conditions;\n\n return acc;\n }, {})\n ).some((val) => val);\n\n return (\n <>\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategoryName}\n </Typography>\n </Box>\n <Border flex={1} />\n <Box paddingLeft={4}>\n <Checkbox\n name={pathToData.join('..')}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeParentCheckbox({\n target: {\n name: pathToData.join('..'),\n value,\n },\n });\n }}\n indeterminate={hasSomeActionsSelected}\n value={hasAllActionsSelected}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid gap={2} style={{ flex: 1 }}>\n {formattedActions.map(({ checkboxName, value, action, displayName, hasConditions }) => {\n return (\n <GridItem col={3} key={action}>\n <CheckboxWrapper disabled={isFormDisabled} hasConditions={hasConditions}>\n <Checkbox\n name={checkboxName}\n disabled={isFormDisabled}\n // Keep same signature as packages/core/admin/admin/src/components/Roles/Permissions/index.js l.91\n onValueChange={(value) => {\n onChangeSimpleCheckbox({\n target: {\n name: checkboxName,\n value,\n },\n });\n }}\n value={value}\n >\n {displayName}\n </Checkbox>\n </CheckboxWrapper>\n </GridItem>\n );\n })}\n </Grid>\n <ConditionsButton\n hasConditions={doesButtonHasCondition}\n onClick={handleToggleModalIsOpen}\n />\n </Flex>\n </Box>\n {isModalOpen && (\n <ConditionsModal\n headerBreadCrumbs={[categoryName, subCategoryName]}\n actions={formattedActions}\n isFormDisabled={isFormDisabled}\n onClosed={handleModalClose}\n onToggle={handleToggleModalIsOpen}\n />\n )}\n </>\n );\n};\n\nconst Border = styled(Box)`\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst CheckboxWrapper = styled.div<{ hasConditions?: boolean; disabled?: boolean }>`\n position: relative;\n word-break: keep-all;\n ${({ hasConditions, disabled, theme }) =>\n hasConditions &&\n `\n &:before {\n content: '';\n position: absolute;\n top: ${-4 / 16}rem;\n left: ${-8 / 16}rem;\n width: ${6 / 16}rem;\n height: ${6 / 16}rem;\n border-radius: ${20 / 16}rem;\n background: ${disabled ? theme.colors.neutral100 : theme.colors.primary600};\n }\n `}\n`;\n\nexport { PluginsAndSettingsPermissions };\n","import * as React from 'react';\n\nimport { Tab, TabGroup, TabPanel, TabPanels, Tabs } from '@strapi/design-system';\nimport { difference } from '@strapi/helper-plugin';\nimport produce from 'immer';\nimport cloneDeep from 'lodash/cloneDeep';\nimport get from 'lodash/get';\nimport has from 'lodash/has';\nimport isEmpty from 'lodash/isEmpty';\nimport set from 'lodash/set';\nimport { useIntl } from 'react-intl';\n\nimport * as PermissonContracts from '../../../../../../../shared/contracts/permissions';\nimport { Permission } from '../../../../../../../shared/contracts/shared';\nimport { isObject } from '../../../../../utils/objects';\nimport {\n PermissionsDataManagerContextValue,\n PermissionsDataManagerProvider,\n} from '../hooks/usePermissionsDataManager';\nimport { ConditionForm, Form, createDefaultCTForm, createDefaultForm } from '../utils/forms';\nimport { GenericLayout, formatLayout } from '../utils/layouts';\nimport { formatPermissionsForAPI } from '../utils/permissions';\nimport { updateConditionsToFalse } from '../utils/updateConditionsToFalse';\nimport { updateValues } from '../utils/updateValues';\n\nimport { ContentTypes } from './ContentTypes';\nimport { PluginsAndSettingsPermissions } from './PluginsAndSettings';\n\nconst TAB_LABELS = [\n {\n labelId: 'app.components.LeftMenuLinkContainer.collectionTypes',\n defaultMessage: 'Collection Types',\n id: 'collectionTypes',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.singleTypes',\n id: 'singleTypes',\n defaultMessage: 'Single Types',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.plugins',\n defaultMessage: 'Plugins',\n id: 'plugins',\n },\n {\n labelId: 'app.components.LeftMenuLinkContainer.settings',\n defaultMessage: 'Settings',\n id: 'settings',\n },\n] as const;\n\n/* -------------------------------------------------------------------------------------------------\n * Permissions\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface PermissionsAPI {\n getPermissions: () => {\n didUpdateConditions: boolean;\n permissionsToSend: Omit<Permission, 'id' | 'createdAt' | 'updatedAt' | 'actionParameters'>[];\n };\n resetForm: () => void;\n setFormAfterSubmit: () => void;\n}\n\ninterface PermissionsProps {\n isFormDisabled?: boolean;\n permissions?: Permission[];\n layout: PermissonContracts.GetAll.Response['data'];\n}\n\nconst Permissions = React.forwardRef<PermissionsAPI, PermissionsProps>(\n ({ layout, isFormDisabled, permissions = [] }, api) => {\n const [{ initialData, layouts, modifiedData }, dispatch] = React.useReducer(\n reducer,\n initialState,\n () => init(layout, permissions)\n );\n const { formatMessage } = useIntl();\n\n React.useImperativeHandle(api, () => {\n return {\n getPermissions() {\n const collectionTypesDiff = difference(\n initialData.collectionTypes,\n modifiedData.collectionTypes\n );\n const singleTypesDiff = difference(initialData.singleTypes, modifiedData.singleTypes);\n\n const contentTypesDiff = { ...collectionTypesDiff, ...singleTypesDiff };\n\n let didUpdateConditions;\n\n if (isEmpty(contentTypesDiff)) {\n didUpdateConditions = false;\n } else {\n didUpdateConditions = Object.values(contentTypesDiff).some((permission = {}) => {\n return Object.values(permission).some((permissionValue) =>\n has(permissionValue, 'conditions')\n );\n });\n }\n\n return { permissionsToSend: formatPermissionsForAPI(modifiedData), didUpdateConditions };\n },\n resetForm() {\n dispatch({ type: 'RESET_FORM' });\n },\n setFormAfterSubmit() {\n dispatch({ type: 'SET_FORM_AFTER_SUBMIT' });\n },\n } satisfies PermissionsAPI;\n });\n\n const handleChangeCollectionTypeLeftActionRowCheckbox = (\n pathToCollectionType: OnChangeCollectionTypeRowLeftCheckboxAction['pathToCollectionType'],\n propertyName: OnChangeCollectionTypeRowLeftCheckboxAction['propertyName'],\n rowName: OnChangeCollectionTypeRowLeftCheckboxAction['rowName'],\n value: OnChangeCollectionTypeRowLeftCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX',\n pathToCollectionType,\n propertyName,\n rowName,\n value,\n });\n };\n\n const handleChangeCollectionTypeGlobalActionCheckbox = (\n collectionTypeKind: OnChangeCollectionTypeGlobalActionCheckboxAction['collectionTypeKind'],\n actionId: OnChangeCollectionTypeGlobalActionCheckboxAction['actionId'],\n value: OnChangeCollectionTypeGlobalActionCheckboxAction['value']\n ) => {\n dispatch({\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX',\n collectionTypeKind,\n actionId,\n value,\n });\n };\n\n const handleChangeConditions = (conditions: OnChangeConditionsAction['conditions']) => {\n dispatch({ type: 'ON_CHANGE_CONDITIONS', conditions });\n };\n\n const handleChangeSimpleCheckbox: PermissionsDataManagerContextValue['onChangeSimpleCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_SIMPLE_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n const handleChangeParentCheckbox: PermissionsDataManagerContextValue['onChangeParentCheckbox'] =\n React.useCallback(({ target: { name, value } }) => {\n dispatch({\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX',\n keys: name,\n value,\n });\n }, []);\n\n return (\n <PermissionsDataManagerProvider\n availableConditions={layout.conditions}\n modifiedData={modifiedData}\n onChangeConditions={handleChangeConditions}\n onChangeSimpleCheckbox={handleChangeSimpleCheckbox}\n onChangeParentCheckbox={handleChangeParentCheckbox}\n onChangeCollectionTypeLeftActionRowCheckbox={\n handleChangeCollectionTypeLeftActionRowCheckbox\n }\n onChangeCollectionTypeGlobalActionCheckbox={handleChangeCollectionTypeGlobalActionCheckbox}\n >\n <TabGroup\n id=\"tabs\"\n label={formatMessage({\n id: 'Settings.permissions.users.tabs.label',\n defaultMessage: 'Tabs Permissions',\n })}\n >\n <Tabs>\n {TAB_LABELS.map((tabLabel) => (\n <Tab key={tabLabel.id}>\n {formatMessage({ id: tabLabel.labelId, defaultMessage: tabLabel.defaultMessage })}\n </Tab>\n ))}\n </Tabs>\n <TabPanels style={{ position: 'relative' }}>\n <TabPanel>\n <ContentTypes\n layout={layouts.collectionTypes}\n kind=\"collectionTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <ContentTypes\n layout={layouts.singleTypes}\n kind=\"singleTypes\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.plugins}\n kind=\"plugins\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n <TabPanel>\n <PluginsAndSettingsPermissions\n layout={layouts.settings}\n kind=\"settings\"\n isFormDisabled={isFormDisabled}\n />\n </TabPanel>\n </TabPanels>\n </TabGroup>\n </PermissionsDataManagerProvider>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * reducer\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PermissionForms {\n collectionTypes: Form;\n plugins: Record<string, Form>;\n settings: Record<string, Form>;\n singleTypes: Form;\n}\n\ninterface State {\n initialData: PermissionForms;\n modifiedData: PermissionForms;\n layouts: {\n collectionTypes: PermissonContracts.ContentPermission;\n singleTypes: PermissonContracts.ContentPermission;\n plugins: GenericLayout<PermissonContracts.PluginPermission>[];\n settings: GenericLayout<PermissonContracts.SettingPermission>[];\n };\n}\n\nconst initialState = {\n initialData: {},\n modifiedData: {},\n layouts: {},\n};\n\ninterface OnChangeCollectionTypeGlobalActionCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX';\n collectionTypeKind: keyof PermissionForms;\n actionId: string;\n value: boolean;\n}\n\ninterface OnChangeCollectionTypeRowLeftCheckboxAction {\n type: 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX';\n pathToCollectionType: string;\n propertyName: string;\n rowName: string;\n value: boolean;\n}\n\ninterface OnChangeConditionsAction {\n type: 'ON_CHANGE_CONDITIONS';\n conditions: Record<string, ConditionForm>;\n}\n\ninterface OnChangeSimpleCheckboxAction {\n type: 'ON_CHANGE_SIMPLE_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface OnChangeToggleParentCheckbox {\n type: 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX';\n keys: string;\n value: boolean;\n}\n\ninterface ResetFormAction {\n type: 'RESET_FORM';\n}\n\ninterface SetFormAfterSubmitAction {\n type: 'SET_FORM_AFTER_SUBMIT';\n}\n\ntype Action =\n | OnChangeCollectionTypeGlobalActionCheckboxAction\n | OnChangeCollectionTypeRowLeftCheckboxAction\n | OnChangeConditionsAction\n | OnChangeSimpleCheckboxAction\n | OnChangeToggleParentCheckbox\n | ResetFormAction\n | SetFormAfterSubmitAction;\n\n/* eslint-disable consistent-return */\nconst reducer = (state: State, action: Action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n // This action is called when a checkbox in the <GlobalActions />\n // changes\n case 'ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX': {\n const { collectionTypeKind, actionId, value } = action;\n const pathToData = ['modifiedData', collectionTypeKind];\n\n Object.keys(get(state, pathToData)).forEach((collectionType) => {\n const collectionTypeActionData = get(\n state,\n [...pathToData, collectionType, actionId],\n undefined\n );\n\n if (collectionTypeActionData) {\n let updatedValues = updateValues(collectionTypeActionData, value);\n\n // We need to remove the applied conditions\n // @ts-expect-error – TODO: type better\n if (!value && updatedValues.conditions) {\n // @ts-expect-error – TODO: type better\n const updatedConditions = updateValues(updatedValues.conditions, false);\n\n updatedValues = { ...updatedValues, conditions: updatedConditions };\n }\n\n set(draftState, [...pathToData, collectionType, actionId], updatedValues);\n }\n });\n\n break;\n }\n case 'ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX': {\n const { pathToCollectionType, propertyName, rowName, value } = action;\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const pathToModifiedDataCollectionType = pathToCollectionType.split('..');\n\n const objToUpdate = get(nextModifiedDataState, pathToModifiedDataCollectionType, {});\n\n Object.keys(objToUpdate).forEach((actionId) => {\n // When a ct has multiple properties (ex: locales, field)\n // We need to make sure that we add any new property to the modifiedData\n // object.\n if (has(objToUpdate[actionId], `properties.${propertyName}`)) {\n const objValue = get(objToUpdate, [actionId, 'properties', propertyName, rowName]);\n const pathToDataToSet = [\n ...pathToModifiedDataCollectionType,\n actionId,\n 'properties',\n propertyName,\n rowName,\n ];\n\n if (!isObject(objValue)) {\n set(nextModifiedDataState, pathToDataToSet, value);\n } else {\n const updatedValue = updateValues(objValue, value);\n\n set(nextModifiedDataState, pathToDataToSet, updatedValue);\n }\n }\n });\n\n // When we uncheck a row, we need to check if we also need to disable the conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n case 'ON_CHANGE_CONDITIONS': {\n Object.entries(action.conditions).forEach((array) => {\n const [stringPathToData, conditionsToUpdate] = array;\n\n set(\n draftState,\n ['modifiedData', ...stringPathToData.split('..'), 'conditions'],\n conditionsToUpdate\n );\n });\n\n break;\n }\n case 'ON_CHANGE_SIMPLE_CHECKBOX': {\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n\n set(nextModifiedDataState, [...action.keys.split('..')], action.value);\n\n // When we uncheck a single checkbox we need to remove the conditions from the parent\n if (!action.value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, 'modifiedData', nextModifiedDataState);\n\n break;\n }\n /*\n * Here the idea is to retrieve a specific value of the modifiedObject\n * then update all the boolean values of the retrieved one\n * and update the drafState.\n *\n * For instance in order to enable create action for all the fields and locales\n * of the restaurant content type we need to :\n * 1. Retrieve the modifiedData.collectionTypes.restaurant.create object\n * 2. Toggle all the end boolean values to the desired one\n * 3. Update the draftState\n *\n * Since the case works well in order to update what we called \"parent\" checkbox. We can\n * reuse the action when we need to toggle change all the values that depends on this one.\n * A parent checkbox is a checkbox which value is not a boolean but depends on its children ones, therefore,\n * a parent checkbox does not have a represented value in the draftState, they are just helpers.\n *\n * Given the following data:\n *\n * const data = {\n * restaurant: {\n * create: {\n * fields: { name: true },\n * locales: { en: false }\n * }\n * }\n * }\n *\n * The value of the create checkbox for the restaurant will be ƒalse since not all its children have\n * truthy values and in order to set its value to true when need to have all the values of its children set to true.\n *\n * Similarly, we can reuse the logic for the components attributes\n *\n */\n case 'ON_CHANGE_TOGGLE_PARENT_CHECKBOX': {\n const { keys, value } = action;\n const pathToValue = [...keys.split('..')];\n let nextModifiedDataState = cloneDeep(state.modifiedData);\n const oldValues = get(nextModifiedDataState, pathToValue, {});\n\n const updatedValues = updateValues(oldValues, value);\n set(nextModifiedDataState, pathToValue, updatedValues);\n\n // When we uncheck a parent checkbox we need to remove the associated conditions\n if (!value) {\n // @ts-expect-error – TODO: type better\n nextModifiedDataState = updateConditionsToFalse(nextModifiedDataState);\n }\n\n set(draftState, ['modifiedData'], nextModifiedDataState);\n\n break;\n }\n case 'RESET_FORM': {\n draftState.modifiedData = state.initialData;\n break;\n }\n case 'SET_FORM_AFTER_SUBMIT': {\n draftState.initialData = state.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n\n/* -------------------------------------------------------------------------------------------------\n * init (reducer)\n * -----------------------------------------------------------------------------------------------*/\n\nconst init = (\n layout: PermissionsProps['layout'],\n permissions: PermissionsProps['permissions']\n): State => {\n const {\n conditions,\n sections: { collectionTypes, singleTypes, plugins, settings },\n } = layout;\n\n const layouts = {\n collectionTypes,\n singleTypes,\n plugins: formatLayout(plugins, 'plugin'),\n settings: formatLayout(settings, 'category'),\n };\n\n const defaultForm = {\n collectionTypes: createDefaultCTForm(collectionTypes, conditions, permissions),\n singleTypes: createDefaultCTForm(singleTypes, conditions, permissions),\n plugins: createDefaultForm(layouts.plugins, conditions, permissions),\n settings: createDefaultForm(layouts.settings, conditions, permissions),\n };\n\n return {\n initialData: defaultForm,\n modifiedData: defaultForm,\n layouts,\n };\n};\n\nexport { Permissions };\nexport type {\n State,\n OnChangeCollectionTypeRowLeftCheckboxAction,\n OnChangeConditionsAction,\n OnChangeCollectionTypeGlobalActionCheckboxAction,\n};\n"],"names":["permissions","current","acc","createDefaultConditionsForm","value","childrenForm","label","ActionRow","React","Wrapper","hasAllActionsSelected","hasSomeActionsSelected","StyledBox","_internalActiveStyle","checkboxesState"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgCA,MAAM,CAAC,gCAAgC,gCAAgC,IACrE,cAAkD,wBAAwB;AAE/D,MAAA,4BAA4B,MACvC,iCAAiC,2BAA2B;AChB9D,MAAM,cAAc,CAClB,UACmB;AACf,MAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,OAAO,CAAC,KAAK,UAAU;AAC9B,UAAA,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAI,KAAK,GAAG,YAAY,KAAK,CAAC;AAAA,MAAA,OACzB;AACL,YAAI,KAAK,KAAK;AAAA,MAChB;AAEO,aAAA;AAAA,IACT,GAAG,CAAoB,CAAA;AAAA,EAAA,OAClB;AACL,WAAO;EACT;AACF;ACjCA,MAAM,sBAAsB,CAAQ,QAAqC;AACnE,MAAA,CAAC,SAAS,GAAG,GAAG;AAClB,WAAO;EACT;AAEO,SAAA;AAAA,IACL,OAAO,OAAO,GAAG,EAAE,IAAI,CAAC,UAAU;AAC5B,UAAA,SAAS,KAAK,GAAG;AACnB,eAAO,oBAAoB,KAAK;AAAA,MAClC;AAEO,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AAEL;ACHA,MAAM,yBAAyB,CAC7B,aACA,QACA,YACG,YAAY,KAAK,CAAC,SAAS,KAAK,WAAW,UAAU,KAAK,YAAY,OAAO;AAElF,MAAM,0BAA0B,CAC9B,iBACsB;AAChB,QAAA,qBAAqB,0BAA0B,aAAa,OAAO;AACnE,QAAA,sBAAsB,0BAA0B,aAAa,QAAQ;AACrE,QAAA,6BAA6B,8BAA8B,aAAa,eAAe;AACvF,QAAA,yBAAyB,8BAA8B,aAAa,WAAW;AAE9E,SAAA;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;AAEA,MAAM,4BAA4B,CAChC,8BAGsB;AACtB,SAAO,OAAO,OAAO,yBAAyB,EAAE,OAA0B,CAAC,SAAS,SAAS;AAC3F,UAAM,6BAA6B,OAAO,OAAO,IAAI,EAAE;AAAA,MACrD,CAAC,cAAc,cAAc;AAC3B,cAAM,cAAc,OAAO,QAAQ,SAAS,EAAE;AAAA,UAC5C,CACE,cACA;AAAA,YACE;AAAA,YACA;AAAA,cACE;AAAA,cACA,YAAY,EAAE,QAAQ;AAAA,YACxB;AAAA,UAAA,MAEC;AACH,gBAAI,CAAC,SAAS;AACL,qBAAA;AAAA,YACT;AAEA,yBAAa,KAAK;AAAA,cAChB,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY,sBAAsB,UAAU;AAAA,cAC5C,YAAY,CAAC;AAAA,YAAA,CACd;AAEM,mBAAA;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,eAAO,CAAC,GAAG,cAAc,GAAG,WAAW;AAAA,MACzC;AAAA,MACA,CAAC;AAAA,IAAA;AAGH,WAAO,CAAC,GAAG,SAAS,GAAG,0BAA0B;AAAA,EACnD,GAAG,CAAE,CAAA;AACP;AAEA,MAAM,gCAAgC,CAAC,4BAAqD;AAC1F,QAAM,cAAc,OAAO,QAAQ,uBAAuB,EAAE;AAAA,IAC1D,CAAC,gBAAgB,YAAY;AACrB,YAAA,CAAC,SAAS,qBAAqB,IAAI;AAEzC,YAAMA,eAAc,OAAO,QAAQ,qBAAqB,EAAE;AAAA,QACxD,CAAC,KAAKC,aAAY;AACV,gBAAA,CAAC,YAAYD,YAAW,IAAIC;AAClC,gBAAM,yBAAyB,oBAAoBD,YAAW,EAAE,KAAK,CAAC,QAAQ,GAAG;AAEjF,cAAI,CAAC,wBAAwB;AACpB,mBAAA;AAAA,UACT;AAEI,cAAA,CAACA,cAAa,YAAY,SAAS;AACrC,kBAAM,0BAA0B,OAAO,QAAQA,aAAY,UAAU,EAAE;AAAA,cAGrE,CAACE,MAAKD,aAAY;AACV,sBAAA,CAAC,cAAc,aAAa,IAAIA;AAGtCC,qBAAI,WAAW,YAAY,IAAI,oBAAoB,aAAa;AAEzDA,uBAAAA;AAAAA,cACT;AAAA,cACA;AAAA,gBACE,QAAQ;AAAA,gBACR;AAAA,gBACA,YAAY,sBAAsBF,aAAY,UAAU;AAAA,gBACxD,YAAY,CAAC;AAAA,cACf;AAAA,YAAA;AAGK,mBAAA,CAAC,GAAG,KAAK,uBAAuB;AAAA,UACzC;AAEI,cAAA,CAACA,aAAY,WAAW,SAAS;AAC5B,mBAAA;AAAA,UACT;AAEA,cAAI,KAAK;AAAA,YACP,QAAQ;AAAA,YACR;AAAA,YACA,YAAY,CAAC;AAAA,YACb,YAAY,sBAAsBA,aAAY,UAAU;AAAA,UAAA,CACzD;AAEM,iBAAA;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MAAA;AAGH,aAAO,CAAC,GAAG,gBAAgB,GAAGA,YAAW;AAAA,IAC3C;AAAA,IACA,CAAC;AAAA,EAAA;AAGI,SAAA;AACT;AAEA,MAAM,sBAAsB,CAAC,eAAkC,SAAS,OAAiB;AACvF,SAAO,OAAO,QAAQ,aAAa,EAAE,OAAiB,CAAC,KAAK,YAAY;AAChE,UAAA,CAAC,MAAM,KAAK,IAAI;AAElB,QAAA,SAAS,KAAK,GAAG;AACZ,aAAA,CAAC,GAAG,KAAK,GAAG,oBAAoB,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC;AAAA,IACpE;AAEA,QAAI,SAAS,CAAC,SAAS,KAAK,GAAG;AAC7B,UAAI,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE;AAAA,IAC7B;AAEO,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;AAEA,MAAM,wBAAwB,CAAC,eAC7B,OAAO,QAAQ,UAAU,EACtB,OAAO,CAAC,CAAG,EAAA,cAAc,MAAM;AACvB,SAAA;AACT,CAAC,EACA,IAAI,CAAC,CAAC,aAAa,MAAM,aAAa;AC9I3C,MAAMG,gCAA8B,CAClC,YACA,oBAA8C,CAAA,MAE9C,WAAW,OAAsB,CAAC,KAAK,YAAY;AACjD,MAAI,QAAQ,EAAE,IAAI,kBAAkB,QAAQ,QAAQ,EAAE,MAAM;AAErD,SAAA;AACT,GAAG,CAAE,CAAA;AAgBP,MAAM,oBAAoB,CACxB,QACA,YACA,qBAAmC,CAAA,MAChC;AACH,SAAO,OAAO,OAA6B,CAAC,KAAK,EAAE,YAAY,mBAAmB;AAChF,UAAM,sBAAsB,aAAa,OAAa,CAACD,MAAK,YAAY;AACtEA,WAAI,QAAQ,aAAa,IAAI,QAAQ,QAAQ,OAAqB,CAACA,MAAKD,aAAY;AAClF,cAAM,0BAA0B;AAAA,UAC9B;AAAA,UACAA,SAAQ;AAAA,UACR;AAAA,QAAA;AAGFC,aAAID,SAAQ,MAAM,IAAI;AAAA,UACpB,YAAY;AAAA,YACV,SAAS,4BAA4B;AAAA,UACvC;AAAA,UACA,YAAYE;AAAAA,YACV;AAAA,YACA,yBAAyB,cAAc,CAAC;AAAA,UAC1C;AAAA,QAAA;AAGKD,eAAAA;AAAAA,MACT,GAAG,CAAE,CAAA;AAEEA,aAAAA;AAAAA,IACT,GAAG,CAAE,CAAA;AAEL,QAAI,UAAU,IAAI;AAEX,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;AAWA,MAAM,8BAA8B,CAClC,YACA,SACA,uBACiB;AACX,QAAA,gCAAgC,CACpC,EAAE,WAAW,CAAG,EAAA,GAChB,gBACA,SAAS,OACa;AACtB,WAAO,SAAS,OAA0B,CAAC,KAAK,YAAY;AAC1D,UAAI,QAAQ,UAAU;AACb,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,QAAQ,KAAK,GAAG;AAAA,YACf;AAAA,YACA;AAAA,YACA,GAAG,MAAM,GAAG,QAAQ,KAAK;AAAA,UAC3B;AAAA,QAAA;AAAA,MAEJ;AAEM,YAAA,cAAc,eAAe,QAAQ,GAAG,MAAM,GAAG,QAAQ,KAAK,EAAE,MAAM;AAExE,UAAA,QAAQ,KAAK,IAAI;AAEd,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAAA,EAAA;AAGP,SAAO,WAAW;AAAA,IAChB,CAAC,KAAK,wBAAwB;AACtB,YAAA,gBAAgB,QAAQ,WAAW,KAAK,CAAC,EAAE,MAAY,MAAA,UAAU,mBAAmB;AAE1F,UAAI,eAAe;AACjB,cAAM,mCACJ,oBAAoB,WAAW,cAAc,KAAK,KAAK;AAEzD,cAAM,eAAe;AAAA,UACnB;AAAA,UACA;AAAA,QAAA;AAGE,YAAA,WAAW,mBAAmB,IAAI;AAAA,MACxC;AAEO,aAAA;AAAA,IACT;AAAA,IACA,EAAE,YAAY,CAAA,EAAG;AAAA,EAAA;AAErB;AAKA,MAAM,sBAAsB,CAC1B,EAAE,UAAU,UAAU,CAAC,EAAA,GACvB,YACA,qBAAmC,OAChC;AACH,SAAO,QAAQ,OAAa,CAAC,aAAa,WAAW;AAGnD,UAAM,iBAAiB,OAAO,SAAS,OAAuB,CAAC,KAAK,YAAY;AACxE,YAAA,cAAc,SAAS,KAAK,CAAC,EAAE,IAAI,MAAM,QAAQ,OAAO,KAAK;AAEnE,UAAI,aAAa;AACf,YAAI,OAAO,IAAI;AAAA,MACjB;AAEO,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAKD,QAAA,QAAQ,cAAc,GAAG;AACpB,aAAA;AAAA,IACT;AAGM,UAAA,sBAAsB,OAAO,KAAK,cAAc,EAAE,OAAa,CAAC,KAAK,iBAAiB;AACpF,YAAA,EAAE,UAAU,kBAAsB,IAAA;AAClC,YAAA,uBAAuB,eAAe,YAAY;AAClD,YAAA,aAAa,qBAAqB,WAAW,IAAI,CAAC,EAAE,MAAA,MAAY,KAAK;AAC3E,YAAM,sBAAsB,WAAW;AAAA,QACrC,CAAC,cAAc,qBAAqB,CAAA,GAAI,QAAQ,QAAQ,MAAM;AAAA,MAAA;AAGhE,YAAM,qBAAqB,uBAAuB,oBAAoB,UAAU,YAAY;AAC5F,YAAM,iBAAiBC;AAAAA,QACrB;AAAA,QACA,oBAAoB,cAAc,CAAC;AAAA,MAAA;AAGjC,UAAA,CAAC,IAAI,YAAY,GAAG;AAClB,YAAA,YAAY,IAAI;MACtB;AAEI,UAAA,QAAQ,iBAAiB,KAAK,qBAAqB;AACjD,YAAA,YAAY,EAAE,QAAQ,IAAI;AAAA,UAC5B,YAAY;AAAA,YACV,SAAS,uBAAuB;AAAA,UAClC;AAAA,UACA,YAAY;AAAA,QAAA;AAGP,eAAA;AAAA,MACT;AAEA,YAAM,iBAAiB;AAAA,QACrB;AAAA,QACA,eAAe,YAAY;AAAA,QAC3B;AAAA,MAAA;AAGE,UAAA,YAAY,EAAE,QAAQ,IAAI,EAAE,GAAG,gBAAgB,YAAY;AAExD,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAEE,WAAA,MAAM,aAAa,mBAAmB;AAAA,EAC/C,GAAG,CAAE,CAAA;AACP;ACtMA,MAAM,eAAe,CACnB,QACA,eAC6B;AAC7B,SAAO,OAAO,QAAQ,QAAQ,QAAQ,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO;AAAA,IAC5E,UAAU;AAAA,IACV,YAAY,SAAS,MAAM,GAAG,EAAE,KAAK,GAAG;AAAA,IACxC,cAAc,OAAO,QAAQ,QAAQ,MAAM,aAAa,CAAC,EAAE;AAAA,MACzD,CAAC,CAAC,iBAAiB,OAAO,OAAO;AAAA,QAC/B;AAAA,QACA,eAAe,gBAAgB,MAAM,GAAG,EAAE,KAAK,GAAG;AAAA,QAClD;AAAA,MAAA;AAAA,IAEJ;AAAA,EACA,EAAA;AACJ;ACpBA,MAAM,0BAA0B,CAAC,QAAwB;AACvD,SAAO,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,YAAY;AAEzC,UAAA,eAAe,IAAI,OAAO;AAEhC,QAAI,SAAS,YAAY,KAAK,CAAC,IAAI,cAAc,YAAY,GAAG;AACvD,aAAA,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,wBAAwB,YAAY;IAClE;AAEA,QAAI,SAAS,YAAY,KAAK,IAAI,cAAc,YAAY,GAAG;AAC7D,YAAM,kBAAkB,oBAAoB,KAAK,cAAc,YAAY,CAAC,EAAE;AAAA,QAC5E,CAAC,QAAQ;AAAA,MAAA;AAGX,UAAI,CAAC,iBAAiB;AAEd,cAAA,oBAAoB,OAAO,KAAK,aAAa,UAAU,EAAE,OAAO,CAAC,MAAMF,aAAY;AAEvF,eAAKA,QAAO,IAAI;AAET,iBAAA;AAAA,QACT,GAAG,CAAE,CAAA;AAEE,eAAA,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,cAAc,YAAY,kBAAA;MAC7D;AAAA,IACF;AAGA,QAAI,OAAO,IAAI;AAER,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;ACjCA,MAAM,eAAe,CAAC,KAAa,YAAqB,gBAAgB,UAAkB;AACxF,SAAO,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,YAAY;AACzC,UAAA,eAAe,IAAI,OAAuB;AAE5C,QAAA,YAAY,gBAAgB,CAAC,eAAe;AAE9C,UAAI,OAAO,IAAI;AAER,aAAA;AAAA,IACT;AAEI,QAAA,SAAS,YAAY,GAAG;AACnB,aAAA,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,cAAc,YAAY,YAAY,QAAQ;IACzF;AAGA,QAAI,OAAO,IAAI;AAER,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;AC5Ba,MAAA,YAAY,GAAG,MAAM,EAAE;AACvB,MAAA,gBAAgB,GAAG,MAAM,EAAE;AAC3B,MAAA,YAAY,GAAG,KAAK,EAAE;ACAnC,MAAM,6BAA6B,CACjC,QACuC;AACvC,MAAI,CAAC,KAAK;AACD,WAAA;AAAA,EACT;AAEO,SAAA,OAAO,QAAQ,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;AACvD,QAAI,QAAQ,cAAc;AAExB,UAAI,GAAG,IAAI;AAAA,IACb;AAEO,WAAA;AAAA,EACT,GAAG,CAAiC,CAAA;AACtC;ACZA,MAAM,mBAAmB,CAAC,YAAuC;AACzD,QAAA,uBAAuB,2BAA2B,OAAO;AAEzD,QAAA,gBAAgB,oBAAoB,oBAAoB;AAE1D,MAAA,CAAC,cAAc,QAAQ;AACzB,WAAO,EAAE,uBAAuB,OAAO,wBAAwB,MAAM;AAAA,EACvE;AAEA,QAAM,wBAAwB,cAAc,MAAM,CAAC,QAAQ,GAAG;AAC9D,QAAM,yBAAyB,cAAc,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;AAE7D,SAAA,EAAE,uBAAuB;AAClC;AClBA,MAAM,aAAa,CAAC,QAAwB,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;ACGrF,MAAM,gBAAgB,OAAO,IAAI;AAAA,mBACd,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA;AAAA,IAG7C,CAAC,EAAE,oBAAoB,iBAAiB,kBAAkB;AAAA;ACH9D,MAAM,eAAe,OAAO;AAAA,WACjB,SAAS;AAAA;ACHpB,MAAM,eAAe,MAClB,oBAAA,KAAA,EAAI,OAAM,aAAY,aAAa,GAAG,UAEvC,KAAA;ACmBF,MAAM,uBAAuB,CAAC;AAAA,EAC5B,eAAe;AAAA,EACf;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AACF,MAAiC;AACzB,QAAA,EAAE,kBAAkB;AAGxB,SAAA,qBAAC,QAAK,YAAW,UAAS,aAAa,GAAG,OAAO,eAAe,QAAQ,GACtE,UAAA;AAAA,IAAC,oBAAA,KAAA,EAAI,cAAc,GACjB,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAY;AAAA,UACV;AAAA,YACE,IAAI;AAAA,YACJ,gBAAgB;AAAA,UAClB;AAAA,UACA,EAAE,MAAM;AAAA,QACV;AAAA,QACA,UAAU;AAAA,QAEV,eAAe,CAACG,WACd,SAAS;AAAA,UACP,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,OAAAA;AAAAA,UACF;AAAA,QAAA,CACD;AAAA,QAEH,eAAe;AAAA,QACf;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,YAAW;AAAA,QACX;AAAA,QACC,GAAI,iBAAiB;AAAA,UACpB;AAAA,UACA,iBAAiB;AAAA,UACjB,WAAW,CAAC,EAAE,WAAW,QAAQ,WAAW,QAAQ,QAAQ,QAAQ;AAAA,UACpE,UAAU;AAAA,UACV,MAAM;AAAA,QACR;AAAA,QAEA,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,YAAY,WAAW,SAAS;AAAA,cAChC,WAAW,WAAW,eAAe;AAAA,cACrC,UAAQ;AAAA,cAEP,qBAAW,KAAK;AAAA,YAAA;AAAA,UACnB;AAAA,UACC;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EACF,EAAA,CAAA;AAEJ;AC/CA,MAAM,yBAAyB,CAAC;AAAA,EAC9B,mBAAmB,CAAC;AAAA,EACpB,eAAe,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAmC;AACjC,QAAM,kBAAkB;AAAA,IACtB,MACE,iBAAiB,IAAI,CAAC,WAAW;AAC/B,YAAM,mCACJ,MAAM,QAAQ,OAAO,iBAAiB,KACtC,OAAO,kBAAkB,QAAQ,YAAY,MAAM,MACnD,OAAO;AAET,aAAO,EAAE,OAAO,OAAO,OAAO,UAAU,OAAO,UAAU;IAAiC,CAC3F;AAAA,IACH,CAAC,kBAAkB,YAAY;AAAA,EAAA;AAGjC,8BACG,MAAK,EAAA,SAAQ,eAAc,WAAU,UAAS,UAAU,GACvD,UAAA;AAAA,IAAC,oBAAA,QAAA,EAAO,OAAc,SAAS,gBAAiB,CAAA;AAAA,IAC/C,oBAAA,KAAA,EACE,UAAa,aAAA,IAAI,CAAC,EAAE,UAAUC,eAAc,OAAAC,QAAO,OAAO,YAAY,MACrE;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,cAAcF;AAAAA,QAEd,OAAOC;AAAAA,QACP;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,IAAI,MAAM;AAAA,MAAA;AAAA,MARZ;AAAA,IAUR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;AAkBA,MAAMC,cAAY,CAAC;AAAA,EACjB,eAAe,CAAC;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAAsB;AACd,QAAA,EAAE,kBAAkB;AAC1B,QAAM,CAAC,WAAW,YAAY,IAAIC,eAAM,SAAwB,IAAI;AAC9D,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,0BAA0B;AAE9B,QAAM,WAAW,cAAc;AAEzB,QAAA,oBAAoB,QAAQ,MAAM;AACtC,QAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC,aAAO;IACT;AAEO,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,CAAC;AAEX,QAAA,gBAAgB,kBAAkB,SAAS;AAE3C,QAAA,cAAcA,eAAM,YAAY,MAAM;AAC1C,QAAI,eAAe;AACjB,mBAAa,CAAC,SAAS;AACrB,YAAI,SAAS,MAAM;AACV,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,MAAA,CACR;AAAA,IACH;AAAA,EAAA,GACC,CAAC,eAAe,IAAI,CAAC;AAExB,QAAM,8BAAqE,CAAC;AAAA,IAC1E,QAAQ,EAAE,MAAM;AAAA,EAAA,MACZ;AACwC,gDAAA,YAAY,cAAc,MAAM,KAAK;AAAA,EAAA;AAGnF,QAAM,EAAE,uBAAuB,uBAAuB,IAAI,QAAQ,MAAM;AACtE,WAAO,yBAAyB,iBAAiB,cAAc,YAAY,cAAc,IAAI;AAAA,EAAA,GAC5F,CAAC,iBAAiB,cAAc,YAAY,cAAc,IAAI,CAAC;AAElE,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,YAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,YAAY,QAAQ,eAAe;AAAA,QAEnC,+BAAC,MACC,EAAA,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,UAAU;AAAA,cACV,SAAS;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA,cACA,aAAa;AAAA,cACb,OAAO;AAAA,cACP;AAAA,cAEC,UAAA;AAAA,gBAAA,gCAAa,cAAa,EAAA;AAAA,gBAC3B,oBAAC,YAAW,EAAA,WAAW,SAAU,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACnC;AAAA,UACA,oBAAC,MACE,EAAA,UAAA,gBAAgB,IAAI,CAAC,EAAE,OAAAH,QAAO,kCAAkC,SAAA,MAAe;AAC9E,gBAAI,CAAC,kCAAkC;AAC9B,qBAAA,oBAAC,kBAAkBA,MAAO;AAAA,YACnC;AAEA,kBAAM,eAAe;AAAA,cACnB,GAAG,WAAW,MAAM,IAAI;AAAA,cACxB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAGF,gBAAI,CAAC,eAAe;AAClB,oBAAM,gBAAgB,IAAI,cAAc,cAAc,KAAK;AAGzD,qBAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,OAAO;AAAA,kBACP,UAAS;AAAA,kBACT,gBAAe;AAAA,kBACf,YAAW;AAAA,kBAEX,UAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,UAAU;AAAA,sBACV,MAAM,aAAa,KAAK,IAAI;AAAA,sBAC5B,cAAY;AAAA,wBACV;AAAA,0BACE,IAAI;AAAA,0BACJ,gBAAgB;AAAA,wBAClB;AAAA,wBACA,EAAE,OAAO,GAAG,IAAI,IAAIA,MAAK,GAAG;AAAA,sBAC9B;AAAA,sBAEA,eAAe,CAAC,UAAU;AACD,+CAAA;AAAA,0BACrB,QAAQ;AAAA,4BACN,MAAM,aAAa,KAAK,IAAI;AAAA,4BAC5B;AAAA,0BACF;AAAA,wBAAA,CACD;AAAA,sBACH;AAAA,sBACA,OAAO;AAAA,oBAAA;AAAA,kBACT;AAAA,gBAAA;AAAA,gBA1BK;AAAA,cAAA;AAAA,YA6BX;AAEA,kBAAM,OAAO,IAAI,cAAc,cAAc,CAAE,CAAA;AAE/C,kBAAM,EAAE,uBAAAI,wBAAuB,wBAAAC,4BAA2B,iBAAiB,IAAI;AAG7E,mBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,OAAO;AAAA,gBACP,UAAS;AAAA,gBACT,gBAAe;AAAA,gBACf,YAAW;AAAA,gBAEX,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,UAAU;AAAA,oBACV,MAAM,aAAa,KAAK,IAAI;AAAA,oBAE5B,eAAe,CAAC,UAAU;AACD,6CAAA;AAAA,wBACrB,QAAQ;AAAA,0BACN,MAAM,aAAa,KAAK,IAAI;AAAA,0BAC5B;AAAA,wBACF;AAAA,sBAAA,CACD;AAAA,oBACH;AAAA,oBACA,cAAY;AAAA,sBACV;AAAA,wBACE,IAAI;AAAA,wBACJ,gBAAgB;AAAA,sBAClB;AAAA,sBACA,EAAE,OAAO,GAAG,IAAI,IAAIL,MAAK,GAAG;AAAA,oBAC9B;AAAA,oBACA,OAAOI;AAAAA,oBACP,eAAeC;AAAAA,kBAAA;AAAA,gBACjB;AAAA,cAAA;AAAA,cA3BKL;AAAAA,YAAA;AAAA,UA8BV,CAAA,GACH;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IACF;AAAA,IACC,YACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cAAc;AAAA,QACd;AAAA,QACA,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,MAAA;AAAA,IAClB;AAAA,EAEJ,EAAA,CAAA;AAEJ;AAMA,MAAM,2BAA2B,CAC/B,iBACA,cACA,mBACA,iBACA,cACG;AACH,QAAM,YAAY,gBAAgB,OAAiB,CAAC,KAAK,YAAY;AACnE,QAAI,QAAQ,kCAAkC;AACxC,UAAA,KAAK,QAAQ,QAAQ;AAAA,IAC3B;AAEO,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,QAAM,OAAO,UAAU,OAAgC,CAAC,KAAK,YAAY;AACvE,UAAM,WAAW;AAAA,MACf;AAAA,MACA,CAAC,GAAG,kBAAkB,MAAM,IAAI,GAAG,SAAS,cAAc,iBAAiB,SAAS;AAAA,MACpF;AAAA,IAAA;AAGF,QAAI,OAAO,IAAI;AAER,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,SAAO,iBAAiB,IAAI;AAC9B;AAEA,MAAMG,YAAU,OAAO,IAAI;AAAA,YACf,SAAS;AAAA;AAAA;AAAA,IAGjB,CAAC,EAAE,eAAe,YAClB,iBACA;AAAA,QACI,UAAU;AAAA;AAAA,iBAED,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA,UAG9B,YAAY,KAAK,CAAC;AAAA;AAAA,GAEzB;AAAA,IACC,CAAC,EAAE,UAAU,MAAA,MAAY,YAAY,YAAY,KAAK,CAAC;AAAA;AAG3D,MAAM,aAAa,OAAO,UAAU;AAAA;AAAA,WAEzB,KAAK,EAAE;AAAA,sBACI,CAAC,EAAE,UAAA,MAAiB,YAAY,QAAQ,GAAI;AAAA,iBACjD,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA;AAiB/C,MAAM,eAAe,CAAC;AAAA,EACpB,eAAe,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACjB,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,cAAc,wBAAwB,2BAC5C,0BAA0B;AAC5B,QAAM,CAAC,WAAW,YAAY,IAAID,eAAM,SAAwB,IAAI;AAE9D,QAAA,4BAA4B,CAAC,SAAiB;AAClD,iBAAa,CAAC,SAAS;AACrB,UAAI,SAAS,MAAM;AACV,eAAA;AAAA,MACT;AAEO,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AAGG,QAAA,6BAA6B,QAAQ,MAAM;AAC/C,QAAI,CAAC,WAAW;AACP,aAAA;AAAA,IACT;AAEA,WAAO,aAAa,KAAK,CAAC,EAAE,MAAM,MAAM,UAAU,SAAS;AAAA,EAAA,GAC1D,CAAC,WAAW,YAAY,CAAC;AAG1B,SAAA,qBAAC,KAAI,EAAA,aAAa,QAChB,UAAA;AAAA,IAAA,oBAAC,aAAY,EAAA;AAAA,IACZ,aAAa,IAAI,CAAC,EAAE,OAAO,OAAO,UAAU,UAAU,gBAAgB,GAAG,UAAU;AAC5E,YAAA,YAAY,QAAQ,IAAI,aAAa;AACrC,YAAA,cAAc,MAAM,QAAQ,eAAe;AACjD,YAAM,WAAW,cAAc;AAG7B,aAAA,qBAAC,sBAA+B,WAC9B,UAAA;AAAA,QAAC,qBAAA,MAAA,EAAK,QAAQ,WACZ,UAAA;AAAA,UAAA,oBAACI,aACC,EAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAM;AAAA,cACN,QAAO;AAAA,cACP,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,OAAM;AAAA,cACN,OAAM;AAAA,cAEN,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,UAAS;AAAA,kBACT,UAAS;AAAA,kBACT,GAAE;AAAA,kBACF,MAAK;AAAA,gBAAA;AAAA,cACP;AAAA,YAAA;AAAA,UAAA,GAEJ;AAAA,+BACC,MAAK,EAAA,OAAO,EAAE,MAAM,EACnB,GAAA,UAAA;AAAA,YAAA,oBAAC,UAAS,EAAA,OAAO,gBAAgB,UAAoB,eAAe,aAClE,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,YAAW;AAAA,gBACX,eAAe;AAAA,gBACd,GAAI,eAAe;AAAA,kBAClB,SAAS,MAAM,0BAA0B,KAAK;AAAA,kBAC9C,iBAAiB;AAAA,kBACjB,WAAW,CAAC,EAAE,IAAI,OACf,QAAQ,WAAW,QAAQ,QAAQ,0BAA0B,KAAK;AAAA,kBACrE,UAAU;AAAA,kBACV,MAAM;AAAA,gBACR;AAAA,gBACA,OAAO;AAAA,gBAEP,UAAA;AAAA,kBAAA,oBAAC,YAAW,EAAA,UAAQ,MAAE,UAAA,WAAW,KAAK,GAAE;AAAA,kBACvC,gCAAa,cAAa,EAAA;AAAA,kBAC3B,oBAAC,YAAW,EAAA,WAAW,SAAU,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA,GAErC;AAAA,gCACC,MAAK,EAAA,OAAO,EAAE,MAAM,KAClB,UAAgB,gBAAA;AAAA,cACf,CAAC,EAAE,UAAU,OAAO,eAAe,uCAAuC;AACxE,oBAAI,CAAC,kCAAkC;AAC9B,yBAAA,oBAAC,kBAAkB,QAAU;AAAA,gBACtC;AAKA,sBAAM,eAAe;AAAA,kBACnB,GAAG,wBAAwB,MAAM,IAAI;AAAA,kBACrC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA,GAAG,WAAW,MAAM,IAAI;AAAA,kBACxB;AAAA,gBAAA;AAGF,sBAAM,gBAAgB,IAAI,cAAc,cAAc,KAAK;AAE3D,oBAAI,CAAC,iBAAiB;AAElB,yBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBAEC,UAAS;AAAA,sBACT,OAAO;AAAA,sBACP,gBAAe;AAAA,sBACf,YAAW;AAAA,sBAEX,UAAA;AAAA,wBAAC;AAAA,wBAAA;AAAA,0BACC,UAAU;AAAA,0BACV,MAAM,aAAa,KAAK,IAAI;AAAA,0BAC5B,cAAY;AAAA,4BACV;AAAA,8BACE,IAAI;AAAA,8BACJ,gBAAgB;AAAA,4BAClB;AAAA,4BACA,EAAE,OAAO,GAAG,UAAU,IAAI,KAAK,IAAI,aAAa,GAAG;AAAA,0BACrD;AAAA,0BAEA,eAAe,CAACR,WAAU;AACD,mDAAA;AAAA,8BACrB,QAAQ;AAAA,gCACN,MAAM,aAAa,KAAK,IAAI;AAAA,gCAC5B,OAAAA;AAAAA,8BACF;AAAA,4BAAA,CACD;AAAA,0BACH;AAAA,0BACA,OAAO;AAAA,wBAAA;AAAA,sBACT;AAAA,oBAAA;AAAA,oBA1BK;AAAA,kBAAA;AAAA,gBA6BX;AAEA,sBAAM,EAAE,uBAAuB,uBAAuB,IACpD,iBAAiB,aAAa;AAG9B,uBAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBAEC,UAAS;AAAA,oBACT,OAAO;AAAA,oBACP,gBAAe;AAAA,oBACf,YAAW;AAAA,oBAEX,UAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBAEC,UAAU;AAAA,wBACV,MAAM,aAAa,KAAK,IAAI;AAAA,wBAC5B,cAAY;AAAA,0BACV;AAAA,4BACE,IAAI;AAAA,4BACJ,gBAAgB;AAAA,0BAClB;AAAA,0BACA,EAAE,OAAO,GAAG,UAAU,IAAI,KAAK,IAAI,aAAa,GAAG;AAAA,wBACrD;AAAA,wBAEA,eAAe,CAACA,WAAU;AACD,iDAAA;AAAA,4BACrB,QAAQ;AAAA,8BACN,MAAM,aAAa,KAAK,IAAI;AAAA,8BAC5B,OAAAA;AAAAA,4BACF;AAAA,0BAAA,CACD;AAAA,wBACH;AAAA,wBACA,OAAO;AAAA,wBACP,eAAe;AAAA,sBAAA;AAAA,sBApBV;AAAA,oBAqBP;AAAA,kBAAA;AAAA,kBA5BK;AAAA,gBAAA;AAAA,cA+BX;AAAA,YAAA,GAEJ;AAAA,UAAA,GACF;AAAA,QAAA,GACF;AAAA,QACC,8BAA8B,YAC5B,oBAAA,KAAA,EAAI,eAAe,GAClB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA,YAAY,GAAG,UAAU,KAAK,KAAK;AAAA,YACnC;AAAA,YACA;AAAA,YACA;AAAA,YACA,gBAAgB,iBAAiB;AAAA,YACjC,cAAc,2BAA2B;AAAA,UAAA;AAAA,QAAA,GAE7C;AAAA,MAAA,EAAA,GAlJqB,KAoJzB;AAAA,IAAA,CAEH;AAAA,EACH,EAAA,CAAA;AAEJ;AAEA,MAAM,qBAAqB,OAAO,GAAG;AAAA,iBACpB,CAAC,EAAE,WAAW,MAAM,MACjC,YAAY,aAAa,MAAM,OAAO,UAAU,KAAK,uBAAuB;AAAA;AAGhF,MAAM,WAAW,OAAO,IAAI;AAAA,kBACV,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA,WACrC,CAAC,EAAE,MAAA,MAAY,MAAM,QAAQ,EAAE;AAAA;AAAA,IAEtC,CAAC,EAAE,eAAe,YAClB,iBACA;AAAA,QACI,UAAU;AAAA;AAAA,iBAED,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA,UAG9B,YAAY,KAAK,CAAC;AAAA;AAAA,GAEzB;AAAA,IACC,CAAC,EAAE,UAAU,MAAA,MAAY,YAAY,YAAY,KAAK,CAAC;AAAA;AAG3D,MAAM,cAAc,OAAO;AAAA,iBACV,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA,gBAC/B,CAAC,EAAE,YAAY,MAAM,OAAO,CAAC,CAAC;AAAA,WACnC,IAAI,EAAE;AAAA,sBACK,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAK5D,MAAMQ,cAAY,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,aAKf,IAAI,EAAE;AAAA,cACL,KAAK,EAAE;AAAA,kBACH,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAKxD,MAAM,MAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMP,CAAC,EAAE,OAAO,MAAA,MAAY,MAAM,OAAO,KAAK,CAAC;AAAA;AAAA;AAarD,MAAM,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG,YAAyB;AACjD,QAAA,EAAE,kBAAkB;AAE1B,8BACG,MACC,EAAA,UAAA;AAAA,IAAA,oBAAC,QAAK,OAAO,eAAe,QAAQ,WAAW,QAAQ,GAAG,YAAW,UAAS,aAAa,GACzF,UAAC,oBAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAA;AAAA,MACC;AAAA,QACE,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAClB;AAAA,MACA,EAAE,MAAM;AAAA,OAEZ,EACF,CAAA;AAAA,IACC,QAAQ,IAAI,CAAC,WAAW;AACnB,UAAA,CAAC,OAAO,kCAAkC;AAC5C,mCAAQ,MAAK,EAAA,OAAO,WAAW,QAAQ,EAAA,GAAQ,OAAO,KAAO;AAAA,MAC/D;AAEA,aACG,oBAAA,MAAA,EAAK,OAAO,WAAW,QAAQ,GAAG,gBAAe,UAChD,UAAA,oBAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,QACb,IAAI,mCAAmC,OAAO,MAAM,YAAa,CAAA;AAAA,QACjE,gBAAgB,OAAO;AAAA,MACxB,CAAA,GACH,EAN8D,GAAA,OAAO,KAOvE;AAAA,IAAA,CAEH;AAAA,EACH,EAAA,CAAA;AAEJ;AASA,MAAM,cAAc,CAAC,UAAwB;AAAA,IACzC,UAAU;AAAA,aACD,MAAM,OAAO,UAAU;AAAA,mBACjB,MAAM,YAAY,IAAI;AAAA;AAAA,IAErC,UAAU;AAAA;AAAA;AAAA;AAAA,cAIA,MAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AChpBrC,MAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,UAAU;AACZ,MAA6B;AACrB,QAAA,EAAE,kBAAkB;AAE1B,SACG,oBAAA,iBAAA,EAAgB,eAA8B,WAC7C,UAAC,oBAAA,QAAA,EAAO,SAAkB,WAAY,oBAAA,KAAA,CAAI,CAAA,GAAI,SAC3C,UAAc,cAAA;AAAA,IACb,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAAA,CACjB,GACH,EACF,CAAA;AAEJ;AAMA,MAAM,kBAAkB,OAAO,GAAG;AAAA,IAC9B,CAAC,EAAE,eAAe,UAAU,YAC5B,iBACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAQmB,KAAK,EAAE;AAAA,oBACV,WAAW,MAAM,OAAO,aAAa,MAAM,OAAO,UAAU;AAAA;AAAA,GAE7E;AAAA;AAQH,MAAM,mBAAmB,OAAO,oBAAoB;ACLpD,MAAM,kBAAkB,CAAC;AAAA,EACvB,UAAU,CAAC;AAAA,EACX,oBAAoB,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AACpB,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,qBAAqB,cAAc,uBAAuB,0BAA0B;AAEtF,QAAA,kCAAkC,MAAM,QAAQ,MAAM;AAC1D,WAAO,OAAO,QAAQ,QAAQ,qBAAqB,UAAU,CAAC;AAAA,EAAA,GAC7D,CAAC,mBAAmB,CAAC;AAExB,QAAM,mBAAmB,QAAQ;AAAA;AAAA,IAE/B,CAAC,EAAE,aAAa,wBAAwB,4BACtC,eAAe,QAAQ,0BAA0B,qBAAqB;AAAA,EAAA;AAG1E,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM;AAAA,IAC9B,4BAA4B,kBAAkB,cAAc,+BAA+B;AAAA,EAAA;AAGvF,QAAA,eAAe,CAAC,MAAc,WAA0B;AAC5D;AAAA,MACE,QAAQ,CAAC,UAAU;AACb,YAAA,CAAC,MAAM,IAAI,GAAG;AACV,gBAAA,IAAI,IAAI;QAChB;AAEA,YAAI,CAAC,MAAM,IAAI,EAAE,SAAS;AAClB,gBAAA,IAAI,EAAE,UAAU;QACxB;AAEM,cAAA,IAAI,EAAE,UAAU;AAAA,MAAA,CACvB;AAAA,IAAA;AAAA,EACH;AAGF,QAAM,eAAe,MAAM;AACzB,UAAM,4BAA4B,OAAO,QAAQ,KAAK,EAAE;AAAA,MACtD,CAAC,KAAK,YAAY;AACV,cAAA,CAAC,KAAK,KAAK,IAAI;AAEf,cAAA,SAAS,OAAO,OAAO,KAAK,EAAE,OAAO,CAAC,MAAM,aAAa;AAC7D,iBAAO,EAAE,GAAG,MAAM,GAAG;QACvB,GAAG,CAAE,CAAA;AAEL,YAAI,GAAG,IAAI;AAEJ,eAAA;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IAAA;AAGH,uBAAmB,yBAAyB;AACnC;EAAA;AAGX,SACG,qBAAA,aAAA,EAAY,YAAW,+BAA8B,SAAS,UAC7D,UAAA;AAAA,IAAC,oBAAA,aAAA,EACC,8BAAC,aAAY,EAAA,IAAG,+BAA8B,OAAO,kBAAkB,KAAK,IAAI,GAC7E,UAAA,kBAAkB,IAAI,CAAC,OAAO,OAAO,QACpC,oBAAC,SAAM,WAAW,UAAU,IAAI,SAAS,GACtC,UAAA;AAAA,MACC,cAAc;AAAA,QACZ,IAAI;AAAA,QACJ,gBAAgB;AAAA,MAAA,CACjB;AAAA,IAL4C,EAAA,GAAA,KAOjD,CACD,EACH,CAAA,GACF;AAAA,yBACC,WACE,EAAA,UAAA;AAAA,MAAA,iBAAiB,WAAW,KAC1B,oBAAA,YAAA,EACE,UAAc,cAAA;AAAA,QACb,IAAI;AAAA,QACJ,gBACE;AAAA,MACH,CAAA,GACH;AAAA,MAEF,oBAAC,MACE,EAAA,UAAA,iBAAiB,IAAI,CAAC,EAAE,UAAU,OAAO,uBAAuB,GAAG,UAAU;AACtE,cAAA,OAAO,uBAAuB,KAAK,IAAI;AAG3C,eAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC;AAAA,YACA;AAAA,YACA;AAAA,YACA,QAAQ,QAAQ,MAAM;AAAA,YACtB;AAAA,YACA,UAAU;AAAA,YACV,OAAO,IAAI,OAAO,MAAM,CAAA,CAAE;AAAA,UAAA;AAAA,UAPrB;AAAA,QAAA;AAAA,MAUV,CAAA,GACH;AAAA,IAAA,GACF;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,cACE,oBAAC,QAAO,EAAA,SAAQ,YAAW,SAAS,UACjC,UAAc,cAAA,EAAE,IAAI,gCAAgC,gBAAgB,SAAU,CAAA,GACjF;AAAA,QAEF,YACE,oBAAC,QAAO,EAAA,SAAS,cACd,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QACjB,CAAA,GACH;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ;AAEA,MAAM,8BAA8B,CAClC,kBACA,cACA,oCACG;AACH,SAAO,iBAAiB,OAAsD,CAAC,KAAK,YAAY;AAC9F,UAAM,wBAAuC;AAAA,MAC3C;AAAA,MACA,CAAC,GAAG,QAAQ,wBAAwB,YAAY;AAAA,MAChD,CAAC;AAAA,IAAA;AAGH,UAAM,sBAAsB,gCAAgC,OAE1D,CAACV,MAAKD,aAAY;AACZ,YAAA,CAAC,cAAc,iBAAiB,IAAIA;AAE1C,YAAM,iBAAiB,kBAAkB,OAAsB,CAACC,MAAKD,aAAY;AAC/EC,aAAID,SAAQ,EAAE,IAAI,IAAI,uBAAuBA,SAAQ,IAAI,KAAK;AAEvDC,eAAAA;AAAAA,MACT,GAAG,CAAE,CAAA;AAELA,WAAI,YAAY,IAAI;AAEbA,aAAAA;AAAAA,IACT,GAAG,CAAE,CAAA;AAEL,QAAI,QAAQ,uBAAuB,KAAK,IAAI,CAAC,IAAI;AAE1C,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AACP;AAkBA,MAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAsB;AACd,QAAA,EAAE,kBAAkB;AAEpB,QAAA,eAAmD,CAAC,QAAQ;AAChE,QAAI,UAAU;AACZ,eAAS,MAAM,6BAA6B,iCAAiC,GAAG,CAAC;AAAA,IACnF;AAAA,EAAA;AAIA,SAAA,qBAAC,MAAK,EAAA,IAAG,MAAK,YAAY,SAAS,eAAe,YAAY,eAAe,GAAG,YAAY,GAC1F,UAAA;AAAA,IAAA,qBAAC,QAAK,aAAa,GAAG,OAAO,EAAE,OAAO,IACpC,GAAA,UAAA;AAAA,MAAA,qBAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAA;AAAA,QAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QAAE;AAAA,MAAA,GAEL;AAAA,MACA,oBAAC,YAAW,EAAA,SAAQ,SAAQ,OAAO,OAAO,WAAU,cAAa,UAAQ,MACtE,UAAc,cAAA;AAAA,QACb,IAAI,mCAAmC,MAAM,YAAa,CAAA;AAAA,QAC1D,gBAAgB;AAAA,MACjB,CAAA,GACH;AAAA,MACC,qBAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cAAa,UAAA;AAAA,QAAA;AAAA,QAEhD,cAAc;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA,GACH;AAAA,IAAA,GACF;AAAA,IACA,oBAAC,OAAI,OAAO,EAAE,UAAU,KAAK,OAAO,UAElC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QACJ,kBAAkB,CAAC,SAAS,CAAO,MAAA,GAAG,OAAO,MAAM;AAAA,QACnD,UAAU;AAAA,QACV,OAAO,kBAAkB,KAAK;AAAA,QAC9B,SAAS,iBAAiB,+BAA+B;AAAA,QACzD,UAAU;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,EACF,EAAA,CAAA;AAEJ;AAEA,MAAM,oBAAoB,CAAC,aACzB,OAAO,OAAO,QAAQ,EACnB;AAAA,EAAI,CAAC,MACJ,OAAO,QAAQ,CAAC,EACb,OAAO,CAAC,CAAA,EAAG,KAAK,MAAM,KAAK,EAC3B,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG;AACvB,EACC,KAAK;AAEV,MAAM,mBAAmB,CAAC,YACxB,QAAQ,OAA0C,CAAC,KAAK,CAAC,OAAO,QAAQ,MAAM;AAC5E,MAAI,KAAK;AAAA,IACP,OAAO,WAAW,KAAK;AAAA,IACvB,UAAU,SAAS,IAAI,CAAC,WAAW;AAAA,MACjC,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,IAAA,EACb;AAAA,EAAA,CACH;AAEM,SAAA;AACT,GAAG,CAAE,CAAA;AAEP,MAAM,+BAA+B,CACnC,SACA,kBAEA,QACG,IAAI,CAAC,CAAG,EAAA,MAAM,MAAM,MAAM,EAC1B,KACA,EAAA;AAAA,EACC,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,cAAc,SAAS,KAAK,EAAE,GAAG,GAAG,IAAI;AAAA,EACrE,CAAC;AACH;ACpRJ,MAAM,uBAAuB,CAAC;AAAA,EAC5B,UAAU,CAAC;AAAA,EACX;AAAA,EACA;AAAA,EACA,WAAW,CAAC;AACd,MAAiC;AAC/B,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAwB,IAAI;AAExE,QAAA,4BAA4B,CAAC,iBAAyB,MAAM;AAC1D,UAAA,qBAAqB,mBAAmB,eAAe,OAAO;AAEpE,sBAAkB,kBAAkB;AAAA,EAAA;AAIpC,SAAA,oBAAA,UAAA,EACG,mBAAS,IAAI,CAAC,EAAE,KAAK,OAAO,WAAW,GAAG,UAAU;AACnD,UAAM,WAAW,mBAAmB;AACpC,UAAM,mBAAmB,QAAQ,IAAI,CAAC,YAAY;AAAA,MAChD,GAAG;AAAA,MACH,aAAa,MAAM,QAAQ,OAAO,QAAQ,KAAK,OAAO,SAAS,QAAQ,GAAG,MAAM;AAAA,IAChF,EAAA;AAEA,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,UAAS;AAAA,QACT,aAAY;AAAA,QACZ,aAAa,WAAW,IAAI;AAAA,QAE5B,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA,QAAQ,QAAQ,MAAM;AAAA,cACtB;AAAA,cACA;AAAA,cACA,eAAe,0BAA0B,GAAG;AAAA,cAC5C,YAAY,CAAC,YAAY,GAAG,EAAE,KAAK,IAAI;AAAA,YAAA;AAAA,UACzC;AAAA,UACC,YACC,WAAW,IAAI,CAAC,EAAE,OAAO,eAAe,OAAO,UAAU,mBAAmB;AAExE,mBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,OAAO;AAAA,gBACP,YAAY,CAAC,YAAY,GAAG,EAAE,KAAK,IAAI;AAAA,gBACvC,cAAc;AAAA,cAAA;AAAA,cACT;AAAA,YAAA;AAAA,UACP,CAEH;AAAA,QAAA;AAAA,MAAA;AAAA,MA7BE;AAAA,IAAA;AAAA,EAgCV,CAAA,EACH,CAAA;AAEJ;AAcA,MAAM,WAAW,CAAC;AAAA,EAChB,mBAAmB,CAAC;AAAA,EACpB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,CAAC,aAAa,YAAY,IAAI,MAAM,SAAS,KAAK;AAClD,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,cAAc,wBAAwB,2BAC5C,0BAA0B;AAE5B,QAAM,0BAA0B,MAAM;AACvB,iBAAA,CAAC,MAAM,CAAC,CAAC;AAAA,EAAA;AAGxB,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,KAAK;AAAA,EAAA;AAKd,QAAA,WAAW,IAAI,cAAc,WAAW,MAAM,IAAI,GAAG,CAAA,CAAE;AAGvD,QAAA,uBAAuB,MAAM,QAAQ,MAAM;AAC/C,WAAO,OAAO,KAAK,QAAQ,EAAE,OAAsC,CAAC,KAAK,YAAY;AACnF,UAAI,OAAO,IAAI,KAAK,SAAS,OAAO,GAAG,YAAY;AAE5C,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAAA,EAAA,GACJ,CAAC,QAAQ,CAAC;AAEb,QAAM,EAAE,uBAAuB,uBAAuB,IAAI,iBAAiB,oBAAoB;AAKzF,QAAA,oBAAoB,MAAM,QAAQ,MAAM;AACrC,WAAA,0BAA0B,kBAAkB,cAAc,UAAU;AAAA,EAC1E,GAAA,CAAC,kBAAkB,cAAc,UAAU,CAAC;AAG/C,QAAM,mCAAmC,kBAAkB,KAAK,CAAC,WAAW,OAAO,aAAa;AAG9F,SAAA,qBAAC,cAAW,UACV,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,YAAW;AAAA,QACX,YAAY,SAAS,eAAe;AAAA,QAEpC,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAa;AAAA,cACb;AAAA,cACA;AAAA,cACA,cAAc;AAAA,cACd,UAAU;AAAA,cACV,SAAS;AAAA,cACT,aAAa;AAAA,cACb,OAAO;AAAA,cACP;AAAA,cAEA,UAAA,oBAAC,SAAQ,EAAA,aAAa,GAAI,UAAA,+BAAY,WAAU,CAAA,CAAA,IAAM,oBAAA,aAAA,CAAY,CAAA,GAAG;AAAA,YAAA;AAAA,UACvE;AAAA,8BAEC,MAAK,EAAA,OAAO,EAAE,MAAM,KAClB,UAAkB,kBAAA;AAAA,YACjB,CAAC,EAAE,UAAU,wBAAAS,yBAAwB,aAAa,GAAG,iBAAiB;AACpE,kBAAI,CAAC,aAAa;AACT,uBAAA,oBAAC,kBAAkB,QAAU;AAAA,cACtC;AAEM,oBAAA;AAAA,gBACJ;AAAA,gBACA,uBAAAD;AAAAA,gBACA;AAAA,gBACA;AAAA,gBACA,OAAO;AAAA,cACL,IAAA;AAEJ,kBAAI,kBAAkB;AACpB,uBACG,qBAAA,MAAA,EAAoB,gBAAe,UAAS,YAAW,UACrD,UAAA;AAAA,kBACC,iBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,UAAS;AAAA,sBACT,KAAI;AAAA,sBACJ,MAAK;AAAA,sBACL,OAAM;AAAA,sBACN,QAAO;AAAA,sBACP,cAAa;AAAA,sBACb,YAAW;AAAA,oBAAA;AAAA,kBACb;AAAA,kBAEF;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,UAAU;AAAA,sBACV,MAAM;AAAA,sBACN,cAAY;AAAA,wBACV;AAAA,0BACE,IAAI;AAAA,0BACJ,gBAAgB;AAAA,wBAClB;AAAA,wBACA,EAAE,OAAO,GAAG,eAAe,IAAI,KAAK,GAAG;AAAA,sBACzC;AAAA,sBAEA,eAAe,CAAC,UAAU;AACD,+CAAA;AAAA,0BACrB,QAAQ;AAAA,4BACN,MAAM;AAAA,4BACN;AAAA,0BACF;AAAA,wBAAA,CACD;AAAA,sBACH;AAAA,sBACA,eAAeC;AAAAA,sBACf,OAAOD;AAAAA,oBAAA;AAAA,kBACT;AAAA,gBAAA,EAAA,GAlCS,QAmCX;AAAA,cAEJ;AAEA,qBACG,qBAAA,MAAA,EAAoB,gBAAe,UAAS,YAAW,UACrD,UAAA;AAAA,gBACC,iBAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,IAAG;AAAA,oBACH,UAAS;AAAA,oBACT,KAAI;AAAA,oBACJ,MAAK;AAAA,oBACL,OAAM;AAAA,oBACN,QAAO;AAAA,oBACP,cAAa;AAAA,oBACb,YAAW;AAAA,kBAAA;AAAA,gBACb;AAAA,gBAEF;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,UAAU;AAAA,oBACV,eAAe;AAAA,oBACf,MAAM;AAAA,oBAEN,eAAe,CAAC,UAAU;AACD,6CAAA;AAAA,wBACrB,QAAQ;AAAA,0BACN,MAAM;AAAA,0BACN;AAAA,wBACF;AAAA,sBAAA,CACD;AAAA,oBACH;AAAA,oBACA,OAAOA;AAAAA,kBAAA;AAAA,gBACT;AAAA,cAAA,EAAA,GA3BS,QA4BX;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UACC,eACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,mBAAmB,CAAC,OAAO,4CAA4C;AAAA,cACvE,SAAS;AAAA,cACT;AAAA,cACA,UAAU;AAAA,cACV,UAAU;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,wBACC,KAAI,EAAA,WAAU,oBAAmB,OAAM,OAAM,UAAS,YACrD,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,eAAe;AAAA,MAAA;AAAA,IAAA,GAEnB;AAAA,EACF,EAAA,CAAA;AAEJ;AAqBA,MAAM,4BAA4B,CAChC,kBACA,cACA,eACwD;AACjD,SAAA,iBAAiB,IAAI,CAAC,EAAE,UAAU,aAAa,mBAAmB,YAAY;AACnF,QAAI,CAAC,aAAa;AAChB,aAAO,EAAE,UAAU,wBAAwB,OAAO,YAAY;AAAA,IAChE;AAEA,UAAM,wBAAwB,CAAC,GAAG,WAAW,MAAM,IAAI,GAAG,QAAQ;AAC5D,UAAA,oBAAoB,QAAQ,iBAAiB,IAC/C,CAAC,GAAG,uBAAuB,cAAc,SAAS,IAClD;AACE,UAAA,kBAAkB,IAAI,cAAc,CAAC,GAAG,uBAAuB,YAAY,GAAG,IAAI;AAExF,UAAM,qBAAqB;AAAA,MACzB;AAAA,MACA,cAAc,kBAAkB,KAAK,IAAI;AAAA,MACzC,eAAe,oBAAoB,eAAe,EAAE,KAAK,CAAC,QAAQ,GAAG;AAAA,MACrE;AAAA,MACA;AAAA,MACA,wBAAwB;AAAA,IAAA;AAGtB,QAAA,QAAQ,iBAAiB,GAAG;AAC9B,YAAM,QAAQ,IAAI,cAAc,mBAAmB,KAAK;AAIjD,aAAA;AAAA,QACL,GAAG;AAAA,QACH,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,MAAA;AAAA,IAEtB;AAEA,UAAM,WAAW,IAAI,cAAc,mBAAmB,IAAI;AAE1D,UAAM,EAAE,uBAAuB,uBAAuB,IAAI,iBAAiB,QAAQ;AAE5E,WAAA;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,kBAAkB;AAAA,IAAA;AAAA,EACpB,CACD;AACH;AAEA,MAAM,iBAAiB,CAAC,OAAqB,aAA+B;AAAA,IACxE,OAAO;AAAA,wBACa,MAAM,OAAO,UAAU;AAAA,aAClC,MAAM,OAAO,UAAU;AAAA,qBACf,WAAW,gBAAgB,KAAK;AAAA;AAAA,IAEjD,OAAO;AAAA;AAAA;AAAA,IAGP,gBAAgB;AAAA;AAAA;AAAA;AAAA,MAIdG,YAAqB,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,MAI3B,MAAM,eAAe,OAAO,QAAQ,CAAC;AAAA;AAAA;AAI3C,MAAM,UAAU,OAAO,IAAI;AAAA;AAAA;AAI3B,MAAM,aAAa,OAAO;AAAA;AAAA;AAAA;AAAA,IAItB,gBAAgB;AAAA;AAAA;AAAA,IAGhB,CAAC,EAAE,UAAU,YAAY,YAAY,eAAe,OAAO,QAAQ,CAAC;AAAA;AAAA,MAElE,CAAC,EAAE,OAAO,SAAA,MAAe,eAAe,OAAO,QAAQ,CAAC;AAAA;AAAA;AAI9D,MAAM,OAAO,OAAO,IAAI;AAAA,WACb,SAAS;AAAA;AAAA;AAIpB,MAAM,UAAU,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMd,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAAA;AClYlD,MAAM,gBAAgB,CAAC,EAAE,UAAU,CAAI,GAAA,gBAAgB,WAA+B;AAC9E,QAAA,EAAE,kBAAkB;AAC1B,QAAM,EAAE,cAAc,2CAA2C,IAAI,0BAA0B;AAEzF,QAAA,mBAAmB,QAAQ,OAAO,CAAC,EAAE,SAAS,MAAM,YAAY,SAAS,MAAM;AAE/E,QAAA,kBAAkB,MAAM,QAAQ,MAAM;AAC1C,UAAM,aAAa,iBAAiB,IAAI,CAAC,EAAE,SAAA,MAAe,QAAQ;AAE5D,UAAA,OAAO,aAAa,IAAI;AAE9B,UAAM,qBAAqB,WAAW;AAAA,MACpC,CAAC,KAAK,aAAa;AACjB,eAAO,KAAK,IAAI,EAAE,QAAQ,CAAC,UAAU;AACnC,gBAAM,eAAe,IAAI,MAAM,CAAC,OAAO,QAAQ,CAAC;AAEhD,gBAAM,gBAAgB,EAAE,CAAC,KAAK,GAAG,2BAA2B,YAAY,EAAG;AAEvE,cAAA,CAAC,IAAI,QAAQ,GAAG;AAClB,gBAAI,QAAQ,IAAI;AAAA,UAAA,OACX;AACD,gBAAA,QAAQ,IAAI,EAAE,GAAG,IAAI,QAAQ,GAAG,GAAG;UACzC;AAAA,QAAA,CACD;AAEM,eAAA;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IAAA;AAGGC,UAAAA,mBAAkB,OAAO,KAAK,kBAAkB,EAAE,OAQtD,CAAC,KAAK,YAAY;AAClB,UAAI,OAAO,IAAI,iBAAiB,mBAAmB,OAAO,CAAC;AAEpD,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAEEA,WAAAA;AAAAA,EACN,GAAA,CAAC,cAAc,kBAAkB,IAAI,CAAC;AAGvC,SAAA,oBAAC,OAAI,eAAe,GAAG,YAAY,GAAG,OAAO,EAAE,aAAa,iBAC1D,UAAC,oBAAA,MAAA,EAAK,KAAK,GACR,UAAA,iBAAiB,IAAI,CAAC,EAAE,OAAO,SAAA,MAAe;AAE3C,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,WAAU;AAAA,QACV,YAAW;AAAA,QACX,gBAAe;AAAA,QAEf,KAAK;AAAA,QAEL,UAAA;AAAA,UAAA,oBAAC,YAAW,EAAA,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,YACb,IAAI,mCAAmC,MAAM,YAAa,CAAA;AAAA,YAC1D,gBAAgB;AAAA,UACjB,CAAA,GACH;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,UAAU;AAAA,cACV,eAAe,CAAC,UAAU;AACmB,2DAAA,MAAM,UAAU,KAAK;AAAA,cAClE;AAAA,cACA,MAAM;AAAA,cACN,cAAY;AAAA,gBACV;AAAA,kBACE,IAAI;AAAA,kBACJ,gBAAgB;AAAA,gBAClB;AAAA,gBACA;AAAA,kBACE,OAAO,cAAc;AAAA,oBACnB,IAAI,mCAAmC,MAAM,YAAa,CAAA;AAAA,oBAC1D,gBAAgB;AAAA,kBAAA,CACjB;AAAA,gBACH;AAAA,cACF;AAAA,cACA,OAAO,IAAI,iBAAiB,CAAC,UAAU,uBAAuB,GAAG,KAAK;AAAA,cACtE,eAAe,IAAI,iBAAiB,CAAC,UAAU,wBAAwB,GAAG,KAAK;AAAA,YAAA;AAAA,UACjF;AAAA,QAAA;AAAA,MAAA;AAAA,MA7BK;AAAA,IAAA;AAAA,EA8BP,CAEH,GACH,EACF,CAAA;AAEJ;ACtGA,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA,QAAQ,EAAE,SAAS,SAAS;AAC9B,MAAyB;AACvB,QAAM,iBAAiB,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;AAGhF,SAAA,qBAAC,WAAU,EAAA,YAAW,YACpB,UAAA;AAAA,IAAC,oBAAA,eAAA,EAAc,SAAkB,MAAY,eAAgC,CAAA;AAAA,IAC7E;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EACF,EAAA,CAAA;AAEJ;AAEA,MAAM,YAAY,OAAO,GAAG;AAAA;AAAA;ACa5B,MAAM,gCAAgC,CAAC;AAAA,EACrC;AAAA,EACA,GAAG;AACL,MAA0C;AACxC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAwB,IAAI;AAExE,QAAA,qBAAqB,CAAC,iBAAyB;AACjC,sBAAA,iBAAiB,iBAAiB,OAAO,YAAY;AAAA,EAAA;AAGzE,SACG,oBAAA,KAAA,EAAI,SAAS,GAAG,YAAW,YACzB,UAAA,OAAO,IAAI,CAAC,EAAE,UAAU,YAAY,gBAAgB,UAAU;AAE3D,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC;AAAA,QACA,QAAQ,mBAAmB;AAAA,QAC3B,SAAS,QAAQ,MAAM;AAAA,QACvB,MAAM;AAAA,QACN,gBAAgB;AAAA,QAChB,YAAY,CAAC,UAAU,MAAM,UAAU;AAAA,QACtC,GAAG;AAAA,MAAA;AAAA,MAPC;AAAA,IAAA;AAAA,EAUV,CAAA,EACH,CAAA;AAEJ;AAgBA,MAAM,MAAM,CAAC;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF,MAAgB;AACR,QAAA,EAAE,kBAAkB;AAC1B,QAAM,cAAc,MAAM;AACxB,mBAAe,IAAI;AAAA,EAAA;AAGrB,QAAM,eAAe,KAAK,MAAM,IAAI,EAAE,IAAS,KAAA;AAG7C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,UAAU;AAAA,MACV,IAAI,aAAa,IAAI;AAAA,MACrB,SAAS,UAAU,YAAY;AAAA,MAE/B,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,WAAW,YAAY;AAAA,YAC9B,aAAa,GAAG;AAAA,cACd,EAAE,IAAI,iCAAiC,gBAAgB,aAAa;AAAA,cACpE,EAAE,UAAU,aAAa;AAAA,YAC1B,CAAA,IAAI,SAAS,YAAY,WAAW,IAAI;AAAA,UAAA;AAAA,QAC3C;AAAA,QAEC,oBAAA,kBAAA,EACC,UAAC,oBAAA,KAAA,EAAI,SAAS,GACX,UAAa,aAAA,IAAI,CAAC,EAAE,SAAS,iBAAiB,oBAC7C;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,CAAC,GAAG,YAAY,aAAa;AAAA,UAAA;AAAA,UALpC;AAAA,QAAA,CAOR,GACH,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAcA,MAAM,cAAc,CAAC;AAAA,EACnB,UAAU,CAAC;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,QAAM,CAAC,aAAa,YAAY,IAAI,MAAM,SAAS,KAAK;AACxD,QAAM,EAAE,cAAc,wBAAwB,2BAC5C,0BAA0B;AACtB,QAAA,EAAE,kBAAkB;AAE1B,QAAM,WAAW,IAAI,cAAc,YAAY,CAAE,CAAA;AAE3C,QAAA,uBAAuB,MAAM,QAAQ,MAAM;AAC/C,WAAO,OAAO,KAAK,QAAQ,EAAE,OAAkC,CAAC,KAAK,YAAY;AAC/E,UAAI,OAAO,IAAI,2BAA2B,SAAS,OAAO,CAAC;AAEpD,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAAA,EAAA,GACJ,CAAC,QAAQ,CAAC;AAEb,QAAM,EAAE,uBAAuB,uBAAuB,IAAI,iBAAiB,oBAAoB;AAE/F,QAAM,0BAA0B,MAAM;AACvB,iBAAA,CAAC,MAAM,CAAC,CAAC;AAAA,EAAA;AAGxB,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,KAAK;AAAA,EAAA;AAGd,QAAA,mBAAmB,MAAM,QAAQ,MAAM;AACpC,WAAA,QAAQ,IAAI,CAAC,WAAW;AAC7B,YAAM,eAAe,CAAC,GAAG,YAAY,OAAO,QAAQ,cAAc,SAAS;AAC3E,YAAM,gBAAgB,IAAI,cAAc,cAAc,KAAK;AACrD,YAAA,iBAAiB,IAAI,cAAc,CAAC,GAAG,YAAY,OAAO,QAAQ,YAAY,GAAG,CAAA,CAAE;AACzF,YAAM,gBAAgB,oBAAoB,cAAc,EAAE,KAAK,CAAC,QAAQ,GAAG;AAEpE,aAAA;AAAA,QACL,GAAG;AAAA,QACH,aAAa;AAAA,QACb,cAAc,aAAa,KAAK,IAAI;AAAA,QACpC,wBAAwB;AAAA,QACxB,OAAO;AAAA,QACP;AAAA,QACA,OAAO,OAAO;AAAA,QACd,UAAU,OAAO;AAAA,QACjB,wBAAwB,CAAC,GAAG,YAAY,OAAO,MAAM;AAAA,MAAA;AAAA,IACvD,CACD;AAAA,EACA,GAAA,CAAC,SAAS,cAAc,UAAU,CAAC;AAEhC,QAAA,QAAsB,IAAI,cAAc,CAAC,GAAG,UAAU,GAAG,CAAA,CAAE;AAEjE,QAAM,yBAAyB;AAAA,IAC7B,OAAO,QAAQ,KAAK,EAAE,OAAsC,CAAC,KAAK,YAAY;AAC5E,YAAM,CAAC,SAAS,EAAE,WAAY,CAAA,IAAI;AAElC,UAAI,OAAO,IAAI;AAER,aAAA;AAAA,IACT,GAAG,EAAE;AAAA,EACL,EAAA,KAAK,CAAC,QAAQ,GAAG;AAEnB,SAEI,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,qBAAC,KACC,EAAA,UAAA;AAAA,MAAA,qBAAC,MAAK,EAAA,gBAAe,iBAAgB,YAAW,UAC9C,UAAA;AAAA,QAAC,oBAAA,KAAA,EAAI,cAAc,GACjB,UAAC,oBAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAA,gBACH,CAAA,GACF;AAAA,QACA,oBAAC,QAAO,EAAA,MAAM,EAAG,CAAA;AAAA,QACjB,oBAAC,KAAI,EAAA,aAAa,GAChB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM,WAAW,KAAK,IAAI;AAAA,YAC1B,UAAU;AAAA,YAEV,eAAe,CAAC,UAAU;AACD,qCAAA;AAAA,gBACrB,QAAQ;AAAA,kBACN,MAAM,WAAW,KAAK,IAAI;AAAA,kBAC1B;AAAA,gBACF;AAAA,cAAA,CACD;AAAA,YACH;AAAA,YACA,eAAe;AAAA,YACf,OAAO;AAAA,YAEN,wBAAc,EAAE,IAAI,wBAAwB,gBAAgB,cAAc;AAAA,UAAA;AAAA,QAAA,GAE/E;AAAA,MAAA,GACF;AAAA,MACC,qBAAA,MAAA,EAAK,YAAY,GAAG,eAAe,GAClC,UAAA;AAAA,QAAA,oBAAC,QAAK,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,GAC5B,UAAiB,iBAAA,IAAI,CAAC,EAAE,cAAc,OAAO,QAAQ,aAAa,oBAAoB;AAEnF,iBAAA,oBAAC,YAAS,KAAK,GACb,8BAAC,iBAAgB,EAAA,UAAU,gBAAgB,eACzC,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,UAAU;AAAA,cAEV,eAAe,CAACV,WAAU;AACD,uCAAA;AAAA,kBACrB,QAAQ;AAAA,oBACN,MAAM;AAAA,oBACN,OAAAA;AAAAA,kBACF;AAAA,gBAAA,CACD;AAAA,cACH;AAAA,cACA;AAAA,cAEC,UAAA;AAAA,YAAA;AAAA,UAAA,GAEL,KAlBqB,MAmBvB;AAAA,QAEH,CAAA,GACH;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAe;AAAA,YACf,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,IACC,eACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,mBAAmB,CAAC,cAAc,eAAe;AAAA,QACjD,SAAS;AAAA,QACT;AAAA,QACA,UAAU;AAAA,QACV,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EAEJ,EAAA,CAAA;AAEJ;AAEA,MAAM,SAAS,OAAO,GAAG;AAAA;AAAA,0BAEC,CAAC,EAAE,MAAA,MAAY,MAAM,OAAO,UAAU;AAAA;AAGhE,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA,IAG3B,CAAC,EAAE,eAAe,UAAU,YAC5B,iBACA;AAAA;AAAA;AAAA;AAAA,aAIS,KAAK,EAAE;AAAA,cACN,KAAK,EAAE;AAAA,eACN,IAAI,EAAE;AAAA,gBACL,IAAI,EAAE;AAAA,uBACC,KAAK,EAAE;AAAA,oBACV,WAAW,MAAM,OAAO,aAAa,MAAM,OAAO,UAAU;AAAA;AAAA,GAE7E;AAAA;AC9RH,MAAM,aAAa;AAAA,EACjB;AAAA,IACE,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,IAAI;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,IAAI;AAAA,IACJ,gBAAgB;AAAA,EAClB;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,IAAI;AAAA,EACN;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,IAAI;AAAA,EACN;AACF;AAqBA,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,QAAQ,gBAAgB,cAAc,CAAC,EAAA,GAAK,QAAQ;AAC/C,UAAA,CAAC,EAAE,aAAa,SAAS,gBAAgB,QAAQ,IAAI,MAAM;AAAA,MAC/D;AAAA,MACA;AAAA,MACA,MAAM,KAAK,QAAQ,WAAW;AAAA,IAAA;AAE1B,UAAA,EAAE,kBAAkB;AAEpB,UAAA,oBAAoB,KAAK,MAAM;AAC5B,aAAA;AAAA,QACL,iBAAiB;AACf,gBAAM,sBAAsB;AAAA,YAC1B,YAAY;AAAA,YACZ,aAAa;AAAA,UAAA;AAEf,gBAAM,kBAAkB,WAAW,YAAY,aAAa,aAAa,WAAW;AAEpF,gBAAM,mBAAmB,EAAE,GAAG,qBAAqB,GAAG,gBAAgB;AAElE,cAAA;AAEA,cAAA,QAAQ,gBAAgB,GAAG;AACP,kCAAA;AAAA,UAAA,OACjB;AACiB,kCAAA,OAAO,OAAO,gBAAgB,EAAE,KAAK,CAAC,aAAa,OAAO;AACvE,qBAAA,OAAO,OAAO,UAAU,EAAE;AAAA,gBAAK,CAAC,oBACrC,IAAI,iBAAiB,YAAY;AAAA,cAAA;AAAA,YACnC,CACD;AAAA,UACH;AAEA,iBAAO,EAAE,mBAAmB,wBAAwB,YAAY,GAAG,oBAAoB;AAAA,QACzF;AAAA,QACA,YAAY;AACD,mBAAA,EAAE,MAAM,aAAA,CAAc;AAAA,QACjC;AAAA,QACA,qBAAqB;AACV,mBAAA,EAAE,MAAM,wBAAA,CAAyB;AAAA,QAC5C;AAAA,MAAA;AAAA,IACF,CACD;AAED,UAAM,kDAAkD,CACtD,sBACA,cACA,SACA,UACG;AACM,eAAA;AAAA,QACP,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,UAAM,iDAAiD,CACrD,oBACA,UACA,UACG;AACM,eAAA;AAAA,QACP,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAGG,UAAA,yBAAyB,CAAC,eAAuD;AACrF,eAAS,EAAE,MAAM,wBAAwB,WAAY,CAAA;AAAA,IAAA;AAGjD,UAAA,6BACJ,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAM,QAAQ;AACxC,eAAA;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MAAA,CACD;AAAA,IACH,GAAG,CAAE,CAAA;AAED,UAAA,6BACJ,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,MAAM,QAAQ;AACxC,eAAA;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,MAAA,CACD;AAAA,IACH,GAAG,CAAE,CAAA;AAGL,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,qBAAqB,OAAO;AAAA,QAC5B;AAAA,QACA,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,wBAAwB;AAAA,QACxB,6CACE;AAAA,QAEF,4CAA4C;AAAA,QAE5C,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,OAAO,cAAc;AAAA,cACnB,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,YAED,UAAA;AAAA,cAAC,oBAAA,MAAA,EACE,qBAAW,IAAI,CAAC,aACd,oBAAA,KAAA,EACE,wBAAc,EAAE,IAAI,SAAS,SAAS,gBAAgB,SAAS,eAAgB,CAAA,KADxE,SAAS,EAEnB,CACD,EACH,CAAA;AAAA,mCACC,WAAU,EAAA,OAAO,EAAE,UAAU,WAC5B,GAAA,UAAA;AAAA,gBAAA,oBAAC,UACC,EAAA,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,QAAQ,QAAQ;AAAA,oBAChB,MAAK;AAAA,oBACL;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,oCACC,UACC,EAAA,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,QAAQ,QAAQ;AAAA,oBAChB,MAAK;AAAA,oBACL;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,oCACC,UACC,EAAA,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,QAAQ,QAAQ;AAAA,oBAChB,MAAK;AAAA,oBACL;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,oCACC,UACC,EAAA,UAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,QAAQ,QAAQ;AAAA,oBAChB,MAAK;AAAA,oBACL;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,cAAA,GACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAwBA,MAAM,eAAe;AAAA,EACnB,aAAa,CAAC;AAAA,EACd,cAAc,CAAC;AAAA,EACf,SAAS,CAAC;AACZ;AAoDA,MAAM,UAAU,CAAC,OAAc,WAC7B,QAAQ,OAAO,CAAC,eAAe;AAC7B,UAAQ,OAAO,MAAM;AAAA,IAGnB,KAAK,oDAAoD;AACvD,YAAM,EAAE,oBAAoB,UAAU,MAAA,IAAU;AAC1C,YAAA,aAAa,CAAC,gBAAgB,kBAAkB;AAE/C,aAAA,KAAK,IAAI,OAAO,UAAU,CAAC,EAAE,QAAQ,CAAC,mBAAmB;AAC9D,cAAM,2BAA2B;AAAA,UAC/B;AAAA,UACA,CAAC,GAAG,YAAY,gBAAgB,QAAQ;AAAA,UACxC;AAAA,QAAA;AAGF,YAAI,0BAA0B;AACxB,cAAA,gBAAgB,aAAa,0BAA0B,KAAK;AAI5D,cAAA,CAAC,SAAS,cAAc,YAAY;AAEtC,kBAAM,oBAAoB,aAAa,cAAc,YAAY,KAAK;AAEtE,4BAAgB,EAAE,GAAG,eAAe,YAAY,kBAAkB;AAAA,UACpE;AAEA,cAAI,YAAY,CAAC,GAAG,YAAY,gBAAgB,QAAQ,GAAG,aAAa;AAAA,QAC1E;AAAA,MAAA,CACD;AAED;AAAA,IACF;AAAA,IACA,KAAK,+CAA+C;AAClD,YAAM,EAAE,sBAAsB,cAAc,SAAS,UAAU;AAC3D,UAAA,wBAAwB,UAAU,MAAM,YAAY;AAClD,YAAA,mCAAmC,qBAAqB,MAAM,IAAI;AAExE,YAAM,cAAc,IAAI,uBAAuB,kCAAkC,CAAE,CAAA;AAEnF,aAAO,KAAK,WAAW,EAAE,QAAQ,CAAC,aAAa;AAI7C,YAAI,IAAI,YAAY,QAAQ,GAAG,cAAc,YAAY,EAAE,GAAG;AACtD,gBAAA,WAAW,IAAI,aAAa,CAAC,UAAU,cAAc,cAAc,OAAO,CAAC;AACjF,gBAAM,kBAAkB;AAAA,YACtB,GAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAGE,cAAA,CAAC,SAAS,QAAQ,GAAG;AACnB,gBAAA,uBAAuB,iBAAiB,KAAK;AAAA,UAAA,OAC5C;AACC,kBAAA,eAAe,aAAa,UAAU,KAAK;AAE7C,gBAAA,uBAAuB,iBAAiB,YAAY;AAAA,UAC1D;AAAA,QACF;AAAA,MAAA,CACD;AAGD,UAAI,CAAC,OAAO;AAEV,gCAAwB,wBAAwB,qBAAqB;AAAA,MACvE;AAEI,UAAA,YAAY,gBAAgB,qBAAqB;AAErD;AAAA,IACF;AAAA,IACA,KAAK,wBAAwB;AAC3B,aAAO,QAAQ,OAAO,UAAU,EAAE,QAAQ,CAAC,UAAU;AAC7C,cAAA,CAAC,kBAAkB,kBAAkB,IAAI;AAE/C;AAAA,UACE;AAAA,UACA,CAAC,gBAAgB,GAAG,iBAAiB,MAAM,IAAI,GAAG,YAAY;AAAA,UAC9D;AAAA,QAAA;AAAA,MACF,CACD;AAED;AAAA,IACF;AAAA,IACA,KAAK,6BAA6B;AAC5B,UAAA,wBAAwB,UAAU,MAAM,YAAY;AAEpD,UAAA,uBAAuB,CAAC,GAAG,OAAO,KAAK,MAAM,IAAI,CAAC,GAAG,OAAO,KAAK;AAGjE,UAAA,CAAC,OAAO,OAAO;AAEjB,gCAAwB,wBAAwB,qBAAqB;AAAA,MACvE;AAEI,UAAA,YAAY,gBAAgB,qBAAqB;AAErD;AAAA,IACF;AAAA,IAkCA,KAAK,oCAAoC;AACjC,YAAA,EAAE,MAAM,MAAU,IAAA;AACxB,YAAM,cAAc,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC;AACpC,UAAA,wBAAwB,UAAU,MAAM,YAAY;AACxD,YAAM,YAAY,IAAI,uBAAuB,aAAa,CAAE,CAAA;AAEtD,YAAA,gBAAgB,aAAa,WAAW,KAAK;AAC/C,UAAA,uBAAuB,aAAa,aAAa;AAGrD,UAAI,CAAC,OAAO;AAEV,gCAAwB,wBAAwB,qBAAqB;AAAA,MACvE;AAEA,UAAI,YAAY,CAAC,cAAc,GAAG,qBAAqB;AAEvD;AAAA,IACF;AAAA,IACA,KAAK,cAAc;AACjB,iBAAW,eAAe,MAAM;AAChC;AAAA,IACF;AAAA,IACA,KAAK,yBAAyB;AAC5B,iBAAW,cAAc,MAAM;AAC/B;AAAA,IACF;AAAA,IACA;AACS,aAAA;AAAA,EACX;AACF,CAAC;AAMH,MAAM,OAAO,CACX,QACA,gBACU;AACJ,QAAA;AAAA,IACJ;AAAA,IACA,UAAU,EAAE,iBAAiB,aAAa,SAAS,SAAS;AAAA,EAC1D,IAAA;AAEJ,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA,SAAS,aAAa,SAAS,QAAQ;AAAA,IACvC,UAAU,aAAa,UAAU,UAAU;AAAA,EAAA;AAG7C,QAAM,cAAc;AAAA,IAClB,iBAAiB,oBAAoB,iBAAiB,YAAY,WAAW;AAAA,IAC7E,aAAa,oBAAoB,aAAa,YAAY,WAAW;AAAA,IACrE,SAAS,kBAAkB,QAAQ,SAAS,YAAY,WAAW;AAAA,IACnE,UAAU,kBAAkB,QAAQ,UAAU,YAAY,WAAW;AAAA,EAAA;AAGhE,SAAA;AAAA,IACL,aAAa;AAAA,IACb,cAAc;AAAA,IACd;AAAA,EAAA;AAEJ;"}
|