@strapi/admin 4.6.0-beta.0 → 4.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/admin/src/components/AuthenticatedApp/index.js +13 -2
  2. package/admin/src/components/GlobalStyle/index.js +0 -5
  3. package/admin/src/content-manager/components/ComponentIcon/ComponentIcon.js +49 -0
  4. package/admin/src/content-manager/components/ComponentIcon/index.js +1 -0
  5. package/admin/src/content-manager/components/DragLayer/ComponentDragPreview.js +2 -16
  6. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +3 -3
  7. package/admin/src/content-manager/components/DragLayer/index.js +1 -1
  8. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +17 -31
  9. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +2 -2
  10. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +0 -2
  11. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +19 -2
  12. package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +10 -2
  13. package/admin/src/content-manager/components/InputJSON/Label.js +2 -18
  14. package/admin/src/content-manager/components/InputJSON/index.js +7 -3
  15. package/admin/src/content-manager/components/RelationInput/RelationInput.js +8 -17
  16. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +2 -0
  17. package/admin/src/content-manager/components/RelationInput/index.js +1 -0
  18. package/admin/src/content-manager/components/RepeatableComponent/index.js +1 -3
  19. package/admin/src/content-manager/hooks/useDragAndDrop.js +25 -11
  20. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +18 -38
  21. package/admin/src/pages/Admin/Onboarding/index.js +42 -44
  22. package/admin/src/pages/App/index.js +20 -13
  23. package/admin/src/pages/AuthPage/components/Register/index.js +1 -1
  24. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +1 -1
  25. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -3
  26. package/admin/src/translations/en.json +2 -1
  27. package/admin/src/translations/sk.json +274 -52
  28. package/admin/src/translations/tr.json +485 -5
  29. package/admin/src/utils/index.js +1 -0
  30. package/admin/src/utils/uniqueAdminHash.js +22 -0
  31. package/build/2235.06c13219.chunk.js +106 -0
  32. package/build/2598.962797b2.chunk.js +159 -0
  33. package/build/4318.0bbd3f4b.chunk.js +30 -0
  34. package/build/4958.7c118f5e.chunk.js +276 -0
  35. package/build/5052.712419ea.chunk.js +65 -0
  36. package/build/7295.04ac49dc.chunk.js +114 -0
  37. package/build/805.ddcead70.chunk.js +138 -0
  38. package/build/874.bde3ea04.chunk.js +104 -0
  39. package/build/9159.ac968e72.chunk.js +169 -0
  40. package/build/9707.77e475ee.chunk.js +101 -0
  41. package/build/Admin-authenticatedApp.9dd415b8.chunk.js +72 -0
  42. package/build/Admin_pluginsPage.67728975.chunk.js +6 -0
  43. package/build/{Admin_profilePage.c07bdf08.chunk.js → Admin_profilePage.60ab80bb.chunk.js} +1 -1
  44. package/build/{Admin_settingsPage.50a8765b.chunk.js → Admin_settingsPage.9ce40fed.chunk.js} +3 -3
  45. package/build/Upload_ConfigureTheView.7cb2a3fd.chunk.js +1 -0
  46. package/build/admin-app.d8fc7c4d.chunk.js +112 -0
  47. package/build/admin-edit-users.5547b126.chunk.js +10 -0
  48. package/build/{admin-users.a2707644.chunk.js → admin-users.4b6b47f8.chunk.js} +1 -1
  49. package/build/{api-tokens-list-page.700e575f.chunk.js → api-tokens-list-page.50519ed7.chunk.js} +1 -1
  50. package/build/content-manager.f2214e32.chunk.js +1166 -0
  51. package/build/content-type-builder-list-view.4aea46fa.chunk.js +198 -0
  52. package/build/content-type-builder-translation-de-json.a52482c7.chunk.js +1 -0
  53. package/build/content-type-builder-translation-dk-json.a8616510.chunk.js +1 -0
  54. package/build/content-type-builder-translation-en-json.1d9a3c14.chunk.js +1 -0
  55. package/build/content-type-builder-translation-es-json.c3ea46fb.chunk.js +1 -0
  56. package/build/content-type-builder-translation-ko-json.3fb7ddc8.chunk.js +1 -0
  57. package/build/content-type-builder-translation-pl-json.9b2993b2.chunk.js +1 -0
  58. package/build/content-type-builder-translation-pt-BR-json.6d255441.chunk.js +1 -0
  59. package/build/content-type-builder-translation-sv-json.c608b9ca.chunk.js +1 -0
  60. package/build/content-type-builder-translation-tr-json.949e22eb.chunk.js +1 -0
  61. package/build/content-type-builder-translation-zh-json.b79513e4.chunk.js +1 -0
  62. package/build/content-type-builder.8a9a77f9.chunk.js +127 -0
  63. package/build/email-settings-page.c6e62f6b.chunk.js +15 -0
  64. package/build/email-translation-tr-json.8aa034bb.chunk.js +1 -0
  65. package/build/en-json.1abdade9.chunk.js +1 -0
  66. package/build/{i18n-settings-page.195d42fe.chunk.js → i18n-settings-page.ee572037.chunk.js} +1 -1
  67. package/build/i18n-translation-tr-json.34ca9d61.chunk.js +1 -0
  68. package/build/index.html +1 -1
  69. package/build/main.91f6e21e.js +4099 -0
  70. package/build/runtime~main.447b0382.js +2 -0
  71. package/build/sk-json.2af48064.chunk.js +1 -0
  72. package/build/sso-settings-page.91924df1.chunk.js +41 -0
  73. package/build/tr-json.eac8bd79.chunk.js +1 -0
  74. package/build/upload-settings.326cd9fd.chunk.js +89 -0
  75. package/build/upload-translation-en-json.32cf9aff.chunk.js +1 -0
  76. package/build/upload-translation-sk-json.fe86c53b.chunk.js +1 -0
  77. package/build/upload-translation-tr-json.b173223a.chunk.js +1 -0
  78. package/build/upload.2977cb13.chunk.js +38 -0
  79. package/build/users-email-settings-page.18d4a475.chunk.js +28 -0
  80. package/build/{users-permissions-translation-dk-json.fe39c74b.chunk.js → users-permissions-translation-dk-json.bad0b786.chunk.js} +1 -1
  81. package/build/{users-permissions-translation-en-json.765abf48.chunk.js → users-permissions-translation-en-json.aeab388a.chunk.js} +1 -1
  82. package/build/{users-permissions-translation-es-json.1bb9cde2.chunk.js → users-permissions-translation-es-json.152a923f.chunk.js} +1 -1
  83. package/build/{users-permissions-translation-ko-json.3be77775.chunk.js → users-permissions-translation-ko-json.6bd0ae22.chunk.js} +1 -1
  84. package/build/{users-permissions-translation-pl-json.1dbdd4a1.chunk.js → users-permissions-translation-pl-json.c6a02992.chunk.js} +1 -1
  85. package/build/{users-permissions-translation-sv-json.d5d11648.chunk.js → users-permissions-translation-sv-json.370d6eee.chunk.js} +1 -1
  86. package/build/users-permissions-translation-tr-json.9bebc250.chunk.js +1 -0
  87. package/build/{users-permissions-translation-zh-json.92f406f9.chunk.js → users-permissions-translation-zh-json.1fea833f.chunk.js} +1 -1
  88. package/build/users-providers-settings-page.25dd858e.chunk.js +1 -0
  89. package/build/{users-roles-settings-page.ce5b582d.chunk.js → users-roles-settings-page.8482a999.chunk.js} +1 -1
  90. package/build/{webhook-edit-page.1215a6b7.chunk.js → webhook-edit-page.dcc3d145.chunk.js} +4 -4
  91. package/build/{webhook-list-page.b87821f2.chunk.js → webhook-list-page.894e6959.chunk.js} +1 -1
  92. package/ee/server/services/passport/provider-registry.js +1 -1
  93. package/package.json +10 -16
  94. package/server/controllers/admin.js +2 -0
  95. package/server/routes/admin.js +1 -1
  96. package/server/services/metrics.js +5 -2
  97. package/server/services/role.js +1 -0
  98. package/webpack.alias.js +0 -2
  99. package/admin/src/content-manager/components/BackHeader/index.js +0 -8
  100. package/admin/src/content-manager/components/Block/components.js +0 -28
  101. package/admin/src/content-manager/components/Block/index.js +0 -43
  102. package/admin/src/content-manager/components/Container/index.js +0 -7
  103. package/admin/src/content-manager/components/CustomInputCheckbox/components.js +0 -77
  104. package/admin/src/content-manager/components/CustomInputCheckbox/index.js +0 -53
  105. package/admin/src/content-manager/components/DynamicComponentCard/Wrapper.js +0 -63
  106. package/admin/src/content-manager/components/FilterOptionsCTA/index.js +0 -14
  107. package/admin/src/content-manager/components/FormTitle/index.js +0 -22
  108. package/admin/src/content-manager/components/FormWrapper/index.js +0 -20
  109. package/admin/src/content-manager/components/InputJSON/FieldError.js +0 -38
  110. package/admin/src/content-manager/components/LayoutTitle/index.js +0 -19
  111. package/admin/src/content-manager/components/PlusButton/index.js +0 -52
  112. package/admin/src/content-manager/components/PreviewCarret/components.js +0 -27
  113. package/admin/src/content-manager/components/PreviewCarret/index.js +0 -22
  114. package/admin/src/content-manager/components/SectionTitle/Title.js +0 -11
  115. package/admin/src/content-manager/components/SectionTitle/index.js +0 -26
  116. package/build/1551f4f60c37af51121f.woff2 +0 -0
  117. package/build/1e59d2330b4c6deb84b3.ttf +0 -0
  118. package/build/20fd1704ea223900efa9.woff2 +0 -0
  119. package/build/2285773e6b4b172f07d9.woff +0 -0
  120. package/build/23f19bb08961f37aaf69.eot +0 -0
  121. package/build/2f517e09eb2ca6650ff5.svg +0 -3717
  122. package/build/4306.df40a798.chunk.js +0 -98
  123. package/build/4318.80bdf035.chunk.js +0 -30
  124. package/build/4689f52cc96215721344.svg +0 -801
  125. package/build/491974d108fe4002b2aa.ttf +0 -0
  126. package/build/504.9aeff724.chunk.js +0 -758
  127. package/build/5057.195a59ff.chunk.js +0 -65
  128. package/build/527940b104eb2ea366c8.ttf +0 -0
  129. package/build/77206a6bb316fa0aded5.eot +0 -0
  130. package/build/7a3337626410ca2f4071.woff2 +0 -0
  131. package/build/7a8b4f130182d19a2d7c.svg +0 -5034
  132. package/build/805.e991a370.chunk.js +0 -138
  133. package/build/8176.b19bc128.chunk.js +0 -145
  134. package/build/8186.55910742.chunk.js +0 -169
  135. package/build/8881.c693411a.chunk.js +0 -245
  136. package/build/8b43027f47b20503057d.eot +0 -0
  137. package/build/9161.4a0ab137.chunk.js +0 -2119
  138. package/build/9279.6290c87a.chunk.js +0 -117
  139. package/build/9707.a0cc4ad8.chunk.js +0 -70
  140. package/build/9bbb245e67a133f6e486.eot +0 -0
  141. package/build/Admin-authenticatedApp.f9e74dc0.chunk.js +0 -80
  142. package/build/Admin_pluginsPage.3c872de7.chunk.js +0 -6
  143. package/build/admin-app.2861b6d2.chunk.js +0 -112
  144. package/build/admin-edit-users.85231e4c.chunk.js +0 -10
  145. package/build/bb58e57c48a3e911f15f.woff +0 -0
  146. package/build/be9ee23c0c6390141475.ttf +0 -0
  147. package/build/c1e38fd9e0e74ba58f7a.svg +0 -2671
  148. package/build/content-manager.ee948f75.chunk.js +0 -1186
  149. package/build/content-type-builder-list-view.4412efc3.chunk.js +0 -201
  150. package/build/content-type-builder-translation-de-json.0d7696b9.chunk.js +0 -1
  151. package/build/content-type-builder-translation-dk-json.4729f055.chunk.js +0 -1
  152. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +0 -1
  153. package/build/content-type-builder-translation-es-json.333cf47f.chunk.js +0 -1
  154. package/build/content-type-builder-translation-ko-json.51201b12.chunk.js +0 -1
  155. package/build/content-type-builder-translation-pl-json.4a42349b.chunk.js +0 -1
  156. package/build/content-type-builder-translation-pt-BR-json.6fe3b8d1.chunk.js +0 -1
  157. package/build/content-type-builder-translation-sv-json.6deff030.chunk.js +0 -1
  158. package/build/content-type-builder-translation-tr-json.2e52bc60.chunk.js +0 -1
  159. package/build/content-type-builder-translation-zh-json.3b0afd31.chunk.js +0 -1
  160. package/build/content-type-builder.b132b5f4.chunk.js +0 -145
  161. package/build/d878b0a6a1144760244f.woff2 +0 -0
  162. package/build/eeccf4f66002c6f2ba24.woff +0 -0
  163. package/build/email-settings-page.db0d98d1.chunk.js +0 -15
  164. package/build/email-translation-tr-json.87f2feb3.chunk.js +0 -1
  165. package/build/en-json.4a56dca7.chunk.js +0 -1
  166. package/build/f691f37e57f04c152e23.woff +0 -0
  167. package/build/fontawesome-css-all.15068c6e.chunk.js +0 -4618
  168. package/build/fontawesome-css.418f40da.chunk.js +0 -6
  169. package/build/fontawesome-js.252cc5f3.chunk.js +0 -7
  170. package/build/main.faac89ee.js +0 -2025
  171. package/build/runtime~main.75a15b8e.js +0 -2
  172. package/build/sk-json.7ba4b330.chunk.js +0 -1
  173. package/build/sso-settings-page.adb12ac3.chunk.js +0 -1
  174. package/build/tr-json.9c44ea0c.chunk.js +0 -1
  175. package/build/upload-settings.450cab1a.chunk.js +0 -18
  176. package/build/upload-translation-en-json.86da7b0a.chunk.js +0 -1
  177. package/build/upload-translation-sk-json.b03d4904.chunk.js +0 -1
  178. package/build/upload.e2034370.chunk.js +0 -64
  179. package/build/users-email-settings-page.3126ff8c.chunk.js +0 -28
  180. package/build/users-permissions-translation-tr-json.cdc49a3c.chunk.js +0 -1
  181. package/build/users-providers-settings-page.b7b602e2.chunk.js +0 -33
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(ne,F,o)=>{o.r(F),o.d(F,{default:()=>Lr});var r=o(32735),O=o(5141),m=o(88425),R=o(90201),C=o(88369),j=o(41415),H=o(96709),N=o(28356),P=o(99223),D=o(17e3),T=o(27649),x=o(56755),B=o(33827),I=o(94547),b=o(19786),k=o(3685),g=o(88860),K=o(94638),tt=o(19406),U=o(5636),J=o(84968),st=o(58469),Z=o(59677),oe=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const rt=(s,e)=>oe(void 0,null,function*(){try{const{data:t}=yield Z.be.get((0,Z.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),nt=(s,e)=>oe(void 0,null,function*(){try{yield Z.be.delete(`${(0,Z.Gc)("roles")}/${s}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var ot=o(60216),E=o.n(ot),ae=o(50563),q=o(36320),at=o(35658),it=o(68625),lt=o(4038),ct=Object.defineProperty,ie=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,le=(s,e,t)=>e in s?ct(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ce=(s,e)=>{for(var t in e||(e={}))ut.call(e,t)&&le(s,t,e[t]);if(ie)for(var t of ie(e))dt.call(e,t)&&le(s,t,e[t]);return s};const ee=({sortedRoles:s,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,U.useIntl)(),{push:d}=(0,O.useHistory)(),[a,n]=u,c=p=>e&&!["public","authenticated"].includes(p.type),f=p=>{i(p),n(!a)},v=p=>{d(`/settings/${R.Z}/roles/${p}`)};return r.createElement(at.p,null,s==null?void 0:s.map(p=>r.createElement(I.Tr,ce({key:p.name},(0,m.onRowClick)({fn:()=>v(p.id)})),r.createElement(b.Td,{width:"20%"},r.createElement(g.Z,null,p.name)),r.createElement(b.Td,{width:"50%"},r.createElement(g.Z,null,p.description)),r.createElement(b.Td,{width:"30%"},r.createElement(g.Z,null,`${p.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),r.createElement(b.Td,null,r.createElement(q.k,ce({justifyContent:"end"},m.stopPropagation),r.createElement(m.CheckPermissions,{permissions:t.updateRole},r.createElement(ae.h,{onClick:()=>v(p.id),noBorder:!0,icon:r.createElement(it.Z,null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${p.name}`})})),c(p)&&r.createElement(m.CheckPermissions,{permissions:t.deleteRole},r.createElement(ae.h,{onClick:()=>f(p.id),noBorder:!0,icon:r.createElement(lt.default,null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${p.name}`})})))))))},mt=ee;ee.defaultProps={canDelete:!1},ee.propTypes={onDelete:E().array.isRequired,permissions:E().object.isRequired,setRoleToDelete:E().func.isRequired,sortedRoles:E().array.isRequired,canDelete:E().bool};var ue=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const pt=()=>{const{trackUsage:s}=(0,m.useTracking)(),{formatMessage:e}=(0,U.useIntl)(),{push:t}=(0,O.useHistory)(),i=(0,m.useNotification)(),{notifyStatus:u}=(0,K.G)(),[{query:l}]=(0,m.useQueryParams)(),d=(l==null?void 0:l._q)||"",[a,n]=(0,r.useState)(!1),[c,f]=(0,r.useState)(!1),[v,p]=(0,r.useState)();(0,m.useFocusWhenNavigate)();const y=(0,J.useQueryClient)(),h=(0,r.useMemo)(()=>({create:C.Z.createRole,read:C.Z.readRoles,update:C.Z.updateRole,delete:C.Z.deleteRole}),[]),{isLoading:L,allowedActions:{canRead:w,canDelete:V}}=(0,m.useRBAC)(h),{isLoading:wr,data:{roles:re},isFetching:Sr}=(0,J.useQuery)("get-roles",()=>rt(i,u),{initialData:{},enabled:w}),et=wr||Sr,Mr=()=>{s("willCreateRole"),t(`/settings/${R.Z}/roles/new`)},Ur=()=>{n(!a)},jr={roles:{id:(0,Z.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,Z.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Ir=e({id:"global.roles",defaultMessage:"Roles"}),Zr=(0,J.useMutation)(Fr=>nt(Fr,i),{onSuccess(){return ue(this,null,function*(){yield y.invalidateQueries("get-roles")})}}),Nr=()=>ue(void 0,null,function*(){f(!0),yield Zr.mutateAsync(v),n(!a),f(!1)}),W=(0,st.ZP)(re||[],d,{keys:["name","description"]}),xr=d&&!W.length?"search":"roles",Br=4,Gr=((re==null?void 0:re.length)||0)+1;return r.createElement(H.A,null,r.createElement(m.SettingsPageTitle,{name:Ir}),r.createElement(T.o,{"aria-busy":et},r.createElement(N.T,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:r.createElement(m.CheckPermissions,{permissions:C.Z.createRole},r.createElement(j.z,{onClick:Mr,startIcon:r.createElement(tt.default,null),size:"S"},e({id:(0,Z.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),r.createElement(P.Z,{startActions:r.createElement(m.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),r.createElement(D.D,null,!w&&r.createElement(m.NoPermissions,null),(et||L)&&r.createElement(m.LoadingIndicatorPage,null),w&&W&&(W==null?void 0:W.length)?r.createElement(x.i,{colCount:Br,rowCount:Gr},r.createElement(B.h,null,r.createElement(I.Tr,null,r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),r.createElement(b.Th,null,r.createElement(k.T,null,e({id:"global.actions",defaultMessage:"Actions"}))))),r.createElement(mt,{sortedRoles:W,canDelete:V,permissions:C.Z,setRoleToDelete:p,onDelete:[a,n]})):r.createElement(m.EmptyStateLayout,{content:jr[xr]})),r.createElement(m.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Nr,onToggleDialog:Ur,isOpen:a})))},gt=()=>r.createElement(m.CheckPagePermissions,{permissions:C.Z.accessRoles},r.createElement(pt,null));var de=o(83281),A=o(27677),S=o(62345),me=o(10369),pe=o(10508),ft=o(29439),ge=o(66456),z=o(15335),G=o(5803),_=o(82069),M=o(92891);const fe=(0,r.createContext)({}),Pe=({children:s,value:e})=>r.createElement(fe.Provider,{value:e},s),te=()=>(0,r.useContext)(fe);Pe.propTypes={children:E().node.isRequired,value:E().object.isRequired};var Q=o(83292),Pt=o(37213),vt=o.n(Pt),Et=o(15738),ht=o.n(Et);const yt=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Ot=(0,Q.default)(S.x)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(ne,F,o)=>{o.r(F),o.d(F,{default:()=>Lr});var r=o(32735),O=o(5141),m=o(88425),R=o(90201),C=o(88369),j=o(41415),H=o(96709),N=o(28356),P=o(99223),D=o(17e3),T=o(27649),x=o(94745),B=o(76330),I=o(29005),b=o(66735),k=o(3685),g=o(88860),K=o(94638),tt=o(19406),U=o(5636),J=o(84968),st=o(58469),Z=o(59677),oe=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const rt=(s,e)=>oe(void 0,null,function*(){try{const{data:t}=yield Z.be.get((0,Z.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),nt=(s,e)=>oe(void 0,null,function*(){try{yield Z.be.delete(`${(0,Z.Gc)("roles")}/${s}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var ot=o(60216),E=o.n(ot),ae=o(50563),q=o(36320),at=o(3594),it=o(68625),lt=o(4038),ct=Object.defineProperty,ie=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,le=(s,e,t)=>e in s?ct(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ce=(s,e)=>{for(var t in e||(e={}))ut.call(e,t)&&le(s,t,e[t]);if(ie)for(var t of ie(e))dt.call(e,t)&&le(s,t,e[t]);return s};const ee=({sortedRoles:s,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,U.useIntl)(),{push:d}=(0,O.useHistory)(),[a,n]=u,c=p=>e&&!["public","authenticated"].includes(p.type),f=p=>{i(p),n(!a)},v=p=>{d(`/settings/${R.Z}/roles/${p}`)};return r.createElement(at.p,null,s==null?void 0:s.map(p=>r.createElement(I.Tr,ce({key:p.name},(0,m.onRowClick)({fn:()=>v(p.id)})),r.createElement(b.Td,{width:"20%"},r.createElement(g.Z,null,p.name)),r.createElement(b.Td,{width:"50%"},r.createElement(g.Z,null,p.description)),r.createElement(b.Td,{width:"30%"},r.createElement(g.Z,null,`${p.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),r.createElement(b.Td,null,r.createElement(q.k,ce({justifyContent:"end"},m.stopPropagation),r.createElement(m.CheckPermissions,{permissions:t.updateRole},r.createElement(ae.h,{onClick:()=>v(p.id),noBorder:!0,icon:r.createElement(it.Z,null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${p.name}`})})),c(p)&&r.createElement(m.CheckPermissions,{permissions:t.deleteRole},r.createElement(ae.h,{onClick:()=>f(p.id),noBorder:!0,icon:r.createElement(lt.default,null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${p.name}`})})))))))},mt=ee;ee.defaultProps={canDelete:!1},ee.propTypes={onDelete:E().array.isRequired,permissions:E().object.isRequired,setRoleToDelete:E().func.isRequired,sortedRoles:E().array.isRequired,canDelete:E().bool};var ue=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const pt=()=>{const{trackUsage:s}=(0,m.useTracking)(),{formatMessage:e}=(0,U.useIntl)(),{push:t}=(0,O.useHistory)(),i=(0,m.useNotification)(),{notifyStatus:u}=(0,K.G)(),[{query:l}]=(0,m.useQueryParams)(),d=(l==null?void 0:l._q)||"",[a,n]=(0,r.useState)(!1),[c,f]=(0,r.useState)(!1),[v,p]=(0,r.useState)();(0,m.useFocusWhenNavigate)();const y=(0,J.useQueryClient)(),h=(0,r.useMemo)(()=>({create:C.Z.createRole,read:C.Z.readRoles,update:C.Z.updateRole,delete:C.Z.deleteRole}),[]),{isLoading:L,allowedActions:{canRead:w,canDelete:V}}=(0,m.useRBAC)(h),{isLoading:wr,data:{roles:re},isFetching:Sr}=(0,J.useQuery)("get-roles",()=>rt(i,u),{initialData:{},enabled:w}),et=wr||Sr,Mr=()=>{s("willCreateRole"),t(`/settings/${R.Z}/roles/new`)},Ur=()=>{n(!a)},jr={roles:{id:(0,Z.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,Z.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Ir=e({id:"global.roles",defaultMessage:"Roles"}),Zr=(0,J.useMutation)(Fr=>nt(Fr,i),{onSuccess(){return ue(this,null,function*(){yield y.invalidateQueries("get-roles")})}}),Nr=()=>ue(void 0,null,function*(){f(!0),yield Zr.mutateAsync(v),n(!a),f(!1)}),W=(0,st.ZP)(re||[],d,{keys:["name","description"]}),xr=d&&!W.length?"search":"roles",Br=4,Gr=((re==null?void 0:re.length)||0)+1;return r.createElement(H.A,null,r.createElement(m.SettingsPageTitle,{name:Ir}),r.createElement(T.o,{"aria-busy":et},r.createElement(N.T,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:r.createElement(m.CheckPermissions,{permissions:C.Z.createRole},r.createElement(j.z,{onClick:Mr,startIcon:r.createElement(tt.default,null),size:"S"},e({id:(0,Z.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),r.createElement(P.Z,{startActions:r.createElement(m.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),r.createElement(D.D,null,!w&&r.createElement(m.NoPermissions,null),(et||L)&&r.createElement(m.LoadingIndicatorPage,null),w&&W&&(W==null?void 0:W.length)?r.createElement(x.i,{colCount:Br,rowCount:Gr},r.createElement(B.h,null,r.createElement(I.Tr,null,r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),r.createElement(b.Th,null,r.createElement(g.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),r.createElement(b.Th,null,r.createElement(k.T,null,e({id:"global.actions",defaultMessage:"Actions"}))))),r.createElement(mt,{sortedRoles:W,canDelete:V,permissions:C.Z,setRoleToDelete:p,onDelete:[a,n]})):r.createElement(m.EmptyStateLayout,{content:jr[xr]})),r.createElement(m.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Nr,onToggleDialog:Ur,isOpen:a})))},gt=()=>r.createElement(m.CheckPagePermissions,{permissions:C.Z.accessRoles},r.createElement(pt,null));var de=o(83281),A=o(27677),S=o(62345),me=o(10369),pe=o(10508),ft=o(29439),ge=o(66456),z=o(15335),G=o(5803),_=o(82069),M=o(92891);const fe=(0,r.createContext)({}),Pe=({children:s,value:e})=>r.createElement(fe.Provider,{value:e},s),te=()=>(0,r.useContext)(fe);Pe.propTypes={children:E().node.isRequired,value:E().object.isRequired};var Q=o(83292),Pt=o(37213),vt=o.n(Pt),Et=o(15738),ht=o.n(Et);const yt=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Ot=(0,Q.default)(S.x)`
2
2
  margin: -1px;
3
3
  border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
4
4
  `;function se({route:s}){const{formatMessage:e}=(0,U.useIntl)(),{method:t,handler:i,path:u}=s,l=u?ht()(u.split("/")):[],[d="",a=""]=i?i.split("."):[],n=yt(s.method);return r.createElement(A.K,{spacing:2},r.createElement(g.Z,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",r.createElement("span",null,d),r.createElement(g.Z,{variant:"delta",textColor:"primary600"},".",a)),r.createElement(A.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},r.createElement(Ot,{background:n.background,borderColor:n.border,padding:2},r.createElement(g.Z,{fontWeight:"bold",textColor:n.text},t)),r.createElement(S.x,{paddingLeft:2,paddingRight:2},vt()(l,c=>r.createElement(g.Z,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}se.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},se.propTypes={route:E().shape({handler:E().string,method:E().string,path:E().string})};const Rt=se,Ct=()=>{const{formatMessage:s}=(0,U.useIntl)(),{selectedAction:e,routes:t}=te(),i=(0,M.without)(e.split("."),"controllers"),u=(0,M.get)(t,i[0]),l=i.slice(1).join("."),d=(0,M.isEmpty)(u)?[]:u.filter(a=>a.handler.endsWith(l));return r.createElement(G.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?r.createElement(A.K,{spacing:2},d.map((a,n)=>r.createElement(Rt,{key:n,route:a}))):r.createElement(A.K,{spacing:2},r.createElement(g.Z,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),r.createElement(g.Z,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var bt=o(83828),Dt=o(61762),Tt=o(89966),At=o(23940),Lt=o.n(At);function wt(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Lt()(s.replace("api::","").replace("plugin::",""))}}const St=wt;var Mt=o(98978),ve=o.n(Mt),Ee=o(8284),Ut=o(45112);const he=Q.css`
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{41513:(Pe,k,n)=>{n.d(k,{Z:()=>ie});var e=n(32735),o=n(88425),X=n(27649),T=n(84968),F=n(5141),K=n(49737),P=n(17247),f=n(60216),c=n.n(f),v=n(29439),W=n(66456),Q=Object.defineProperty,E=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,M=(a,t,r)=>t in a?Q(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Oe=(a,t)=>{for(var r in t||(t={}))O.call(t,r)&&M(a,r,t[r]);if(E)for(var r of E(t))y.call(t,r)&&M(a,r,t[r]);return a};function ue(a){return e.createElement("svg",Oe({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a),e.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}var at=n(28356),me=n(17e3),pe=n(62345),ge=n(41415),V=n(27677),Me=n(10369),xe=n(15335),G=n(5803),J=n(83281),q=n(5636),je=n(76437),Z=n(88860),Be=n(83292),fe=n(44426),Fe=n(8284),Ke=n(23940),We=n.n(Ke);const ve=({disabledEvents:a,name:t,events:r,inputValue:s,handleChange:g,handleChangeAll:I})=>{const B=r.filter(m=>!a.includes(m)),i=s.length===B.length,b=s.length>0,R=({target:{name:m}})=>{I({target:{name:m,value:!i}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Fe.X,{indeterminate:b&&!i,"aria-label":"Select all entries",name:t,onChange:R,value:i},We()(t))),r.map(m=>e.createElement("td",{key:m},e.createElement(fe.C,{disabled:a.includes(m),"aria-label":m,name:m,value:s.includes(m),onValueChange:S=>g({target:{name:m,value:S}})}))))};ve.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},ve.propTypes={disabledEvents:c().array,events:c().array,inputValue:c().array,handleChange:c().func,handleChangeAll:c().func,name:c().string.isRequired};const Ue=ve,le=a=>a.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Se=Be.default.table`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{41513:(Pe,k,n)=>{n.d(k,{Z:()=>ie});var e=n(32735),o=n(88425),X=n(27649),T=n(84968),K=n(5141),F=n(49737),P=n(17247),f=n(60216),c=n.n(f),v=n(29439),W=n(66456),Q=Object.defineProperty,E=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,M=(a,t,r)=>t in a?Q(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Oe=(a,t)=>{for(var r in t||(t={}))O.call(t,r)&&M(a,r,t[r]);if(E)for(var r of E(t))y.call(t,r)&&M(a,r,t[r]);return a};function ue(a){return e.createElement("svg",Oe({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a),e.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}var rt=n(28356),me=n(17e3),pe=n(62345),ge=n(41415),V=n(27677),Me=n(10369),xe=n(15335),G=n(5803),J=n(83281),q=n(5636),$e=n(76437),Z=n(88860),je=n(83292),fe=n(44426),Be=n(8284),Ke=n(23940),Fe=n.n(Ke);const ve=({disabledEvents:a,name:t,events:r,inputValue:s,handleChange:g,handleChangeAll:I})=>{const B=r.filter(m=>!a.includes(m)),i=s.length===B.length,b=s.length>0,R=({target:{name:m}})=>{I({target:{name:m,value:!i}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Be.X,{indeterminate:b&&!i,"aria-label":"Select all entries",name:t,onChange:R,value:i},Fe()(t))),r.map(m=>e.createElement("td",{key:m},e.createElement(fe.C,{disabled:a.includes(m),"aria-label":m,name:m,value:s.includes(m),onValueChange:S=>g({target:{name:m,value:S}})}))))};ve.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},ve.propTypes={disabledEvents:c().array,events:c().array,inputValue:c().array,handleChange:c().func,handleChangeAll:c().func,name:c().string.isRequired};const We=ve,le=a=>a.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Se=je.default.table`
2
2
  td {
3
3
  height: ${52/16}rem;
4
4
  width: 10%;
@@ -13,14 +13,14 @@
13
13
  tbody tr td:first-child {
14
14
  padding-left: ${({theme:a})=>a.spaces[7]};
15
15
  }
16
- `,l={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"]}}},d=({isDraftAndPublish:a})=>{const t=a?l.headers.draftAndPublish:l.headers.default,r=a?l.events.draftAndPublish:l.events.default,{formatMessage:s}=(0,q.useIntl)(),{values:g,handleChange:I}=(0,J.useFormikContext)(),B="events",i=g.events,b=[],R=le(i),m=({target:{name:C,value:re}})=>{let U=new Set(i);re?U.add(C):U.delete(C),I({target:{name:B,value:Array.from(U)}})},S=({target:{name:C,value:re}})=>{let U=new Set(i);re?r[C].forEach(ne=>{b.includes(ne)||U.add(ne)}):r[C].forEach(ne=>U.delete(ne)),I({target:{name:B,value:Array.from(U)}})};return e.createElement(V.K,{spacing:1},e.createElement(je.Q,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(Se,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(C=>C==="app.utils.publish"||C==="app.utils.unpublish"?e.createElement("td",{key:C.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},s(C))):e.createElement("td",{key:C.id},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},s(C)))))),e.createElement("tbody",null,Object.keys(r).map(C=>e.createElement(Ue,{disabledEvents:b,key:C,name:C,events:r[C],inputValue:R[C],handleChange:m,handleChangeAll:S})))))};d.propTypes={isDraftAndPublish:c().bool.isRequired};const p=d;var x=n(19406),A=n(36320),rt=n(7563),N=n(21590),Ie=n(90333);const Re=["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"];var se=Object.defineProperty,nt=Object.defineProperties,De=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Ae=(a,t,r)=>t in a?se(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,ot=(a,t)=>{for(var r in t||(t={}))Ve.call(t,r)&&Ae(a,r,t[r]);if(he)for(var r of he(t))Te.call(t,r)&&Ae(a,r,t[r]);return a},Ze=(a,t)=>nt(a,De(t)),lt=(a,t)=>{var r={};for(var s in a)Ve.call(a,s)&&t.indexOf(s)<0&&(r[s]=a[s]);if(a!=null&&he)for(var s of he(a))t.indexOf(s)<0&&Te.call(a,s)&&(r[s]=a[s]);return r};const Le=a=>{var t=a,{name:r,onChange:s,value:g}=t,I=lt(t,["name","onChange","value"]);const[B,i]=(0,e.useState)(g?[...Re,g]:Re),b=m=>{s({target:{name:r,value:m}})},R=m=>{i(S=>[...S,m]),s({target:{name:r,value:m}})};return e.createElement(N.X,Ze(ot({},I),{onChange:b,onCreateOption:R,placeholder:"",value:g}),B.map(m=>e.createElement(Ie.O,{value:m,key:m},m)))};Le.defaultProps={value:void 0},Le.propTypes={name:c().string.isRequired,onChange:c().func.isRequired,value:c().string};const st=Le,it=()=>{const{formatMessage:a}=(0,q.useIntl)(),{values:t,errors:r}=(0,J.useFormikContext)();return e.createElement(V.K,{spacing:1},e.createElement(je.Q,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(pe.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(J.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:g})=>{var I;return e.createElement(xe.r,{gap:4},(I=t.headers)==null?void 0:I.map((B,i)=>{var b,R,m,S,C,re,U,ne,et,tt;return e.createElement(e.Fragment,{key:i},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:st,name:`headers.${i}.key`,"aria-label":`row ${i+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:((R=(b=r.headers)==null?void 0:b[i])==null?void 0:R.key)&&a({id:(m=r.headers[i])==null?void 0:m.key,defaultMessage:(S=r.headers[i])==null?void 0:S.key})})),e.createElement(G.P,{col:6},e.createElement(A.k,{alignItems:"flex-end"},e.createElement(pe.x,{style:{flex:1}},e.createElement(J.Field,{as:Me.o,"aria-label":`row ${i+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${i}.value`,error:((re=(C=r.headers)==null?void 0:C[i])==null?void 0:re.value)&&a({id:(U=r.headers[i])==null?void 0:U.value,defaultMessage:(ne=r.headers[i])==null?void 0:ne.value})})),e.createElement(A.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:(tt=(et=r.headers)==null?void 0:et[i])!=null&&tt.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>t.headers.length!==1&&g(i),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:i+1})})))))}),e.createElement(G.P,{col:12},e.createElement(rt.A,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(x.default,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))}})))};var Ne=n(35331),w=n(27169);const de=Be.default.svg(({theme:a,color:t})=>`
16
+ `,l={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"]}}},d=({isDraftAndPublish:a})=>{const t=a?l.headers.draftAndPublish:l.headers.default,r=a?l.events.draftAndPublish:l.events.default,{formatMessage:s}=(0,q.useIntl)(),{values:g,handleChange:I}=(0,J.useFormikContext)(),B="events",i=g.events,b=[],R=le(i),m=({target:{name:C,value:re}})=>{let U=new Set(i);re?U.add(C):U.delete(C),I({target:{name:B,value:Array.from(U)}})},S=({target:{name:C,value:re}})=>{let U=new Set(i);re?r[C].forEach(ne=>{b.includes(ne)||U.add(ne)}):r[C].forEach(ne=>U.delete(ne)),I({target:{name:B,value:Array.from(U)}})};return e.createElement(V.K,{spacing:1},e.createElement($e.Q,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(Se,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),t.map(C=>C==="app.utils.publish"||C==="app.utils.unpublish"?e.createElement("td",{key:C.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for contents with Draft/Publish system enabled"})},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},s(C))):e.createElement("td",{key:C.id},e.createElement(Z.Z,{variant:"sigma",textColor:"neutral600"},s(C)))))),e.createElement("tbody",null,Object.keys(r).map(C=>e.createElement(We,{disabledEvents:b,key:C,name:C,events:r[C],inputValue:R[C],handleChange:m,handleChangeAll:S})))))};d.propTypes={isDraftAndPublish:c().bool.isRequired};const p=d;var x=n(19406),A=n(36320),nt=n(7563),N=n(21590),Ie=n(90333);const Re=["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"];var se=Object.defineProperty,ot=Object.defineProperties,De=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Ae=(a,t,r)=>t in a?se(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,lt=(a,t)=>{for(var r in t||(t={}))Ue.call(t,r)&&Ae(a,r,t[r]);if(he)for(var r of he(t))Te.call(t,r)&&Ae(a,r,t[r]);return a},Ve=(a,t)=>ot(a,De(t)),st=(a,t)=>{var r={};for(var s in a)Ue.call(a,s)&&t.indexOf(s)<0&&(r[s]=a[s]);if(a!=null&&he)for(var s of he(a))t.indexOf(s)<0&&Te.call(a,s)&&(r[s]=a[s]);return r};const Le=a=>{var t=a,{name:r,onChange:s,value:g}=t,I=st(t,["name","onChange","value"]);const[B,i]=(0,e.useState)(g?[...Re,g]:Re),b=m=>{s({target:{name:r,value:m}})},R=m=>{i(S=>[...S,m]),s({target:{name:r,value:m}})};return e.createElement(N.X,Ve(lt({},I),{onChange:b,onCreateOption:R,placeholder:"",value:g}),B.map(m=>e.createElement(Ie.O,{value:m,key:m},m)))};Le.defaultProps={value:void 0},Le.propTypes={name:c().string.isRequired,onChange:c().func.isRequired,value:c().string};const Ze=Le,it=()=>{const{formatMessage:a}=(0,q.useIntl)(),{values:t,errors:r}=(0,J.useFormikContext)();return e.createElement(V.K,{spacing:1},e.createElement($e.Q,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(pe.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(J.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:g})=>{var I;return e.createElement(xe.r,{gap:4},(I=t.headers)==null?void 0:I.map((B,i)=>{var b,R,m,S,C,re,U,ne,tt,at;return e.createElement(e.Fragment,{key:i},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:Ze,name:`headers.${i}.key`,"aria-label":`row ${i+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:((R=(b=r.headers)==null?void 0:b[i])==null?void 0:R.key)&&a({id:(m=r.headers[i])==null?void 0:m.key,defaultMessage:(S=r.headers[i])==null?void 0:S.key})})),e.createElement(G.P,{col:6},e.createElement(A.k,{alignItems:"flex-end"},e.createElement(pe.x,{style:{flex:1}},e.createElement(J.Field,{as:Me.o,"aria-label":`row ${i+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${i}.value`,error:((re=(C=r.headers)==null?void 0:C[i])==null?void 0:re.value)&&a({id:(U=r.headers[i])==null?void 0:U.value,defaultMessage:(ne=r.headers[i])==null?void 0:ne.value})})),e.createElement(A.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:(at=(tt=r.headers)==null?void 0:tt[i])!=null&&at.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>t.headers.length!==1&&g(i),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:i+1})})))))}),e.createElement(G.P,{col:12},e.createElement(nt.A,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(x.default,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))}})))};var Ne=n(35331),w=n(27169);const de=je.default.svg(({theme:a,color:t})=>`
17
17
  width: ${12/16}rem;
18
18
  height: ${12/16}rem;
19
19
 
20
20
  path {
21
21
  fill: ${a.colors[t]};
22
22
  }
23
- `),we=({isPending:a,statusCode:t})=>{const{formatMessage:r}=(0,q.useIntl)();return a?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:w.default}),e.createElement(Z.Z,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:W.Z,color:"success700"}),e.createElement(Z.Z,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:Ne.default,color:"danger700"}),e.createElement(Z.Z,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};we.propTypes={isPending:c().bool.isRequired,statusCode:c().number},we.defaultProps={statusCode:void 0};const ke=({statusCode:a,message:t})=>{const{formatMessage:r}=(0,q.useIntl)();return a>=200&&a<300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(Z.Z,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(A.k,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(Z.Z,{ellipsis:!0,textColor:"neutral600"},t))):null};ke.propTypes={statusCode:c().number,message:c().string},ke.defaultProps={statusCode:void 0,message:void 0};const $=({onCancel:a})=>{const{formatMessage:t}=(0,q.useIntl)();return e.createElement(A.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(Z.Z,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(de,{as:Ne.default,color:"neutral400"}))))};$.propTypes={onCancel:c().func.isRequired};const Ee=({isPending:a,onCancel:t,response:r})=>{const{statusCode:s,message:g}=r,{formatMessage:I}=(0,q.useIntl)();return e.createElement(pe.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(xe.r,{gap:4,style:{alignItems:"center"}},e.createElement(G.P,{col:3},e.createElement(Z.Z,null,I({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(G.P,{col:3},e.createElement(we,{isPending:a,statusCode:s})),e.createElement(G.P,{col:6},a?e.createElement($,{onCancel:t}):e.createElement(ke,{statusCode:s,message:g}))))};Ee.defaultProps={isPending:!1,onCancel(){},response:{}},Ee.propTypes={isPending:c().bool,onCancel:c().func,response:c().object};const ee=Ee;var z=n(5173);const L=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,be=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,ye=z.Ry().shape({name:z.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(L,o.translatedErrors.regex),url:z.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(be,o.translatedErrors.regex),headers:z.Vo(a=>{let t=z.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return t}return t.of(z.Ry().shape({key:z.Z_().required(o.translatedErrors.required),value:z.Z_().required(o.translatedErrors.required)}))}),events:z.IX()}),te=({handleSubmit:a,data:t,triggerWebhook:r,isCreating:s,isTriggering:g,triggerResponse:I,isDraftAndPublishEvents:B})=>{const{formatMessage:i}=(0,q.useIntl)(),[b,R]=(0,e.useState)(!1);return e.createElement(J.Formik,{onSubmit:a,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([m,S])=>({key:m,value:S})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:ye,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:m,errors:S})=>e.createElement(o.Form,{noValidate:!0},e.createElement(at.T,{primaryAction:e.createElement(V.K,{horizontal:!0,spacing:2},e.createElement(ge.z,{onClick:()=>{r(),R(!0)},variant:"tertiary",startIcon:e.createElement(ue,null),disabled:s||g,size:"L"},i({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(ge.z,{startIcon:e.createElement(W.Z,null),onClick:m,type:"submit",size:"L"},i({id:"global.save",defaultMessage:"Save"}))),title:s?i({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(v.Z,null),to:"/settings/webhooks"},i({id:"global.back",defaultMessage:"Back"}))}),e.createElement(me.D,null,e.createElement(V.K,{spacing:4},b&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:g,response:I,onCancel:()=>R(!1)})),e.createElement(pe.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(V.K,{spacing:6},e.createElement(xe.r,{gap:6},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:Me.o,name:"name",error:S.name&&i({id:S.name}),label:i({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(G.P,{col:12},e.createElement(J.Field,{as:Me.o,name:"url",error:S.url&&i({id:S.url}),label:i({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(it,null),e.createElement(p,{isDraftAndPublish:B})))))))};te.propTypes={data:c().object,handleSubmit:c().func.isRequired,triggerWebhook:c().func.isRequired,isCreating:c().bool.isRequired,isDraftAndPublishEvents:c().bool.isRequired,isTriggering:c().bool.isRequired,triggerResponse:c().object},te.defaultProps={data:void 0,triggerResponse:void 0};const ze=te;var dt=n(92891),He=Object.defineProperty,j=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable,Ge=(a,t,r)=>t in a?He(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Je=(a,t)=>{for(var r in t||(t={}))Qe.call(t,r)&&Ge(a,r,t[r]);if(Xe)for(var r of Xe(t))ct.call(t,r)&&Ge(a,r,t[r]);return a},ae=(a,t)=>j(a,$e(t));const ut=a=>{const t=Je({},a);return(0,dt.set)(t,"headers",Ye(a.headers)),t},Ye=a=>a.reduce((t,r)=>{const{key:s,value:g}=r;return s!==""?ae(Je({},t),{[s]:g}):t},{}),Ce=ut;var H=n(98399),mt=Object.defineProperty,qe=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,_e=(a,t,r)=>t in a?mt(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,u=(a,t)=>{for(var r in t||(t={}))pt.call(t,r)&&_e(a,r,t[r]);if(qe)for(var r of qe(t))gt.call(t,r)&&_e(a,r,t[r]);return a},h=(a,t,r)=>new Promise((s,g)=>{var I=b=>{try{i(r.next(b))}catch(R){g(R)}},B=b=>{try{i(r.throw(b))}catch(R){g(R)}},i=b=>b.done?s(b.value):Promise.resolve(b.value).then(I,B);i((r=r.apply(a,t)).next())});const ie=()=>{const{params:{id:a}}=(0,F.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,F.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),g=(0,o.useNotification)(),I=(0,T.useQueryClient)(),{isLoading:B,collectionTypes:i}=(0,K.bP)(),b=a==="create",R=(0,e.useCallback)(Y=>h(void 0,null,function*(){const[oe,{data:yt}]=yield(0,o.to)((0,o.request)(`/admin/webhooks/${Y}`,{method:"GET"}));return oe?(g({type:"warning",message:{id:"notification.error"}}),null):yt}),[g]),{isLoading:m,data:S}=(0,T.useQuery)(["get-webhook",a],()=>R(a),{enabled:!b}),{isLoading:C,data:re,isIdle:U,mutate:ne}=(0,T.useMutation)(()=>P.be.post(`/admin/webhooks/${a}/trigger`)),et=()=>ne(null,{onError(){g({type:"warning",message:{id:"notification.error"}})}}),tt=(0,T.useMutation)(Y=>(0,o.request)("/admin/webhooks",{method:"POST",body:Y})),ht=(0,T.useMutation)(({id:Y,body:oe})=>(0,o.request)(`/admin/webhooks/${Y}`,{method:"PUT",body:oe})),Et=Y=>h(void 0,null,function*(){b?(r(),tt.mutate(Ce(Y),{onSuccess(oe){g({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${oe.data.id}`),s()},onError(oe){g({type:"warning",message:{id:"notification.error"}}),H.log(oe),s()}})):(r(),ht.mutate({id:a,body:Ce(Y)},{onSuccess(){I.invalidateQueries(["get-webhook",a]),g({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(oe){g({type:"warning",message:{id:"notification.error"}}),H.log(oe),s()}}))}),bt=(0,e.useMemo)(()=>i.some(Y=>Y.options.draftAndPublish===!0),[i]);return m||B?e.createElement(o.LoadingIndicatorPage,null):e.createElement(X.o,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(ze,u({},{handleSubmit:Et,data:S,triggerWebhook:et,isCreating:b,isTriggering:C,isTriggerIdle:U,triggerResponse:re==null?void 0:re.data.data,isDraftAndPublishEvents:bt})))}},33238:(Pe,k,n)=>{n.r(k),n.d(k,{default:()=>P});var e=n(32735),o=n(88425),X=n.n(o),T=n(83983),F=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.create},e.createElement(F.Z,null))},59021:(Pe,k,n)=>{n.r(k),n.d(k,{default:()=>P});var e=n(32735),o=n(88425),X=n.n(o),T=n(83983),F=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.update},e.createElement(F.Z,null))},21590:(Pe,k,n)=>{n.d(k,{h:()=>le,X:()=>Se});var e=n(32735),o=n(60216),X=n(16899),T=n(35331),F=n(59002),K=n(96892),P=n(94486);const f={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},c={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function v(l=[],d=null,p=[]){const x=String(d!=null?d:"").toLowerCase();return x?l.filter(A=>A.props.children.toString().toLowerCase().includes(x)&&p.indexOf(A)<0):l}function W(l,d){if(!d&&l===P.y.DOWN)return f.Open;if(l===P.y.DOWN)return f.Next;if(l===P.y.UP)return f.Previous;if(l===P.y.HOME)return f.First;if(l===P.y.END)return f.Last;if(l===P.y.ESCAPE)return f.Close;if(l===P.y.ENTER)return f.CloseSelect;if(l===P.y.BACKSPACE||l===P.y.CLEAR||l.length===1)return f.Type}function Q(l,d,p){switch(p){case f.First:return 0;case f.Last:return d;case f.Previous:return Math.max(0,l-1);case f.Next:return Math.min(d,l+1);default:return l}}function E(l){K(l,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:d,top:p,left:x})=>{d.scrollTop=p,d.scrollLeft=x})}var O=n(36320),y=n(93958),M=n(46406),Oe=n(62345),ue=n(88860),at=n(97405),me=n(91225),pe=n(90333);const ge=({options:l,activeOptionRef:d})=>((0,e.useEffect)(()=>{d.current&&E(d.current)},[d]),l);ge.defaultProps={activeOptionRef:void 0},ge.propTypes={options:o.array.isRequired};var V=n(87107),Me=n(76437),xe=n(67014),G=n(47851),J=n(27677),q=n(3685),je=Object.defineProperty,Z=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable,We=(l,d,p)=>d in l?je(l,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):l[d]=p,ve=(l,d)=>{for(var p in d||(d={}))Fe.call(d,p)&&We(l,p,d[p]);if(fe)for(var p of fe(d))Ke.call(d,p)&&We(l,p,d[p]);return l},Ue=(l,d)=>Z(l,Be(d)),ft=(l,d)=>{var p={};for(var x in l)Fe.call(l,x)&&d.indexOf(x)<0&&(p[x]=l[x]);if(l!=null&&fe)for(var x of fe(l))d.indexOf(x)<0&&Ke.call(l,x)&&(p[x]=l[x]);return p};const le=l=>{var d=l,{children:p,clearLabel:x,creatable:A,createMessage:rt,disabled:N,error:Ie,hasMoreItems:vt,hint:Re,label:se,labelAction:nt,loading:De,loadingMessage:he,noOptionsMessage:Ve,onChange:Te,onClear:Ae,onCreateOption:ot,onInputChange:Ze,onLoadMore:lt,placeholder:Le,required:st,value:_}=d,it=ft(d,["children","clearLabel","creatable","createMessage","disabled","error","hasMoreItems","hint","label","labelAction","loading","loadingMessage","noOptionsMessage","onChange","onClear","onCreateOption","onInputChange","onLoadMore","placeholder","required","value"]);const Ne=()=>{var u;return(u=p.find(h=>{var D;return((D=h.props)==null?void 0:D.value.toLowerCase())===_.toLowerCase()}).props)==null?void 0:u.children},[w,de]=(0,e.useState)(0),[we,ke]=(0,e.useState)(null),[$,Ee]=(0,e.useState)(p),[ee,z]=(0,e.useState)(!1),[L,be]=(0,e.useState)(""),ce=(0,e.useRef)(),ye=(0,e.useRef)(!1),te=(0,e.useRef)(),ze=(0,e.useRef)(),dt=(0,e.useRef)(),He=(0,e.useRef)(!0),j=(0,F.M)("combobox"),$e=`${j}-label`;if(!se&&!it["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');(0,e.useEffect)(()=>{Ee(v(p,L))},[L,p]),(0,e.useEffect)(()=>{ee&&ce.current&&E(ce.current)},[w,ee]),(0,e.useLayoutEffect)(()=>{He.current&&(He.current=!1)},[_]);const Xe=ee?`${j}-${w}`:"",Qe=()=>{Te(null),be("")},ct=u=>{Ze&&Ze(u);const h=te.current.value;Ee(v(p,h)),de(0),ke(null),L!==h&&be(h),ee||H(!0,!1)},Ge=u=>{const{key:h}=u,D=A&&L?$.length:$.length-1,ie=W(h,ee);switch(_&&!L&&h===P.y.BACKSPACE&&Qe(),ie){case f.Next:{if(w===D){ae(0);break}ae(Q(w,D,ie));break}case f.Previous:{if(w===0){ae(D);break}ae(Q(w,D,ie));break}case f.Last:case f.First:{if(w===D){ae(0);break}ae(Q(w,D,ie));break}case f.CloseSelect:u.preventDefault(),Ce(w);break;case f.Close:u.preventDefault(),H(!1);break;case f.Open:H(!0);break}},Je=u=>{if(u.preventDefault(),_&&!ye.current&&be(""),ye.current){ye.current=!1;return}H(!1,!1)},ae=u=>{de(u)},ut=u=>{ae(u),Ce(u)},Ye=()=>{ye.current=!0},Ce=u=>{const h=$[u];if(be(""),h){Te(h.props.value),H(!1);return}A&&(ot(L),H(!1))},H=(u,h=!0)=>{z(u),h&&te.current.focus()},mt=e.Children.toArray($).map((u,h)=>{const D=w===h;return(0,e.cloneElement)(u,{id:`${j}-${h}`,"aria-selected":we===h,"aria-posinset":h+1,"aria-setsize":e.Children.toArray($).length,ref(ie){D&&(ce.current=ie)},onClick:()=>ut(h),onMouseDown:Ye,isSelected:D})}),qe=()=>{te.current.focus(),Ae&&Ae(),Qe()},pt=()=>{te.current.focus(),H(!0)},gt=()=>{const u=$.findIndex(h=>{var D;return((D=h.props)==null?void 0:D.children)===L});return L&&u===-1},_e=u=>{u.preventDefault(),H(u,!0)};return e.createElement(V.g,{hint:Re,error:Ie,id:j},e.createElement(q.T,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},_),e.createElement(J.K,{spacing:se||Re||Ie?1:0},se&&e.createElement(Me.Q,{action:nt,required:st,id:$e},se),e.createElement(me.d8,{ref:ze,$disabled:N,hasError:Ie},e.createElement(me.fv,{wrap:"wrap"},!L&&_&&e.createElement(me.K7,{id:`${j}-selected-value`},e.createElement(ue.Z,null,Ne())),e.createElement(me.II,{"aria-activedescendant":Xe,"aria-autocomplete":"list","aria-controls":`${j}-listbox`,"aria-disabled":N,"aria-expanded":ee,"aria-haspopup":"listbox","aria-labelledby":se?$e:void 0,id:j,onBlur:N?void 0:Je,onClick:N?void 0:_e,onInput:N?void 0:ct,onKeyDown:N?void 0:Ge,placeholder:_?"":Le,readOnly:N,ref:te,role:"combobox",autoComplete:"off",autoCorrect:"off",spellCheck:"off",type:"text",value:L})),e.createElement(O.k,null,(_||L)&&e.createElement(y.zb,{id:`${j}-clear`,"aria-label":x,disabled:N,paddingLeft:3,as:"button",onClick:qe,type:"button"},e.createElement(T.default,null)),e.createElement(y.AV,{disabled:N,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:pt,tabIndex:-1,type:"button"},e.createElement(X.default,null)))),e.createElement(xe.J,null),e.createElement(G.c,null)),ee&&e.createElement(M.J,{id:`${j}-popover`,source:ze,spacing:4,fullWidth:!0,intersectionId:`${j}-listbox-popover-intersection`,onReachEnd:vt&&!De?lt:void 0},e.createElement("div",{role:"listbox",ref:dt,id:`${j}-listbox`,"aria-labelledby":se?$e:void 0},(Boolean($.length)||A)&&e.createElement(e.Fragment,null,e.createElement(ge,{activeOptionRef:ce,options:mt}),gt()&&A&&e.createElement(pe.O,{isSelected:w===$.length,ref:u=>{w===$.length&&(ce.current=u)},onMouseDown:Ye,onClick:()=>Ce(),taindex:0},rt(L))),!$.length&&!A&&!De&&e.createElement(Oe.x,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:ce},e.createElement(ue.Z,{textColor:"neutral800"},Ve(L))),De&&e.createElement(O.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},e.createElement(at.a,{small:!0},he)))))},Se=l=>e.createElement(le,Ue(ve({},l),{creatable:!0}));le.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:l=>`Create "${l}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0},Se.defaultProps=le.defaultProps,le.propTypes={"aria-label":o.string,children:o.oneOfType([o.arrayOf(o.node),o.node]),clearLabel:o.string,creatable:o.bool,createMessage:o.func,disabled:o.bool,error:o.string,hasMoreItems:o.bool,hint:o.oneOfType([o.string,o.node,o.arrayOf(o.node)]),label:o.string,labelAction:o.element,loading:o.bool,loadingMessage:o.string,noOptionsMessage:o.func,onChange:o.func.isRequired,onClear:o.func,onCreateOption:o.func,onInputChange:o.func,onLoadMore:o.func,placeholder:o.string,value:o.string},Se.propTypes=Ue(ve({},le.propTypes),{onCreateOption:o.func.isRequired})},90333:(Pe,k,n)=>{n.d(k,{O:()=>Q});var e=n(32735),o=n(60216),X=n(88860),T=n(91225),F=Object.defineProperty,K=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,c=(E,O,y)=>O in E?F(E,O,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[O]=y,v=(E,O)=>{for(var y in O||(O={}))P.call(O,y)&&c(E,y,O[y]);if(K)for(var y of K(O))f.call(O,y)&&c(E,y,O[y]);return E},W=(E,O)=>{var y={};for(var M in E)P.call(E,M)&&O.indexOf(M)<0&&(y[M]=E[M]);if(E!=null&&K)for(var M of K(E))O.indexOf(M)<0&&f.call(E,M)&&(y[M]=E[M]);return y};const Q=(0,e.forwardRef)((E,O)=>{var y=E,{isSelected:M,children:Oe}=y,ue=W(y,["isSelected","children"]);return e.createElement(T.Zq,v({hasRadius:!0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,role:"option",background:"neutral0",isSelected:M,ref:O},ue),e.createElement(X.Z,{textColor:M?"primary600":"neutral800",fontWeight:M?"bold":null},Oe))});Q.defaultProps={isSelected:!1},Q.propTypes={children:o.oneOfType([o.string,o.number]).isRequired,isSelected:o.bool},Q.displayName="ComboboxOption"},91225:(Pe,k,n)=>{n.d(k,{II:()=>f,K7:()=>K,Zq:()=>c,d8:()=>F,fv:()=>P});var e=n(83292),o=n(62345),X=n(36320),T=n(30350);const F=(0,e.default)(X.k)`
23
+ `),we=({isPending:a,statusCode:t})=>{const{formatMessage:r}=(0,q.useIntl)();return a?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:w.default}),e.createElement(Z.Z,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:W.Z,color:"success700"}),e.createElement(Z.Z,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(de,{as:Ne.default,color:"danger700"}),e.createElement(Z.Z,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};we.propTypes={isPending:c().bool.isRequired,statusCode:c().number},we.defaultProps={statusCode:void 0};const ke=({statusCode:a,message:t})=>{const{formatMessage:r}=(0,q.useIntl)();return a>=200&&a<300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(Z.Z,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(A.k,{justifyContent:"flex-end"},e.createElement(A.k,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(Z.Z,{ellipsis:!0,textColor:"neutral600"},t))):null};ke.propTypes={statusCode:c().number,message:c().string},ke.defaultProps={statusCode:void 0,message:void 0};const $=({onCancel:a})=>{const{formatMessage:t}=(0,q.useIntl)();return e.createElement(A.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(V.K,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(Z.Z,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(de,{as:Ne.default,color:"neutral400"}))))};$.propTypes={onCancel:c().func.isRequired};const Ee=({isPending:a,onCancel:t,response:r})=>{const{statusCode:s,message:g}=r,{formatMessage:I}=(0,q.useIntl)();return e.createElement(pe.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(xe.r,{gap:4,style:{alignItems:"center"}},e.createElement(G.P,{col:3},e.createElement(Z.Z,null,I({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(G.P,{col:3},e.createElement(we,{isPending:a,statusCode:s})),e.createElement(G.P,{col:6},a?e.createElement($,{onCancel:t}):e.createElement(ke,{statusCode:s,message:g}))))};Ee.defaultProps={isPending:!1,onCancel(){},response:{}},Ee.propTypes={isPending:c().bool,onCancel:c().func,response:c().object};const ee=Ee;var z=n(5173);const L=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,be=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,ye=z.Ry().shape({name:z.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(L,o.translatedErrors.regex),url:z.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(be,o.translatedErrors.regex),headers:z.Vo(a=>{let t=z.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return t}return t.of(z.Ry().shape({key:z.Z_().required(o.translatedErrors.required),value:z.Z_().required(o.translatedErrors.required)}))}),events:z.IX()}),te=({handleSubmit:a,data:t,triggerWebhook:r,isCreating:s,isTriggering:g,triggerResponse:I,isDraftAndPublishEvents:B})=>{const{formatMessage:i}=(0,q.useIntl)(),[b,R]=(0,e.useState)(!1);return e.createElement(J.Formik,{onSubmit:a,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([m,S])=>({key:m,value:S})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:ye,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:m,errors:S})=>e.createElement(o.Form,{noValidate:!0},e.createElement(rt.T,{primaryAction:e.createElement(V.K,{horizontal:!0,spacing:2},e.createElement(ge.z,{onClick:()=>{r(),R(!0)},variant:"tertiary",startIcon:e.createElement(ue,null),disabled:s||g,size:"L"},i({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(ge.z,{startIcon:e.createElement(W.Z,null),onClick:m,type:"submit",size:"L"},i({id:"global.save",defaultMessage:"Save"}))),title:s?i({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(v.Z,null),to:"/settings/webhooks"},i({id:"global.back",defaultMessage:"Back"}))}),e.createElement(me.D,null,e.createElement(V.K,{spacing:4},b&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:g,response:I,onCancel:()=>R(!1)})),e.createElement(pe.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(V.K,{spacing:6},e.createElement(xe.r,{gap:6},e.createElement(G.P,{col:6},e.createElement(J.Field,{as:Me.o,name:"name",error:S.name&&i({id:S.name}),label:i({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(G.P,{col:12},e.createElement(J.Field,{as:Me.o,name:"url",error:S.url&&i({id:S.url}),label:i({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(it,null),e.createElement(p,{isDraftAndPublish:B})))))))};te.propTypes={data:c().object,handleSubmit:c().func.isRequired,triggerWebhook:c().func.isRequired,isCreating:c().bool.isRequired,isDraftAndPublishEvents:c().bool.isRequired,isTriggering:c().bool.isRequired,triggerResponse:c().object},te.defaultProps={data:void 0,triggerResponse:void 0};const ze=te;var dt=n(92891),He=Object.defineProperty,j=Object.defineProperties,Xe=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable,Je=(a,t,r)=>t in a?He(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,Ye=(a,t)=>{for(var r in t||(t={}))Ge.call(t,r)&&Je(a,r,t[r]);if(Qe)for(var r of Qe(t))ct.call(t,r)&&Je(a,r,t[r]);return a},ae=(a,t)=>j(a,Xe(t));const ut=a=>{const t=Ye({},a);return(0,dt.set)(t,"headers",qe(a.headers)),t},qe=a=>a.reduce((t,r)=>{const{key:s,value:g}=r;return s!==""?ae(Ye({},t),{[s]:g}):t},{}),Ce=ut;var H=n(98399),mt=Object.defineProperty,_e=Object.getOwnPropertySymbols,pt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,et=(a,t,r)=>t in a?mt(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,u=(a,t)=>{for(var r in t||(t={}))pt.call(t,r)&&et(a,r,t[r]);if(_e)for(var r of _e(t))gt.call(t,r)&&et(a,r,t[r]);return a},h=(a,t,r)=>new Promise((s,g)=>{var I=b=>{try{i(r.next(b))}catch(R){g(R)}},B=b=>{try{i(r.throw(b))}catch(R){g(R)}},i=b=>b.done?s(b.value):Promise.resolve(b.value).then(I,B);i((r=r.apply(a,t)).next())});const ie=()=>{const{params:{id:a}}=(0,K.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,K.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),g=(0,o.useNotification)(),I=(0,T.useQueryClient)(),{isLoading:B,collectionTypes:i}=(0,F.bP)(),b=a==="create",R=(0,e.useCallback)(Y=>h(void 0,null,function*(){const[oe,{data:yt}]=yield(0,o.to)((0,o.request)(`/admin/webhooks/${Y}`,{method:"GET"}));return oe?(g({type:"warning",message:{id:"notification.error"}}),null):yt}),[g]),{isLoading:m,data:S}=(0,T.useQuery)(["get-webhook",a],()=>R(a),{enabled:!b}),{isLoading:C,data:re,isIdle:U,mutate:ne}=(0,T.useMutation)(()=>P.be.post(`/admin/webhooks/${a}/trigger`)),tt=()=>ne(null,{onError(){g({type:"warning",message:{id:"notification.error"}})}}),at=(0,T.useMutation)(Y=>(0,o.request)("/admin/webhooks",{method:"POST",body:Y})),ht=(0,T.useMutation)(({id:Y,body:oe})=>(0,o.request)(`/admin/webhooks/${Y}`,{method:"PUT",body:oe})),Et=Y=>h(void 0,null,function*(){b?(r(),at.mutate(Ce(Y),{onSuccess(oe){g({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${oe.data.id}`),s()},onError(oe){g({type:"warning",message:{id:"notification.error"}}),H.log(oe),s()}})):(r(),ht.mutate({id:a,body:Ce(Y)},{onSuccess(){I.invalidateQueries(["get-webhook",a]),g({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(oe){g({type:"warning",message:{id:"notification.error"}}),H.log(oe),s()}}))}),bt=(0,e.useMemo)(()=>i.some(Y=>Y.options.draftAndPublish===!0),[i]);return m||B?e.createElement(o.LoadingIndicatorPage,null):e.createElement(X.o,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(ze,u({},{handleSubmit:Et,data:S,triggerWebhook:tt,isCreating:b,isTriggering:C,isTriggerIdle:U,triggerResponse:re==null?void 0:re.data.data,isDraftAndPublishEvents:bt})))}},33238:(Pe,k,n)=>{n.r(k),n.d(k,{default:()=>P});var e=n(32735),o=n(88425),X=n.n(o),T=n(83983),K=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.create},e.createElement(K.Z,null))},59021:(Pe,k,n)=>{n.r(k),n.d(k,{default:()=>P});var e=n(32735),o=n(88425),X=n.n(o),T=n(83983),K=n(41513);const P=()=>e.createElement(o.CheckPagePermissions,{permissions:T.Z.settings.webhooks.update},e.createElement(K.Z,null))},21590:(Pe,k,n)=>{n.d(k,{h:()=>le,X:()=>Se});var e=n(32735),o=n(60216),X=n(16899),T=n(35331),K=n(59002),F=n(96892),P=n(94486);const f={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},c={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function v(l=[],d=null,p=[]){const x=String(d!=null?d:"").toLowerCase();return x?l.filter(A=>A.props.children.toString().toLowerCase().includes(x)&&p.indexOf(A)<0):l}function W(l,d){if(!d&&l===P.y.DOWN)return f.Open;if(l===P.y.DOWN)return f.Next;if(l===P.y.UP)return f.Previous;if(l===P.y.HOME)return f.First;if(l===P.y.END)return f.Last;if(l===P.y.ESCAPE)return f.Close;if(l===P.y.ENTER)return f.CloseSelect;if(l===P.y.BACKSPACE||l===P.y.CLEAR||l.length===1)return f.Type}function Q(l,d,p){switch(p){case f.First:return 0;case f.Last:return d;case f.Previous:return Math.max(0,l-1);case f.Next:return Math.min(d,l+1);default:return l}}function E(l){F(l,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:d,top:p,left:x})=>{d.scrollTop=p,d.scrollLeft=x})}var O=n(36320),y=n(93958),M=n(46406),Oe=n(62345),ue=n(88860),rt=n(97405),me=n(91225),pe=n(90333);const ge=({options:l,activeOptionRef:d})=>((0,e.useEffect)(()=>{d.current&&E(d.current)},[d]),l);ge.defaultProps={activeOptionRef:void 0},ge.propTypes={options:o.array.isRequired};var V=n(87107),Me=n(76437),xe=n(67014),G=n(47851),J=n(27677),q=n(3685),$e=Object.defineProperty,Z=Object.defineProperties,je=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,Be=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable,Fe=(l,d,p)=>d in l?$e(l,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):l[d]=p,ve=(l,d)=>{for(var p in d||(d={}))Be.call(d,p)&&Fe(l,p,d[p]);if(fe)for(var p of fe(d))Ke.call(d,p)&&Fe(l,p,d[p]);return l},We=(l,d)=>Z(l,je(d)),ft=(l,d)=>{var p={};for(var x in l)Be.call(l,x)&&d.indexOf(x)<0&&(p[x]=l[x]);if(l!=null&&fe)for(var x of fe(l))d.indexOf(x)<0&&Ke.call(l,x)&&(p[x]=l[x]);return p};const le=l=>{var d=l,{children:p,clearLabel:x,creatable:A,createMessage:nt,disabled:N,error:Ie,hasMoreItems:vt,hint:Re,label:se,labelAction:ot,loading:De,loadingMessage:he,noOptionsMessage:Ue,onChange:Te,onClear:Ae,onCreateOption:lt,onInputChange:Ve,onLoadMore:st,placeholder:Le,required:Ze,value:_}=d,it=ft(d,["children","clearLabel","creatable","createMessage","disabled","error","hasMoreItems","hint","label","labelAction","loading","loadingMessage","noOptionsMessage","onChange","onClear","onCreateOption","onInputChange","onLoadMore","placeholder","required","value"]);const Ne=()=>{var u;return(u=p.find(h=>{var D;return((D=h.props)==null?void 0:D.value.toLowerCase())===_.toLowerCase()}).props)==null?void 0:u.children},[w,de]=(0,e.useState)(0),[we,ke]=(0,e.useState)(null),[$,Ee]=(0,e.useState)(p),[ee,z]=(0,e.useState)(!1),[L,be]=(0,e.useState)(""),ce=(0,e.useRef)(),ye=(0,e.useRef)(!1),te=(0,e.useRef)(),ze=(0,e.useRef)(),dt=(0,e.useRef)(),He=(0,e.useRef)(!0),j=(0,K.M)("combobox"),Xe=`${j}-label`;if(!se&&!it["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');(0,e.useEffect)(()=>{Ee(v(p,L))},[L,p]),(0,e.useEffect)(()=>{ee&&ce.current&&E(ce.current)},[w,ee]),(0,e.useLayoutEffect)(()=>{He.current&&(He.current=!1)},[_]);const Qe=ee?`${j}-${w}`:"",Ge=()=>{Te(null),be("")},ct=u=>{Ve&&Ve(u);const h=te.current.value;Ee(v(p,h)),de(0),ke(null),L!==h&&be(h),ee||H(!0,!1)},Je=u=>{const{key:h}=u,D=A&&L?$.length:$.length-1,ie=W(h,ee);switch(_&&!L&&h===P.y.BACKSPACE&&Ge(),ie){case f.Next:{if(w===D){ae(0);break}ae(Q(w,D,ie));break}case f.Previous:{if(w===0){ae(D);break}ae(Q(w,D,ie));break}case f.Last:case f.First:{if(w===D){ae(0);break}ae(Q(w,D,ie));break}case f.CloseSelect:u.preventDefault(),Ce(w);break;case f.Close:u.preventDefault(),H(!1);break;case f.Open:H(!0);break}},Ye=u=>{if(u.preventDefault(),_&&!ye.current&&be(""),ye.current){ye.current=!1;return}H(!1,!1)},ae=u=>{de(u)},ut=u=>{ae(u),Ce(u)},qe=()=>{ye.current=!0},Ce=u=>{const h=$[u];if(be(""),h){Te(h.props.value),H(!1);return}A&&(lt(L),H(!1))},H=(u,h=!0)=>{z(u),h&&te.current.focus()},mt=e.Children.toArray($).map((u,h)=>{const D=w===h;return(0,e.cloneElement)(u,{id:`${j}-${h}`,"aria-selected":we===h,"aria-posinset":h+1,"aria-setsize":e.Children.toArray($).length,ref(ie){D&&(ce.current=ie)},onClick:()=>ut(h),onMouseDown:qe,isSelected:D})}),_e=()=>{te.current.focus(),Ae&&Ae(),Ge()},pt=()=>{te.current.focus(),H(!0)},gt=()=>{const u=$.findIndex(h=>{var D;return((D=h.props)==null?void 0:D.children)===L});return L&&u===-1},et=u=>{u.preventDefault(),H(u,!0)};return e.createElement(V.g,{hint:Re,error:Ie,id:j,required:Ze},e.createElement(q.T,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},_),e.createElement(J.K,{spacing:se||Re||Ie?1:0},se&&e.createElement(Me.Q,{action:ot},se),e.createElement(me.d8,{ref:ze,$disabled:N,hasError:Ie},e.createElement(me.fv,{wrap:"wrap"},!L&&_&&e.createElement(me.K7,{id:`${j}-selected-value`},e.createElement(ue.Z,null,Ne())),e.createElement(me.II,{"aria-activedescendant":Qe,"aria-autocomplete":"list","aria-controls":`${j}-listbox`,"aria-disabled":N,"aria-expanded":ee,"aria-haspopup":"listbox","aria-labelledby":se?Xe:void 0,autoComplete:"off",autoCorrect:"off",id:j,onBlur:N?void 0:Ye,onClick:N?void 0:et,onInput:N?void 0:ct,onKeyDown:N?void 0:Je,placeholder:_?"":Le,readOnly:N,ref:te,required:Ze,role:"combobox",spellCheck:"off",type:"text",value:L})),e.createElement(O.k,null,(_||L)&&e.createElement(y.zb,{id:`${j}-clear`,"aria-label":x,disabled:N,paddingLeft:3,as:"button",onClick:_e,type:"button"},e.createElement(T.default,null)),e.createElement(y.AV,{disabled:N,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:pt,tabIndex:-1,type:"button"},e.createElement(X.default,null)))),e.createElement(xe.J,null),e.createElement(G.c,null)),ee&&e.createElement(M.J,{id:`${j}-popover`,source:ze,spacing:4,fullWidth:!0,intersectionId:`${j}-listbox-popover-intersection`,onReachEnd:vt&&!De?st:void 0},e.createElement("div",{role:"listbox",ref:dt,id:`${j}-listbox`,"aria-labelledby":se?Xe:void 0},(Boolean($.length)||A)&&e.createElement(e.Fragment,null,e.createElement(ge,{activeOptionRef:ce,options:mt}),gt()&&A&&e.createElement(pe.O,{isSelected:w===$.length,ref:u=>{w===$.length&&(ce.current=u)},onMouseDown:qe,onClick:()=>Ce(),taindex:0},nt(L))),!$.length&&!A&&!De&&e.createElement(Oe.x,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:ce},e.createElement(ue.Z,{textColor:"neutral800"},Ue(L))),De&&e.createElement(O.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},e.createElement(rt.a,{small:!0},he)))))},Se=l=>e.createElement(le,We(ve({},l),{creatable:!0}));le.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:l=>`Create "${l}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0},Se.defaultProps=le.defaultProps,le.propTypes={"aria-label":o.string,children:o.oneOfType([o.arrayOf(o.node),o.node]),clearLabel:o.string,creatable:o.bool,createMessage:o.func,disabled:o.bool,error:o.string,hasMoreItems:o.bool,hint:o.oneOfType([o.string,o.node,o.arrayOf(o.node)]),label:o.string,labelAction:o.element,loading:o.bool,loadingMessage:o.string,noOptionsMessage:o.func,onChange:o.func.isRequired,onClear:o.func,onCreateOption:o.func,onInputChange:o.func,onLoadMore:o.func,placeholder:o.string,value:o.string},Se.propTypes=We(ve({},le.propTypes),{onCreateOption:o.func.isRequired})},90333:(Pe,k,n)=>{n.d(k,{O:()=>Q});var e=n(32735),o=n(60216),X=n(88860),T=n(91225),K=Object.defineProperty,F=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,c=(E,O,y)=>O in E?K(E,O,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[O]=y,v=(E,O)=>{for(var y in O||(O={}))P.call(O,y)&&c(E,y,O[y]);if(F)for(var y of F(O))f.call(O,y)&&c(E,y,O[y]);return E},W=(E,O)=>{var y={};for(var M in E)P.call(E,M)&&O.indexOf(M)<0&&(y[M]=E[M]);if(E!=null&&F)for(var M of F(E))O.indexOf(M)<0&&f.call(E,M)&&(y[M]=E[M]);return y};const Q=(0,e.forwardRef)((E,O)=>{var y=E,{isSelected:M,children:Oe}=y,ue=W(y,["isSelected","children"]);return e.createElement(T.Zq,v({hasRadius:!0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,role:"option",background:"neutral0",isSelected:M,ref:O},ue),e.createElement(X.Z,{textColor:M?"primary600":"neutral800",fontWeight:M?"bold":null},Oe))});Q.defaultProps={isSelected:!1},Q.propTypes={children:o.oneOfType([o.string,o.number]).isRequired,isSelected:o.bool},Q.displayName="ComboboxOption"},91225:(Pe,k,n)=>{n.d(k,{II:()=>f,K7:()=>F,Zq:()=>c,d8:()=>K,fv:()=>P});var e=n(83292),o=n(62345),X=n(36320),T=n(30350);const K=(0,e.default)(X.k)`
24
24
  position: relative;
25
25
  border: 1px solid ${({theme:v,hasError:W})=>W?v.colors.danger600:v.colors.neutral200};
26
26
  padding-right: ${({theme:v})=>v.spaces[3]};
@@ -34,7 +34,7 @@
34
34
  `:void 0}
35
35
 
36
36
  ${(0,T.k3)()}
37
- `,K=e.default.div`
37
+ `,F=e.default.div`
38
38
  padding: 1px 2px;
39
39
  grid-area: 1 / 1 / 2 / 3;
40
40
  `,P=(0,e.default)(X.k)`
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{74767:(Ue,M,o)=>{o.r(M),o.d(M,{default:()=>xe});var e=o(32735),i=o(88425),x=o(83983),A=o(5141),ee=o(5636),te=o(96709),le=o(28356),ne=o(99223),oe=o(17e3),ae=o(9695),$=o(36320),se=o(27677),H=o(50563),I=o(44426),re=o(56755),ie=o(73269),de=o(33827),K=o(94547),u=o(19786),ce=o(35658),g=o(88860),N=o(41415),ue=o(3685),v=o(60216),G=o(83292),R=o(62345),he=Object.defineProperty,y=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,j=(t,n,l)=>n in t?he(t,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[n]=l,Ee=(t,n)=>{for(var l in n||(n={}))V.call(n,l)&&j(t,l,n[l]);if(y)for(var l of y(n))Z.call(n,l)&&j(t,l,n[l]);return t},me=(t,n)=>{var l={};for(var r in t)V.call(t,r)&&n.indexOf(r)<0&&(l[r]=t[r]);if(t!=null&&y)for(var r of y(t))n.indexOf(r)<0&&Z.call(t,r)&&(l[r]=t[r]);return l};const S=G.default.div`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{74767:(Ue,M,o)=>{o.r(M),o.d(M,{default:()=>xe});var e=o(32735),i=o(88425),x=o(83983),A=o(5141),ee=o(5636),te=o(96709),le=o(28356),ne=o(99223),oe=o(17e3),ae=o(9695),$=o(36320),se=o(27677),H=o(50563),I=o(44426),re=o(94745),ie=o(73269),de=o(76330),K=o(29005),u=o(66735),ce=o(3594),g=o(88860),N=o(41415),ue=o(3685),v=o(60216),G=o(83292),R=o(62345),he=Object.defineProperty,y=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,j=(t,n,l)=>n in t?he(t,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[n]=l,Ee=(t,n)=>{for(var l in n||(n={}))V.call(n,l)&&j(t,l,n[l]);if(y)for(var l of y(n))Z.call(n,l)&&j(t,l,n[l]);return t},me=(t,n)=>{var l={};for(var r in t)V.call(t,r)&&n.indexOf(r)<0&&(l[r]=t[r]);if(t!=null&&y)for(var r of y(t))n.indexOf(r)<0&&Z.call(t,r)&&(l[r]=t[r]);return l};const S=G.default.div`
2
2
  background: ${({theme:t})=>t.colors.danger500};
3
3
  border: none;
4
4
  border-radius: 16px;
@@ -6,7 +6,7 @@ module.exports = () => {
6
6
  Object.assign(registry, {
7
7
  register(provider) {
8
8
  if (strapi.isLoaded) {
9
- throw new Error(`You can't register new provider after the boostrap`);
9
+ throw new Error(`You can't register new provider after the bootstrap`);
10
10
  }
11
11
 
12
12
  this.set(provider.uid, provider);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "4.6.0-beta.0",
3
+ "version": "4.6.0-beta.1",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,19 +45,14 @@
45
45
  "@babel/runtime": "7.18.9",
46
46
  "@casl/ability": "^5.4.3",
47
47
  "@fingerprintjs/fingerprintjs": "3.3.3",
48
- "@fortawesome/fontawesome-free": "^5.15.3",
49
- "@fortawesome/fontawesome-svg-core": "6.2.0",
50
- "@fortawesome/free-brands-svg-icons": "^5.15.3",
51
- "@fortawesome/free-solid-svg-icons": "^5.15.3",
52
- "@fortawesome/react-fontawesome": "^0.2.0",
53
48
  "@pmmmwh/react-refresh-webpack-plugin": "0.5.7",
54
- "@strapi/babel-plugin-switch-ee-ce": "4.6.0-beta.0",
55
- "@strapi/design-system": "1.4.0",
56
- "@strapi/helper-plugin": "4.6.0-beta.0",
57
- "@strapi/icons": "1.4.0",
58
- "@strapi/permissions": "4.6.0-beta.0",
59
- "@strapi/typescript-utils": "4.6.0-beta.0",
60
- "@strapi/utils": "4.6.0-beta.0",
49
+ "@strapi/babel-plugin-switch-ee-ce": "4.6.0-beta.1",
50
+ "@strapi/design-system": "1.4.1",
51
+ "@strapi/helper-plugin": "4.6.0-beta.1",
52
+ "@strapi/icons": "1.4.1",
53
+ "@strapi/permissions": "4.6.0-beta.1",
54
+ "@strapi/typescript-utils": "4.6.0-beta.1",
55
+ "@strapi/utils": "4.6.0-beta.1",
61
56
  "axios": "0.27.2",
62
57
  "babel-loader": "8.2.5",
63
58
  "babel-plugin-styled-components": "2.0.2",
@@ -73,7 +68,6 @@
73
68
  "execa": "^1.0.0",
74
69
  "fast-deep-equal": "3.1.3",
75
70
  "find-root": "1.1.0",
76
- "font-awesome": "^4.7.0",
77
71
  "fork-ts-checker-webpack-plugin": "7.2.1",
78
72
  "formik": "^2.2.6",
79
73
  "fs-extra": "10.0.0",
@@ -107,7 +101,7 @@
107
101
  "p-map": "4.0.0",
108
102
  "passport-local": "1.0.0",
109
103
  "prop-types": "^15.7.2",
110
- "qs": "6.10.1",
104
+ "qs": "6.11.0",
111
105
  "react": "^17.0.2",
112
106
  "react-copy-to-clipboard": "^5.1.0",
113
107
  "react-dnd": "15.1.2",
@@ -166,5 +160,5 @@
166
160
  }
167
161
  }
168
162
  },
169
- "gitHead": "c0c3365ad801d088a6ab6c4eb95a014078429747"
163
+ "gitHead": "2c0bcabdf0bf2a269fed50c6f23ba777845968a0"
170
164
  }
@@ -110,6 +110,7 @@ module.exports = {
110
110
  const autoReload = strapi.config.get('autoReload', false);
111
111
  const strapiVersion = strapi.config.get('info.strapi', null);
112
112
  const dependencies = strapi.config.get('info.dependencies', {});
113
+ const projectId = strapi.config.get('uuid', null);
113
114
  const nodeVersion = process.version;
114
115
  const communityEdition = !strapi.EE;
115
116
  const useYarn = await exists(path.join(process.cwd(), 'yarn.lock'));
@@ -120,6 +121,7 @@ module.exports = {
120
121
  autoReload,
121
122
  strapiVersion,
122
123
  dependencies,
124
+ projectId,
123
125
  nodeVersion,
124
126
  communityEdition,
125
127
  useYarn,
@@ -54,7 +54,7 @@ module.exports = [
54
54
  path: '/telemetry-properties',
55
55
  handler: 'admin.telemetryProperties',
56
56
  config: {
57
- auth: false,
57
+ policies: ['admin::isAuthenticatedAdmin'],
58
58
  },
59
59
  },
60
60
  {
@@ -5,7 +5,9 @@ const { getService } = require('../utils');
5
5
  const sendDidInviteUser = async () => {
6
6
  const numberOfUsers = await getService('user').count();
7
7
  const numberOfRoles = await getService('role').count();
8
- strapi.telemetry.send('didInviteUser', { numberOfRoles, numberOfUsers });
8
+ strapi.telemetry.send('didInviteUser', {
9
+ groupProperties: { numberOfRoles, numberOfUsers },
10
+ });
9
11
  };
10
12
 
11
13
  const sendDidUpdateRolePermissions = async () => {
@@ -14,7 +16,8 @@ const sendDidUpdateRolePermissions = async () => {
14
16
 
15
17
  const sendDidChangeInterfaceLanguage = async () => {
16
18
  const languagesInUse = await getService('user').getLanguagesInUse();
17
- strapi.telemetry.send('didChangeInterfaceLanguage', { languagesInUse });
19
+ // This event is anonymous
20
+ strapi.telemetry.send('didChangeInterfaceLanguage', { userProperties: { languagesInUse } });
18
21
  };
19
22
 
20
23
  module.exports = {
@@ -282,6 +282,7 @@ const getDefaultPluginPermissions = ({ isAuthor = false } = {}) => {
282
282
  // add plugin permissions for each role
283
283
  return [
284
284
  { action: 'plugin::upload.read', conditions },
285
+ { action: 'plugin::upload.configure-view' },
285
286
  { action: 'plugin::upload.assets.create' },
286
287
  { action: 'plugin::upload.assets.update', conditions },
287
288
  { action: 'plugin::upload.assets.download' },
package/webpack.alias.js CHANGED
@@ -7,8 +7,6 @@ const aliasExactMatch = [
7
7
  '@strapi/design-system',
8
8
  '@strapi/helper-plugin',
9
9
  '@strapi/icons',
10
- '@fortawesome/fontawesome-svg-core',
11
- '@fortawesome/free-solid-svg-icons',
12
10
  'date-fns',
13
11
  'formik',
14
12
  'history',
@@ -1,8 +0,0 @@
1
- import styled from 'styled-components';
2
- import { BackHeader as BaseBackHeader } from '@strapi/helper-plugin';
3
-
4
- const BackHeader = styled(BaseBackHeader)`
5
- left: 24rem;
6
- `;
7
-
8
- export default BackHeader;
@@ -1,28 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- const Wrapper = styled.div`
4
- margin-bottom: 35px;
5
- background: #ffffff;
6
- padding: 22px 28px 18px;
7
- padding-bottom: 13px;
8
- border-radius: 2px;
9
- box-shadow: 0 2px 4px #e3e9f3;
10
- -webkit-font-smoothing: antialiased;
11
- `;
12
-
13
- const Sub = styled.div`
14
- padding-top: 0px;
15
- line-height: 18px;
16
- > p:first-child {
17
- margin-bottom: 1px;
18
- font-weight: 700;
19
- color: #333740;
20
- font-size: 1.8rem;
21
- }
22
- > p {
23
- color: #787e8f;
24
- font-size: 13px;
25
- }
26
- `;
27
-
28
- export { Wrapper, Sub };
@@ -1,43 +0,0 @@
1
- /**
2
- *
3
- * Block
4
- */
5
-
6
- import React, { memo } from 'react';
7
- import PropTypes from 'prop-types';
8
- import { FormattedMessage } from 'react-intl';
9
- import { Wrapper, Sub } from './components';
10
-
11
- const renderMsg = (msg) => <p>{msg}</p>;
12
-
13
- const Block = ({ children, description, style, title }) => (
14
- <div className="col-md-12">
15
- <Wrapper style={style}>
16
- <Sub>
17
- {!!title && (
18
- <p>
19
- <FormattedMessage id={title} />
20
- </p>
21
- )}
22
- {!!description && <FormattedMessage id={description}>{renderMsg}</FormattedMessage>}
23
- </Sub>
24
- {children}
25
- </Wrapper>
26
- </div>
27
- );
28
-
29
- Block.defaultProps = {
30
- children: null,
31
- description: null,
32
- style: {},
33
- title: null,
34
- };
35
-
36
- Block.propTypes = {
37
- children: PropTypes.any,
38
- description: PropTypes.string,
39
- style: PropTypes.object,
40
- title: PropTypes.string,
41
- };
42
-
43
- export default memo(Block);
@@ -1,7 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- const Container = styled.div`
4
- padding: 18px 30px 66px 30px;
5
- `;
6
-
7
- export default Container;
@@ -1,77 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- /* eslint-disable */
3
-
4
- const Label = styled.label`
5
- cursor: pointer;
6
- position: relative;
7
- vertical-align: middle;
8
- > input {
9
- display: none;
10
- }
11
- &:before {
12
- content: '';
13
- position: absolute;
14
- left: 15px;
15
- top: calc(50% - 8px);
16
- width: 14px;
17
- height: 14px;
18
- border: 1px solid rgba(16, 22, 34, 0.15);
19
- background-color: #fdfdfd;
20
- border-radius: 3px;
21
- }
22
-
23
- ${({ shouldDisplaySomeChecked }) => {
24
- if (shouldDisplaySomeChecked) {
25
- return css`
26
- &:after {
27
- content: '\f068';
28
- position: absolute;
29
- top: calc(50% - 8px);
30
- left: 18px;
31
- font-size: 10px;
32
- font-family: 'FontAwesome';
33
- font-weight: 100;
34
- color: #1c5de7;
35
- }
36
- `;
37
- }
38
- }}
39
-
40
- ${({ shouldDisplayAllChecked }) => {
41
- if (shouldDisplayAllChecked) {
42
- return css`
43
- &:after {
44
- content: '\f00c';
45
- position: absolute;
46
- top: calc(50% - 9px);
47
- left: 17px;
48
- font-size: 10px;
49
- font-family: 'FontAwesome';
50
- font-weight: 100;
51
- color: #1c5de7;
52
- transition: all 0.2s;
53
- }
54
- `;
55
- }
56
- }}
57
-
58
- ${({ isChecked }) => {
59
- if (isChecked) {
60
- return css`
61
- &:after {
62
- content: '\f00c';
63
- position: absolute;
64
- top: calc(50% - 11px);
65
- left: 17px;
66
- font-size: 10px;
67
- font-family: 'FontAwesome';
68
- font-weight: 100;
69
- color: #1c5de7;
70
- transition: all 0.2s;
71
- }
72
- `;
73
- }
74
- }}
75
- `;
76
-
77
- export { Label };
@@ -1,53 +0,0 @@
1
- /**
2
- *
3
- * CustomInputCheckbox
4
- */
5
-
6
- import React, { memo } from 'react';
7
- import PropTypes from 'prop-types';
8
- import { Label } from './components';
9
-
10
- function CustomInputCheckbox({ entriesToDelete, isAll, name, onChange, value }) {
11
- const shouldDisplaySomeChecked = isAll && entriesToDelete.length > 0 && !value;
12
-
13
- const shouldDisplayAllChecked = isAll && value;
14
-
15
- return (
16
- <span className="form-check" style={{ marginLeft: '-15px' }}>
17
- <Label
18
- className="form-check-label"
19
- isAll={isAll}
20
- shouldDisplaySomeChecked={shouldDisplaySomeChecked}
21
- shouldDisplayAllChecked={shouldDisplayAllChecked}
22
- isChecked={value && !isAll}
23
- htmlFor={name}
24
- >
25
- <input
26
- className="form-check-input"
27
- checked={value}
28
- id={name}
29
- name={name}
30
- onChange={onChange}
31
- type="checkbox"
32
- />
33
- </Label>
34
- </span>
35
- );
36
- }
37
-
38
- CustomInputCheckbox.defaultProps = {
39
- entriesToDelete: [],
40
- isAll: false,
41
- name: '',
42
- value: false,
43
- };
44
-
45
- CustomInputCheckbox.propTypes = {
46
- entriesToDelete: PropTypes.array,
47
- isAll: PropTypes.bool,
48
- name: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
49
- onChange: PropTypes.func.isRequired,
50
- value: PropTypes.bool,
51
- };
52
-
53
- export default memo(CustomInputCheckbox);
@@ -1,63 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- const Wrapper = styled.div`
4
- position: relative;
5
- height: 90px;
6
- width: 139px !important;
7
- margin: 0 10px 10px 0;
8
- padding: 18px 10px;
9
- background-color: #ffffff;
10
- color: #919bae;
11
- text-align: center;
12
- border-radius: 2px;
13
- cursor: pointer;
14
- border: 1px solid #ffffff;
15
-
16
- button {
17
- outline: 0;
18
- }
19
-
20
- .component-uid {
21
- width: 119px;
22
- text-overflow: ellipsis;
23
- overflow: hidden;
24
- white-space: nowrap;
25
- color: #919bae;
26
- font-weight: 500;
27
- font-size: 13px;
28
- line-height: normal;
29
- }
30
-
31
- .component-icon {
32
- width: 35px;
33
- height: 35px;
34
- margin-bottom: 5px;
35
- line-height: 35px;
36
- align-self: center;
37
- border-radius: 50%;
38
- background-color: #e9eaeb;
39
- color: #b4b6ba;
40
- padding: 0;
41
- i,
42
- svg {
43
- margin: auto;
44
- display: block;
45
- }
46
- }
47
-
48
- &:hover {
49
- background-color: #e6f0fb;
50
- color: #007eff;
51
- border: 1px solid #aed4fb;
52
-
53
- .component-icon {
54
- background-color: #aed4fb;
55
- color: #007eff;
56
- }
57
- .component-uid {
58
- color: #007eff;
59
- }
60
- }
61
- `;
62
-
63
- export default Wrapper;