@strapi/content-manager 0.0.0-experimental.3d525b3d2d44b055469a7694f6aaecfe7145b9e6 → 0.0.0-experimental.3f0da6c47a9691860812c214ad0ea5ed99e620e7

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 (203) hide show
  1. package/dist/admin/chunks/{CardDragPreview-DwuraT0K.js → CardDragPreview-DwuraT0K.mjs} +1 -1
  2. package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BSCYuG9k.js → ComponentConfigurationPage-BN2kOtDm.mjs} +9 -8
  4. package/dist/admin/chunks/ComponentConfigurationPage-BN2kOtDm.mjs.map +1 -0
  5. package/dist/admin/chunks/{ComponentConfigurationPage-D4UH2BN4.js → ComponentConfigurationPage-C5H-5L1u.js} +4 -3
  6. package/dist/admin/chunks/{ComponentConfigurationPage-D4UH2BN4.js.map → ComponentConfigurationPage-C5H-5L1u.js.map} +1 -1
  7. package/dist/admin/chunks/{ComponentIcon-BZcTc4rj.js → ComponentIcon-BZcTc4rj.mjs} +1 -1
  8. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
  9. package/dist/admin/chunks/{EditConfigurationPage-C6jesdjb.js → EditConfigurationPage-BExtZuB7.js} +4 -3
  10. package/dist/admin/chunks/{EditConfigurationPage-C6jesdjb.js.map → EditConfigurationPage-BExtZuB7.js.map} +1 -1
  11. package/dist/admin/chunks/{EditConfigurationPage-DAwy6frt.js → EditConfigurationPage-tMgOELQG.mjs} +9 -8
  12. package/dist/admin/chunks/EditConfigurationPage-tMgOELQG.mjs.map +1 -0
  13. package/dist/admin/chunks/{EditViewPage-BZuZJr0N.js → EditViewPage-CYe7wAXF.mjs} +59 -10
  14. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +1 -0
  15. package/dist/admin/chunks/{EditViewPage-D8FDB8_y.js → EditViewPage-DFkloeMZ.js} +55 -6
  16. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +1 -0
  17. package/dist/admin/chunks/{FieldTypeIcon-BY6MrVF4.js → FieldTypeIcon-BY6MrVF4.mjs} +1 -1
  18. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
  19. package/dist/admin/chunks/{Form-CzUHBbLw.js → Form-DGUP3zQO.js} +2 -2
  20. package/dist/admin/chunks/{Form-CzUHBbLw.js.map → Form-DGUP3zQO.js.map} +1 -1
  21. package/dist/admin/chunks/{Form-Bwz2xTe9.js → Form-DTO0ZIaB.mjs} +5 -5
  22. package/dist/admin/chunks/Form-DTO0ZIaB.mjs.map +1 -0
  23. package/dist/admin/chunks/{History-5wpSVAu9.js → History-C333pgXF.mjs} +60 -11
  24. package/dist/admin/chunks/History-C333pgXF.mjs.map +1 -0
  25. package/dist/admin/chunks/{History-Dax5KiyG.js → History-CQznK1pG.js} +55 -6
  26. package/dist/admin/chunks/{History-Dax5KiyG.js.map → History-CQznK1pG.js.map} +1 -1
  27. package/dist/admin/chunks/{Input-Csrk7S5E.js → Input-BexkC_pp.mjs} +805 -371
  28. package/dist/admin/chunks/Input-BexkC_pp.mjs.map +1 -0
  29. package/dist/admin/chunks/{Input-Dr7YL5Sv.js → Input-DLJZHw9Y.js} +800 -365
  30. package/dist/admin/chunks/Input-DLJZHw9Y.js.map +1 -0
  31. package/dist/admin/chunks/{ListConfigurationPage-oFwCMRWP.js → ListConfigurationPage-71I_stAM.js} +3 -2
  32. package/dist/admin/chunks/{ListConfigurationPage-Bp1dKd-U.js.map → ListConfigurationPage-71I_stAM.js.map} +1 -1
  33. package/dist/admin/chunks/{ListConfigurationPage-Bp1dKd-U.js → ListConfigurationPage-BX2WR7MI.mjs} +8 -7
  34. package/dist/admin/chunks/ListConfigurationPage-BX2WR7MI.mjs.map +1 -0
  35. package/dist/admin/chunks/{ListViewPage-DfHXfD_c.js → ListViewPage-BDeT3Dkk.mjs} +6 -5
  36. package/dist/admin/chunks/ListViewPage-BDeT3Dkk.mjs.map +1 -0
  37. package/dist/admin/chunks/{ListViewPage-CkPfXiex.js → ListViewPage-DV3heO4F.js} +4 -3
  38. package/dist/admin/chunks/{ListViewPage-DfHXfD_c.js.map → ListViewPage-DV3heO4F.js.map} +1 -1
  39. package/dist/admin/chunks/{NoContentTypePage-BLWccskh.js → NoContentTypePage-9JHYpYVX.mjs} +3 -2
  40. package/dist/admin/chunks/NoContentTypePage-9JHYpYVX.mjs.map +1 -0
  41. package/dist/admin/chunks/{NoContentTypePage-BgTBqH4R.js → NoContentTypePage-COih9y2J.js} +3 -2
  42. package/dist/admin/chunks/{NoContentTypePage-BLWccskh.js.map → NoContentTypePage-COih9y2J.js.map} +1 -1
  43. package/dist/admin/chunks/{NoPermissionsPage-CUnJ9nZ8.js → NoPermissionsPage-DGAwRIlN.js} +3 -2
  44. package/dist/admin/chunks/{NoPermissionsPage-CGC__b-5.js.map → NoPermissionsPage-DGAwRIlN.js.map} +1 -1
  45. package/dist/admin/chunks/{NoPermissionsPage-CGC__b-5.js → NoPermissionsPage-DTe9I47q.mjs} +3 -2
  46. package/dist/admin/chunks/NoPermissionsPage-DTe9I47q.mjs.map +1 -0
  47. package/dist/admin/chunks/{Preview-uBnW2CsI.js → Preview-BEq0FXda.mjs} +101 -32
  48. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +1 -0
  49. package/dist/admin/chunks/{Preview-DKUCY7o_.js → Preview-CXtc9yEV.js} +96 -27
  50. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +1 -0
  51. package/dist/admin/chunks/{Relations-CzrnshXy.js → Relations-o7_hVGyK.js} +469 -4
  52. package/dist/admin/chunks/Relations-o7_hVGyK.js.map +1 -0
  53. package/dist/admin/chunks/{Relations-BgtVC-3t.js → Relations-qeZyLDgQ.mjs} +471 -7
  54. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs.map +1 -0
  55. package/dist/admin/chunks/{ar-DckYq_WK.js → ar-DckYq_WK.mjs} +1 -1
  56. package/dist/admin/chunks/ar-DckYq_WK.mjs.map +1 -0
  57. package/dist/admin/chunks/{ca-DviY7mRj.js → ca-DviY7mRj.mjs} +1 -1
  58. package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
  59. package/dist/admin/chunks/{cs-C7OSYFQ7.js → cs-C7OSYFQ7.mjs} +1 -1
  60. package/dist/admin/chunks/cs-C7OSYFQ7.mjs.map +1 -0
  61. package/dist/admin/chunks/{de-5QRlDHyR.js → de-5QRlDHyR.mjs} +1 -1
  62. package/dist/admin/chunks/de-5QRlDHyR.mjs.map +1 -0
  63. package/dist/admin/chunks/{en-LfhocNG2.js → en-LfhocNG2.mjs} +1 -1
  64. package/dist/admin/chunks/{en-LfhocNG2.js.map → en-LfhocNG2.mjs.map} +1 -1
  65. package/dist/admin/chunks/{es-DkoWSExG.js → es-DkoWSExG.mjs} +1 -1
  66. package/dist/admin/chunks/es-DkoWSExG.mjs.map +1 -0
  67. package/dist/admin/chunks/{eu-BG1xX7HK.js → eu-BG1xX7HK.mjs} +1 -1
  68. package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
  69. package/dist/admin/chunks/{fr-CFdRaRVj.js → fr-CFdRaRVj.mjs} +1 -1
  70. package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
  71. package/dist/admin/chunks/{gu-D5MMMXRs.js → gu-D5MMMXRs.mjs} +1 -1
  72. package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
  73. package/dist/admin/chunks/{hi-lp17SCjr.js → hi-lp17SCjr.mjs} +1 -1
  74. package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
  75. package/dist/admin/chunks/{hooks-DMvik5y_.js → hooks-DMvik5y_.mjs} +1 -1
  76. package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
  77. package/dist/admin/chunks/{hu-CLka1U2C.js → hu-CLka1U2C.mjs} +1 -1
  78. package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
  79. package/dist/admin/chunks/{id-USfY9m1g.js → id-USfY9m1g.mjs} +1 -1
  80. package/dist/admin/chunks/id-USfY9m1g.mjs.map +1 -0
  81. package/dist/admin/chunks/{index-BhFoy2kH.js → index-BHimg6jW.js} +12 -11
  82. package/dist/admin/chunks/{index-2cT6u68c.js.map → index-BHimg6jW.js.map} +1 -1
  83. package/dist/admin/chunks/{index-2cT6u68c.js → index-Cs6qwFQu.mjs} +43 -42
  84. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +1 -0
  85. package/dist/admin/chunks/{it-BAHrwmYS.js → it-BAHrwmYS.mjs} +1 -1
  86. package/dist/admin/chunks/it-BAHrwmYS.mjs.map +1 -0
  87. package/dist/admin/chunks/{ja-BWKmBJFT.js → ja-BWKmBJFT.mjs} +1 -1
  88. package/dist/admin/chunks/ja-BWKmBJFT.mjs.map +1 -0
  89. package/dist/admin/chunks/{ko-CgADGBNt.js → ko-CgADGBNt.mjs} +1 -1
  90. package/dist/admin/chunks/ko-CgADGBNt.mjs.map +1 -0
  91. package/dist/admin/chunks/{layout-CsDX52Zb.js → layout-DStNia_P.mjs} +8 -7
  92. package/dist/admin/chunks/layout-DStNia_P.mjs.map +1 -0
  93. package/dist/admin/chunks/{layout-CDvvkRib.js → layout-Dtahn4Ue.js} +5 -4
  94. package/dist/admin/chunks/{layout-CDvvkRib.js.map → layout-Dtahn4Ue.js.map} +1 -1
  95. package/dist/admin/chunks/{ml-CnhCfOn_.js → ml-CnhCfOn_.mjs} +1 -1
  96. package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
  97. package/dist/admin/chunks/{ms-Bh09NFff.js → ms-Bh09NFff.mjs} +1 -1
  98. package/dist/admin/chunks/ms-Bh09NFff.mjs.map +1 -0
  99. package/dist/admin/chunks/{nl-C8HYflTc.js → nl-C8HYflTc.mjs} +1 -1
  100. package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
  101. package/dist/admin/chunks/{objects-wl73iEma.js → objects-wl73iEma.mjs} +1 -1
  102. package/dist/admin/chunks/objects-wl73iEma.mjs.map +1 -0
  103. package/dist/admin/chunks/{pl-MFCZJZuZ.js → pl-MFCZJZuZ.mjs} +1 -1
  104. package/dist/admin/chunks/pl-MFCZJZuZ.mjs.map +1 -0
  105. package/dist/admin/chunks/{pt-BR-CcotyBGJ.js → pt-BR-CcotyBGJ.mjs} +1 -1
  106. package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs.map +1 -0
  107. package/dist/admin/chunks/{pt-HbmgeiYO.js → pt-HbmgeiYO.mjs} +1 -1
  108. package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
  109. package/dist/admin/chunks/{relations-LR7_V8ZN.js → relations-Cq8NRUto.mjs} +2 -2
  110. package/dist/admin/chunks/relations-Cq8NRUto.mjs.map +1 -0
  111. package/dist/admin/chunks/{relations--SHAQ-Ch.js → relations-XOYEEqMz.js} +2 -2
  112. package/dist/admin/chunks/{relations--SHAQ-Ch.js.map → relations-XOYEEqMz.js.map} +1 -1
  113. package/dist/admin/chunks/{ru-CB4BUyQp.js → ru-CB4BUyQp.mjs} +1 -1
  114. package/dist/admin/chunks/{ru-CB4BUyQp.js.map → ru-CB4BUyQp.mjs.map} +1 -1
  115. package/dist/admin/chunks/{sa-n_aPA-pU.js → sa-n_aPA-pU.mjs} +1 -1
  116. package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
  117. package/dist/admin/chunks/{sk-tn_BDjE2.js → sk-tn_BDjE2.mjs} +1 -1
  118. package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
  119. package/dist/admin/chunks/{sv-cq4ZrQRd.js → sv-cq4ZrQRd.mjs} +1 -1
  120. package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
  121. package/dist/admin/chunks/{th-mUH7hEtc.js → th-mUH7hEtc.mjs} +1 -1
  122. package/dist/admin/chunks/th-mUH7hEtc.mjs.map +1 -0
  123. package/dist/admin/chunks/{tr-Yt38daxh.js → tr-Yt38daxh.mjs} +1 -1
  124. package/dist/admin/chunks/tr-Yt38daxh.mjs.map +1 -0
  125. package/dist/admin/chunks/{uk-Cpgmm7gE.js → uk-Cpgmm7gE.mjs} +1 -1
  126. package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +1 -0
  127. package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.js → useDragAndDrop-HYwNDExe.mjs} +1 -1
  128. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +1 -0
  129. package/dist/admin/chunks/{usePrev-Bjw2dhmq.js → usePrev-Bjw2dhmq.mjs} +1 -1
  130. package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +1 -0
  131. package/dist/admin/chunks/{vi-CvBGlTjr.js → vi-CvBGlTjr.mjs} +1 -1
  132. package/dist/admin/chunks/vi-CvBGlTjr.mjs.map +1 -0
  133. package/dist/admin/chunks/{zh-BmF-sHaT.js → zh-BmF-sHaT.mjs} +1 -1
  134. package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
  135. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js → zh-Hans-CI0HKio3.mjs} +1 -1
  136. package/dist/admin/chunks/{zh-Hans-CI0HKio3.js.map → zh-Hans-CI0HKio3.mjs.map} +1 -1
  137. package/dist/admin/index.js +2 -1
  138. package/dist/admin/index.js.map +1 -1
  139. package/dist/admin/index.mjs +2 -1
  140. package/dist/admin/index.mjs.map +1 -1
  141. package/dist/admin/src/index.d.ts +1 -0
  142. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
  143. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +49 -1
  144. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
  145. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
  146. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +2 -1
  147. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  148. package/package.json +7 -7
  149. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
  150. package/dist/admin/chunks/ComponentConfigurationPage-BSCYuG9k.js.map +0 -1
  151. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
  152. package/dist/admin/chunks/EditConfigurationPage-DAwy6frt.js.map +0 -1
  153. package/dist/admin/chunks/EditViewPage-BZuZJr0N.js.map +0 -1
  154. package/dist/admin/chunks/EditViewPage-D8FDB8_y.js.map +0 -1
  155. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
  156. package/dist/admin/chunks/Form-Bwz2xTe9.js.map +0 -1
  157. package/dist/admin/chunks/History-5wpSVAu9.js.map +0 -1
  158. package/dist/admin/chunks/Input-Csrk7S5E.js.map +0 -1
  159. package/dist/admin/chunks/Input-Dr7YL5Sv.js.map +0 -1
  160. package/dist/admin/chunks/ListConfigurationPage-oFwCMRWP.js.map +0 -1
  161. package/dist/admin/chunks/ListViewPage-CkPfXiex.js.map +0 -1
  162. package/dist/admin/chunks/NoContentTypePage-BgTBqH4R.js.map +0 -1
  163. package/dist/admin/chunks/NoPermissionsPage-CUnJ9nZ8.js.map +0 -1
  164. package/dist/admin/chunks/Preview-DKUCY7o_.js.map +0 -1
  165. package/dist/admin/chunks/Preview-uBnW2CsI.js.map +0 -1
  166. package/dist/admin/chunks/Relations-BgtVC-3t.js.map +0 -1
  167. package/dist/admin/chunks/Relations-CzrnshXy.js.map +0 -1
  168. package/dist/admin/chunks/ar-DckYq_WK.js.map +0 -1
  169. package/dist/admin/chunks/ca-DviY7mRj.js.map +0 -1
  170. package/dist/admin/chunks/cs-C7OSYFQ7.js.map +0 -1
  171. package/dist/admin/chunks/de-5QRlDHyR.js.map +0 -1
  172. package/dist/admin/chunks/es-DkoWSExG.js.map +0 -1
  173. package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
  174. package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
  175. package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
  176. package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
  177. package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
  178. package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
  179. package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
  180. package/dist/admin/chunks/index-BhFoy2kH.js.map +0 -1
  181. package/dist/admin/chunks/it-BAHrwmYS.js.map +0 -1
  182. package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
  183. package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
  184. package/dist/admin/chunks/layout-CsDX52Zb.js.map +0 -1
  185. package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
  186. package/dist/admin/chunks/ms-Bh09NFff.js.map +0 -1
  187. package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
  188. package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
  189. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
  190. package/dist/admin/chunks/pt-BR-CcotyBGJ.js.map +0 -1
  191. package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
  192. package/dist/admin/chunks/relations-LR7_V8ZN.js.map +0 -1
  193. package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
  194. package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
  195. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
  196. package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
  197. package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
  198. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
  199. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
  200. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
  201. package/dist/admin/chunks/vi-CvBGlTjr.js.map +0 -1
  202. package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
  203. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -0
@@ -6,23 +6,72 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var designSystem = require('@strapi/design-system');
7
7
  var Icons = require('@strapi/icons');
8
8
  var reactIntl = require('react-intl');
9
- var index = require('./index-BhFoy2kH.js');
9
+ var index = require('./index-BHimg6jW.js');
10
10
  var styledComponents = require('styled-components');
11
11
  var slate = require('slate');
12
12
  var slateHistory = require('slate-history');
13
13
  var slateReact = require('slate-react');
14
14
  var Prism = require('prismjs');
15
15
  require('prismjs/themes/prism-solarizedlight.css');
16
+ require('prismjs/components/prism-asmatmel');
17
+ require('prismjs/components/prism-bash');
18
+ require('prismjs/components/prism-basic');
19
+ require('prismjs/components/prism-c');
20
+ require('prismjs/components/prism-clojure');
21
+ require('prismjs/components/prism-cobol');
22
+ require('prismjs/components/prism-cpp');
23
+ require('prismjs/components/prism-csharp');
24
+ require('prismjs/components/prism-dart');
25
+ require('prismjs/components/prism-docker');
26
+ require('prismjs/components/prism-elixir');
27
+ require('prismjs/components/prism-erlang');
28
+ require('prismjs/components/prism-fortran');
29
+ require('prismjs/components/prism-fsharp');
30
+ require('prismjs/components/prism-go');
31
+ require('prismjs/components/prism-graphql');
32
+ require('prismjs/components/prism-groovy');
33
+ require('prismjs/components/prism-haskell');
34
+ require('prismjs/components/prism-haxe');
35
+ require('prismjs/components/prism-ini');
36
+ require('prismjs/components/prism-java');
37
+ require('prismjs/components/prism-javascript');
38
+ require('prismjs/components/prism-jsx');
39
+ require('prismjs/components/prism-json');
40
+ require('prismjs/components/prism-julia');
41
+ require('prismjs/components/prism-kotlin');
42
+ require('prismjs/components/prism-latex');
43
+ require('prismjs/components/prism-lua');
44
+ require('prismjs/components/prism-markdown');
45
+ require('prismjs/components/prism-matlab');
46
+ require('prismjs/components/prism-makefile');
47
+ require('prismjs/components/prism-objectivec');
48
+ require('prismjs/components/prism-perl');
49
+ require('prismjs/components/prism-php');
50
+ require('prismjs/components/prism-powershell');
51
+ require('prismjs/components/prism-python');
52
+ require('prismjs/components/prism-r');
53
+ require('prismjs/components/prism-ruby');
54
+ require('prismjs/components/prism-rust');
55
+ require('prismjs/components/prism-sas');
56
+ require('prismjs/components/prism-scala');
57
+ require('prismjs/components/prism-scheme');
58
+ require('prismjs/components/prism-sql');
59
+ require('prismjs/components/prism-stata');
60
+ require('prismjs/components/prism-swift');
61
+ require('prismjs/components/prism-typescript');
62
+ require('prismjs/components/prism-tsx');
63
+ require('prismjs/components/prism-vbnet');
64
+ require('prismjs/components/prism-yaml');
16
65
  var usePrev = require('./usePrev-DIYl-IAL.js');
17
66
  var useDragAndDrop = require('./useDragAndDrop-gcqEJMnO.js');
18
67
  var Toolbar = require('@radix-ui/react-toolbar');
19
68
  var reactDndHtml5Backend = require('react-dnd-html5-backend');
20
69
  var reactRouterDom = require('react-router-dom');
21
70
  var objects = require('./objects-C3EebVVe.js');
22
- var Relations = require('./Relations-CzrnshXy.js');
71
+ var Relations = require('./Relations-o7_hVGyK.js');
23
72
  var pipe$1 = require('lodash/fp/pipe');
24
73
  var ComponentIcon = require('./ComponentIcon-C-EjOUPA.js');
25
- var relations = require('./relations--SHAQ-Ch.js');
74
+ var relations = require('./relations-XOYEEqMz.js');
26
75
  var CodeMirror = require('codemirror5');
27
76
  var sanitizeHtml = require('sanitize-html');
28
77
  var highlight_js = require('highlight.js');
@@ -57,6 +106,7 @@ function _interopNamespaceDefault(e) {
57
106
  }
58
107
 
59
108
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
109
+ var Prism__namespace = /*#__PURE__*/_interopNamespaceDefault(Prism);
60
110
  var Toolbar__namespace = /*#__PURE__*/_interopNamespaceDefault(Toolbar);
61
111
 
62
112
  const componentStore = new Map();
@@ -431,56 +481,6 @@ const isText$2 = (node)=>{
431
481
  }
432
482
  };
433
483
 
434
- require('prismjs/components/prism-asmatmel');
435
- require('prismjs/components/prism-bash');
436
- require('prismjs/components/prism-basic');
437
- require('prismjs/components/prism-c');
438
- require('prismjs/components/prism-clojure');
439
- require('prismjs/components/prism-cobol');
440
- require('prismjs/components/prism-cpp');
441
- require('prismjs/components/prism-csharp');
442
- require('prismjs/components/prism-dart');
443
- require('prismjs/components/prism-docker');
444
- require('prismjs/components/prism-elixir');
445
- require('prismjs/components/prism-erlang');
446
- require('prismjs/components/prism-fortran');
447
- require('prismjs/components/prism-fsharp');
448
- require('prismjs/components/prism-go');
449
- require('prismjs/components/prism-graphql');
450
- require('prismjs/components/prism-groovy');
451
- require('prismjs/components/prism-haskell');
452
- require('prismjs/components/prism-haxe');
453
- require('prismjs/components/prism-ini');
454
- require('prismjs/components/prism-java');
455
- require('prismjs/components/prism-javascript');
456
- require('prismjs/components/prism-jsx');
457
- require('prismjs/components/prism-json');
458
- require('prismjs/components/prism-julia');
459
- require('prismjs/components/prism-kotlin');
460
- require('prismjs/components/prism-latex');
461
- require('prismjs/components/prism-lua');
462
- require('prismjs/components/prism-markdown');
463
- require('prismjs/components/prism-matlab');
464
- require('prismjs/components/prism-makefile');
465
- require('prismjs/components/prism-objectivec');
466
- require('prismjs/components/prism-perl');
467
- require('prismjs/components/prism-php');
468
- require('prismjs/components/prism-powershell');
469
- require('prismjs/components/prism-python');
470
- require('prismjs/components/prism-r');
471
- require('prismjs/components/prism-ruby');
472
- require('prismjs/components/prism-rust');
473
- require('prismjs/components/prism-sas');
474
- require('prismjs/components/prism-scala');
475
- require('prismjs/components/prism-scheme');
476
- require('prismjs/components/prism-sql');
477
- require('prismjs/components/prism-stata');
478
- require('prismjs/components/prism-swift');
479
- require('prismjs/components/prism-typescript');
480
- require('prismjs/components/prism-tsx');
481
- require('prismjs/components/prism-vbnet');
482
- require('prismjs/components/prism-yaml');
483
-
484
484
  const decorateCode = ([node, path])=>{
485
485
  const ranges = [];
486
486
  // make sure it is an Slate Element
@@ -489,9 +489,9 @@ const decorateCode = ([node, path])=>{
489
489
  const text = slate.Node.string(node);
490
490
  const language = codeLanguages.find((lang)=>lang.value === node.language);
491
491
  const decorateKey = language?.decorate ?? language?.value;
492
- const selectedLanguage = Prism.languages[decorateKey || 'plaintext'];
492
+ const selectedLanguage = Prism__namespace.languages[decorateKey || 'plaintext'];
493
493
  // create "tokens" with "prismjs" and put them in "ranges"
494
- const tokens = Prism.tokenize(text, selectedLanguage);
494
+ const tokens = Prism__namespace.tokenize(text, selectedLanguage);
495
495
  let start = 0;
496
496
  for (const token of tokens){
497
497
  const length = token.length;
@@ -1053,7 +1053,7 @@ const isListNode$1 = (element)=>{
1053
1053
  return element.type === 'list';
1054
1054
  };
1055
1055
 
1056
- const StyledBaseLink = styledComponents.styled(designSystem.BaseLink)`
1056
+ const StyledLink = styledComponents.styled(designSystem.Box)`
1057
1057
  text-decoration: none;
1058
1058
  `;
1059
1059
  const RemoveButton = styledComponents.styled(designSystem.Button)`
@@ -1113,9 +1113,10 @@ const LinkContent = /*#__PURE__*/ React__namespace.forwardRef(({ link, children,
1113
1113
  open: popoverOpen,
1114
1114
  children: [
1115
1115
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Trigger, {
1116
- children: /*#__PURE__*/ jsxRuntime.jsx(StyledBaseLink, {
1116
+ children: /*#__PURE__*/ jsxRuntime.jsx(StyledLink, {
1117
1117
  ...attributes,
1118
1118
  ref: forwardedRef,
1119
+ tag: "a",
1119
1120
  href: link.url,
1120
1121
  onClick: ()=>setPopoverOpen(true),
1121
1122
  color: "primary600",
@@ -1719,13 +1720,102 @@ const quoteBlocks = {
1719
1720
  }
1720
1721
  };
1721
1722
 
1723
+ const ObservedToolbarComponent = ({ index, lastVisibleIndex, setLastVisibleIndex, rootRef, children })=>{
1724
+ const isVisible = index <= lastVisibleIndex;
1725
+ const containerRef = strapiAdmin.useElementOnScreen((isVisible)=>{
1726
+ /**
1727
+ * It's the MoreMenu's job to make an item not visible when there's not room for it.
1728
+ * But we need to react here to the element becoming visible again.
1729
+ */ if (isVisible) {
1730
+ setLastVisibleIndex((prev)=>Math.max(prev, index));
1731
+ }
1732
+ }, {
1733
+ threshold: 1,
1734
+ root: rootRef.current
1735
+ });
1736
+ return /*#__PURE__*/ jsxRuntime.jsx("div", {
1737
+ ref: containerRef,
1738
+ style: {
1739
+ /**
1740
+ * Use visibility so that the element occupies the space if requires even when there's not
1741
+ * enough room for it to be visible. The empty reserved space will be clipped by the
1742
+ * overflow:hidden rule on the parent, so it doesn't affect the UI.
1743
+ * This way we can keep observing its visiblity and react to browser resize events.
1744
+ */ visibility: isVisible ? 'visible' : 'hidden'
1745
+ },
1746
+ children: children
1747
+ });
1748
+ };
1749
+ const EditorToolbarObserver = ({ observedComponents, menuTriggerVariant = 'ghost' })=>{
1750
+ const { formatMessage } = reactIntl.useIntl();
1751
+ const toolbarRef = React__namespace.useRef(null);
1752
+ const [lastVisibleIndex, setLastVisibleIndex] = React__namespace.useState(observedComponents.length - 1);
1753
+ const hasHiddenItems = lastVisibleIndex < observedComponents.length - 1;
1754
+ const menuIndex = lastVisibleIndex + 1;
1755
+ const [open, setOpen] = React__namespace.useState(false);
1756
+ const isMenuOpenWithContent = open && hasHiddenItems;
1757
+ const menuTriggerRef = strapiAdmin.useElementOnScreen((isVisible)=>{
1758
+ // We only react to the menu becoming invisible. When that happens, we hide the last item.
1759
+ if (!isVisible) {
1760
+ /**
1761
+ * If there's no room for any item, the index can be -1.
1762
+ * This is intentional, in that case only the more menu will be visible.
1763
+ **/ setLastVisibleIndex((prev)=>prev - 1);
1764
+ // Maintain the menu state if it has content
1765
+ setOpen(isMenuOpenWithContent);
1766
+ }
1767
+ }, {
1768
+ threshold: 1,
1769
+ root: toolbarRef.current
1770
+ });
1771
+ return observedComponents.map((component, index)=>{
1772
+ return /*#__PURE__*/ jsxRuntime.jsx(ObservedToolbarComponent, {
1773
+ index: index,
1774
+ lastVisibleIndex: lastVisibleIndex,
1775
+ setLastVisibleIndex: setLastVisibleIndex,
1776
+ rootRef: toolbarRef,
1777
+ children: component.toolbar
1778
+ }, component.key);
1779
+ }).toSpliced(menuIndex, 0, /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Menu.Root, {
1780
+ defaultOpen: false,
1781
+ open: isMenuOpenWithContent,
1782
+ onOpenChange: setOpen,
1783
+ children: [
1784
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Trigger, {
1785
+ paddingLeft: 0,
1786
+ paddingRight: 0,
1787
+ ref: menuTriggerRef,
1788
+ variant: menuTriggerVariant,
1789
+ style: {
1790
+ visibility: hasHiddenItems ? 'visible' : 'hidden'
1791
+ },
1792
+ label: formatMessage({
1793
+ id: 'global.more',
1794
+ defaultMessage: 'More'
1795
+ }),
1796
+ tag: designSystem.IconButton,
1797
+ icon: /*#__PURE__*/ jsxRuntime.jsx(Icons.More, {})
1798
+ }),
1799
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Content, {
1800
+ onCloseAutoFocus: (e)=>e.preventDefault(),
1801
+ maxHeight: "100%",
1802
+ minWidth: "256px",
1803
+ popoverPlacement: "bottom-end",
1804
+ children: observedComponents.slice(menuIndex).map((component)=>/*#__PURE__*/ jsxRuntime.jsx(React__namespace.Fragment, {
1805
+ children: component.menu
1806
+ }, component.key))
1807
+ })
1808
+ ]
1809
+ }, "more-menu"));
1810
+ };
1811
+
1722
1812
  const ToolbarWrapper = styledComponents.styled(designSystem.Flex)`
1723
1813
  &[aria-disabled='true'] {
1724
1814
  cursor: not-allowed;
1725
1815
  background: ${({ theme })=>theme.colors.neutral150};
1726
1816
  }
1727
1817
  `;
1728
- const Separator = styledComponents.styled(Toolbar__namespace.Separator)`
1818
+ const ToolbarSeparator = styledComponents.styled(Toolbar__namespace.Separator)`
1729
1819
  background: ${({ theme })=>theme.colors.neutral150};
1730
1820
  width: 1px;
1731
1821
  height: 2.4rem;
@@ -1795,7 +1885,7 @@ const ToolbarButton = ({ icon: Icon, name, label, isActive, disabled, handleClic
1795
1885
  const labelMessage = formatMessage(label);
1796
1886
  const enabledColor = isActive ? 'primary600' : 'neutral600';
1797
1887
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
1798
- description: labelMessage,
1888
+ label: labelMessage,
1799
1889
  children: /*#__PURE__*/ jsxRuntime.jsx(Toolbar__namespace.ToggleItem, {
1800
1890
  value: name,
1801
1891
  "data-state": isActive ? 'on' : 'off',
@@ -1987,8 +2077,9 @@ const BlockOption = ({ value, icon: Icon, label, blockSelected })=>{
1987
2077
  const isListNode = (node)=>{
1988
2078
  return slate.Node.isNode(node) && !slate.Editor.isEditor(node) && node.type === 'list';
1989
2079
  };
1990
- const ListButton = ({ block, format })=>{
2080
+ const ListButton = ({ block, format, location = 'toolbar' })=>{
1991
2081
  const { editor, disabled, blocks } = useBlocksEditorContext('ListButton');
2082
+ const { formatMessage } = reactIntl.useIntl();
1992
2083
  const isListActive = ()=>{
1993
2084
  if (!editor.selection) return false;
1994
2085
  // Get the parent list at selection anchor node
@@ -2064,6 +2155,18 @@ const ListButton = ({ block, format })=>{
2064
2155
  }
2065
2156
  }
2066
2157
  };
2158
+ if (location === 'menu') {
2159
+ const Icon = block.icon;
2160
+ return /*#__PURE__*/ jsxRuntime.jsxs(StyledMenuItem, {
2161
+ onSelect: ()=>toggleList(format),
2162
+ isActive: isListActive(),
2163
+ disabled: isListDisabled(),
2164
+ children: [
2165
+ /*#__PURE__*/ jsxRuntime.jsx(Icon, {}),
2166
+ formatMessage(block.label)
2167
+ ]
2168
+ });
2169
+ }
2067
2170
  return /*#__PURE__*/ jsxRuntime.jsx(ToolbarButton, {
2068
2171
  icon: block.icon,
2069
2172
  name: format,
@@ -2073,8 +2176,9 @@ const ListButton = ({ block, format })=>{
2073
2176
  handleClick: ()=>toggleList(format)
2074
2177
  });
2075
2178
  };
2076
- const LinkButton = ({ disabled })=>{
2179
+ const LinkButton = ({ disabled, location = 'toolbar' })=>{
2077
2180
  const { editor } = useBlocksEditorContext('LinkButton');
2181
+ const { formatMessage } = reactIntl.useIntl();
2078
2182
  const isLinkActive = ()=>{
2079
2183
  const { selection } = editor;
2080
2184
  if (!selection) return false;
@@ -2115,20 +2219,55 @@ const LinkButton = ({ disabled })=>{
2115
2219
  url: ''
2116
2220
  });
2117
2221
  };
2222
+ const label = {
2223
+ id: 'components.Blocks.link',
2224
+ defaultMessage: 'Link'
2225
+ };
2226
+ if (location === 'menu') {
2227
+ return /*#__PURE__*/ jsxRuntime.jsxs(StyledMenuItem, {
2228
+ onSelect: addLink,
2229
+ isActive: isLinkActive(),
2230
+ disabled: isLinkDisabled(),
2231
+ children: [
2232
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {}),
2233
+ formatMessage(label)
2234
+ ]
2235
+ });
2236
+ }
2118
2237
  return /*#__PURE__*/ jsxRuntime.jsx(ToolbarButton, {
2119
2238
  icon: Icons.Link,
2120
2239
  name: "link",
2121
- label: {
2122
- id: 'components.Blocks.link',
2123
- defaultMessage: 'Link'
2124
- },
2240
+ label: label,
2125
2241
  isActive: isLinkActive(),
2126
2242
  handleClick: addLink,
2127
2243
  disabled: isLinkDisabled()
2128
2244
  });
2129
2245
  };
2246
+ const StyledMenuItem = styledComponents.styled(designSystem.Menu.Item)`
2247
+ &:hover {
2248
+ background-color: ${({ theme })=>theme.colors.primary100};
2249
+ }
2250
+
2251
+ ${(props)=>props.isActive && styledComponents.css`
2252
+ font-weight: bold;
2253
+ background-color: ${({ theme })=>theme.colors.primary100};
2254
+ color: ${({ theme })=>theme.colors.primary600};
2255
+ font-weight: bold;
2256
+ `}
2257
+
2258
+ > span {
2259
+ display: inline-flex;
2260
+ gap: ${({ theme })=>theme.spaces[2]};
2261
+ align-items: center;
2262
+ }
2263
+
2264
+ svg {
2265
+ fill: ${({ theme, isActive })=>isActive ? theme.colors.primary600 : theme.colors.neutral600};
2266
+ }
2267
+ `;
2130
2268
  const BlocksToolbar = ()=>{
2131
2269
  const { editor, blocks, modifiers, disabled } = useBlocksEditorContext('BlocksToolbar');
2270
+ const { formatMessage } = reactIntl.useIntl();
2132
2271
  /**
2133
2272
  * The modifier buttons are disabled when an image is selected.
2134
2273
  */ const checkButtonDisabled = ()=>{
@@ -2149,6 +2288,94 @@ const BlocksToolbar = ()=>{
2149
2288
  return false;
2150
2289
  };
2151
2290
  const isButtonDisabled = checkButtonDisabled();
2291
+ /**
2292
+ * Observed components are ones that may or may not be visible in the toolbar, depending on the
2293
+ * available space. They provide two render props:
2294
+ * - renderInToolbar: for when we try to render the component in the toolbar (may be hidden)
2295
+ * - renderInMenu: for when the component didn't fit in the toolbar and is relegated
2296
+ * to the "more" menu
2297
+ */ const observedComponents = [
2298
+ ...Object.entries(modifiers).map(([name, modifier])=>{
2299
+ const Icon = modifier.icon;
2300
+ const isActive = modifier.checkIsActive(editor);
2301
+ const handleSelect = ()=>modifier.handleToggle(editor);
2302
+ return {
2303
+ toolbar: /*#__PURE__*/ jsxRuntime.jsx(ToolbarButton, {
2304
+ name: name,
2305
+ icon: modifier.icon,
2306
+ label: modifier.label,
2307
+ isActive: modifier.checkIsActive(editor),
2308
+ handleClick: handleSelect,
2309
+ disabled: isButtonDisabled
2310
+ }, name),
2311
+ menu: /*#__PURE__*/ jsxRuntime.jsxs(StyledMenuItem, {
2312
+ onSelect: handleSelect,
2313
+ isActive: isActive,
2314
+ children: [
2315
+ /*#__PURE__*/ jsxRuntime.jsx(Icon, {}),
2316
+ formatMessage(modifier.label)
2317
+ ]
2318
+ }),
2319
+ key: `modifier.${name}`
2320
+ };
2321
+ }),
2322
+ {
2323
+ toolbar: /*#__PURE__*/ jsxRuntime.jsx(LinkButton, {
2324
+ disabled: isButtonDisabled,
2325
+ location: "toolbar"
2326
+ }),
2327
+ menu: /*#__PURE__*/ jsxRuntime.jsx(LinkButton, {
2328
+ disabled: isButtonDisabled,
2329
+ location: "menu"
2330
+ }),
2331
+ key: 'block.link'
2332
+ },
2333
+ {
2334
+ // List buttons can only be rendered together when in the toolbar
2335
+ toolbar: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
2336
+ direction: "row",
2337
+ gap: 1,
2338
+ children: [
2339
+ /*#__PURE__*/ jsxRuntime.jsx(ToolbarSeparator, {}),
2340
+ /*#__PURE__*/ jsxRuntime.jsx(Toolbar__namespace.ToggleGroup, {
2341
+ type: "single",
2342
+ asChild: true,
2343
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
2344
+ gap: 1,
2345
+ children: [
2346
+ /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2347
+ block: blocks['list-unordered'],
2348
+ format: "unordered",
2349
+ location: "toolbar"
2350
+ }),
2351
+ /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2352
+ block: blocks['list-ordered'],
2353
+ format: "ordered",
2354
+ location: "toolbar"
2355
+ })
2356
+ ]
2357
+ })
2358
+ })
2359
+ ]
2360
+ }),
2361
+ menu: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
2362
+ children: [
2363
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Separator, {}),
2364
+ /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2365
+ block: blocks['list-unordered'],
2366
+ format: "unordered",
2367
+ location: "menu"
2368
+ }),
2369
+ /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2370
+ block: blocks['list-ordered'],
2371
+ format: "ordered",
2372
+ location: "menu"
2373
+ })
2374
+ ]
2375
+ }),
2376
+ key: 'block.list'
2377
+ }
2378
+ ];
2152
2379
  return /*#__PURE__*/ jsxRuntime.jsx(Toolbar__namespace.Root, {
2153
2380
  "aria-disabled": disabled,
2154
2381
  asChild: true,
@@ -2158,43 +2385,18 @@ const BlocksToolbar = ()=>{
2158
2385
  width: "100%",
2159
2386
  children: [
2160
2387
  /*#__PURE__*/ jsxRuntime.jsx(BlocksDropdown, {}),
2161
- /*#__PURE__*/ jsxRuntime.jsx(Separator, {}),
2388
+ /*#__PURE__*/ jsxRuntime.jsx(ToolbarSeparator, {}),
2162
2389
  /*#__PURE__*/ jsxRuntime.jsx(Toolbar__namespace.ToggleGroup, {
2163
2390
  type: "multiple",
2164
2391
  asChild: true,
2165
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
2166
- gap: 1,
2167
- children: [
2168
- Object.entries(modifiers).map(([name, modifier])=>/*#__PURE__*/ jsxRuntime.jsx(ToolbarButton, {
2169
- name: name,
2170
- icon: modifier.icon,
2171
- label: modifier.label,
2172
- isActive: modifier.checkIsActive(editor),
2173
- handleClick: ()=>modifier.handleToggle(editor),
2174
- disabled: isButtonDisabled
2175
- }, name)),
2176
- /*#__PURE__*/ jsxRuntime.jsx(LinkButton, {
2177
- disabled: isButtonDisabled
2178
- })
2179
- ]
2180
- })
2181
- }),
2182
- /*#__PURE__*/ jsxRuntime.jsx(Separator, {}),
2183
- /*#__PURE__*/ jsxRuntime.jsx(Toolbar__namespace.ToggleGroup, {
2184
- type: "single",
2185
- asChild: true,
2186
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
2392
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
2393
+ direction: "row",
2187
2394
  gap: 1,
2188
- children: [
2189
- /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2190
- block: blocks['list-unordered'],
2191
- format: "unordered"
2192
- }),
2193
- /*#__PURE__*/ jsxRuntime.jsx(ListButton, {
2194
- block: blocks['list-ordered'],
2195
- format: "ordered"
2196
- })
2197
- ]
2395
+ grow: 1,
2396
+ overflow: "hidden",
2397
+ children: /*#__PURE__*/ jsxRuntime.jsx(EditorToolbarObserver, {
2398
+ observedComponents: observedComponents
2399
+ })
2198
2400
  })
2199
2401
  })
2200
2402
  ]
@@ -5550,14 +5752,14 @@ const quoteAndCodeHandler = (editor, markdownType)=>{
5550
5752
  };
5551
5753
 
5552
5754
  // NAV BUTTONS
5553
- const MainButtons = styledComponents.styled(designSystem.IconButtonGroup)`
5755
+ styledComponents.styled(designSystem.IconButtonGroup)`
5554
5756
  margin-left: ${({ theme })=>theme.spaces[4]};
5555
5757
  `;
5556
- const MoreButton = styledComponents.styled(designSystem.IconButton)`
5758
+ styledComponents.styled(designSystem.IconButton)`
5557
5759
  margin: ${({ theme })=>`0 ${theme.spaces[2]}`};
5558
5760
  `;
5559
5761
  // NAV
5560
- const IconButtonGroupMargin = styledComponents.styled(designSystem.IconButtonGroup)`
5762
+ styledComponents.styled(designSystem.IconButtonGroup)`
5561
5763
  margin-right: ${({ theme })=>`${theme.spaces[2]}`};
5562
5764
  `;
5563
5765
  // FOOTER
@@ -5615,245 +5817,515 @@ const WysiwygFooter = ({ onToggleExpand })=>{
5615
5817
 
5616
5818
  /**
5617
5819
  * TODO: refactor this mess.
5618
- */ const WysiwygNav = ({ disabled, editorRef, isExpandMode, isPreviewMode, onActionClick, onToggleMediaLib, onTogglePreviewMode })=>{
5619
- const [visiblePopover, setVisiblePopover] = React__namespace.useState(false);
5820
+ */ const WysiwygNav = ({ disabled, editorRef, isPreviewMode, onToggleMediaLib, onTogglePreviewMode })=>{
5620
5821
  const { formatMessage } = reactIntl.useIntl();
5621
- const selectPlaceholder = formatMessage({
5622
- id: 'components.Wysiwyg.selectOptions.title',
5623
- defaultMessage: 'Add a title'
5624
- });
5625
- React__namespace.useRef(null);
5626
- const handleTogglePopover = ()=>{
5627
- setVisiblePopover((prev)=>!prev);
5822
+ const isDisabled = disabled || isPreviewMode;
5823
+ const handleActionClick = (value, currentEditorRef)=>{
5824
+ switch(value){
5825
+ case 'Link':
5826
+ {
5827
+ markdownHandler(currentEditorRef, value);
5828
+ break;
5829
+ }
5830
+ case 'Code':
5831
+ case 'Quote':
5832
+ {
5833
+ quoteAndCodeHandler(currentEditorRef, value);
5834
+ break;
5835
+ }
5836
+ case 'Bold':
5837
+ case 'Italic':
5838
+ case 'Underline':
5839
+ case 'Strikethrough':
5840
+ {
5841
+ markdownHandler(currentEditorRef, value);
5842
+ break;
5843
+ }
5844
+ case 'BulletList':
5845
+ case 'NumberList':
5846
+ {
5847
+ listHandler(currentEditorRef, value);
5848
+ break;
5849
+ }
5850
+ case 'h1':
5851
+ case 'h2':
5852
+ case 'h3':
5853
+ case 'h4':
5854
+ case 'h5':
5855
+ case 'h6':
5856
+ {
5857
+ titleHandler(currentEditorRef, value);
5858
+ break;
5859
+ }
5860
+ }
5628
5861
  };
5629
- if (disabled || isPreviewMode) {
5630
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5631
- padding: 2,
5632
- background: "neutral100",
5633
- justifyContent: "space-between",
5634
- borderRadius: `0.4rem 0.4rem 0 0`,
5635
- children: [
5636
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5637
- children: [
5638
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Root, {
5639
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.SingleSelect, {
5640
- disabled: true,
5641
- placeholder: selectPlaceholder,
5642
- "aria-label": selectPlaceholder,
5643
- size: "S",
5644
- children: [
5645
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5646
- value: "h1",
5647
- children: "h1"
5648
- }),
5649
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5650
- value: "h2",
5651
- children: "h2"
5652
- }),
5653
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5654
- value: "h3",
5655
- children: "h3"
5656
- }),
5657
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5658
- value: "h4",
5659
- children: "h4"
5660
- }),
5661
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5662
- value: "h5",
5663
- children: "h5"
5664
- }),
5665
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5666
- value: "h6",
5667
- children: "h6"
5668
- })
5669
- ]
5670
- })
5862
+ const observedComponents = [
5863
+ {
5864
+ toolbar: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.IconButtonGroup, {
5865
+ children: [
5866
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5867
+ disabled: isDisabled,
5868
+ onClick: ()=>handleActionClick('Bold', editorRef),
5869
+ label: formatMessage({
5870
+ id: 'components.Blocks.modifiers.bold',
5871
+ defaultMessage: 'Bold'
5872
+ }),
5873
+ name: formatMessage({
5874
+ id: 'components.Blocks.modifiers.bold',
5875
+ defaultMessage: 'Bold'
5876
+ }),
5877
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Bold, {})
5878
+ }),
5879
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5880
+ disabled: isDisabled,
5881
+ onClick: ()=>handleActionClick('Italic', editorRef),
5882
+ label: formatMessage({
5883
+ id: 'components.Blocks.modifiers.italic',
5884
+ defaultMessage: 'Italic'
5885
+ }),
5886
+ name: formatMessage({
5887
+ id: 'components.Blocks.modifiers.italic',
5888
+ defaultMessage: 'Italic'
5889
+ }),
5890
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Italic, {})
5891
+ }),
5892
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5893
+ disabled: isDisabled,
5894
+ onClick: ()=>handleActionClick('Underline', editorRef),
5895
+ label: formatMessage({
5896
+ id: 'components.Blocks.modifiers.underline',
5897
+ defaultMessage: 'Underline'
5898
+ }),
5899
+ name: formatMessage({
5900
+ id: 'components.Blocks.modifiers.underline',
5901
+ defaultMessage: 'Underline'
5902
+ }),
5903
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Underline, {})
5904
+ }),
5905
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5906
+ disabled: isDisabled,
5907
+ onClick: ()=>handleActionClick('Strikethrough', editorRef),
5908
+ label: formatMessage({
5909
+ id: 'components.Blocks.modifiers.strikethrough',
5910
+ defaultMessage: 'Strikethrough'
5911
+ }),
5912
+ name: formatMessage({
5913
+ id: 'components.Blocks.modifiers.strikethrough',
5914
+ defaultMessage: 'Strikethrough'
5671
5915
  }),
5672
- /*#__PURE__*/ jsxRuntime.jsxs(MainButtons, {
5916
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.StrikeThrough, {})
5917
+ })
5918
+ ]
5919
+ }),
5920
+ menu: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
5921
+ children: [
5922
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Separator, {}),
5923
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
5924
+ onSelect: ()=>handleActionClick('Bold', editorRef),
5925
+ disabled: isDisabled,
5926
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5927
+ tag: "span",
5928
+ gap: 2,
5673
5929
  children: [
5674
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5675
- disabled: true,
5676
- label: "Bold",
5677
- name: "Bold",
5678
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Bold, {})
5930
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Bold, {
5931
+ "aria-hidden": true,
5932
+ fill: "neutral600"
5679
5933
  }),
5680
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5681
- disabled: true,
5682
- label: "Italic",
5683
- name: "Italic",
5684
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Italic, {})
5934
+ formatMessage({
5935
+ id: 'components.Blocks.modifiers.bold',
5936
+ defaultMessage: 'Bold'
5937
+ })
5938
+ ]
5939
+ })
5940
+ }),
5941
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
5942
+ onSelect: ()=>handleActionClick('Italic', editorRef),
5943
+ disabled: isDisabled,
5944
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5945
+ tag: "span",
5946
+ gap: 2,
5947
+ children: [
5948
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Italic, {
5949
+ "aria-hidden": true,
5950
+ fill: "neutral600"
5685
5951
  }),
5686
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5687
- disabled: true,
5688
- label: "Underline",
5689
- name: "Underline",
5690
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Underline, {})
5952
+ formatMessage({
5953
+ id: 'components.Blocks.modifiers.italic',
5954
+ defaultMessage: 'Italic'
5955
+ })
5956
+ ]
5957
+ })
5958
+ }),
5959
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
5960
+ onSelect: ()=>handleActionClick('Underline', editorRef),
5961
+ disabled: isDisabled,
5962
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5963
+ tag: "span",
5964
+ gap: 2,
5965
+ children: [
5966
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Underline, {
5967
+ "aria-hidden": true,
5968
+ fill: "neutral600"
5969
+ }),
5970
+ formatMessage({
5971
+ id: 'components.Blocks.modifiers.underline',
5972
+ defaultMessage: 'Underline'
5973
+ })
5974
+ ]
5975
+ })
5976
+ }),
5977
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
5978
+ onSelect: ()=>handleActionClick('Strikethrough', editorRef),
5979
+ disabled: isDisabled,
5980
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5981
+ tag: "span",
5982
+ gap: 2,
5983
+ children: [
5984
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.StrikeThrough, {
5985
+ "aria-hidden": true,
5986
+ fill: "neutral600"
5987
+ }),
5988
+ formatMessage({
5989
+ id: 'components.Blocks.modifiers.strikethrough',
5990
+ defaultMessage: 'Strikethrough'
5691
5991
  })
5692
5992
  ]
5693
- }),
5694
- /*#__PURE__*/ jsxRuntime.jsx(MoreButton, {
5695
- disabled: true,
5696
- label: "More",
5697
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.More, {})
5698
5993
  })
5699
- ]
5700
- }),
5701
- !isExpandMode && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
5702
- onClick: onTogglePreviewMode,
5703
- variant: "tertiary",
5704
- children: formatMessage({
5705
- id: 'components.Wysiwyg.ToggleMode.markdown-mode',
5706
- defaultMessage: 'Markdown mode'
5707
5994
  })
5708
- })
5709
- ]
5710
- });
5711
- }
5712
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5713
- padding: 2,
5714
- background: "neutral100",
5715
- justifyContent: "space-between",
5716
- borderRadius: `0.4rem 0.4rem 0 0`,
5717
- children: [
5718
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5995
+ ]
5996
+ }),
5997
+ key: 'formatting-group-1'
5998
+ },
5999
+ {
6000
+ toolbar: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.IconButtonGroup, {
6001
+ children: [
6002
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6003
+ disabled: isDisabled,
6004
+ onClick: ()=>handleActionClick('BulletList', editorRef),
6005
+ label: formatMessage({
6006
+ id: 'components.Blocks.blocks.bulletList',
6007
+ defaultMessage: 'Bulleted list'
6008
+ }),
6009
+ name: formatMessage({
6010
+ id: 'components.Blocks.blocks.bulletList',
6011
+ defaultMessage: 'Bulleted list'
6012
+ }),
6013
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.BulletList, {})
6014
+ }),
6015
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6016
+ disabled: isDisabled,
6017
+ onClick: ()=>handleActionClick('NumberList', editorRef),
6018
+ label: formatMessage({
6019
+ id: 'components.Blocks.blocks.numberList',
6020
+ defaultMessage: 'Numbered list'
6021
+ }),
6022
+ name: formatMessage({
6023
+ id: 'components.Blocks.blocks.numberList',
6024
+ defaultMessage: 'Numbered list'
6025
+ }),
6026
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.NumberList, {})
6027
+ })
6028
+ ]
6029
+ }),
6030
+ menu: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
5719
6031
  children: [
5720
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Root, {
5721
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.SingleSelect, {
5722
- placeholder: selectPlaceholder,
5723
- "aria-label": selectPlaceholder,
5724
- // @ts-expect-error DS v2 will only allow strings.
5725
- onChange: (value)=>onActionClick(value, editorRef),
5726
- size: "S",
6032
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Separator, {}),
6033
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6034
+ onSelect: ()=>handleActionClick('BulletList', editorRef),
6035
+ disabled: isDisabled,
6036
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6037
+ tag: "span",
6038
+ gap: 2,
5727
6039
  children: [
5728
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5729
- value: "h1",
5730
- children: "h1"
6040
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.BulletList, {
6041
+ "aria-hidden": true,
6042
+ fill: "neutral600"
5731
6043
  }),
5732
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5733
- value: "h2",
5734
- children: "h2"
6044
+ formatMessage({
6045
+ id: 'components.Blocks.blocks.unorderedList',
6046
+ defaultMessage: 'Bulleted list'
6047
+ })
6048
+ ]
6049
+ })
6050
+ }),
6051
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6052
+ onSelect: ()=>handleActionClick('NumberList', editorRef),
6053
+ disabled: isDisabled,
6054
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6055
+ tag: "span",
6056
+ gap: 2,
6057
+ children: [
6058
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.NumberList, {
6059
+ "aria-hidden": true,
6060
+ fill: "neutral600"
5735
6061
  }),
5736
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5737
- value: "h3",
5738
- children: "h3"
6062
+ formatMessage({
6063
+ id: 'components.Blocks.blocks.orderedList',
6064
+ defaultMessage: 'Numbered list'
6065
+ })
6066
+ ]
6067
+ })
6068
+ })
6069
+ ]
6070
+ }),
6071
+ key: 'formatting-group-2'
6072
+ },
6073
+ {
6074
+ toolbar: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.IconButtonGroup, {
6075
+ children: [
6076
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6077
+ disabled: isDisabled,
6078
+ onClick: ()=>handleActionClick('Code', editorRef),
6079
+ label: formatMessage({
6080
+ id: 'components.Wysiwyg.blocks.code',
6081
+ defaultMessage: 'Code'
6082
+ }),
6083
+ name: formatMessage({
6084
+ id: 'components.Wysiwyg.blocks.code',
6085
+ defaultMessage: 'Code'
6086
+ }),
6087
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Code, {})
6088
+ }),
6089
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6090
+ disabled: isDisabled,
6091
+ onClick: ()=>{
6092
+ onToggleMediaLib();
6093
+ },
6094
+ label: formatMessage({
6095
+ id: 'components.Blocks.blocks.image',
6096
+ defaultMessage: 'Image'
6097
+ }),
6098
+ name: formatMessage({
6099
+ id: 'components.Blocks.blocks.image',
6100
+ defaultMessage: 'Image'
6101
+ }),
6102
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Image, {})
6103
+ }),
6104
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6105
+ disabled: isDisabled,
6106
+ onClick: ()=>handleActionClick('Link', editorRef),
6107
+ label: formatMessage({
6108
+ id: 'components.Blocks.popover.link',
6109
+ defaultMessage: 'Link'
6110
+ }),
6111
+ name: formatMessage({
6112
+ id: 'components.Blocks.popover.link',
6113
+ defaultMessage: 'Link'
6114
+ }),
6115
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {})
6116
+ }),
6117
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
6118
+ disabled: isDisabled,
6119
+ onClick: ()=>handleActionClick('Quote', editorRef),
6120
+ label: formatMessage({
6121
+ id: 'components.Blocks.blocks.quote',
6122
+ defaultMessage: 'Quote'
6123
+ }),
6124
+ name: formatMessage({
6125
+ id: 'components.Blocks.blocks.quote',
6126
+ defaultMessage: 'Quote'
6127
+ }),
6128
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Quotes, {})
6129
+ })
6130
+ ]
6131
+ }),
6132
+ menu: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
6133
+ children: [
6134
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Separator, {}),
6135
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6136
+ onSelect: ()=>handleActionClick('Code', editorRef),
6137
+ disabled: isDisabled,
6138
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6139
+ tag: "span",
6140
+ gap: 2,
6141
+ children: [
6142
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Code, {
6143
+ "aria-hidden": true,
6144
+ fill: "neutral600"
5739
6145
  }),
5740
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5741
- value: "h4",
5742
- children: "h4"
6146
+ formatMessage({
6147
+ id: 'components.Wysiwyg.blocks.code',
6148
+ defaultMessage: 'Code'
6149
+ })
6150
+ ]
6151
+ })
6152
+ }),
6153
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6154
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Image, {}),
6155
+ onSelect: ()=>{
6156
+ onToggleMediaLib();
6157
+ },
6158
+ disabled: isDisabled,
6159
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6160
+ tag: "span",
6161
+ gap: 2,
6162
+ children: [
6163
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Image, {
6164
+ "aria-hidden": true,
6165
+ fill: "neutral600"
5743
6166
  }),
5744
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5745
- value: "h5",
5746
- children: "h5"
6167
+ formatMessage({
6168
+ id: 'components.Blocks.blocks.image',
6169
+ defaultMessage: 'Image'
6170
+ })
6171
+ ]
6172
+ })
6173
+ }),
6174
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6175
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {}),
6176
+ onSelect: ()=>handleActionClick('Link', editorRef),
6177
+ disabled: isDisabled,
6178
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6179
+ tag: "span",
6180
+ gap: 2,
6181
+ children: [
6182
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {
6183
+ "aria-hidden": true,
6184
+ fill: "neutral600"
5747
6185
  }),
5748
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
5749
- value: "h6",
5750
- children: "h6"
6186
+ formatMessage({
6187
+ id: 'components.Blocks.popover.link',
6188
+ defaultMessage: 'Link'
5751
6189
  })
5752
6190
  ]
5753
6191
  })
5754
6192
  }),
5755
- /*#__PURE__*/ jsxRuntime.jsxs(MainButtons, {
5756
- children: [
5757
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5758
- onClick: ()=>onActionClick('Bold', editorRef),
5759
- label: "Bold",
5760
- name: "Bold",
5761
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Bold, {})
6193
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
6194
+ onSelect: ()=>handleActionClick('Quote', editorRef),
6195
+ disabled: isDisabled,
6196
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6197
+ tag: "span",
6198
+ gap: 2,
6199
+ children: [
6200
+ /*#__PURE__*/ jsxRuntime.jsx(Icons.Quotes, {
6201
+ "aria-hidden": true,
6202
+ fill: "neutral600"
6203
+ }),
6204
+ formatMessage({
6205
+ id: 'components.Blocks.blocks.quote',
6206
+ defaultMessage: 'Quote'
6207
+ })
6208
+ ]
6209
+ })
6210
+ })
6211
+ ]
6212
+ }),
6213
+ key: 'formatting-group-3'
6214
+ }
6215
+ ];
6216
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6217
+ padding: 2,
6218
+ background: "neutral100",
6219
+ justifyContent: "space-between",
6220
+ borderRadius: "0.4rem 0.4rem 0 0",
6221
+ width: "100%",
6222
+ gap: 4,
6223
+ children: [
6224
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Root, {
6225
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.SingleSelect, {
6226
+ disabled: isDisabled,
6227
+ placeholder: formatMessage({
6228
+ id: 'components.Wysiwyg.selectOptions.title',
6229
+ defaultMessage: 'Headings'
6230
+ }),
6231
+ "aria-label": formatMessage({
6232
+ id: 'components.Wysiwyg.selectOptions.title',
6233
+ defaultMessage: 'Headings'
6234
+ }),
6235
+ // @ts-expect-error – DS v2 will only allow strings.
6236
+ onChange: (value)=>handleActionClick(value, editorRef),
6237
+ size: "S",
6238
+ children: [
6239
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6240
+ value: "h1",
6241
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingOne, {
6242
+ fill: "neutral600"
5762
6243
  }),
5763
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5764
- onClick: ()=>onActionClick('Italic', editorRef),
5765
- label: "Italic",
5766
- name: "Italic",
5767
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Italic, {})
6244
+ children: formatMessage({
6245
+ id: 'components.Wysiwyg.selectOptions.H1',
6246
+ defaultMessage: 'Heading 1'
6247
+ })
6248
+ }),
6249
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6250
+ value: "h2",
6251
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingTwo, {
6252
+ fill: "neutral600"
5768
6253
  }),
5769
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5770
- onClick: ()=>onActionClick('Underline', editorRef),
5771
- label: "Underline",
5772
- name: "Underline",
5773
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Underline, {})
6254
+ children: formatMessage({
6255
+ id: 'components.Wysiwyg.selectOptions.H2',
6256
+ defaultMessage: 'Heading 2'
5774
6257
  })
5775
- ]
5776
- }),
5777
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Popover.Root, {
5778
- children: [
5779
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Trigger, {
5780
- children: /*#__PURE__*/ jsxRuntime.jsx(MoreButton, {
5781
- label: "More",
5782
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.More, {})
5783
- })
6258
+ }),
6259
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6260
+ value: "h3",
6261
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingThree, {
6262
+ fill: "neutral600"
5784
6263
  }),
5785
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Popover.Content, {
5786
- sideOffset: 12,
5787
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
5788
- padding: 2,
5789
- children: [
5790
- /*#__PURE__*/ jsxRuntime.jsxs(IconButtonGroupMargin, {
5791
- children: [
5792
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5793
- onClick: ()=>onActionClick('Strikethrough', editorRef, handleTogglePopover),
5794
- label: "Strikethrough",
5795
- name: "Strikethrough",
5796
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.StrikeThrough, {})
5797
- }),
5798
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5799
- onClick: ()=>onActionClick('BulletList', editorRef, handleTogglePopover),
5800
- label: "BulletList",
5801
- name: "BulletList",
5802
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.BulletList, {})
5803
- }),
5804
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5805
- onClick: ()=>onActionClick('NumberList', editorRef, handleTogglePopover),
5806
- label: "NumberList",
5807
- name: "NumberList",
5808
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.NumberList, {})
5809
- })
5810
- ]
5811
- }),
5812
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.IconButtonGroup, {
5813
- children: [
5814
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5815
- onClick: ()=>onActionClick('Code', editorRef, handleTogglePopover),
5816
- label: "Code",
5817
- name: "Code",
5818
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Code, {})
5819
- }),
5820
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5821
- onClick: ()=>{
5822
- handleTogglePopover();
5823
- onToggleMediaLib();
5824
- },
5825
- label: "Image",
5826
- name: "Image",
5827
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Image, {})
5828
- }),
5829
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5830
- onClick: ()=>onActionClick('Link', editorRef, handleTogglePopover),
5831
- label: "Link",
5832
- name: "Link",
5833
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {})
5834
- }),
5835
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
5836
- onClick: ()=>onActionClick('Quote', editorRef, handleTogglePopover),
5837
- label: "Quote",
5838
- name: "Quote",
5839
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Quotes, {})
5840
- })
5841
- ]
5842
- })
5843
- ]
5844
- })
6264
+ children: formatMessage({
6265
+ id: 'components.Wysiwyg.selectOptions.H3',
6266
+ defaultMessage: 'Heading 3'
5845
6267
  })
5846
- ]
6268
+ }),
6269
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6270
+ value: "h4",
6271
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingFour, {
6272
+ fill: "neutral600"
6273
+ }),
6274
+ children: formatMessage({
6275
+ id: 'components.Wysiwyg.selectOptions.H4',
6276
+ defaultMessage: 'Heading 4'
6277
+ })
6278
+ }),
6279
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6280
+ value: "h5",
6281
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingFive, {
6282
+ fill: "neutral600"
6283
+ }),
6284
+ children: formatMessage({
6285
+ id: 'components.Wysiwyg.selectOptions.H5',
6286
+ defaultMessage: 'Heading 5'
6287
+ })
6288
+ }),
6289
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
6290
+ value: "h6",
6291
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.HeadingSix, {
6292
+ fill: "neutral600"
6293
+ }),
6294
+ children: formatMessage({
6295
+ id: 'components.Wysiwyg.selectOptions.H6',
6296
+ defaultMessage: 'Heading 6'
6297
+ })
6298
+ })
6299
+ ]
6300
+ })
6301
+ }),
6302
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
6303
+ width: "100%",
6304
+ justifyContent: "space-between",
6305
+ overflow: "hidden",
6306
+ children: [
6307
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
6308
+ gap: 2,
6309
+ overflow: "hidden",
6310
+ width: "100%",
6311
+ children: /*#__PURE__*/ jsxRuntime.jsx(EditorToolbarObserver, {
6312
+ menuTriggerVariant: "tertiary",
6313
+ observedComponents: observedComponents
6314
+ })
6315
+ }),
6316
+ onTogglePreviewMode && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
6317
+ onClick: onTogglePreviewMode,
6318
+ variant: "tertiary",
6319
+ minWidth: "132px",
6320
+ children: isPreviewMode ? formatMessage({
6321
+ id: 'components.Wysiwyg.ToggleMode.markdown-mode',
6322
+ defaultMessage: 'Markdown mode'
6323
+ }) : formatMessage({
6324
+ id: 'components.Wysiwyg.ToggleMode.preview-mode',
6325
+ defaultMessage: 'Preview mode'
6326
+ })
5847
6327
  })
5848
6328
  ]
5849
- }),
5850
- onTogglePreviewMode && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
5851
- onClick: onTogglePreviewMode,
5852
- variant: "tertiary",
5853
- children: formatMessage({
5854
- id: 'components.Wysiwyg.ToggleMode.preview-mode',
5855
- defaultMessage: 'Preview mode'
5856
- })
5857
6329
  })
5858
6330
  ]
5859
6331
  });
@@ -5874,48 +6346,6 @@ const Wysiwyg = /*#__PURE__*/ React__namespace.forwardRef(({ hint, disabled, lab
5874
6346
  setIsPreviewMode(false);
5875
6347
  setIsExpandMode((prev)=>!prev);
5876
6348
  };
5877
- const handleActionClick = (value, currentEditorRef, togglePopover)=>{
5878
- switch(value){
5879
- case 'Link':
5880
- case 'Strikethrough':
5881
- {
5882
- markdownHandler(currentEditorRef, value);
5883
- togglePopover?.();
5884
- break;
5885
- }
5886
- case 'Code':
5887
- case 'Quote':
5888
- {
5889
- quoteAndCodeHandler(currentEditorRef, value);
5890
- togglePopover?.();
5891
- break;
5892
- }
5893
- case 'Bold':
5894
- case 'Italic':
5895
- case 'Underline':
5896
- {
5897
- markdownHandler(currentEditorRef, value);
5898
- break;
5899
- }
5900
- case 'BulletList':
5901
- case 'NumberList':
5902
- {
5903
- listHandler(currentEditorRef, value);
5904
- togglePopover?.();
5905
- break;
5906
- }
5907
- case 'h1':
5908
- case 'h2':
5909
- case 'h3':
5910
- case 'h4':
5911
- case 'h5':
5912
- case 'h6':
5913
- {
5914
- titleHandler(currentEditorRef, value);
5915
- break;
5916
- }
5917
- }
5918
- };
5919
6349
  const handleSelectAssets = (files)=>{
5920
6350
  const formattedFiles = files.map((f)=>({
5921
6351
  alt: f.alternativeText || f.name,
@@ -5950,7 +6380,6 @@ const Wysiwyg = /*#__PURE__*/ React__namespace.forwardRef(({ hint, disabled, lab
5950
6380
  isExpandMode: isExpandMode,
5951
6381
  editorRef: editorRef,
5952
6382
  isPreviewMode: isPreviewMode,
5953
- onActionClick: handleActionClick,
5954
6383
  onToggleMediaLib: handleToggleMediaLib,
5955
6384
  onTogglePreviewMode: isExpandMode ? undefined : handleTogglePreviewMode,
5956
6385
  disabled: disabled
@@ -6095,6 +6524,13 @@ const MemoizedWysiwyg = /*#__PURE__*/ React__namespace.memo(Wysiwyg);
6095
6524
  disabled: fieldIsDisabled
6096
6525
  });
6097
6526
  case 'relation':
6527
+ if (window.strapi.future.isEnabled('unstableRelationsOnTheFly')) {
6528
+ return /*#__PURE__*/ jsxRuntime.jsx(Relations.MemoizedUnstableRelationsField, {
6529
+ ...props,
6530
+ hint: hint,
6531
+ disabled: fieldIsDisabled
6532
+ });
6533
+ }
6098
6534
  return /*#__PURE__*/ jsxRuntime.jsx(Relations.MemoizedRelationsField, {
6099
6535
  ...props,
6100
6536
  hint: hint,
@@ -6207,7 +6643,7 @@ const ResponsiveGridItem = styledComponents.styled(designSystem.Grid.Item)`
6207
6643
  ${({ col })=>col && `grid-column: span ${col};`}
6208
6644
  }
6209
6645
  `;
6210
- const FormLayout = ({ layout })=>{
6646
+ const FormLayout = ({ layout, hasBackground = false })=>{
6211
6647
  const { formatMessage } = reactIntl.useIntl();
6212
6648
  const { model } = index.useDoc();
6213
6649
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
@@ -6240,14 +6676,13 @@ const FormLayout = ({ layout })=>{
6240
6676
  }, field.name);
6241
6677
  }
6242
6678
  return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
6243
- hasRadius: true,
6244
- background: "neutral0",
6245
- shadow: "tableShadow",
6246
- paddingLeft: 6,
6247
- paddingRight: 6,
6248
- paddingTop: 6,
6249
- paddingBottom: 6,
6250
- borderColor: "neutral150",
6679
+ ...!hasBackground && {
6680
+ padding: 6,
6681
+ borderColor: 'neutral150',
6682
+ background: 'neutral0',
6683
+ hasRadius: true,
6684
+ shadow: 'tableShadow'
6685
+ },
6251
6686
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
6252
6687
  direction: "column",
6253
6688
  alignItems: "stretch",
@@ -6783,4 +7218,4 @@ exports.NotAllowedInput = NotAllowedInput;
6783
7218
  exports.useDynamicZone = useDynamicZone;
6784
7219
  exports.useFieldHint = useFieldHint;
6785
7220
  exports.useLazyComponents = useLazyComponents;
6786
- //# sourceMappingURL=Input-Dr7YL5Sv.js.map
7221
+ //# sourceMappingURL=Input-DLJZHw9Y.js.map