@strapi/admin 4.10.5 → 4.10.7
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/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/index.js +1 -1
- package/admin/src/content-manager/components/FieldComponent/index.js +1 -1
- package/admin/src/content-manager/components/Inputs/index.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +67 -71
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -5
- package/admin/src/content-manager/pages/App/useContentManagerInitData.js +2 -3
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -5
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/index.js +1 -1
- package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
- package/admin/src/content-manager/pages/ListView/index.js +1 -2
- package/admin/src/hooks/index.js +1 -1
- package/admin/src/hooks/marketplace/constants.js +1 -0
- package/admin/src/hooks/{useFetchMarketplacePlugins → marketplace/useFetchMarketplacePlugins}/index.js +21 -1
- package/admin/src/hooks/{useFetchMarketplaceProviders → marketplace/useFetchMarketplaceProviders}/index.js +21 -1
- package/admin/src/hooks/useAdminUsers/__mocks__/index.js +5 -0
- package/admin/src/hooks/useAdminUsers/index.js +1 -0
- package/admin/src/hooks/useAdminUsers/useAdminUsers.js +38 -0
- package/admin/src/hooks/useContentTypes/__mocks__/index.js +6 -0
- package/admin/src/hooks/useContentTypes/index.js +1 -0
- package/admin/src/hooks/useContentTypes/useContentTypes.js +45 -0
- package/admin/src/hooks/useReleaseNotification/utils/api.js +6 -5
- package/admin/src/pages/Admin/Onboarding/index.js +89 -91
- package/admin/src/pages/App/index.js +1 -5
- package/admin/src/pages/AuthPage/components/Register/index.js +3 -4
- package/admin/src/pages/AuthPage/index.js +11 -26
- package/admin/src/pages/HomePage/index.js +3 -2
- package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +12 -8
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +39 -41
- package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +2 -2
- package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +28 -26
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +3 -2
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +36 -26
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -8
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +6 -7
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +54 -63
- package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +11 -9
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +12 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +120 -205
- package/admin/src/pages/UseCasePage/index.js +13 -15
- package/admin/src/translations/ar.json +684 -1
- package/admin/src/translations/en.json +12 -9
- package/build/1387.a86ac314.chunk.js +1 -0
- package/build/{1657.85034334.chunk.js → 1657.3f2b2c11.chunk.js} +46 -54
- package/build/3081.7e9329cb.chunk.js +105 -0
- package/build/462.6f8cbd19.chunk.js +71 -0
- package/build/5542.64b623c9.chunk.js +63 -0
- package/build/5563.79950369.chunk.js +79 -0
- package/build/617.1591eeb0.chunk.js +155 -0
- package/build/6970.6a329e15.chunk.js +1 -0
- package/build/7259.5cc67413.chunk.js +1 -0
- package/build/9036.f7ce35cc.chunk.js +211 -0
- package/build/Admin-authenticatedApp.ad8a8a15.chunk.js +79 -0
- package/build/{Admin_homePage.e15dcf28.chunk.js → Admin_homePage.94dc81b1.chunk.js} +16 -16
- package/build/Admin_marketplace.1b0c3d3b.chunk.js +55 -0
- package/build/Admin_pluginsPage.a28b96d5.chunk.js +6 -0
- package/build/{Admin_profilePage.1687246a.chunk.js → Admin_profilePage.a8fa3a56.chunk.js} +1 -1
- package/build/Admin_settingsPage.ee76d19e.chunk.js +79 -0
- package/build/admin-app.bd209f08.chunk.js +63 -0
- package/build/{admin-edit-roles-page.6fe9de49.chunk.js → admin-edit-roles-page.0d12b741.chunk.js} +3 -3
- package/build/admin-edit-users.f9ce7844.chunk.js +10 -0
- package/build/admin-roles-list.af53b372.chunk.js +23 -0
- package/build/admin-users.0fc77b35.chunk.js +26 -0
- package/build/ar-json.f530bc3f.chunk.js +1 -0
- package/build/audit-logs-settings-page.dc07596e.chunk.js +121 -0
- package/build/{content-manager.a97db8a1.chunk.js → content-manager.70548048.chunk.js} +95 -95
- package/build/content-type-builder-list-view.26aab6f3.chunk.js +215 -0
- package/build/content-type-builder-translation-en-json.af293c9e.chunk.js +1 -0
- package/build/content-type-builder.b10576e7.chunk.js +126 -0
- package/build/email-settings-page.63f269ff.chunk.js +11 -0
- package/build/en-json.ba3290b8.chunk.js +1 -0
- package/build/i18n-settings-page.f84c4782.chunk.js +114 -0
- package/build/index.html +1 -1
- package/build/main.4016f4ad.js +2630 -0
- package/build/review-workflows-settings.56cab253.chunk.js +61 -0
- package/build/{runtime~main.df78e1c7.js → runtime~main.d7e177e4.js} +1 -1
- package/build/{sso-settings-page.c9d7c8df.chunk.js → sso-settings-page.265e3d72.chunk.js} +1 -1
- package/build/upload-settings.1d187578.chunk.js +14 -0
- package/build/upload.bc340679.chunk.js +26 -0
- package/build/users-advanced-settings-page.7b4bf63a.chunk.js +9 -0
- package/build/users-email-settings-page.035a026c.chunk.js +24 -0
- package/build/users-providers-settings-page.6873dce9.chunk.js +29 -0
- package/build/{users-roles-settings-page.eeb3a339.chunk.js → users-roles-settings-page.2549794b.chunk.js} +2 -2
- package/build/webhook-edit-page.ddd5963d.chunk.js +128 -0
- package/build/webhook-list-page.0861d3e9.chunk.js +63 -0
- package/ee/LICENSE +1 -21
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +1 -2
- package/ee/admin/pages/AuthPage/components/Login/index.js +1 -1
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -1
- package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +36 -28
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +3 -3
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +32 -21
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/formDataModel.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/roleSettingsForm.js +1 -1
- package/ee/server/services/audit-logs.js +5 -1
- package/package.json +18 -21
- package/webpack.alias.js +0 -2
- package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +0 -18
- package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +0 -18
- package/admin/src/hooks/useModels/index.js +0 -58
- package/admin/src/hooks/useModels/reducer.js +0 -45
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +0 -20
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +0 -13
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +0 -72
- package/build/1387.437eb420.chunk.js +0 -1
- package/build/3081.c2cdfac8.chunk.js +0 -108
- package/build/3816.1a828046.chunk.js +0 -211
- package/build/462.a073ff1f.chunk.js +0 -71
- package/build/5542.002522eb.chunk.js +0 -71
- package/build/5563.44e0ef15.chunk.js +0 -79
- package/build/617.2c8c7183.chunk.js +0 -155
- package/build/6970.e8422af3.chunk.js +0 -1
- package/build/7259.3ed2b60e.chunk.js +0 -1
- package/build/Admin-authenticatedApp.6b74c5fd.chunk.js +0 -79
- package/build/Admin_marketplace.87f51b29.chunk.js +0 -55
- package/build/Admin_pluginsPage.7df6b5a9.chunk.js +0 -6
- package/build/Admin_settingsPage.20884a40.chunk.js +0 -79
- package/build/admin-app.d4fd9379.chunk.js +0 -63
- package/build/admin-edit-users.49363035.chunk.js +0 -10
- package/build/admin-roles-list.a323aa9f.chunk.js +0 -31
- package/build/admin-users.16bb6e77.chunk.js +0 -34
- package/build/ar-json.39e54aba.chunk.js +0 -1
- package/build/audit-logs-settings-page.7ec976e1.chunk.js +0 -129
- package/build/content-type-builder-list-view.1e821eb9.chunk.js +0 -215
- package/build/content-type-builder-translation-en-json.5e5f8607.chunk.js +0 -1
- package/build/content-type-builder.51c64fe5.chunk.js +0 -126
- package/build/email-settings-page.dba83275.chunk.js +0 -11
- package/build/en-json.1f6af924.chunk.js +0 -1
- package/build/i18n-settings-page.e34ec940.chunk.js +0 -114
- package/build/main.57970a57.js +0 -2674
- package/build/review-workflows-settings.26409ce4.chunk.js +0 -61
- package/build/upload-settings.63d99bf5.chunk.js +0 -14
- package/build/upload.bf183c0c.chunk.js +0 -34
- package/build/users-advanced-settings-page.4f49ca57.chunk.js +0 -9
- package/build/users-email-settings-page.756aa7ab.chunk.js +0 -24
- package/build/users-providers-settings-page.ff9e4c0a.chunk.js +0 -29
- package/build/webhook-edit-page.550be445.chunk.js +0 -128
- package/build/webhook-list-page.0983d83f.chunk.js +0 -71
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{55734:function(G,b,t){t.d(b,{Z:function(){return ge}});var e=t(32735),o=t(24989),A=t(27649),M=t(20108),p=t(53038),j=t(70166),me=t(60216),i=t.n(me),ne=t(2438),re=t(66456),Ee=t(29439),pe=t(82055),m=t(87933),S=t(41415),fe=t(17e3),k=t(72850),J=t(15335),D=t(5803),Y=t(10369),I=t(92802),$=t(67879),se=t(28847),O=t(49372),le=t(8471),ve=t(8284),Ce=t(82884),be=t(23940),Me=t.n(be);const W=({disabledEvents:n,name:r,events:s,inputValue:l,handleChange:c,handleChangeAll:f})=>{const d=s.filter(h=>!n.includes(h)),u=l.length===d.length,E=l.length>0,x=({target:{name:h}})=>{f({target:{name:h,value:!u}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(ve.X,{indeterminate:E&&!u,"aria-label":"Select all entries",name:r,onChange:x,value:u},Me()(r))),s.map(h=>e.createElement("td",{key:h},e.createElement(Ce.C,{disabled:n.includes(h),"aria-label":h,name:h,value:l.includes(h),onValueChange:v=>c({target:{name:h,value:v}})}))))};W.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},W.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var a=W;const y=n=>n.reduce((r,s)=>{const l=s.split(".")[0];return r[l]||(r[l]=[]),r[l].push(s),r},{}),U=le.ZP.table`
|
|
2
|
+
td {
|
|
3
|
+
height: ${52/16}rem;
|
|
4
|
+
width: 10%;
|
|
5
|
+
vertical-align: middle;
|
|
6
|
+
text-align: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
tbody tr:nth-child(odd) {
|
|
10
|
+
background: ${({theme:n})=>n.colors.neutral100};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
tbody tr td:first-child {
|
|
14
|
+
padding-left: ${({theme:n})=>n.spaces[7]};
|
|
15
|
+
}
|
|
16
|
+
`,Z={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},K=({isDraftAndPublish:n})=>{const r=n?Z.headers.draftAndPublish:Z.headers.default,s=n?Z.events.draftAndPublish:Z.events.default,{formatMessage:l}=(0,$.Z)(),{values:c,handleChange:f}=(0,I.u6)(),d="events",u=c.events,E=[],x=y(u),h=({target:{name:g,value:B}})=>{let R=new Set(u);B?R.add(g):R.delete(g),f({target:{name:d,value:Array.from(R)}})},v=({target:{name:g,value:B}})=>{let R=new Set(u);B?s[g].forEach(L=>{E.includes(L)||R.add(L)}):s[g].forEach(L=>R.delete(L)),f({target:{name:d,value:Array.from(R)}})};return e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(se.Q,null,l({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(U,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),r.map(g=>g==="app.utils.publish"||g==="app.utils.unpublish"?e.createElement("td",{key:g.id,title:l({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},l(g))):e.createElement("td",{key:g.id},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},l(g)))))),e.createElement("tbody",null,Object.keys(s).map(g=>e.createElement(a,{disabledEvents:E,key:g,name:g,events:s[g],inputValue:x[g],handleChange:h,handleChangeAll:v})))))};K.propTypes={isDraftAndPublish:i().bool.isRequired};var q=K,ye=t(19406),Pe=t(7563),xe=t(21428),ee=t(90333),ie=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];const te=({name:n,onChange:r,value:s,...l})=>{const[c,f]=(0,e.useState)(s?[...ie,s]:ie),d=E=>{r({target:{name:n,value:E}})},u=E=>{f(x=>[...x,E]),r({target:{name:n,value:E}})};return e.createElement(xe.XU,{...l,onChange:d,onCreateOption:u,placeholder:"",value:s},c.map(E=>e.createElement(ee.O,{value:E,key:E},E)))};te.defaultProps={value:void 0},te.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var Ie=te,Oe=()=>{const{formatMessage:n}=(0,$.Z)(),{values:r,errors:s}=(0,I.u6)();return e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(se.Q,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(k.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(I.F2,{validateOnChange:!1,name:"headers",render:({push:l,remove:c})=>e.createElement(J.r,{gap:4},r.headers?.map((f,d)=>e.createElement(e.Fragment,{key:d},e.createElement(D.P,{col:6},e.createElement(I.gN,{as:Ie,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:s.headers?.[d]?.key&&n({id:s.headers[d]?.key,defaultMessage:s.headers[d]?.key})})),e.createElement(D.P,{col:6},e.createElement(m.k,{alignItems:"flex-end"},e.createElement(k.x,{style:{flex:1}},e.createElement(I.gN,{as:Y.o,"aria-label":`row ${d+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:s.headers?.[d]?.value&&n({id:s.headers[d]?.value,defaultMessage:s.headers[d]?.value})})),e.createElement(m.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:s.headers?.[d]?.value?0:5},e.createElement(o.fG,{onClick:()=>r.headers.length!==1&&c(d),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))),e.createElement(D.P,{col:12},e.createElement(Pe.A,{type:"button",onClick:()=>{l({key:"",value:""})},startIcon:e.createElement(ye.Z,null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},Re=t(27169),F=t(35331);const Q=le.ZP.svg(({theme:n,color:r})=>`
|
|
17
|
+
width: ${12/16}rem;
|
|
18
|
+
height: ${12/16}rem;
|
|
19
|
+
|
|
20
|
+
path {
|
|
21
|
+
fill: ${n.colors[r]};
|
|
22
|
+
}
|
|
23
|
+
`),ae=({isPending:n,statusCode:r})=>{const{formatMessage:s}=(0,$.Z)();return n?e.createElement(m.k,{gap:2,alignItems:"center"},e.createElement(Q,{as:Re.Z}),e.createElement(O.Z,null,s({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):r>=200&&r<300?e.createElement(m.k,{gap:2,alignItems:"center"},e.createElement(Q,{as:re.Z,color:"success700"}),e.createElement(O.Z,null,s({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):r>=300?e.createElement(m.k,{gap:2,alignItems:"center"},e.createElement(Q,{as:F.Z,color:"danger700"}),e.createElement(O.Z,null,s({id:"Settings.error",defaultMessage:"error"})," ",r)):null};ae.propTypes={isPending:i().bool.isRequired,statusCode:i().number},ae.defaultProps={statusCode:void 0};const H=({statusCode:n,message:r})=>{const{formatMessage:s}=(0,$.Z)();return n>=200&&n<300?e.createElement(m.k,{justifyContent:"flex-end"},e.createElement(O.Z,{textColor:"neutral600",ellipsis:!0},s({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(m.k,{justifyContent:"flex-end"},e.createElement(m.k,{maxWidth:(0,o.Q1)(250),justifyContent:"flex-end",title:r},e.createElement(O.Z,{ellipsis:!0,textColor:"neutral600"},r))):null};H.propTypes={statusCode:i().number,message:i().string},H.defaultProps={statusCode:void 0,message:void 0};const N=({onCancel:n})=>{const{formatMessage:r}=(0,$.Z)();return e.createElement(m.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(m.k,{gap:2,alignItems:"center"},e.createElement(O.Z,{textColor:"neutral400"},r({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(Q,{as:F.Z,color:"neutral400"}))))};N.propTypes={onCancel:i().func.isRequired};const z=({isPending:n,onCancel:r,response:s})=>{const{statusCode:l,message:c}=s,{formatMessage:f}=(0,$.Z)();return e.createElement(k.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(J.r,{gap:4,style:{alignItems:"center"}},e.createElement(D.P,{col:3},e.createElement(O.Z,null,f({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(D.P,{col:3},e.createElement(ae,{isPending:n,statusCode:l})),e.createElement(D.P,{col:6},n?e.createElement(N,{onCancel:r}):e.createElement(H,{statusCode:l,message:c}))))};z.defaultProps={isPending:!1,onCancel(){},response:{}},z.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var Te=z,P=t(24346);const De=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,de=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var ce=P.Ry().shape({name:P.Z_(o.I0.string).required(o.I0.required).matches(De,o.I0.regex),url:P.Z_(o.I0.string).required(o.I0.required).matches(de,o.I0.regex),headers:P.Vo(n=>{let r=P.IX();if(n.length===1){const{key:s,value:l}=n[0];if(!s&&!l)return r}return r.of(P.Ry().shape({key:P.Z_().required(o.I0.required),value:P.Z_().required(o.I0.required)}))}),events:P.IX()});const _=({handleSubmit:n,data:r,triggerWebhook:s,isCreating:l,isTriggering:c,triggerResponse:f,isDraftAndPublishEvents:d})=>{const{formatMessage:u}=(0,$.Z)(),[E,x]=(0,e.useState)(!1);return e.createElement(I.J9,{onSubmit:n,initialValues:{name:r?.name||"",url:r?.url||"",headers:Object.keys(r?.headers||[]).length?Object.entries(r.headers).map(([h,v])=>({key:h,value:v})):[{key:"",value:""}],events:r?.events||[]},validationSchema:ce,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:h,errors:v})=>e.createElement(o.l0,{noValidate:!0},e.createElement(pe.T,{primaryAction:e.createElement(m.k,{gap:2},e.createElement(S.z,{onClick:()=>{s(),x(!0)},variant:"tertiary",startIcon:e.createElement(ne.Z,null),disabled:l||c,size:"L"},u({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(S.z,{startIcon:e.createElement(re.Z,null),onClick:h,type:"submit",size:"L"},u({id:"global.save",defaultMessage:"Save"}))),title:l?u({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):r?.name,navigationAction:e.createElement(o.rU,{startIcon:e.createElement(Ee.Z,null),to:"/settings/webhooks"},u({id:"global.back",defaultMessage:"Back"}))}),e.createElement(fe.D,null,e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:4},E&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(Te,{isPending:c,response:f,onCancel:()=>x(!1)})),e.createElement(k.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(J.r,{gap:6},e.createElement(D.P,{col:6},e.createElement(I.gN,{as:Y.o,name:"name",error:v.name&&u({id:v.name}),label:u({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(D.P,{col:12},e.createElement(I.gN,{as:Y.o,name:"url",error:v.url&&u({id:v.url}),label:u({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Oe,null),e.createElement(q,{isDraftAndPublish:d})))))))};_.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},_.defaultProps={data:void 0,triggerResponse:void 0};var Ae=_;const ue=n=>({...n,headers:X(n.headers)}),X=n=>n.reduce((r,s)=>{const{key:l,value:c}=s;return l!==""?{...r,[l]:c}:r},{});var he=ue,ge=()=>{const{params:{id:n}}=(0,p.$B)("/settings/webhooks/:id"),{replace:r}=(0,p.k6)(),{lockApp:s,unlockApp:l}=(0,o.o1)(),c=(0,o.lm)(),f=(0,M.useQueryClient)(),{isLoading:d,collectionTypes:u}=(0,j.G)(),{put:E,get:x,post:h}=(0,o.kY)(),v=n==="create",{isLoading:g,data:B}=(0,M.useQuery)(["get-webhook",n],async()=>{try{const{data:{data:T}}=await x(`/admin/webhooks/${n}`);return T}catch{return c({type:"warning",message:{id:"notification.error"}}),null}},{enabled:!v}),{isLoading:R,data:L,isIdle:je,mutate:ke}=(0,M.useMutation)(()=>h(`/admin/webhooks/${n}/trigger`)),C=()=>ke(null,{onError(){c({type:"warning",message:{id:"notification.error"}})}}),Se=(0,M.useMutation)(T=>h("/admin/webhooks",T)),Ze=(0,M.useMutation)(({id:T,body:V})=>E(`/admin/webhooks/${T}`,V)),Be=async T=>{v?(s(),Se.mutate(he(T),{onSuccess({data:V}){c({type:"success",message:{id:"Settings.webhooks.created"}}),r(`/settings/webhooks/${V.data.id}`),l()},onError(V){c({type:"warning",message:{id:"notification.error"}}),console.log(V),l()}})):(s(),Ze.mutate({id:n,body:he(T)},{onSuccess(){f.invalidateQueries(["get-webhook",n]),c({type:"success",message:{id:"notification.form.success.fields"}}),l()},onError(V){c({type:"warning",message:{id:"notification.error"}}),console.log(V),l()}}))},We=e.useMemo(()=>u.some(T=>T.options.draftAndPublish===!0),[u]);return g||d?e.createElement(o.dO,null):e.createElement(A.o,null,e.createElement(o.SL,{name:"Webhooks"}),e.createElement(Ae,{handleSubmit:Be,data:B,triggerWebhook:C,isCreating:v,isTriggering:R,isTriggerIdle:je,triggerResponse:L?.data.data,isDraftAndPublishEvents:We}))}},33238:function(G,b,t){t.r(b);var e=t(32735),o=t(24989),A=t(83983),M=t(55734);const p=()=>e.createElement(o.O4,{permissions:A.Z.settings.webhooks.create},e.createElement(M.Z,null));b.default=p},59021:function(G,b,t){t.r(b);var e=t(32735),o=t(24989),A=t(83983),M=t(55734);const p=()=>e.createElement(o.O4,{permissions:A.Z.settings.webhooks.update},e.createElement(M.Z,null));b.default=p},21428:function(G,b,t){t.d(b,{Wx:function(){return Me},XU:function(){return $},hQ:function(){return I}});var e=t(74512),o=t(32735),A=t(35331),M=t(16899),p=t(42345),j=t(8471),me=t(14268),i=t(95976),ne=t(74971),re=t(36971),Ee=t(30350),pe=t(23866),m=t(72850),S=t(49372),fe=t(87107),k=t(87933),J=t(28847),D=t(67014),Y=t(47851);const I=({children:a,clearLabel:y="clear",creatable:U=!1,createMessage:Z=X=>`Create "${X}"`,defaultFilterValue:K,defaultTextValue:q,defaultOpen:ye=!1,open:Pe,onOpenChange:xe,disabled:ee=!1,error:oe,filterValue:ie,hasMoreItems:te=!1,hint:Ie,id:$e,label:Oe,labelAction:Re,loading:F=!1,loadingMessage:Q="Loading content...",noOptionsMessage:ae=()=>"No results found",onChange:H,onClear:N,onCreateOption:z,onFilterValueChange:Te,onInputChange:P,onTextValueChange:De,onLoadMore:de,placeholder:Le="Select or enter a value",required:ce=!1,startIcon:_,textValue:Ae,value:ue})=>{const[X,he]=(0,i.T)({prop:Pe,defaultProp:ye,onChange:xe}),[w,ge]=(0,i.T)({prop:Ae,defaultProp:q,onChange:De}),[n,r]=(0,i.T)({prop:ie,defaultProp:K,onChange:Te}),s=o.useRef(null),l=o.useRef(null),c=o.useRef(null),f=(0,ne.M)($e),d=C=>{N&&!ee&&(ge(""),r(""),N(C),l.current.focus())},u=C=>{he(C)},E=C=>{ge(C)},x=C=>{r(C)},h=C=>{P&&P(C)},v=C=>{H&&H(C)},g=(0,ne.M)(),B=`intersection-${(0,me.B)(g)}`,R=C=>{de&&te&&!F&&de(C)},L=()=>{z&&w&&z(w)};(0,re.s)(s,R,{selectorToWatch:`#${B}`,skipWhen:!X});const je=`${f}-hint`,ke=`${f}-error`;return(0,e.jsx)(fe.g,{hint:Ie,error:oe,id:f,required:ce,children:(0,e.jsxs)(k.k,{direction:"column",alignItems:"stretch",gap:1,children:[(0,e.jsx)(J.Q,{action:Re,children:Oe}),(0,e.jsxs)(p.hQ.Root,{autocomplete:U?"list":"both",open:X,onOpenChange:u,onTextValueChange:E,textValue:w,allowCustomValue:!0,disabled:ee,required:ce,value:ue===null?void 0:ue,onValueChange:v,filterValue:n,onFilterValueChange:x,children:[(0,e.jsxs)(O,{$hasError:!!oe,children:[(0,e.jsxs)(k.k,{flex:"1",as:"span",gap:3,children:[_?(0,e.jsx)(m.x,{as:"span","aria-hidden":!0,children:_}):null,(0,e.jsx)(le,{placeholder:Le,id:f,"aria-invalid":!!oe,"aria-labelledby":`${je} ${ke}`,onChange:h,ref:l})]}),(0,e.jsxs)(k.k,{as:"span",gap:3,children:[w&&N?(0,e.jsx)(se,{as:"button",hasRadius:!0,background:"transparent",type:"button",onClick:d,"aria-disabled":ee,"aria-label":y,title:y,ref:c,children:(0,e.jsx)(A.Z,{})}):null,(0,e.jsx)(ve,{children:(0,e.jsx)(M.Z,{})})]})]}),(0,e.jsx)(p.hQ.Portal,{children:(0,e.jsx)(Ce,{sideOffset:4,children:(0,e.jsxs)(be,{ref:s,children:[a,U?(0,e.jsx)(p.hQ.CreateItem,{onPointerUp:L,onClick:L,asChild:!0,children:(0,e.jsx)(W,{children:(0,e.jsx)(S.Z,{children:Z(w??"")})})}):null,!U&&!F?(0,e.jsx)(p.hQ.NoValueFound,{asChild:!0,children:(0,e.jsx)(W,{$hasHover:!1,children:(0,e.jsx)(S.Z,{children:ae(w??"")})})}):null,F?(0,e.jsx)(k.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2,children:(0,e.jsx)(pe.a,{small:!0,children:Q})}):null,(0,e.jsx)(m.x,{id:B,width:"100%",height:"1px"})]})})})]}),(0,e.jsx)(D.J,{}),(0,e.jsx)(Y.c,{})]})})},$=a=>(0,e.jsx)(I,{...a,creatable:!0}),se=(0,j.ZP)(m.x)`
|
|
24
|
+
border: none;
|
|
25
|
+
|
|
26
|
+
svg {
|
|
27
|
+
height: ${11/16}rem;
|
|
28
|
+
width: ${11/16}rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
svg path {
|
|
32
|
+
fill: ${({theme:a})=>a.colors.neutral600};
|
|
33
|
+
}
|
|
34
|
+
`,O=(0,j.ZP)(p.hQ.Trigger)`
|
|
35
|
+
position: relative;
|
|
36
|
+
border: 1px solid ${({theme:a,$hasError:y})=>y?a.colors.danger600:a.colors.neutral200};
|
|
37
|
+
padding-right: ${({theme:a})=>a.spaces[3]};
|
|
38
|
+
padding-left: ${({theme:a})=>a.spaces[3]};
|
|
39
|
+
border-radius: ${({theme:a})=>a.borderRadius};
|
|
40
|
+
background: ${({theme:a})=>a.colors.neutral0};
|
|
41
|
+
overflow: hidden;
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: space-between;
|
|
45
|
+
gap: ${({theme:a})=>a.spaces[4]};
|
|
46
|
+
|
|
47
|
+
&[data-disabled] {
|
|
48
|
+
color: ${({theme:a})=>a.colors.neutral600};
|
|
49
|
+
background: ${({theme:a})=>a.colors.neutral150};
|
|
50
|
+
cursor: not-allowed;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Required to ensure the below inputFocusStyles are adhered too */
|
|
54
|
+
&:focus-visible {
|
|
55
|
+
outline: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
${({theme:a,$hasError:y})=>(0,Ee.k3)()({theme:a,hasError:y})};
|
|
59
|
+
`,le=(0,j.ZP)(p.hQ.TextInput)`
|
|
60
|
+
width: 100%;
|
|
61
|
+
font-size: ${14/16}rem;
|
|
62
|
+
color: ${({theme:a})=>a.colors.neutral800};
|
|
63
|
+
min-height: ${40/16}rem;
|
|
64
|
+
border: none;
|
|
65
|
+
background-color: transparent;
|
|
66
|
+
|
|
67
|
+
&:focus-visible {
|
|
68
|
+
outline: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&[aria-disabled='true'] {
|
|
72
|
+
cursor: inherit;
|
|
73
|
+
}
|
|
74
|
+
`,ve=(0,j.ZP)(p.hQ.Icon)`
|
|
75
|
+
& > svg {
|
|
76
|
+
width: ${6/16}rem;
|
|
77
|
+
|
|
78
|
+
& > path {
|
|
79
|
+
fill: ${({theme:a})=>a.colors.neutral600};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&[aria-disabled='true'] {
|
|
84
|
+
cursor: inherit;
|
|
85
|
+
}
|
|
86
|
+
`,Ce=(0,j.ZP)(p.hQ.Content)`
|
|
87
|
+
background: ${({theme:a})=>a.colors.neutral0};
|
|
88
|
+
box-shadow: ${({theme:a})=>a.shadows.filterShadow};
|
|
89
|
+
border: 1px solid ${({theme:a})=>a.colors.neutral150};
|
|
90
|
+
border-radius: ${({theme:a})=>a.borderRadius};
|
|
91
|
+
width: var(--radix-combobox-trigger-width);
|
|
92
|
+
/* This is from the design-system figma file. */
|
|
93
|
+
max-height: 15rem;
|
|
94
|
+
z-index: ${({theme:a})=>a.zIndices[1]};
|
|
95
|
+
`,be=(0,j.ZP)(p.hQ.Viewport)`
|
|
96
|
+
padding: ${({theme:a})=>a.spaces[1]};
|
|
97
|
+
`,Me=o.forwardRef(({children:a,value:y,disabled:U,textValue:Z,...K},q)=>(0,e.jsx)(p.hQ.ComboboxItem,{asChild:!0,value:y,disabled:U,textValue:Z,children:(0,e.jsx)(W,{ref:q,...K,children:(0,e.jsx)(p.hQ.ItemText,{asChild:!0,children:(0,e.jsx)(S.Z,{children:a})})})})),W=j.ZP.div`
|
|
98
|
+
width: 100%;
|
|
99
|
+
border: none;
|
|
100
|
+
text-align: left;
|
|
101
|
+
outline-offset: -3px;
|
|
102
|
+
padding: ${({theme:a})=>a.spaces[2]} ${({theme:a})=>a.spaces[4]};
|
|
103
|
+
background-color: ${({theme:a})=>a.colors.neutral0};
|
|
104
|
+
border-radius: ${({theme:a})=>a.borderRadius};
|
|
105
|
+
user-select: none;
|
|
106
|
+
|
|
107
|
+
&[data-selected] {
|
|
108
|
+
background-color: ${({theme:a})=>a.colors.primary100};
|
|
109
|
+
|
|
110
|
+
${S.Z} {
|
|
111
|
+
color: ${({theme:a})=>a.colors.primary600};
|
|
112
|
+
font-weight: bold;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&:hover,
|
|
117
|
+
&[data-highlighted] {
|
|
118
|
+
outline: none;
|
|
119
|
+
background-color: ${({theme:a,$hasHover:y=!0})=>y?a.colors.primary100:a.colors.neutral0};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
&[data-highlighted] {
|
|
123
|
+
${S.Z} {
|
|
124
|
+
color: ${({theme:a})=>a.colors.primary600};
|
|
125
|
+
font-weight: bold;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
`},90333:function(G,b,t){t.d(b,{O:function(){return o}});var e=t(21428);const o=e.Wx},29439:function(G,b,t){t.d(b,{Z:function(){return A}});var e=t(74512);const o=M=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...M,children:(0,e.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),A=o}}]);
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{32393:function(R,E,t){t.r(E),t.d(E,{default:function(){return ce}});var e=t(32735),s=t(24989),c=t(83983),h=t(53038),f=t(67879),p=t(20108),T=t(94638),D=t(96709),S=t(27649),i=t(82055),P=t(99223),m=t(49372),I=t(41415),q=t(17e3),U=t(72850),_=t(56755),ee=t(73269),te=t(33827),K=t(94547),r=t(19786),V=t(82884),ne=t(3685),ae=t(35658),k=t(87933),b=t(74512),F=t(8471);const j=F.ZP.div`
|
|
2
|
+
background: ${({theme:o})=>o.colors.danger500};
|
|
3
|
+
border: none;
|
|
4
|
+
border-radius: 16px;
|
|
5
|
+
position: relative;
|
|
6
|
+
height: ${24/16}rem;
|
|
7
|
+
width: ${40/16}rem;
|
|
8
|
+
|
|
9
|
+
& span {
|
|
10
|
+
font-size: ${({visibleLabels:o})=>o?"1rem":0};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:before {
|
|
14
|
+
content: '';
|
|
15
|
+
background: ${({theme:o})=>o.colors.neutral0};
|
|
16
|
+
width: 1rem;
|
|
17
|
+
height: 1rem;
|
|
18
|
+
border-radius: 50%;
|
|
19
|
+
position: absolute;
|
|
20
|
+
transition: all 0.5s;
|
|
21
|
+
left: ${({theme:o})=>o.spaces[1]};
|
|
22
|
+
top: ${({theme:o})=>o.spaces[1]};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
&:before {
|
|
27
|
+
transition: none;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`,se=F.ZP.button`
|
|
31
|
+
background: transparent;
|
|
32
|
+
padding: 0;
|
|
33
|
+
border: none;
|
|
34
|
+
|
|
35
|
+
&[aria-checked='true'] ${j} {
|
|
36
|
+
background: ${({theme:o})=>o.colors.success500};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&[aria-checked='true'] ${j}:before {
|
|
40
|
+
transform: translateX(1rem);
|
|
41
|
+
}
|
|
42
|
+
`,oe=e.forwardRef(({label:o,onChange:u,onLabel:v="On",offLabel:d="Off",selected:a,visibleLabels:g=!1,...x},$)=>(0,b.jsx)(se,{ref:$,role:"switch","aria-checked":a,"aria-label":o,onClick:u,visibleLabels:g,type:"button",...x,children:(0,b.jsxs)(k.k,{children:[(0,b.jsxs)(j,{children:[(0,b.jsx)("span",{children:v}),(0,b.jsx)("span",{children:d})]}),g&&(0,b.jsx)(U.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:a?"success600":"danger600",children:a?v:d})]})}));var z=t(50563),le=t(9695),w=t(19406),H=t(4038),re=t(68625),ie=t(54725),de=()=>{const[o,u]=(0,e.useState)(!1),[v,d]=(0,e.useState)([]),{formatMessage:a}=(0,f.Z)(),{formatAPIError:g}=(0,s.So)(),x=(0,s.lm)();(0,s.go)();const{push:$}=(0,h.k6)(),{pathname:N}=(0,h.TH)(),{isLoading:me,allowedActions:{canCreate:O,canUpdate:Q,canDelete:Y}}=(0,s.ss)(c.Z.settings.webhooks),{get:he,post:ue,put:ge}=(0,s.kY)(),{notifyStatus:G}=(0,T.G)(),Ee="webhooks",{isLoading:fe,data:M,error:Z,refetch:X}=(0,p.useQuery)(Ee,async()=>{const{data:{data:n}}=await he("/admin/webhooks");return n});(0,e.useEffect)(()=>{if(Z){x({type:"warning",message:g(Z)});return}M&&G(a({id:"Settings.webhooks.list.loading.success",defaultMessage:"Webhooks have been loaded"}))},[M,Z,x,a,G,g]);const J=(0,p.useMutation)(async()=>{await ue("/admin/webhooks/batch-delete",{ids:v})},{onError(n){x({type:"warning",message:g(n)}),u(!1)},onSuccess(){d([]),u(!1),X()}}),be=(0,p.useMutation)(async({isEnabled:n,id:l})=>{const{id:L,...W}=M.find(Ce=>Ce.id===l)??{},pe={...W,isEnabled:n};await ge(`/admin/webhooks/${l}`,pe)},{onError(n){x({type:"warning",message:g(n)})},onSuccess(){X()}}),ve=()=>J.mutate(),xe=n=>d(n?M.map(l=>l.id):[]),Me=(n,l)=>d(n?L=>[...L,l]:L=>L.filter(W=>W!==l)),A=n=>$(`${N}/${n}`),B=me||fe,y=M?.length??0,C=v.length;return e.createElement(D.A,null,e.createElement(s.SL,{name:"Webhooks"}),e.createElement(S.o,{"aria-busy":B},e.createElement(i.T,{title:a({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:a({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:O&&!B&&e.createElement(s.Qj,{startIcon:e.createElement(w.Z,null),variant:"default",to:`${N}/create`,size:"S"},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),C>0&&Y&&e.createElement(P.Z,{startActions:e.createElement(e.Fragment,null,e.createElement(m.Z,{variant:"epsilon",textColor:"neutral600"},a({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# webhook} other {# webhooks}} selected"},{webhooksToDeleteLength:C})),e.createElement(I.z,{onClick:()=>u(!0),startIcon:e.createElement(H.Z,null),size:"L",variant:"danger-light"},a({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(q.D,null,B?e.createElement(U.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.dO,null)):y>0?e.createElement(_.i,{colCount:5,rowCount:y+1,footer:e.createElement(ee.c,{onClick:()=>O?A("create"):{},icon:e.createElement(w.Z,null)},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(te.h,null,e.createElement(K.Tr,null,e.createElement(r.Th,null,e.createElement(V.C,{"aria-label":a({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:C>0&&C<y,value:C===y,onValueChange:xe})),e.createElement(r.Th,{width:"20%"},e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(r.Th,{width:"60%"},e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(r.Th,{width:"20%"},e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(r.Th,null,e.createElement(ne.T,null,a({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(ae.p,null,M.map(n=>e.createElement(K.Tr,{key:n.id,...(0,s.X7)({fn:()=>A(n.id),condition:Q})},e.createElement(r.Td,{...s.UW},e.createElement(V.C,{"aria-label":`${a({id:"global.select",defaultMessage:"Select"})} ${n.name}`,value:v?.includes(n.id),onValueChange:l=>Me(l,n.id),name:"select"})),e.createElement(r.Td,null,e.createElement(m.Z,{fontWeight:"semiBold",textColor:"neutral800"},n.name)),e.createElement(r.Td,null,e.createElement(m.Z,{textColor:"neutral800"},n.url)),e.createElement(r.Td,null,e.createElement(k.k,null,e.createElement(oe,{onLabel:a({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:a({id:"global.disabled",defaultMessage:"Disabled"}),label:`${n.name} ${a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:n.isEnabled,onChange:l=>{l.stopPropagation(),be.mutate({isEnabled:!n.isEnabled,id:n.id})},visibleLabels:!0}))),e.createElement(r.Td,null,e.createElement(k.k,{gap:1},Q&&e.createElement(z.h,{label:a({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(re.Z,null),noBorder:!0}),Y&&e.createElement(z.h,{onClick:l=>{l.stopPropagation(),d([n.id]),u(!0)},label:a({id:"Settings.webhooks.events.delete",defaultMessage:"Delete webhook"}),icon:e.createElement(H.Z,null),noBorder:!0}))))))):e.createElement(le.x,{icon:e.createElement(ie.Z,{width:"160px"}),content:a({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(I.z,{variant:"secondary",startIcon:e.createElement(w.Z,null),onClick:()=>O?A("create"):{}},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}))),e.createElement(s.QH,{isOpen:o,onToggleDialog:()=>u(n=>!n),onConfirm:ve,isConfirmButtonLoading:J.isLoading}))},ce=()=>e.createElement(s.O4,{permissions:c.Z.settings.webhooks.main},e.createElement(de,null))},99223:function(R,E,t){t.d(E,{Z:function(){return c}});var e=t(74512),s=t(87933);const c=({startActions:h,endActions:f})=>!h&&!f?null:(0,e.jsxs)(s.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(s.k,{gap:2,wrap:"wrap",children:h}),(0,e.jsx)(s.k,{gap:2,shrink:0,wrap:"wrap",children:f})]})},73269:function(R,E,t){t.d(E,{c:function(){return S}});var e=t(74512),s=t(8471),c=t(72850),h=t(9026),f=t(87933),p=t(49372);const T=(0,s.ZP)(c.x)`
|
|
43
|
+
height: ${24/16}rem;
|
|
44
|
+
width: ${24/16}rem;
|
|
45
|
+
border-radius: 50%;
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
align-items: center;
|
|
49
|
+
|
|
50
|
+
svg {
|
|
51
|
+
height: ${10/16}rem;
|
|
52
|
+
width: ${10/16}rem;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
svg path {
|
|
56
|
+
fill: ${({theme:i})=>i.colors.primary600};
|
|
57
|
+
}
|
|
58
|
+
`,D=(0,s.ZP)(c.x)`
|
|
59
|
+
border-radius: 0 0 ${({theme:i})=>i.borderRadius} ${({theme:i})=>i.borderRadius};
|
|
60
|
+
display: block;
|
|
61
|
+
width: 100%;
|
|
62
|
+
border: none;
|
|
63
|
+
`,S=({children:i,icon:P,...m})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(h.i,{}),(0,e.jsx)(D,{as:"button",background:"primary100",padding:5,...m,children:(0,e.jsxs)(f.k,{children:[(0,e.jsx)(T,{"aria-hidden":!0,background:"primary200",children:P}),(0,e.jsx)(c.x,{paddingLeft:3,children:(0,e.jsx)(p.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:i})})]})})]})}}]);
|
package/ee/LICENSE
CHANGED
|
@@ -1,21 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
In the event of a direct conflict between the terms of this EE Supplemental License and the terms of the Enterprise Agreement or the Subscription Agreement, as applicable, the terms of this EE Supplemental License will control. Except to the extent modified by this EE Supplemental License, the Enterprise Agreement or the Subscription Agreement, as applicable, remain in full force and effect in accordance with its terms.
|
|
4
|
-
|
|
5
|
-
By using the EE Software, You hereby agree to the below terms and conditions.
|
|
6
|
-
|
|
7
|
-
1. Notwithstanding any terms to the contrary in the Enterprise Agreement or Subscription Agreement, You may copy, modify and publish patches to the EE Software in a production environment (such copies, “Production Copies,” such modifications, “Production Modifications” and such patches, “Production Patches”) if and only if (a) You have agreed to, and are in full compliance with, the Enterprise Agreement or Subscription Agreement, as applicable, and (b) You have a valid license to the EE Software for the correct number of projects. You agree that Strapi and/or its licensors (as applicable) will own all right, title and interest in and to all such Production Copies, Production Modifications and Production Patches. You may display and/or distribute such Production Copies, Production Modifications and Production Patches if and only if (i) You have a valid license to the EE Software for the correct number of projects and (ii) You are in compliance with the Enterprise Agreement or Subscription Agreement, as applicable. You hereby assign to Strapi all right, title and interest in and to all Production Copies, Production Modifications and Production Patches, including all intellectual property rights embodied in or related to the foregoing.
|
|
8
|
-
|
|
9
|
-
2. Notwithstanding the foregoing, You may copy and modify the EE Software solely for development and testing purposes (such copies, “Development Copies” and such modifications, “Development Modifications”) with or without a license to the EE Software if your use is in compliance with this Section 2. You agree that Strapi and/or its licensors (as applicable) will own all right, title and interest in and to all Development Copies and Development Modifications and You hereby assign to Strapi all right, title and interest in and to all Development Copies and Development Modifications, including all intellectual property rights embodied in or related to the foregoing. If You do not have a license to the EE Software, then You further agree as follows:
|
|
10
|
-
|
|
11
|
-
Other than as expressly set forth in this Section 2, You may not (a) copy or modify the EE Software, (b) create derivative works of the EE Software, (c) remove or modify any notice of any patent, copyright, trademark, or other proprietary rights that appear on or in the EE Software, (d) reverse engineer, decompile, translate, disassemble, or discover the source code of all or any portion of the EE Software, (e) publicly display all or any part of the EE Software, (f) distribute, disclose, market, lease, publish, merge, resell, assign, loan, sublicense, rent, or transfer the EE Software to any third party, (g) use the EE Software for any dial-up, remote access, interactive, or other on-line or hosted service, or to provide a service bureau, time share, or other services to third parties, (h) merge the EE Software into another product, (i) disclose the results of any EE Software performance benchmarks or test results to any third party without Strapi’s prior written consent, (j) use any trademarks, logos, service marks, trade names of Strapi, or any portion thereof, without Strapi’s prior written consent, (k) use the EE Software, or any portion thereof, in a manner that does not comply with applicable law, regulations, or governmental orders, or (l) use or store the EE Software on equipment not owned or controlled by Customer.
|
|
12
|
-
|
|
13
|
-
THE EE SOFTWARE IS PROVIDED ON AN “AS IS” BASIS WITHOUT ANY REPRESENTATIONS, WARRANTIES, COVENANTS, OR CONDITIONS OF ANY KIND (EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE), INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. FURTHER, STRAPI DOES NOT REPRESENT OR WARRANT THAT (A) THE ACCESS TO OR USE OF THE EE SOFTWARE WILL BE SECURE, TIMELY, UNINTERRUPTED, ERROR-FREE, OR OPERATE IN COMBINATION WITH ANY OTHER HARDWARE, SOFTWARE, SYSTEM, OR DATA, (B) THE EE SOFTWARE WILL MEET YOUR REQUIREMENTS OR EXPECTATIONS, OR OTHERWISE PRODUCE ANY PARTICULAR RESULTS, (C) ERRORS OR DEFECTS WILL BE CORRECTED, PATCHES OR WORKAROUNDS WILL BE PROVIDED, OR STRAPI WILL DETECT ANY BUG IN THE EE SOFTWARE, (D) THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS, OR (E) THIRD-PARTY DISRUPTIONS OR SECURITY BREACHES OF THE EE SOFTWARE WILL BE PREVENTED.
|
|
14
|
-
|
|
15
|
-
STRAPI WILL NOT BE LIABLE FOR ANY LOSS OF PROFITS OR ANY INDIRECT, SPECIAL, INCIDENTAL, RELIANCE, OR CONSEQUENTIAL DAMAGES OF ANY KIND, REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE, EVEN IF INFORMED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE.
|
|
16
|
-
|
|
17
|
-
STRAPI’S ENTIRE LIABILITY TO YOU FOR USE OF THE EE SOFTWARE WILL NOT EXCEED $100.
|
|
18
|
-
|
|
19
|
-
3. You are not granted any other rights beyond what is expressly stated herein and in the Enterprise Agreement or Subscription Agreement, as applicable.
|
|
20
|
-
|
|
21
|
-
4. This EE Supplemental License does not apply to Strapi software that is distributed as part of the Strapi Community Edition (CE) (the “CE Software”).
|
|
1
|
+
If you or the company you represent has entered into a written agreement referencing the Enterprise Edition of the Strapi source code available at https://github.com/strapi/strapi, then such agreement applies to your use of the Enterprise Edition of the Strapi Software. If you or the company you represent is using the Enterprise Edition of the Strapi Software in connection with a subscription to our cloud offering, then the agreement you have agreed to with respect to our cloud offering and the licenses included in such agreement apply to your use of the Enterprise Edition of the Strapi Software. Otherwise, the Strapi Enterprise Software License Agreement (found here https://strapi.io/enterprise-terms) applies to your use of the Enterprise Edition of the Strapi Software. BY ACCESSING OR USING THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE RELEVANT REFERENCED AGREEMENT. IF YOU ARE NOT AUTHORIZED TO ACCEPT THESE TERMS ON BEHALF OF THE COMPANY YOU REPRESENT OR IF YOU DO NOT AGREE TO ALL OF THE RELEVANT TERMS AND CONDITIONS REFERENCED AND YOU HAVE NOT OTHERWISE EXECUTED A WRITTEN AGREEMENT WITH STRAPI, YOU ARE NOT AUTHORIZED TO ACCESS OR USE OR ALLOW ANY USER TO ACCESS OR USE ANY PART OF THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE. YOUR ACCESS RIGHTS ARE CONDITIONAL ON YOUR CONSENT TO THE RELEVANT REFERENCED TERMS TO THE EXCLUSION OF ALL OTHER TERMS; IF THE RELEVANT REFERENCED TERMS ARE CONSIDERED AN OFFER BY YOU, ACCEPTANCE IS EXPRESSLY LIMITED TO THE RELEVANT REFERENCED TERMS.
|
|
@@ -38,8 +38,7 @@ export function InformationBoxEE() {
|
|
|
38
38
|
const { formatAPIError } = useAPIErrorHandler();
|
|
39
39
|
const toggleNotification = useNotification();
|
|
40
40
|
|
|
41
|
-
const { workflows
|
|
42
|
-
useReviewWorkflows();
|
|
41
|
+
const { workflows, isLoading: workflowIsLoading } = useReviewWorkflows();
|
|
43
42
|
// TODO: this works only as long as we support one workflow
|
|
44
43
|
const workflow = workflows?.[0] ?? null;
|
|
45
44
|
|
|
@@ -13,7 +13,7 @@ const DividerFull = styled(Divider)`
|
|
|
13
13
|
`;
|
|
14
14
|
|
|
15
15
|
const Login = (loginProps) => {
|
|
16
|
-
const ssoEnabled = strapi.features.isEnabled(strapi.features.SSO);
|
|
16
|
+
const ssoEnabled = window.strapi.features.isEnabled(window.strapi.features.SSO);
|
|
17
17
|
const { isLoading, data: providers } = useAuthProviders({ ssoEnabled });
|
|
18
18
|
const { formatMessage } = useIntl();
|
|
19
19
|
|
|
@@ -35,7 +35,7 @@ const SSOProvidersWrapper = styled(Flex)`
|
|
|
35
35
|
const SSOProviderButton = ({ provider }) => {
|
|
36
36
|
return (
|
|
37
37
|
<Tooltip label={provider.displayName}>
|
|
38
|
-
<SSOButton href={`${strapi.backendURL}/admin/connect/${provider.uid}`}>
|
|
38
|
+
<SSOButton href={`${window.strapi.backendURL}/admin/connect/${provider.uid}`}>
|
|
39
39
|
{provider.icon ? (
|
|
40
40
|
<img src={provider.icon} aria-hidden alt="" height="32px" />
|
|
41
41
|
) : (
|
|
@@ -17,7 +17,7 @@ const DividerFull = styled(Divider)`
|
|
|
17
17
|
`;
|
|
18
18
|
|
|
19
19
|
const Providers = () => {
|
|
20
|
-
const ssoEnabled = strapi.features.isEnabled(strapi.features.SSO);
|
|
20
|
+
const ssoEnabled = window.strapi.features.isEnabled(window.strapi.features.SSO);
|
|
21
21
|
|
|
22
22
|
const { push } = useHistory();
|
|
23
23
|
const { formatMessage } = useIntl();
|
|
@@ -2,24 +2,13 @@ import { useQuery } from 'react-query';
|
|
|
2
2
|
import { useNotification, useFetchClient } from '@strapi/helper-plugin';
|
|
3
3
|
import { useLocation } from 'react-router-dom';
|
|
4
4
|
|
|
5
|
+
import { useAdminUsers } from '../../../../../../../../admin/src/hooks/useAdminUsers';
|
|
6
|
+
|
|
5
7
|
const useAuditLogsData = ({ canReadAuditLogs, canReadUsers }) => {
|
|
6
8
|
const { get } = useFetchClient();
|
|
7
9
|
const { search } = useLocation();
|
|
8
10
|
const toggleNotification = useNotification();
|
|
9
11
|
|
|
10
|
-
const fetchAuditLogsPage = async ({ queryKey }) => {
|
|
11
|
-
const search = queryKey[1];
|
|
12
|
-
const { data } = await get(`/admin/audit-logs${search}`);
|
|
13
|
-
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const fetchAllUsers = async () => {
|
|
18
|
-
const { data } = await get(`/admin/users`);
|
|
19
|
-
|
|
20
|
-
return data;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
12
|
const queryOptions = {
|
|
24
13
|
keepPreviousData: true,
|
|
25
14
|
retry: false,
|
|
@@ -27,24 +16,43 @@ const useAuditLogsData = ({ canReadAuditLogs, canReadUsers }) => {
|
|
|
27
16
|
onError: (error) => toggleNotification({ type: 'warning', message: error.message }),
|
|
28
17
|
};
|
|
29
18
|
|
|
19
|
+
const {
|
|
20
|
+
users,
|
|
21
|
+
isError: isUsersError,
|
|
22
|
+
isLoading: isLoadingUsers,
|
|
23
|
+
} = useAdminUsers(
|
|
24
|
+
{},
|
|
25
|
+
{
|
|
26
|
+
...queryOptions,
|
|
27
|
+
enabled: canReadUsers,
|
|
28
|
+
staleTime: 2 * (1000 * 60), // 2 minutes
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
|
|
30
32
|
const {
|
|
31
33
|
data: auditLogs,
|
|
32
|
-
isLoading,
|
|
34
|
+
isLoading: isLoadingAuditLogs,
|
|
33
35
|
isError: isAuditLogsError,
|
|
34
|
-
} = useQuery(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
} = useQuery(
|
|
37
|
+
['auditLogs', search],
|
|
38
|
+
async ({ queryKey }) => {
|
|
39
|
+
const search = queryKey[1];
|
|
40
|
+
const { data } = await get(`/admin/audit-logs${search}`);
|
|
41
|
+
|
|
42
|
+
return data;
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
...queryOptions,
|
|
46
|
+
enabled: canReadAuditLogs,
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
auditLogs,
|
|
52
|
+
users,
|
|
53
|
+
isLoading: isLoadingUsers || isLoadingAuditLogs,
|
|
54
|
+
hasError: isAuditLogsError || isUsersError,
|
|
55
|
+
};
|
|
48
56
|
};
|
|
49
57
|
|
|
50
58
|
export default useAuditLogsData;
|
|
@@ -74,7 +74,7 @@ const getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {
|
|
|
74
74
|
return user.email;
|
|
75
75
|
};
|
|
76
76
|
|
|
77
|
-
const userOptions = users.
|
|
77
|
+
const userOptions = users.map((user) => {
|
|
78
78
|
return {
|
|
79
79
|
label: getDisplayNameFromUser(user),
|
|
80
80
|
// Combobox expects a string value
|
|
@@ -44,7 +44,7 @@ export function ReviewWorkflowsPage() {
|
|
|
44
44
|
const { put } = useFetchClient();
|
|
45
45
|
const { formatAPIError } = useAPIErrorHandler();
|
|
46
46
|
const toggleNotification = useNotification();
|
|
47
|
-
const { workflows:
|
|
47
|
+
const { workflows, status: workflowStatus, refetch: refetchWorkflow } = useReviewWorkflows();
|
|
48
48
|
const {
|
|
49
49
|
status,
|
|
50
50
|
clientState: {
|
|
@@ -124,8 +124,8 @@ export function ReviewWorkflowsPage() {
|
|
|
124
124
|
useInjectReducer(REDUX_NAMESPACE, reducer);
|
|
125
125
|
|
|
126
126
|
useEffect(() => {
|
|
127
|
-
dispatch(setWorkflows({ status:
|
|
128
|
-
}, [
|
|
127
|
+
dispatch(setWorkflows({ status: workflowStatus, data: workflows }));
|
|
128
|
+
}, [workflowStatus, workflows, dispatch]);
|
|
129
129
|
|
|
130
130
|
useEffect(() => {
|
|
131
131
|
trackUsage('didViewWorkflow');
|
|
@@ -1,35 +1,46 @@
|
|
|
1
|
-
import { useQuery
|
|
1
|
+
import { useQuery } from 'react-query';
|
|
2
2
|
import { useFetchClient } from '@strapi/helper-plugin';
|
|
3
|
+
import { stringify } from 'qs';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
const
|
|
5
|
+
export function useReviewWorkflows(params = {}) {
|
|
6
|
+
const { id = '', ...queryParams } = params;
|
|
7
|
+
const defaultQueryParams = {
|
|
8
|
+
populate: 'stages',
|
|
9
|
+
};
|
|
6
10
|
|
|
7
|
-
export function useReviewWorkflows(workflowId) {
|
|
8
11
|
const { get } = useFetchClient();
|
|
9
|
-
const
|
|
10
|
-
const workflowQueryKey = [QUERY_BASE_KEY, workflowId ?? 'default'];
|
|
12
|
+
const queryString = stringify({ ...defaultQueryParams, ...queryParams }, { encode: false });
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const { data, isLoading, status, refetch } = useQuery(
|
|
15
|
+
['review-workflows', 'workflows', id],
|
|
16
|
+
async () => {
|
|
17
|
+
try {
|
|
18
|
+
const {
|
|
19
|
+
data: { data },
|
|
20
|
+
} = await get(
|
|
21
|
+
`/admin/review-workflows/workflows/${id}${queryString ? `?${queryString}` : ''}`
|
|
22
|
+
);
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
return data;
|
|
25
|
+
} catch (err) {
|
|
26
|
+
// silence
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
22
29
|
}
|
|
23
|
-
|
|
30
|
+
);
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
await client.refetchQueries(workflowQueryKey);
|
|
27
|
-
}
|
|
32
|
+
let workflows = [];
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
if (id && data) {
|
|
35
|
+
workflows = [data];
|
|
36
|
+
} else if (Array.isArray(data)) {
|
|
37
|
+
workflows = data;
|
|
38
|
+
}
|
|
30
39
|
|
|
31
40
|
return {
|
|
32
41
|
workflows,
|
|
33
|
-
|
|
42
|
+
isLoading,
|
|
43
|
+
status,
|
|
44
|
+
refetch,
|
|
34
45
|
};
|
|
35
46
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import baseModel from '../../../../../../../../../admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/formDataModel';
|
|
2
2
|
|
|
3
|
-
const ssoInputsModel = strapi.features.isEnabled(strapi.features.SSO)
|
|
3
|
+
const ssoInputsModel = window.strapi.features.isEnabled(window.strapi.features.SSO)
|
|
4
4
|
? {
|
|
5
5
|
useSSORegistration: true,
|
|
6
6
|
}
|
|
@@ -124,7 +124,11 @@ const createAuditLogsService = (strapi) => {
|
|
|
124
124
|
const processedEvent = processEvent(name, ...args);
|
|
125
125
|
|
|
126
126
|
if (processedEvent) {
|
|
127
|
-
|
|
127
|
+
// This stores the event when after the transaction is committed,
|
|
128
|
+
// so it's not stored if the transaction is rolled back
|
|
129
|
+
await strapi.db.transaction(({ onCommit }) => {
|
|
130
|
+
onCommit(() => state.provider.saveEvent(processedEvent));
|
|
131
|
+
});
|
|
128
132
|
}
|
|
129
133
|
}
|
|
130
134
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "4.10.
|
|
3
|
+
"version": "4.10.7",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,18 +48,18 @@
|
|
|
48
48
|
"@casl/ability": "^5.4.3",
|
|
49
49
|
"@fingerprintjs/fingerprintjs": "3.4.1",
|
|
50
50
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
|
51
|
-
"@strapi/babel-plugin-switch-ee-ce": "4.10.
|
|
52
|
-
"@strapi/data-transfer": "4.10.
|
|
53
|
-
"@strapi/design-system": "1.7.
|
|
54
|
-
"@strapi/helper-plugin": "4.10.
|
|
55
|
-
"@strapi/icons": "1.7.
|
|
56
|
-
"@strapi/permissions": "4.10.
|
|
57
|
-
"@strapi/provider-audit-logs-local": "4.10.
|
|
58
|
-
"@strapi/typescript-utils": "4.10.
|
|
59
|
-
"@strapi/utils": "4.10.
|
|
60
|
-
"axios": "1.
|
|
51
|
+
"@strapi/babel-plugin-switch-ee-ce": "4.10.7",
|
|
52
|
+
"@strapi/data-transfer": "4.10.7",
|
|
53
|
+
"@strapi/design-system": "1.7.9",
|
|
54
|
+
"@strapi/helper-plugin": "4.10.7",
|
|
55
|
+
"@strapi/icons": "1.7.9",
|
|
56
|
+
"@strapi/permissions": "4.10.7",
|
|
57
|
+
"@strapi/provider-audit-logs-local": "4.10.7",
|
|
58
|
+
"@strapi/typescript-utils": "4.10.7",
|
|
59
|
+
"@strapi/utils": "4.10.7",
|
|
60
|
+
"axios": "1.4.0",
|
|
61
61
|
"babel-loader": "^9.1.2",
|
|
62
|
-
"babel-plugin-styled-components": "2.
|
|
62
|
+
"babel-plugin-styled-components": "2.1.1",
|
|
63
63
|
"bcryptjs": "2.4.3",
|
|
64
64
|
"browserslist": "^4.17.3",
|
|
65
65
|
"browserslist-to-esbuild": "1.2.0",
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
"codemirror5": "npm:codemirror@^5.65.11",
|
|
69
69
|
"cross-env": "^7.0.3",
|
|
70
70
|
"css-loader": "^6.7.3",
|
|
71
|
-
"date-fns": "2.
|
|
71
|
+
"date-fns": "2.30.0",
|
|
72
72
|
"dotenv": "8.5.1",
|
|
73
73
|
"esbuild-loader": "^2.21.0",
|
|
74
74
|
"execa": "^1.0.0",
|
|
75
75
|
"fast-deep-equal": "3.1.3",
|
|
76
76
|
"find-root": "1.1.0",
|
|
77
|
-
"fork-ts-checker-webpack-plugin": "7.
|
|
78
|
-
"formik": "^2.
|
|
77
|
+
"fork-ts-checker-webpack-plugin": "7.3.0",
|
|
78
|
+
"formik": "^2.4.0",
|
|
79
79
|
"fractional-indexing": "3.2.0",
|
|
80
80
|
"fs-extra": "10.0.0",
|
|
81
81
|
"highlight.js": "^10.4.1",
|
|
@@ -110,16 +110,14 @@
|
|
|
110
110
|
"prop-types": "^15.7.2",
|
|
111
111
|
"qs": "6.11.1",
|
|
112
112
|
"react": "^17.0.2",
|
|
113
|
-
"react-copy-to-clipboard": "^5.1.0",
|
|
114
113
|
"react-dnd": "15.1.2",
|
|
115
114
|
"react-dnd-html5-backend": "15.1.3",
|
|
116
115
|
"react-dom": "^17.0.2",
|
|
117
116
|
"react-error-boundary": "3.1.4",
|
|
118
|
-
"react-fast-compare": "^3.2.0",
|
|
119
117
|
"react-helmet": "^6.1.0",
|
|
120
118
|
"react-intl": "6.4.1",
|
|
121
119
|
"react-is": "^17.0.2",
|
|
122
|
-
"react-query": "3.
|
|
120
|
+
"react-query": "3.39.3",
|
|
123
121
|
"react-redux": "8.0.5",
|
|
124
122
|
"react-refresh": "0.14.0",
|
|
125
123
|
"react-router-dom": "5.3.4",
|
|
@@ -141,14 +139,13 @@
|
|
|
141
139
|
"yup": "^0.32.9"
|
|
142
140
|
},
|
|
143
141
|
"devDependencies": {
|
|
144
|
-
"@testing-library/dom": "8.
|
|
142
|
+
"@testing-library/dom": "8.20.0",
|
|
145
143
|
"@testing-library/react": "12.1.4",
|
|
146
144
|
"@testing-library/react-hooks": "8.0.1",
|
|
147
145
|
"@testing-library/user-event": "14.4.3",
|
|
148
146
|
"duplicate-dependencies-webpack-plugin": "^1.0.2",
|
|
149
147
|
"glob": "8.0.3",
|
|
150
148
|
"msw": "1.2.1",
|
|
151
|
-
"react-test-renderer": "^17.0.2",
|
|
152
149
|
"speed-measure-webpack-plugin": "1.5.0",
|
|
153
150
|
"webpack-bundle-analyzer": "^4.8.0"
|
|
154
151
|
},
|
|
@@ -168,5 +165,5 @@
|
|
|
168
165
|
}
|
|
169
166
|
}
|
|
170
167
|
},
|
|
171
|
-
"gitHead": "
|
|
168
|
+
"gitHead": "da080df32b85cdd59d46bdda5c984a346cad0860"
|
|
172
169
|
}
|