@griddo/ax 11.10.11-rc.0 → 11.10.11

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 (1116) hide show
  1. package/README.md +56 -3
  2. package/config/env.js +56 -56
  3. package/config/getHttpsConfig.js +32 -32
  4. package/config/griddo-config/cx-polyfills/builder.ssr.js +1 -2
  5. package/config/griddo-config/index.js +71 -71
  6. package/config/griddo-config/ssrHelpers.js +21 -23
  7. package/config/jest/componentsMock.js +1633 -1633
  8. package/config/jest/cssTransform.js +7 -7
  9. package/config/jest/fileMock.js +1 -1
  10. package/config/jest/fileTransform.js +13 -13
  11. package/config/jest/setup.js +9 -9
  12. package/config/jest/test-utils.js +11 -11
  13. package/config/modules.js +94 -92
  14. package/config/paths.js +73 -73
  15. package/config/pnpTs.js +8 -8
  16. package/config/webpack/persistentCache/createEnvironmentHash.js +3 -3
  17. package/config/webpack.config.js +624 -624
  18. package/config/webpackDevServer.config.js +111 -111
  19. package/config/webpackSchemas.config.js +50 -50
  20. package/package.json +219 -227
  21. package/public/fonts/fonts.css +216 -168
  22. package/public/manifest.json +6 -6
  23. package/scripts/build.js +114 -114
  24. package/scripts/griddo-sync-schemas.js +115 -115
  25. package/scripts/griddo.js +24 -24
  26. package/scripts/start.js +73 -73
  27. package/src/GlobalStore.tsx +62 -62
  28. package/src/Style/index.tsx +11 -8
  29. package/src/__mocks__/axios/ReferenceField.ts +455 -455
  30. package/src/__mocks__/axios/Roles.ts +6 -7
  31. package/src/__mocks__/axios/SitesList.ts +107 -107
  32. package/src/__mocks__/axios/SitesListCategories.ts +22 -22
  33. package/src/__mocks__/axios/SitesListDataPack.ts +148 -168
  34. package/src/__mocks__/axios/SitesListOptions.ts +15 -15
  35. package/src/__mocks__/axios/UserList.ts +525 -525
  36. package/src/__mocks__/mockedAxios.ts +2203 -2203
  37. package/src/__mocks__/reducers/structuredData.tsx +4 -5
  38. package/src/__mocks__/store/GenericStore.ts +26 -26
  39. package/src/__mocks__/store/ReferenceField.ts +1663 -1663
  40. package/src/__mocks__/store/Roles.ts +1045 -1045
  41. package/src/__mocks__/store/SitesList.ts +733 -733
  42. package/src/__mocks__/store/UserList.ts +468 -468
  43. package/src/__mocks__/store/UsersCreate.ts +287 -287
  44. package/src/__tests__/components/ActionMenu/ActionMenu.test.tsx +230 -230
  45. package/src/__tests__/components/Avatar/Avatar.test.tsx +107 -107
  46. package/src/__tests__/components/Breadcrumb/Breadcrumb.test.tsx +83 -83
  47. package/src/__tests__/components/Browser/Browser.test.tsx +174 -174
  48. package/src/__tests__/components/BulkSelectionOptions/BulkSelectionOptions.test.tsx +147 -147
  49. package/src/__tests__/components/CategoryCell/CategoryCell.test.tsx +40 -40
  50. package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +206 -206
  51. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/ConnectedField.test.tsx +147 -147
  52. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/NavConnectedField/NavConnectedField.test.tsx +134 -134
  53. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/Field.test.tsx +92 -92
  54. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/PageConnectedField.test.tsx +360 -360
  55. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/TemplateManager.test.tsx +121 -121
  56. package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +198 -198
  57. package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +198 -198
  58. package/src/__tests__/components/ConfigPanel/Header/Header.test.tsx +115 -115
  59. package/src/__tests__/components/ConfigPanel/NavigationForm/Field/Field.test.tsx +174 -174
  60. package/src/__tests__/components/ConfigPanel/NavigationForm/NavigationForm.test.tsx +66 -66
  61. package/src/__tests__/components/ConfigPanel/PreviewForm/PreviewForm.test.tsx +62 -62
  62. package/src/__tests__/components/DragAndDrop/DragAndDrop.test.tsx +68 -68
  63. package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +79 -79
  64. package/src/__tests__/components/EmptyState/EmptyState.test.tsx +49 -49
  65. package/src/__tests__/components/ErrorCenter/ErrorCenter.test.tsx +164 -164
  66. package/src/__tests__/components/ErrorToast/ErrorToast.test.tsx +42 -42
  67. package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +57 -57
  68. package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +64 -64
  69. package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +171 -171
  70. package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +105 -105
  71. package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +238 -238
  72. package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +89 -87
  73. package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +238 -238
  74. package/src/__tests__/components/Fields/Button/Button.test.tsx +100 -100
  75. package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +138 -138
  76. package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +331 -331
  77. package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +170 -171
  78. package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +111 -111
  79. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +248 -248
  80. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +84 -84
  81. package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +164 -164
  82. package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +480 -480
  83. package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +67 -67
  84. package/src/__tests__/components/Fields/DateField/DateField.test.tsx +49 -49
  85. package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +46 -46
  86. package/src/__tests__/components/Fields/FieldsDivider/FieldsDivider.test.tsx +10 -10
  87. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +96 -96
  88. package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +54 -54
  89. package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +43 -43
  90. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +450 -450
  91. package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +412 -412
  92. package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +36 -36
  93. package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +100 -100
  94. package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +36 -36
  95. package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +87 -87
  96. package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +79 -79
  97. package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +404 -406
  98. package/src/__tests__/components/Fields/RichText/RichText.test.tsx +20 -20
  99. package/src/__tests__/components/Fields/Select/Select.test.tsx +38 -38
  100. package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +45 -45
  101. package/src/__tests__/components/Fields/SummaryButton/SummaryButton.test.tsx +35 -35
  102. package/src/__tests__/components/Fields/TagField/TagField.test.tsx +119 -119
  103. package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +45 -45
  104. package/src/__tests__/components/Fields/TextField/TextField.test.tsx +126 -126
  105. package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +121 -121
  106. package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +80 -80
  107. package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +107 -107
  108. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +129 -129
  109. package/src/__tests__/components/Fields/TranslateButton/TranslateButton.test.tsx +215 -215
  110. package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +24 -24
  111. package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +395 -395
  112. package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +60 -60
  113. package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +125 -125
  114. package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +30 -30
  115. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +98 -98
  116. package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +135 -135
  117. package/src/__tests__/components/Flag/Flag.test.tsx +46 -46
  118. package/src/__tests__/components/FloatingMenu/FloatingMenu.test.tsx +693 -693
  119. package/src/__tests__/components/FloatingPanel/FloatingPanel.test.tsx +132 -132
  120. package/src/__tests__/components/GuardModal/GuardModal.test.tsx +12 -12
  121. package/src/__tests__/components/Icon/Icon.test.tsx +51 -51
  122. package/src/__tests__/components/IconAction/IconAction.test.tsx +74 -74
  123. package/src/__tests__/components/Image/Image.test.tsx +27 -27
  124. package/src/__tests__/components/InformativeMenu/InformativeMenu.test.tsx +70 -70
  125. package/src/__tests__/components/LanguageMenu/LanguageMenu.test.tsx +196 -196
  126. package/src/__tests__/components/Lists/Lists.test.tsx +40 -40
  127. package/src/__tests__/components/Loader/Loader.test.tsx +41 -41
  128. package/src/__tests__/components/Loading/Loading.test.tsx +9 -9
  129. package/src/__tests__/components/Login/Login.test.tsx +223 -223
  130. package/src/__tests__/components/Login/RecoveryModal/RecoveryModal.test.tsx +160 -160
  131. package/src/__tests__/components/MainWrapper/AppBar/AppBar.test.tsx +503 -503
  132. package/src/__tests__/components/MainWrapper/MainWrapper.test.tsx +122 -122
  133. package/src/__tests__/components/MenuItem/MenuItem.test.tsx +123 -123
  134. package/src/__tests__/components/Modal/Modal.test.tsx +294 -294
  135. package/src/__tests__/components/Nav/Nav.test.tsx +41 -41
  136. package/src/__tests__/components/Notification/Notification.test.tsx +186 -186
  137. package/src/__tests__/components/Notification/SubNotification/Subnotification.test.tsx +32 -32
  138. package/src/__tests__/components/Pagination/Pagination.test.tsx +222 -222
  139. package/src/__tests__/components/ProgressBar/ProgressBar.test.tsx +12 -12
  140. package/src/__tests__/components/ReorderArrows/ReorderArrows.test.tsx +67 -67
  141. package/src/__tests__/components/ResizePanel/ResizePanel.test.tsx +135 -145
  142. package/src/__tests__/components/SearchField/SearchField.test.tsx +354 -354
  143. package/src/__tests__/components/SideModal/SideModal.test.tsx +321 -321
  144. package/src/__tests__/components/SubNav/SubNav.test.tsx +21 -21
  145. package/src/__tests__/components/TableCounter/TableCounter.test.tsx +35 -35
  146. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +223 -223
  147. package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +115 -115
  148. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +129 -129
  149. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +280 -280
  150. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +178 -178
  151. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +147 -147
  152. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +297 -297
  153. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +178 -178
  154. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +138 -138
  155. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +147 -147
  156. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +135 -135
  157. package/src/__tests__/components/TableList/TableList.test.tsx +95 -95
  158. package/src/__tests__/components/Tabs/Tabs.test.tsx +187 -187
  159. package/src/__tests__/components/Tag/Tag.test.tsx +121 -121
  160. package/src/__tests__/components/Toast/Toast.test.tsx +87 -87
  161. package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +143 -143
  162. package/src/__tests__/modules/Sites/Sites.test.tsx +238 -238
  163. package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +34 -34
  164. package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +917 -917
  165. package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +133 -133
  166. package/src/__tests__/modules/Users/Roles/Roles.test.tsx +589 -589
  167. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +75 -75
  168. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +137 -137
  169. package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +153 -153
  170. package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +260 -260
  171. package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +363 -363
  172. package/src/__tests__/modules/Users/UserList/UserList.test.tsx +264 -264
  173. package/src/api/analytics.tsx +64 -64
  174. package/src/api/checkgroups.tsx +36 -36
  175. package/src/api/config.tsx +10 -10
  176. package/src/api/dataPack.tsx +127 -127
  177. package/src/api/domains.tsx +12 -12
  178. package/src/api/files.tsx +137 -137
  179. package/src/api/folders.tsx +39 -39
  180. package/src/api/forms.tsx +164 -164
  181. package/src/api/global.tsx +55 -55
  182. package/src/api/images.tsx +160 -160
  183. package/src/api/index.tsx +24 -24
  184. package/src/api/integrations.tsx +112 -112
  185. package/src/api/languages.tsx +50 -50
  186. package/src/api/logs.tsx +60 -60
  187. package/src/api/menus.tsx +21 -21
  188. package/src/api/navigation.tsx +158 -158
  189. package/src/api/pages.tsx +212 -212
  190. package/src/api/redirects.tsx +62 -62
  191. package/src/api/roles.tsx +51 -51
  192. package/src/api/schemas.tsx +7 -7
  193. package/src/api/selects.tsx +37 -37
  194. package/src/api/sites.tsx +302 -302
  195. package/src/api/social.tsx +24 -24
  196. package/src/api/structuredData.tsx +269 -269
  197. package/src/api/users.tsx +106 -106
  198. package/src/api/utils.tsx +157 -159
  199. package/src/components/ActionMenu/index.tsx +48 -48
  200. package/src/components/Avatar/index.tsx +9 -9
  201. package/src/components/BackFolder/index.tsx +14 -14
  202. package/src/components/BackFolder/style.tsx +3 -3
  203. package/src/components/Breadcrumb/index.tsx +27 -27
  204. package/src/components/Breadcrumb/style.tsx +10 -10
  205. package/src/components/Browser/index.tsx +193 -193
  206. package/src/components/BrowserContent/index.tsx +75 -75
  207. package/src/components/BulkSelectionOptions/index.tsx +41 -41
  208. package/src/components/Button/index.tsx +86 -86
  209. package/src/components/Button/style.tsx +1 -1
  210. package/src/components/CategoryCell/index.tsx +13 -13
  211. package/src/components/Circle/index.tsx +4 -4
  212. package/src/components/ConfigPanel/Form/ConnectedField/NavConnectedField/index.tsx +146 -146
  213. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/index.tsx +106 -106
  214. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/index.tsx +150 -150
  215. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/index.tsx +243 -243
  216. package/src/components/ConfigPanel/Form/ConnectedField/index.tsx +3 -3
  217. package/src/components/ConfigPanel/Form/index.tsx +144 -144
  218. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +169 -169
  219. package/src/components/ConfigPanel/Header/index.tsx +124 -124
  220. package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +141 -140
  221. package/src/components/ConfigPanel/NavigationForm/Field/style.tsx +21 -27
  222. package/src/components/ConfigPanel/NavigationForm/index.tsx +14 -14
  223. package/src/components/ConfigPanel/NavigationForm/style.tsx +5 -5
  224. package/src/components/ConfigPanel/PreviewForm/index.tsx +22 -22
  225. package/src/components/ConfigPanel/index.tsx +116 -116
  226. package/src/components/DragAndDrop/index.tsx +47 -47
  227. package/src/components/ElementsTooltip/index.tsx +65 -65
  228. package/src/components/EmptyState/index.tsx +17 -17
  229. package/src/components/ErrorCenter/index.tsx +58 -58
  230. package/src/components/ErrorPage/index.tsx +98 -98
  231. package/src/components/ErrorPage/style.tsx +13 -13
  232. package/src/components/ErrorToast/index.tsx +4 -4
  233. package/src/components/ErrorToast/style.tsx +11 -11
  234. package/src/components/ExportButton/index.tsx +40 -40
  235. package/src/components/FieldContainer/index.tsx +63 -63
  236. package/src/components/Fields/AIReferenceField/AIConfigPanel/index.tsx +139 -139
  237. package/src/components/Fields/AIReferenceField/index.tsx +73 -73
  238. package/src/components/Fields/AIReferenceField/style.tsx +1 -1
  239. package/src/components/Fields/AnalyticsField/PageAnalytics/atoms.tsx +70 -70
  240. package/src/components/Fields/AnalyticsField/PageAnalytics/index.tsx +131 -131
  241. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/atoms.tsx +67 -67
  242. package/src/components/Fields/AnalyticsField/StructuredDataAnalytics/index.tsx +63 -63
  243. package/src/components/Fields/AnalyticsField/index.tsx +23 -23
  244. package/src/components/Fields/AnalyticsField/utils.tsx +6 -6
  245. package/src/components/Fields/ArrayFieldGroup/ArrayFieldInline/index.tsx +71 -71
  246. package/src/components/Fields/ArrayFieldGroup/ArrayFieldItem/index.tsx +105 -105
  247. package/src/components/Fields/ArrayFieldGroup/index.tsx +108 -108
  248. package/src/components/Fields/AsyncCheckGroup/index.tsx +210 -210
  249. package/src/components/Fields/AsyncSelect/index.tsx +180 -180
  250. package/src/components/Fields/AsyncSelect/style.tsx +6 -6
  251. package/src/components/Fields/CheckField/index.tsx +76 -76
  252. package/src/components/Fields/CheckField/style.tsx +33 -33
  253. package/src/components/Fields/CheckGroup/index.tsx +48 -48
  254. package/src/components/Fields/CheckGroup/style.tsx +2 -2
  255. package/src/components/Fields/ColorPicker/Picker/index.tsx +60 -60
  256. package/src/components/Fields/ColorPicker/Picker/style.tsx +14 -14
  257. package/src/components/Fields/ColorPicker/helpers.tsx +31 -26
  258. package/src/components/Fields/ColorPicker/index.tsx +120 -120
  259. package/src/components/Fields/ColorPicker/style.tsx +11 -11
  260. package/src/components/Fields/ComponentArray/BulkHeader/index.tsx +32 -32
  261. package/src/components/Fields/ComponentArray/MixableComponentArray/AddItemButton/index.tsx +27 -27
  262. package/src/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/index.tsx +53 -53
  263. package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +352 -353
  264. package/src/components/Fields/ComponentArray/SameComponentArray/AddItemButton/index.tsx +8 -8
  265. package/src/components/Fields/ComponentArray/SameComponentArray/index.tsx +241 -242
  266. package/src/components/Fields/ComponentArray/helpers.tsx +66 -66
  267. package/src/components/Fields/ComponentArray/index.tsx +3 -3
  268. package/src/components/Fields/ComponentContainer/EmptyContainer/index.tsx +36 -36
  269. package/src/components/Fields/ComponentContainer/atoms.tsx +12 -12
  270. package/src/components/Fields/ComponentContainer/index.tsx +258 -258
  271. package/src/components/Fields/ComponentContainer/style.tsx +20 -20
  272. package/src/components/Fields/ConditionalField/index.tsx +20 -20
  273. package/src/components/Fields/DateField/DatePickerInput/index.tsx +54 -54
  274. package/src/components/Fields/DateField/index.tsx +127 -127
  275. package/src/components/Fields/FieldGroup/index.tsx +18 -18
  276. package/src/components/Fields/FieldsDivider/index.tsx +9 -9
  277. package/src/components/Fields/FileField/index.tsx +100 -100
  278. package/src/components/Fields/FileField/style.tsx +11 -11
  279. package/src/components/Fields/FormCategorySelect/index.tsx +30 -30
  280. package/src/components/Fields/FormContainer/FormModal/index.tsx +190 -190
  281. package/src/components/Fields/FormContainer/FormModal/style.tsx +16 -16
  282. package/src/components/Fields/FormContainer/index.tsx +73 -73
  283. package/src/components/Fields/FormFieldArray/index.tsx +5 -5
  284. package/src/components/Fields/HeadingField/index.tsx +39 -39
  285. package/src/components/Fields/HiddenField/index.tsx +18 -18
  286. package/src/components/Fields/ImageField/index.tsx +194 -194
  287. package/src/components/Fields/ImageField/style.tsx +18 -18
  288. package/src/components/Fields/IntegrationsField/IntegrationItem/CustomPanel/index.tsx +82 -82
  289. package/src/components/Fields/IntegrationsField/IntegrationItem/CustomPanel/style.tsx +1 -1
  290. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/helpers.ts +24 -24
  291. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/index.tsx +97 -98
  292. package/src/components/Fields/IntegrationsField/IntegrationItem/VariablesPanel/style.tsx +1 -1
  293. package/src/components/Fields/IntegrationsField/IntegrationItem/atoms.tsx +15 -15
  294. package/src/components/Fields/IntegrationsField/IntegrationItem/index.tsx +114 -114
  295. package/src/components/Fields/IntegrationsField/PasteIntegrationButton/index.tsx +15 -15
  296. package/src/components/Fields/IntegrationsField/SideModal/SideModalOption/index.tsx +38 -38
  297. package/src/components/Fields/IntegrationsField/SideModal/index.tsx +40 -40
  298. package/src/components/Fields/IntegrationsField/index.tsx +119 -119
  299. package/src/components/Fields/LinkField/index.tsx +112 -112
  300. package/src/components/Fields/MultiCheckSelect/index.tsx +77 -77
  301. package/src/components/Fields/MultiCheckSelect/style.tsx +2 -2
  302. package/src/components/Fields/MultiCheckSelectGroup/index.tsx +68 -68
  303. package/src/components/Fields/NoteField/index.tsx +10 -10
  304. package/src/components/Fields/NumberField/index.tsx +89 -89
  305. package/src/components/Fields/NumberField/style.tsx +2 -2
  306. package/src/components/Fields/RadioField/index.tsx +30 -30
  307. package/src/components/Fields/RadioField/style.tsx +12 -12
  308. package/src/components/Fields/RadioGroup/index.tsx +43 -43
  309. package/src/components/Fields/RadioGroup/style.tsx +4 -4
  310. package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/index.tsx +380 -380
  311. package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/style.tsx +20 -20
  312. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +513 -513
  313. package/src/components/Fields/ReferenceField/AutoPanel/style.tsx +25 -25
  314. package/src/components/Fields/ReferenceField/Context/index.tsx +87 -87
  315. package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +45 -45
  316. package/src/components/Fields/ReferenceField/ItemList/Item/style.tsx +13 -13
  317. package/src/components/Fields/ReferenceField/ItemList/index.tsx +124 -124
  318. package/src/components/Fields/ReferenceField/ManualPanel/Item/index.tsx +25 -25
  319. package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +227 -227
  320. package/src/components/Fields/ReferenceField/ManualPanel/style.tsx +10 -10
  321. package/src/components/Fields/ReferenceField/index.tsx +236 -236
  322. package/src/components/Fields/ReferenceField/style.tsx +12 -12
  323. package/src/components/Fields/RichText/index.tsx +123 -112
  324. package/src/components/Fields/RichText/style.tsx +1 -1
  325. package/src/components/Fields/RichText/utils.tsx +23 -23
  326. package/src/components/Fields/Select/index.tsx +70 -70
  327. package/src/components/Fields/Select/style.tsx +6 -6
  328. package/src/components/Fields/SliderField/index.tsx +50 -50
  329. package/src/components/Fields/SummaryButton/index.tsx +53 -53
  330. package/src/components/Fields/TagsField/index.tsx +49 -49
  331. package/src/components/Fields/TextArea/index.tsx +48 -47
  332. package/src/components/Fields/TextField/index.tsx +122 -123
  333. package/src/components/Fields/TextField/style.tsx +9 -9
  334. package/src/components/Fields/TimeField/HourInput/index.tsx +82 -82
  335. package/src/components/Fields/TimeField/HourInput/utils.tsx +23 -23
  336. package/src/components/Fields/TimeField/index.tsx +45 -45
  337. package/src/components/Fields/ToggleField/index.tsx +31 -31
  338. package/src/components/Fields/TranslateButton/index.tsx +137 -137
  339. package/src/components/Fields/UniqueCheck/index.tsx +30 -30
  340. package/src/components/Fields/UrlField/index.tsx +232 -232
  341. package/src/components/Fields/UrlField/utils.tsx +78 -78
  342. package/src/components/Fields/VisualOption/index.tsx +26 -26
  343. package/src/components/Fields/VisualOption/style.tsx +4 -4
  344. package/src/components/Fields/VisualUniqueSelection/ImageSelection/index.tsx +31 -31
  345. package/src/components/Fields/VisualUniqueSelection/ImageSelection/style.tsx +1 -1
  346. package/src/components/Fields/VisualUniqueSelection/ScrollableSelection/index.tsx +73 -73
  347. package/src/components/Fields/VisualUniqueSelection/index.tsx +3 -3
  348. package/src/components/Fields/VisualUniqueSelection/utils.tsx +13 -13
  349. package/src/components/Fields/Wysiwyg/config.tsx +95 -95
  350. package/src/components/Fields/Wysiwyg/helpers.tsx +69 -69
  351. package/src/components/Fields/Wysiwyg/index.tsx +81 -81
  352. package/src/components/Fields/Wysiwyg/languages.js +132 -132
  353. package/src/components/Fields/Wysiwyg/style.tsx +37 -37
  354. package/src/components/Fields/index.tsx +45 -45
  355. package/src/components/FieldsBehavior/index.tsx +114 -114
  356. package/src/components/FieldsBehavior/style.tsx +15 -15
  357. package/src/components/FileGallery/FolderItem/index.tsx +24 -24
  358. package/src/components/FileGallery/FolderItem/style.tsx +1 -1
  359. package/src/components/FileGallery/GalleryPanel/DetailPanel/index.tsx +133 -133
  360. package/src/components/FileGallery/GalleryPanel/DetailPanel/style.tsx +12 -12
  361. package/src/components/FileGallery/GalleryPanel/index.tsx +25 -25
  362. package/src/components/FileGallery/GalleryPanel/style.tsx +2 -2
  363. package/src/components/FileGallery/GridItem/index.tsx +32 -32
  364. package/src/components/FileGallery/index.tsx +310 -310
  365. package/src/components/FileGallery/style.tsx +22 -22
  366. package/src/components/FilterTagsBar/index.tsx +48 -48
  367. package/src/components/FilterTagsBar/style.tsx +1 -1
  368. package/src/components/Flag/components/Ca_ES.js +11 -11
  369. package/src/components/Flag/components/De_DE.js +13 -7
  370. package/src/components/Flag/components/En_GB.js +16 -16
  371. package/src/components/Flag/components/Es_ES.js +73 -61
  372. package/src/components/Flag/components/Eu_ES.js +16 -13
  373. package/src/components/Flag/components/Fr_FR.js +13 -7
  374. package/src/components/Flag/components/It_IT.js +13 -7
  375. package/src/components/Flag/components/Pt_PT.js +33 -27
  376. package/src/components/Flag/index.tsx +24 -24
  377. package/src/components/FloatingButton/index.tsx +20 -20
  378. package/src/components/FloatingMenu/index.tsx +121 -122
  379. package/src/components/FloatingPanel/index.tsx +55 -55
  380. package/src/components/FloatingPanel/style.tsx +3 -3
  381. package/src/components/Gallery/FolderItem/index.tsx +24 -24
  382. package/src/components/Gallery/FolderItem/style.tsx +1 -1
  383. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +138 -138
  384. package/src/components/Gallery/GalleryPanel/DetailPanel/style.tsx +13 -13
  385. package/src/components/Gallery/GalleryPanel/index.tsx +40 -40
  386. package/src/components/Gallery/GalleryPanel/style.tsx +2 -2
  387. package/src/components/Gallery/index.tsx +347 -348
  388. package/src/components/Gallery/style.tsx +24 -24
  389. package/src/components/GuardModal/index.tsx +34 -34
  390. package/src/components/GuardModal/style.tsx +3 -3
  391. package/src/components/Icon/components/Active.js +9 -9
  392. package/src/components/Icon/components/Add.js +4 -4
  393. package/src/components/Icon/components/AddCircle.js +7 -7
  394. package/src/components/Icon/components/Alert.js +10 -10
  395. package/src/components/Icon/components/Back.js +6 -6
  396. package/src/components/Icon/components/BulletList.js +10 -10
  397. package/src/components/Icon/components/Button.js +9 -4
  398. package/src/components/Icon/components/Calendar.js +9 -9
  399. package/src/components/Icon/components/CancelEvent.js +6 -6
  400. package/src/components/Icon/components/Category.js +6 -6
  401. package/src/components/Icon/components/Change.js +9 -9
  402. package/src/components/Icon/components/Close.js +7 -7
  403. package/src/components/Icon/components/ClosePanel.js +8 -8
  404. package/src/components/Icon/components/CodeBody.js +8 -8
  405. package/src/components/Icon/components/CodeHead.js +8 -8
  406. package/src/components/Icon/components/CodeHeadBody.js +8 -8
  407. package/src/components/Icon/components/Collapsed.js +10 -10
  408. package/src/components/Icon/components/ColorPicker.js +8 -8
  409. package/src/components/Icon/components/Compose.js +8 -8
  410. package/src/components/Icon/components/Copy.js +9 -9
  411. package/src/components/Icon/components/Copy2.js +9 -9
  412. package/src/components/Icon/components/Data.js +9 -9
  413. package/src/components/Icon/components/DataAdd.js +15 -15
  414. package/src/components/Icon/components/Deactivate.js +8 -8
  415. package/src/components/Icon/components/Delete.js +7 -4
  416. package/src/components/Icon/components/Desktop.js +8 -8
  417. package/src/components/Icon/components/Disabled.js +8 -8
  418. package/src/components/Icon/components/Done.js +5 -5
  419. package/src/components/Icon/components/DownArrow.js +4 -4
  420. package/src/components/Icon/components/Download.js +3 -3
  421. package/src/components/Icon/components/Drag.js +9 -9
  422. package/src/components/Icon/components/Duplicate.js +7 -7
  423. package/src/components/Icon/components/Edit.js +7 -7
  424. package/src/components/Icon/components/Empty.js +8 -8
  425. package/src/components/Icon/components/EmptyCheck.js +10 -10
  426. package/src/components/Icon/components/Extend.js +10 -10
  427. package/src/components/Icon/components/File.js +8 -8
  428. package/src/components/Icon/components/Filter.js +5 -5
  429. package/src/components/Icon/components/Form.js +8 -8
  430. package/src/components/Icon/components/FullArrowDown.js +4 -4
  431. package/src/components/Icon/components/FullArrowLeft.js +4 -4
  432. package/src/components/Icon/components/FullArrowRight.js +4 -4
  433. package/src/components/Icon/components/FullArrowUp.js +4 -4
  434. package/src/components/Icon/components/Grid.js +10 -10
  435. package/src/components/Icon/components/Grid2.js +10 -10
  436. package/src/components/Icon/components/HeroCard.js +10 -7
  437. package/src/components/Icon/components/Hide.js +16 -13
  438. package/src/components/Icon/components/History.js +9 -9
  439. package/src/components/Icon/components/Home.js +8 -3
  440. package/src/components/Icon/components/Ia.js +8 -8
  441. package/src/components/Icon/components/Image.js +7 -4
  442. package/src/components/Icon/components/Info.js +9 -9
  443. package/src/components/Icon/components/Laptop.js +9 -4
  444. package/src/components/Icon/components/LeftArrow.js +4 -4
  445. package/src/components/Icon/components/Link.js +9 -9
  446. package/src/components/Icon/components/Lock.js +7 -7
  447. package/src/components/Icon/components/Log.js +7 -7
  448. package/src/components/Icon/components/Map.js +9 -6
  449. package/src/components/Icon/components/Menu.js +4 -9
  450. package/src/components/Icon/components/Microsoft.js +6 -6
  451. package/src/components/Icon/components/Modified.js +9 -9
  452. package/src/components/Icon/components/Modules.js +8 -8
  453. package/src/components/Icon/components/More.js +10 -10
  454. package/src/components/Icon/components/NewFolder.js +6 -6
  455. package/src/components/Icon/components/Offline.js +8 -8
  456. package/src/components/Icon/components/OfflinePending.js +10 -10
  457. package/src/components/Icon/components/OpenOutside.js +10 -10
  458. package/src/components/Icon/components/OpenPanel.js +8 -8
  459. package/src/components/Icon/components/OutOfSection.js +8 -3
  460. package/src/components/Icon/components/Page.js +7 -7
  461. package/src/components/Icon/components/Paste.js +7 -7
  462. package/src/components/Icon/components/Phone.js +8 -8
  463. package/src/components/Icon/components/PhotoLibrary.js +7 -7
  464. package/src/components/Icon/components/Power.js +9 -9
  465. package/src/components/Icon/components/Preview.js +8 -8
  466. package/src/components/Icon/components/Project.js +9 -4
  467. package/src/components/Icon/components/QrCode.js +6 -6
  468. package/src/components/Icon/components/Question.js +10 -10
  469. package/src/components/Icon/components/Refresh.js +6 -6
  470. package/src/components/Icon/components/RightArrow.js +4 -4
  471. package/src/components/Icon/components/Scheduled.js +8 -8
  472. package/src/components/Icon/components/Search.js +9 -9
  473. package/src/components/Icon/components/SendEmail.js +8 -8
  474. package/src/components/Icon/components/Settings.js +15 -15
  475. package/src/components/Icon/components/Share.js +6 -6
  476. package/src/components/Icon/components/Subsection.js +8 -3
  477. package/src/components/Icon/components/Success.js +10 -10
  478. package/src/components/Icon/components/SuccessSolid.js +10 -10
  479. package/src/components/Icon/components/Tablet.js +8 -8
  480. package/src/components/Icon/components/Translate.js +6 -6
  481. package/src/components/Icon/components/Unlink.js +9 -9
  482. package/src/components/Icon/components/UpArrow.js +4 -4
  483. package/src/components/Icon/components/UploadFile.js +8 -8
  484. package/src/components/Icon/components/UploadPending.js +8 -8
  485. package/src/components/Icon/components/UrlLink.js +8 -8
  486. package/src/components/Icon/components/User.js +9 -9
  487. package/src/components/Icon/components/Users.js +8 -8
  488. package/src/components/Icon/components/Video.js +9 -9
  489. package/src/components/Icon/components/View.js +8 -8
  490. package/src/components/Icon/components/Warning.js +10 -10
  491. package/src/components/Icon/components/Web.js +10 -10
  492. package/src/components/Icon/components/Working.js +6 -6
  493. package/src/components/Icon/index.tsx +37 -37
  494. package/src/components/IconAction/index.tsx +27 -27
  495. package/src/components/IconAction/style.tsx +4 -4
  496. package/src/components/Image/index.tsx +21 -21
  497. package/src/components/Image/utils.ts +31 -31
  498. package/src/components/InformativeMenu/index.tsx +20 -20
  499. package/src/components/InformativeMenu/style.tsx +3 -3
  500. package/src/components/LanguageMenu/index.tsx +58 -58
  501. package/src/components/LanguageMenu/style.tsx +10 -10
  502. package/src/components/Lists/index.tsx +10 -10
  503. package/src/components/Loader/components/Circle.js +15 -8
  504. package/src/components/Loader/components/Dots.js +13 -13
  505. package/src/components/Loader/index.tsx +28 -28
  506. package/src/components/Loading/index.tsx +9 -9
  507. package/src/components/Login/LoginForm/RecoveryModal/index.tsx +64 -64
  508. package/src/components/Login/LoginForm/index.tsx +107 -107
  509. package/src/components/Login/LoginSSO/index.tsx +60 -60
  510. package/src/components/Login/LoginSSO/style.tsx +12 -12
  511. package/src/components/Login/LoginSlider/index.tsx +50 -50
  512. package/src/components/Login/index.tsx +69 -69
  513. package/src/components/MainWrapper/AppBar/atoms.tsx +39 -39
  514. package/src/components/MainWrapper/AppBar/index.tsx +282 -282
  515. package/src/components/MainWrapper/AppBar/style.tsx +24 -24
  516. package/src/components/MainWrapper/AppBar/utils.tsx +10 -14
  517. package/src/components/MainWrapper/index.tsx +50 -50
  518. package/src/components/MenuGroup/index.tsx +68 -68
  519. package/src/components/MenuGroup/style.tsx +5 -5
  520. package/src/components/MenuItem/index.tsx +47 -47
  521. package/src/components/Modal/index.tsx +83 -83
  522. package/src/components/Modal/style.tsx +20 -20
  523. package/src/components/Nav/index.tsx +33 -33
  524. package/src/components/Nav/style.tsx +1 -1
  525. package/src/components/Notification/SubNotification/index.tsx +18 -18
  526. package/src/components/Notification/index.tsx +82 -82
  527. package/src/components/OcassionalToast/index.tsx +11 -11
  528. package/src/components/PageFinder/SelectionListItem/index.tsx +29 -29
  529. package/src/components/PageFinder/index.tsx +278 -278
  530. package/src/components/PageFinder/style.tsx +12 -12
  531. package/src/components/Pagination/index.tsx +49 -44
  532. package/src/components/Pagination/style.tsx +4 -8
  533. package/src/components/ProgressBar/index.tsx +11 -11
  534. package/src/components/ProgressBar/style.tsx +4 -4
  535. package/src/components/ReorderArrows/index.tsx +25 -25
  536. package/src/components/ReorderArrows/style.tsx +3 -3
  537. package/src/components/ResizePanel/ResizeHandle/index.tsx +51 -19
  538. package/src/components/ResizePanel/index.tsx +40 -39
  539. package/src/components/ResizePanel/style.tsx +5 -5
  540. package/src/components/RestoreModal/index.tsx +37 -37
  541. package/src/components/ScheduleModal/index.tsx +84 -84
  542. package/src/components/SearchField/index.tsx +120 -120
  543. package/src/components/SearchField/style.tsx +10 -10
  544. package/src/components/SearchTagsBar/index.tsx +31 -31
  545. package/src/components/SearchTagsBar/style.tsx +1 -1
  546. package/src/components/SideModal/SideModalOption/index.tsx +42 -42
  547. package/src/components/SideModal/index.tsx +193 -194
  548. package/src/components/SideModal/style.tsx +15 -15
  549. package/src/components/SubNav/index.tsx +6 -6
  550. package/src/components/TableCounter/index.tsx +4 -4
  551. package/src/components/TableFilters/CategoryFilter/index.tsx +106 -107
  552. package/src/components/TableFilters/CheckGroupFilter/index.tsx +95 -95
  553. package/src/components/TableFilters/CustomizeFilters/index.tsx +41 -41
  554. package/src/components/TableFilters/DateFilter/index.tsx +38 -38
  555. package/src/components/TableFilters/LastAccessFilter/index.tsx +38 -38
  556. package/src/components/TableFilters/LiveFilter/index.tsx +100 -102
  557. package/src/components/TableFilters/NameFilter/index.tsx +48 -48
  558. package/src/components/TableFilters/PermissionsFilter/index.tsx +37 -37
  559. package/src/components/TableFilters/RoleFilter/index.tsx +50 -50
  560. package/src/components/TableFilters/SiteFilter/index.tsx +73 -73
  561. package/src/components/TableFilters/StateFilter/index.tsx +53 -53
  562. package/src/components/TableFilters/StatusFilter/index.tsx +40 -40
  563. package/src/components/TableFilters/TranslationsFilter/index.tsx +48 -49
  564. package/src/components/TableFilters/TypeFilter/index.tsx +50 -51
  565. package/src/components/TableFilters/UsersFilter/index.tsx +42 -42
  566. package/src/components/TableFilters/index.tsx +15 -15
  567. package/src/components/TableList/TableItem/style.tsx +4 -4
  568. package/src/components/TableList/index.tsx +44 -44
  569. package/src/components/TableList/style.tsx +14 -14
  570. package/src/components/Tabs/index.tsx +58 -58
  571. package/src/components/Tabs/style.tsx +6 -6
  572. package/src/components/Tag/index.tsx +50 -50
  573. package/src/components/Tag/style.tsx +1 -1
  574. package/src/components/Toast/index.tsx +39 -39
  575. package/src/components/Toast/style.tsx +1 -1
  576. package/src/components/Tooltip/index.tsx +109 -109
  577. package/src/components/Tooltip/style.tsx +8 -8
  578. package/src/components/index.tsx +175 -175
  579. package/src/containers/ActivityLog/actions.tsx +212 -212
  580. package/src/containers/ActivityLog/interfaces.tsx +4 -4
  581. package/src/containers/ActivityLog/reducer.tsx +11 -11
  582. package/src/containers/Analytics/actions.tsx +77 -77
  583. package/src/containers/Analytics/interfaces.tsx +2 -2
  584. package/src/containers/Analytics/reducer.tsx +14 -14
  585. package/src/containers/App/actions.tsx +191 -191
  586. package/src/containers/App/constants.tsx +12 -12
  587. package/src/containers/App/index.tsx +1 -4
  588. package/src/containers/App/interfaces.tsx +44 -44
  589. package/src/containers/App/reducer.tsx +97 -97
  590. package/src/containers/Domains/actions.tsx +41 -41
  591. package/src/containers/Domains/interfaces.tsx +2 -2
  592. package/src/containers/Domains/reducer.tsx +8 -8
  593. package/src/containers/FileDrive/actions.tsx +326 -326
  594. package/src/containers/FileDrive/constants.tsx +10 -10
  595. package/src/containers/FileDrive/index.tsx +1 -4
  596. package/src/containers/FileDrive/interfaces.tsx +27 -27
  597. package/src/containers/FileDrive/reducer.tsx +43 -43
  598. package/src/containers/Forms/actions.tsx +717 -717
  599. package/src/containers/Forms/constants.tsx +21 -21
  600. package/src/containers/Forms/interfaces.tsx +45 -45
  601. package/src/containers/Forms/reducer.tsx +67 -67
  602. package/src/containers/Forms/utils.tsx +27 -27
  603. package/src/containers/Gallery/actions.tsx +398 -397
  604. package/src/containers/Gallery/constants.tsx +13 -13
  605. package/src/containers/Gallery/index.tsx +1 -4
  606. package/src/containers/Gallery/interfaces.tsx +48 -48
  607. package/src/containers/Gallery/reducer.tsx +74 -74
  608. package/src/containers/Integrations/actions.tsx +165 -165
  609. package/src/containers/Integrations/constants.tsx +3 -3
  610. package/src/containers/Integrations/interfaces.tsx +12 -12
  611. package/src/containers/Integrations/reducer.tsx +17 -17
  612. package/src/containers/Navigation/Defaults/actions.tsx +735 -735
  613. package/src/containers/Navigation/Defaults/interfaces.tsx +54 -54
  614. package/src/containers/Navigation/Defaults/reducer.tsx +71 -71
  615. package/src/containers/Navigation/Defaults/utils.tsx +60 -60
  616. package/src/containers/Navigation/Menu/actions.tsx +233 -233
  617. package/src/containers/Navigation/Menu/index.tsx +2 -5
  618. package/src/containers/Navigation/Menu/interfaces.tsx +20 -20
  619. package/src/containers/Navigation/Menu/reducer.tsx +39 -39
  620. package/src/containers/Navigation/index.tsx +3 -8
  621. package/src/containers/PageEditor/actions.tsx +1344 -1344
  622. package/src/containers/PageEditor/interfaces.tsx +80 -80
  623. package/src/containers/PageEditor/reducer.tsx +102 -102
  624. package/src/containers/PageEditor/utils.tsx +128 -128
  625. package/src/containers/Redirects/actions.tsx +151 -151
  626. package/src/containers/Redirects/constants.tsx +12 -12
  627. package/src/containers/Redirects/interfaces.tsx +8 -8
  628. package/src/containers/Redirects/reducer.tsx +21 -21
  629. package/src/containers/Settings/DataPacks/actions.tsx +388 -388
  630. package/src/containers/Settings/DataPacks/constants.tsx +9 -9
  631. package/src/containers/Settings/DataPacks/index.tsx +1 -4
  632. package/src/containers/Settings/DataPacks/interfaces.tsx +23 -15
  633. package/src/containers/Settings/DataPacks/reducer.tsx +37 -37
  634. package/src/containers/Settings/Languages/actions.tsx +49 -49
  635. package/src/containers/Settings/Languages/reducer.tsx +19 -19
  636. package/src/containers/Settings/Social/actions.tsx +43 -43
  637. package/src/containers/Settings/Social/index.tsx +1 -4
  638. package/src/containers/Settings/Social/interfaces.tsx +2 -2
  639. package/src/containers/Settings/Social/reducer.tsx +6 -6
  640. package/src/containers/Settings/index.tsx +1 -8
  641. package/src/containers/Sites/actions.tsx +641 -641
  642. package/src/containers/Sites/constants.tsx +5 -5
  643. package/src/containers/Sites/index.tsx +1 -4
  644. package/src/containers/Sites/interfaces.tsx +54 -54
  645. package/src/containers/Sites/reducer.tsx +90 -90
  646. package/src/containers/StructuredData/actions.tsx +662 -662
  647. package/src/containers/StructuredData/constants.tsx +27 -27
  648. package/src/containers/StructuredData/index.tsx +1 -4
  649. package/src/containers/StructuredData/interfaces.tsx +53 -53
  650. package/src/containers/StructuredData/reducer.tsx +75 -75
  651. package/src/containers/StructuredData/utils.tsx +40 -40
  652. package/src/containers/Users/actions.tsx +302 -302
  653. package/src/containers/Users/index.tsx +1 -4
  654. package/src/containers/Users/interfaces.tsx +18 -18
  655. package/src/containers/Users/reducer.tsx +37 -37
  656. package/src/forms/editor.tsx +194 -194
  657. package/src/forms/elements.tsx +200 -200
  658. package/src/forms/errors.tsx +43 -43
  659. package/src/forms/fields.tsx +83 -83
  660. package/src/forms/index.tsx +66 -66
  661. package/src/forms/validators.tsx +467 -467
  662. package/src/guards/error/index.tsx +51 -51
  663. package/src/guards/restricted/index.tsx +9 -9
  664. package/src/guards/routeLeaving/index.tsx +53 -53
  665. package/src/guards/routeLeaving/style.tsx +2 -2
  666. package/src/helpers/arrays.tsx +13 -13
  667. package/src/helpers/containerEvaluations.tsx +53 -53
  668. package/src/helpers/customColumns.tsx +33 -33
  669. package/src/helpers/dataPacks.tsx +8 -8
  670. package/src/helpers/dates.tsx +52 -53
  671. package/src/helpers/environment.tsx +3 -3
  672. package/src/helpers/files.tsx +52 -52
  673. package/src/helpers/forms.tsx +9 -9
  674. package/src/helpers/imageResize.tsx +197 -167
  675. package/src/helpers/images.tsx +75 -75
  676. package/src/helpers/index.tsx +192 -192
  677. package/src/helpers/objects.tsx +117 -118
  678. package/src/helpers/parseTheme.js +274 -274
  679. package/src/helpers/requests.tsx +19 -19
  680. package/src/helpers/schemas.tsx +120 -120
  681. package/src/helpers/strings.tsx +103 -103
  682. package/src/helpers/structuredData.tsx +17 -17
  683. package/src/helpers/themes.tsx +56 -56
  684. package/src/helpers/thumbnails.tsx +47 -47
  685. package/src/hooks/bulk.tsx +133 -135
  686. package/src/hooks/content.tsx +93 -93
  687. package/src/hooks/forms.tsx +115 -115
  688. package/src/hooks/iframe.ts +48 -48
  689. package/src/hooks/index.tsx +20 -20
  690. package/src/hooks/location.tsx +5 -5
  691. package/src/hooks/modals.tsx +38 -38
  692. package/src/hooks/network.tsx +21 -20
  693. package/src/hooks/resize.ts +51 -51
  694. package/src/hooks/users.tsx +22 -22
  695. package/src/hooks/window.ts +10 -10
  696. package/src/index.tsx +16 -19
  697. package/src/modules/ActivityLog/DetailModal/index.tsx +81 -81
  698. package/src/modules/ActivityLog/DownloadModal/index.tsx +84 -84
  699. package/src/modules/ActivityLog/ItemGroup/index.tsx +14 -14
  700. package/src/modules/ActivityLog/ItemLog/EventItem/index.tsx +136 -136
  701. package/src/modules/ActivityLog/ItemLog/index.tsx +11 -11
  702. package/src/modules/ActivityLog/ItemLogUser/UserItem/EventItem/index.tsx +139 -139
  703. package/src/modules/ActivityLog/ItemLogUser/UserItem/index.tsx +33 -33
  704. package/src/modules/ActivityLog/ItemLogUser/index.tsx +12 -12
  705. package/src/modules/ActivityLog/LogFilters/ContentFilter/index.tsx +59 -59
  706. package/src/modules/ActivityLog/LogFilters/DateFilter/index.tsx +64 -64
  707. package/src/modules/ActivityLog/LogFilters/EventFilter/index.tsx +57 -57
  708. package/src/modules/ActivityLog/LogFilters/OrderFilter/index.tsx +36 -36
  709. package/src/modules/ActivityLog/LogFilters/UserFilter/index.tsx +59 -59
  710. package/src/modules/ActivityLog/TableHeader/index.tsx +52 -52
  711. package/src/modules/ActivityLog/TableHeader/style.tsx +9 -9
  712. package/src/modules/ActivityLog/constants.tsx +6 -6
  713. package/src/modules/ActivityLog/hooks.tsx +45 -46
  714. package/src/modules/ActivityLog/index.tsx +287 -287
  715. package/src/modules/ActivityLog/utils.tsx +20 -20
  716. package/src/modules/Analytics/DimensionItem/index.tsx +49 -49
  717. package/src/modules/Analytics/DimensionItem/style.tsx +2 -2
  718. package/src/modules/Analytics/DimensionPanel/index.tsx +129 -129
  719. package/src/modules/Analytics/DimensionPanel/style.tsx +1 -1
  720. package/src/modules/Analytics/GroupItem/index.tsx +61 -51
  721. package/src/modules/Analytics/GroupItem/style.tsx +5 -14
  722. package/src/modules/Analytics/GroupPanel/index.tsx +172 -172
  723. package/src/modules/Analytics/GroupPanel/style.tsx +2 -12
  724. package/src/modules/Analytics/GroupPanel/utils.tsx +17 -17
  725. package/src/modules/Analytics/index.tsx +180 -181
  726. package/src/modules/Analytics/style.tsx +9 -9
  727. package/src/modules/App/Routing/Logout/index.tsx +12 -12
  728. package/src/modules/App/Routing/NavMenu/NavItem/NavSubItem/index.tsx +16 -16
  729. package/src/modules/App/Routing/NavMenu/NavItem/NavSubItem/style.tsx +5 -5
  730. package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +93 -93
  731. package/src/modules/App/Routing/NavMenu/NavItem/style.tsx +2 -2
  732. package/src/modules/App/Routing/NavMenu/context.tsx +2 -2
  733. package/src/modules/App/Routing/NavMenu/index.tsx +219 -219
  734. package/src/modules/App/Routing/NavMenu/style.tsx +1 -1
  735. package/src/modules/App/Routing/PrivateRoute/index.tsx +15 -15
  736. package/src/modules/App/Routing/index.tsx +106 -106
  737. package/src/modules/App/index.tsx +18 -18
  738. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/index.tsx +35 -35
  739. package/src/modules/Categories/CategoriesList/BulkHeader/index.tsx +40 -40
  740. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +284 -284
  741. package/src/modules/Categories/CategoriesList/CategoryItem/style.tsx +14 -14
  742. package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/index.tsx +42 -42
  743. package/src/modules/Categories/CategoriesList/CategoryNav/index.tsx +28 -28
  744. package/src/modules/Categories/CategoriesList/CategoryNav/style.tsx +5 -5
  745. package/src/modules/Categories/CategoriesList/CategoryPanel/Form/index.tsx +97 -97
  746. package/src/modules/Categories/CategoriesList/CategoryPanel/index.tsx +181 -181
  747. package/src/modules/Categories/CategoriesList/atoms.tsx +66 -66
  748. package/src/modules/Categories/CategoriesList/helpers.tsx +106 -106
  749. package/src/modules/Categories/CategoriesList/hooks.tsx +54 -54
  750. package/src/modules/Categories/CategoriesList/index.tsx +465 -466
  751. package/src/modules/Categories/CategoriesList/style.tsx +9 -9
  752. package/src/modules/Categories/CategoriesList/utils.tsx +19 -19
  753. package/src/modules/Categories/index.tsx +6 -6
  754. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +141 -141
  755. package/src/modules/Content/BulkHeader/TableHeader/style.tsx +13 -13
  756. package/src/modules/Content/BulkHeader/index.tsx +99 -99
  757. package/src/modules/Content/ContentFilters/index.tsx +83 -83
  758. package/src/modules/Content/ContentFilters/utils.tsx +53 -53
  759. package/src/modules/Content/OptionTable/index.tsx +205 -205
  760. package/src/modules/Content/OptionTable/store.tsx +19 -19
  761. package/src/modules/Content/PageImporter/index.tsx +122 -122
  762. package/src/modules/Content/PageImporter/style.tsx +15 -15
  763. package/src/modules/Content/PageItem/index.tsx +700 -700
  764. package/src/modules/Content/PageItem/style.tsx +24 -24
  765. package/src/modules/Content/atoms.tsx +103 -103
  766. package/src/modules/Content/hooks.tsx +99 -99
  767. package/src/modules/Content/index.tsx +1056 -1055
  768. package/src/modules/Content/style.tsx +8 -8
  769. package/src/modules/Content/utils.tsx +164 -164
  770. package/src/modules/CreatePass/index.tsx +64 -64
  771. package/src/modules/CreatePass/style.tsx +8 -9
  772. package/src/modules/FileDrive/Breadcrumb/index.tsx +27 -27
  773. package/src/modules/FileDrive/Breadcrumb/style.tsx +7 -7
  774. package/src/modules/FileDrive/BulkGridHeader/GridHeader/index.tsx +23 -23
  775. package/src/modules/FileDrive/BulkGridHeader/index.tsx +20 -20
  776. package/src/modules/FileDrive/BulkGridHeader/style.tsx +1 -1
  777. package/src/modules/FileDrive/BulkListHeader/TableHeader/index.tsx +34 -34
  778. package/src/modules/FileDrive/BulkListHeader/TableHeader/style.tsx +9 -9
  779. package/src/modules/FileDrive/BulkListHeader/index.tsx +30 -30
  780. package/src/modules/FileDrive/BulkListHeader/style.tsx +1 -1
  781. package/src/modules/FileDrive/FileDragAndDrop/index.tsx +255 -255
  782. package/src/modules/FileDrive/FileDragAndDrop/style.tsx +32 -32
  783. package/src/modules/FileDrive/FileFilters/SortBy/index.tsx +54 -54
  784. package/src/modules/FileDrive/FileFilters/Type/index.tsx +58 -59
  785. package/src/modules/FileDrive/FileFilters/Usage/index.tsx +46 -46
  786. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/Item/index.tsx +17 -17
  787. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/Item/style.tsx +0 -1
  788. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/ItemGroup/index.tsx +27 -27
  789. package/src/modules/FileDrive/FileModal/DetailPanel/UsageContent/index.tsx +110 -110
  790. package/src/modules/FileDrive/FileModal/DetailPanel/index.tsx +179 -179
  791. package/src/modules/FileDrive/FileModal/index.tsx +176 -176
  792. package/src/modules/FileDrive/FileModal/style.tsx +12 -12
  793. package/src/modules/FileDrive/FolderItem/index.tsx +158 -158
  794. package/src/modules/FileDrive/FolderItem/style.tsx +1 -1
  795. package/src/modules/FileDrive/FolderTree/MenuItem/index.tsx +64 -64
  796. package/src/modules/FileDrive/FolderTree/MenuList/index.tsx +21 -21
  797. package/src/modules/FileDrive/FolderTree/index.tsx +43 -43
  798. package/src/modules/FileDrive/GridItem/index.tsx +168 -168
  799. package/src/modules/FileDrive/ListItem/index.tsx +182 -182
  800. package/src/modules/FileDrive/ListItem/style.tsx +12 -12
  801. package/src/modules/FileDrive/UploadItem/index.tsx +19 -19
  802. package/src/modules/FileDrive/UploadItem/style.tsx +1 -1
  803. package/src/modules/FileDrive/atoms.tsx +156 -156
  804. package/src/modules/FileDrive/hooks.tsx +82 -82
  805. package/src/modules/FileDrive/index.tsx +821 -822
  806. package/src/modules/FileDrive/style.tsx +28 -28
  807. package/src/modules/FileDrive/utils.tsx +11 -11
  808. package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/index.tsx +29 -29
  809. package/src/modules/Forms/FormCategoriesList/BulkHeader/index.tsx +24 -24
  810. package/src/modules/Forms/FormCategoriesList/CategoryItem/index.tsx +111 -111
  811. package/src/modules/Forms/FormCategoriesList/CategoryItem/style.tsx +9 -9
  812. package/src/modules/Forms/FormCategoriesList/CategoryPanel/Form/index.tsx +34 -34
  813. package/src/modules/Forms/FormCategoriesList/CategoryPanel/index.tsx +85 -85
  814. package/src/modules/Forms/FormCategoriesList/atoms.tsx +21 -21
  815. package/src/modules/Forms/FormCategoriesList/hooks.tsx +54 -54
  816. package/src/modules/Forms/FormCategoriesList/index.tsx +245 -245
  817. package/src/modules/Forms/FormCategoriesList/style.tsx +10 -10
  818. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/Field/index.tsx +91 -91
  819. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/index.tsx +85 -85
  820. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/index.tsx +98 -98
  821. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/index.tsx +70 -70
  822. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/index.tsx +117 -117
  823. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/index.tsx +73 -73
  824. package/src/modules/Forms/FormEditor/Editor/SideModal/SectionOption/index.tsx +9 -9
  825. package/src/modules/Forms/FormEditor/Editor/SideModal/SideModalOption/index.tsx +18 -18
  826. package/src/modules/Forms/FormEditor/Editor/SideModal/index.tsx +91 -91
  827. package/src/modules/Forms/FormEditor/Editor/SideModal/style.tsx +13 -13
  828. package/src/modules/Forms/FormEditor/Editor/index.tsx +141 -141
  829. package/src/modules/Forms/FormEditor/PageBrowser/index.tsx +69 -69
  830. package/src/modules/Forms/FormEditor/index.tsx +372 -372
  831. package/src/modules/Forms/FormList/BulkHeader/TableHeader/index.tsx +131 -131
  832. package/src/modules/Forms/FormList/BulkHeader/index.tsx +52 -52
  833. package/src/modules/Forms/FormList/FormItem/index.tsx +366 -366
  834. package/src/modules/Forms/FormList/FormItem/style.tsx +11 -11
  835. package/src/modules/Forms/FormList/Summary/index.tsx +41 -41
  836. package/src/modules/Forms/FormList/TemplateModal/index.tsx +92 -92
  837. package/src/modules/Forms/FormList/TemplateModal/style.tsx +9 -9
  838. package/src/modules/Forms/FormList/hooks.tsx +91 -91
  839. package/src/modules/Forms/FormList/index.tsx +442 -442
  840. package/src/modules/Forms/FormUseModal/FormUseItem/index.tsx +29 -29
  841. package/src/modules/Forms/FormUseModal/index.tsx +262 -262
  842. package/src/modules/Forms/FormUseModal/utils.tsx +92 -92
  843. package/src/modules/Forms/FormsMenu/MenuGroup/index.tsx +43 -43
  844. package/src/modules/Forms/FormsMenu/index.tsx +65 -65
  845. package/src/modules/Forms/atoms.tsx +182 -182
  846. package/src/modules/Forms/utils.tsx +15 -15
  847. package/src/modules/FramePreview/index.tsx +139 -129
  848. package/src/modules/GlobalEditor/Editor/index.tsx +111 -111
  849. package/src/modules/GlobalEditor/PageBrowser/index.tsx +65 -65
  850. package/src/modules/GlobalEditor/Preview/index.tsx +7 -7
  851. package/src/modules/GlobalEditor/index.tsx +738 -738
  852. package/src/modules/GlobalSettings/Robots/Item/RobotsPanel/index.tsx +49 -49
  853. package/src/modules/GlobalSettings/Robots/Item/index.tsx +14 -14
  854. package/src/modules/GlobalSettings/Robots/index.tsx +92 -93
  855. package/src/modules/GlobalSettings/index.tsx +21 -21
  856. package/src/modules/Login/constants.tsx +2 -2
  857. package/src/modules/Login/index.tsx +112 -112
  858. package/src/modules/MediaGallery/Breadcrumb/index.tsx +27 -27
  859. package/src/modules/MediaGallery/Breadcrumb/style.tsx +7 -7
  860. package/src/modules/MediaGallery/BulkGridHeader/GridHeader/index.tsx +23 -23
  861. package/src/modules/MediaGallery/BulkGridHeader/index.tsx +20 -20
  862. package/src/modules/MediaGallery/BulkGridHeader/style.tsx +1 -1
  863. package/src/modules/MediaGallery/BulkListHeader/TableHeader/index.tsx +32 -32
  864. package/src/modules/MediaGallery/BulkListHeader/index.tsx +27 -27
  865. package/src/modules/MediaGallery/BulkListHeader/style.tsx +1 -1
  866. package/src/modules/MediaGallery/FolderItem/index.tsx +169 -169
  867. package/src/modules/MediaGallery/FolderItem/style.tsx +1 -1
  868. package/src/modules/MediaGallery/FolderTree/MenuItem/index.tsx +64 -64
  869. package/src/modules/MediaGallery/FolderTree/MenuList/index.tsx +22 -22
  870. package/src/modules/MediaGallery/FolderTree/index.tsx +43 -43
  871. package/src/modules/MediaGallery/GridItem/index.tsx +133 -133
  872. package/src/modules/MediaGallery/ImageDragAndDrop/index.tsx +267 -260
  873. package/src/modules/MediaGallery/ImageDragAndDrop/style.tsx +32 -32
  874. package/src/modules/MediaGallery/ImageFilters/Orientation/index.tsx +47 -47
  875. package/src/modules/MediaGallery/ImageFilters/SortBy/index.tsx +54 -54
  876. package/src/modules/MediaGallery/ImageFilters/Type/index.tsx +48 -48
  877. package/src/modules/MediaGallery/ImageFilters/Usage/index.tsx +53 -53
  878. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/Item/index.tsx +20 -20
  879. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/ItemGroup/index.tsx +29 -29
  880. package/src/modules/MediaGallery/ImageModal/DetailPanel/UsageContent/index.tsx +201 -202
  881. package/src/modules/MediaGallery/ImageModal/DetailPanel/index.tsx +179 -179
  882. package/src/modules/MediaGallery/ImageModal/index.tsx +150 -150
  883. package/src/modules/MediaGallery/ImageModal/style.tsx +11 -11
  884. package/src/modules/MediaGallery/ListItem/index.tsx +164 -164
  885. package/src/modules/MediaGallery/ListItem/style.tsx +12 -12
  886. package/src/modules/MediaGallery/UploadItem/index.tsx +19 -19
  887. package/src/modules/MediaGallery/UploadItem/style.tsx +1 -1
  888. package/src/modules/MediaGallery/atoms.tsx +156 -156
  889. package/src/modules/MediaGallery/hooks.tsx +88 -88
  890. package/src/modules/MediaGallery/index.tsx +890 -890
  891. package/src/modules/MediaGallery/style.tsx +28 -28
  892. package/src/modules/MediaGallery/utils.tsx +11 -11
  893. package/src/modules/Navigation/Defaults/BulkHeader/TableHeader/index.tsx +30 -30
  894. package/src/modules/Navigation/Defaults/BulkHeader/index.tsx +26 -26
  895. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +37 -37
  896. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +101 -101
  897. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +261 -261
  898. package/src/modules/Navigation/Defaults/Item/atoms.tsx +34 -34
  899. package/src/modules/Navigation/Defaults/Item/index.tsx +241 -241
  900. package/src/modules/Navigation/Defaults/Item/style.tsx +9 -9
  901. package/src/modules/Navigation/Defaults/Nav/index.tsx +21 -21
  902. package/src/modules/Navigation/Defaults/Nav/style.tsx +9 -9
  903. package/src/modules/Navigation/Defaults/ReplaceNavModal/index.tsx +180 -180
  904. package/src/modules/Navigation/Defaults/ReplaceNavModal/style.tsx +15 -15
  905. package/src/modules/Navigation/Defaults/atoms.tsx +17 -17
  906. package/src/modules/Navigation/Defaults/index.tsx +301 -301
  907. package/src/modules/Navigation/Defaults/style.tsx +7 -7
  908. package/src/modules/Navigation/Menus/List/Nav/index.tsx +37 -37
  909. package/src/modules/Navigation/Menus/List/Nav/style.tsx +3 -4
  910. package/src/modules/Navigation/Menus/List/Table/ConfigPanel/Form/index.tsx +49 -49
  911. package/src/modules/Navigation/Menus/List/Table/ConfigPanel/index.tsx +33 -33
  912. package/src/modules/Navigation/Menus/List/Table/Header/index.tsx +29 -29
  913. package/src/modules/Navigation/Menus/List/Table/Header/style.tsx +2 -2
  914. package/src/modules/Navigation/Menus/List/Table/Item/atoms.tsx +54 -54
  915. package/src/modules/Navigation/Menus/List/Table/Item/index.tsx +149 -149
  916. package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/ConnectedField/index.tsx +22 -22
  917. package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/index.tsx +71 -71
  918. package/src/modules/Navigation/Menus/List/Table/SidePanel/index.tsx +87 -87
  919. package/src/modules/Navigation/Menus/List/Table/SidePanel/style.tsx +1 -1
  920. package/src/modules/Navigation/Menus/List/Table/helpers.tsx +103 -103
  921. package/src/modules/Navigation/Menus/List/Table/index.tsx +170 -170
  922. package/src/modules/Navigation/Menus/List/Table/style.tsx +1 -7
  923. package/src/modules/Navigation/Menus/List/helpers.tsx +36 -36
  924. package/src/modules/Navigation/Menus/List/index.tsx +50 -50
  925. package/src/modules/Navigation/Menus/index.tsx +38 -38
  926. package/src/modules/PageEditor/Editor/index.tsx +153 -153
  927. package/src/modules/PageEditor/PageBrowser/index.tsx +73 -73
  928. package/src/modules/PageEditor/Preview/index.tsx +5 -5
  929. package/src/modules/PageEditor/atoms.tsx +58 -58
  930. package/src/modules/PageEditor/index.tsx +805 -805
  931. package/src/modules/PublicPreview/index.tsx +48 -48
  932. package/src/modules/Redirects/BulkHeader/TableHeader/index.tsx +51 -51
  933. package/src/modules/Redirects/BulkHeader/index.tsx +56 -56
  934. package/src/modules/Redirects/RedirectItem/index.tsx +141 -141
  935. package/src/modules/Redirects/RedirectItem/style.tsx +1 -10
  936. package/src/modules/Redirects/RedirectPanel/index.tsx +90 -90
  937. package/src/modules/Redirects/atoms.tsx +185 -185
  938. package/src/modules/Redirects/hooks.tsx +63 -63
  939. package/src/modules/Redirects/index.tsx +397 -397
  940. package/src/modules/Redirects/style.tsx +24 -24
  941. package/src/modules/Redirects/utils.tsx +10 -7
  942. package/src/modules/ResetPass/index.tsx +69 -69
  943. package/src/modules/ResetPass/style.tsx +8 -9
  944. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/index.tsx +31 -31
  945. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/style.tsx +3 -7
  946. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/Item/index.tsx +14 -12
  947. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/Item/style.tsx +3 -9
  948. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/index.tsx +28 -28
  949. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/DetailPanel/style.tsx +11 -11
  950. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/EmptyPanel/index.tsx +8 -8
  951. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/EmptyPanel/style.tsx +2 -6
  952. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/MultiplePanel/index.tsx +18 -18
  953. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/index.tsx +12 -12
  954. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SidePanel/style.tsx +3 -5
  955. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/index.tsx +32 -32
  956. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/style.tsx +3 -7
  957. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/index.tsx +113 -113
  958. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/style.tsx +36 -24
  959. package/src/modules/Settings/ContentTypes/DataPacks/Config/Card/index.tsx +9 -9
  960. package/src/modules/Settings/ContentTypes/DataPacks/Config/Card/style.tsx +6 -6
  961. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/IntegrationsField/index.tsx +31 -31
  962. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/NavigationField/index.tsx +102 -102
  963. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/NavigationField/style.tsx +17 -21
  964. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/ConfigPanel/index.tsx +33 -33
  965. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/TemplateBrowser/index.tsx +33 -33
  966. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/index.tsx +6 -6
  967. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/index.tsx +45 -45
  968. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/style.tsx +3 -7
  969. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/index.tsx +35 -35
  970. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/style.tsx +7 -14
  971. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/index.tsx +219 -219
  972. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/style.tsx +2 -2
  973. package/src/modules/Settings/ContentTypes/DataPacks/Config/index.tsx +61 -61
  974. package/src/modules/Settings/ContentTypes/DataPacks/Config/style.tsx +6 -7
  975. package/src/modules/Settings/ContentTypes/DataPacks/Item/index.tsx +102 -102
  976. package/src/modules/Settings/ContentTypes/DataPacks/Item/style.tsx +10 -18
  977. package/src/modules/Settings/ContentTypes/DataPacks/List/index.tsx +15 -15
  978. package/src/modules/Settings/ContentTypes/DataPacks/List/style.tsx +1 -3
  979. package/src/modules/Settings/ContentTypes/DataPacks/Nav/index.tsx +65 -65
  980. package/src/modules/Settings/ContentTypes/DataPacks/Nav/style.tsx +11 -18
  981. package/src/modules/Settings/ContentTypes/DataPacks/hooks.tsx +12 -12
  982. package/src/modules/Settings/ContentTypes/DataPacks/index.tsx +220 -220
  983. package/src/modules/Settings/ContentTypes/DataPacks/style.tsx +4 -9
  984. package/src/modules/Settings/ContentTypes/index.tsx +5 -5
  985. package/src/modules/Settings/Globals/NavigationModules/SideModal/SideModalOption/index.tsx +16 -16
  986. package/src/modules/Settings/Globals/NavigationModules/SideModal/index.tsx +85 -85
  987. package/src/modules/Settings/Globals/NavigationModules/index.tsx +69 -69
  988. package/src/modules/Settings/Globals/constants.tsx +436 -436
  989. package/src/modules/Settings/Globals/index.tsx +198 -194
  990. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/index.tsx +102 -102
  991. package/src/modules/Settings/Integrations/BulkHeader/TableHeader/style.tsx +8 -8
  992. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +40 -40
  993. package/src/modules/Settings/Integrations/IntegrationForm/VariableItem/index.tsx +69 -69
  994. package/src/modules/Settings/Integrations/IntegrationForm/VariablePanel/index.tsx +118 -118
  995. package/src/modules/Settings/Integrations/IntegrationForm/index.tsx +275 -275
  996. package/src/modules/Settings/Integrations/IntegrationForm/style.tsx +11 -11
  997. package/src/modules/Settings/Integrations/IntegrationItem/CopyModal/index.tsx +31 -31
  998. package/src/modules/Settings/Integrations/IntegrationItem/index.tsx +278 -278
  999. package/src/modules/Settings/Integrations/IntegrationItem/style.tsx +21 -21
  1000. package/src/modules/Settings/Integrations/atoms.tsx +32 -32
  1001. package/src/modules/Settings/Integrations/hooks.tsx +67 -67
  1002. package/src/modules/Settings/Integrations/index.tsx +327 -327
  1003. package/src/modules/Settings/Integrations/style.tsx +10 -10
  1004. package/src/modules/Settings/Integrations/utils.tsx +27 -27
  1005. package/src/modules/Settings/Languages/LanguagePanel/Form/ConnectedField/index.tsx +24 -24
  1006. package/src/modules/Settings/Languages/LanguagePanel/Form/index.tsx +41 -41
  1007. package/src/modules/Settings/Languages/LanguagePanel/index.tsx +59 -59
  1008. package/src/modules/Settings/Languages/Table/Header/index.tsx +20 -20
  1009. package/src/modules/Settings/Languages/Table/Header/style.tsx +2 -2
  1010. package/src/modules/Settings/Languages/Table/Item/index.tsx +61 -61
  1011. package/src/modules/Settings/Languages/Table/index.tsx +11 -11
  1012. package/src/modules/Settings/Languages/index.tsx +36 -36
  1013. package/src/modules/Settings/Languages/style.tsx +1 -1
  1014. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/atoms.tsx +129 -129
  1015. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/index.tsx +118 -118
  1016. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/style.tsx +14 -14
  1017. package/src/modules/Settings/SeoAnalyticsSettings/index.tsx +21 -21
  1018. package/src/modules/Settings/Social/index.tsx +93 -93
  1019. package/src/modules/Settings/Social/style.tsx +1 -1
  1020. package/src/modules/Settings/index.tsx +30 -29
  1021. package/src/modules/Sites/SitesList/GridView/GridHeaderFilter/index.tsx +53 -53
  1022. package/src/modules/Sites/SitesList/GridView/GridSiteItem/index.tsx +179 -179
  1023. package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/index.tsx +57 -57
  1024. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +66 -66
  1025. package/src/modules/Sites/SitesList/ListView/ListSiteItem/index.tsx +205 -205
  1026. package/src/modules/Sites/SitesList/ListView/ListSiteItem/style.tsx +12 -12
  1027. package/src/modules/Sites/SitesList/RecentSiteItem/index.tsx +27 -27
  1028. package/src/modules/Sites/SitesList/SiteModal/index.tsx +67 -67
  1029. package/src/modules/Sites/SitesList/atoms.tsx +29 -29
  1030. package/src/modules/Sites/SitesList/hooks.tsx +98 -98
  1031. package/src/modules/Sites/SitesList/index.tsx +412 -412
  1032. package/src/modules/Sites/SitesList/style.tsx +26 -26
  1033. package/src/modules/Sites/SitesList/utils.tsx +21 -21
  1034. package/src/modules/Sites/index.tsx +60 -60
  1035. package/src/modules/StructuredData/Form/ConnectedField/index.tsx +85 -85
  1036. package/src/modules/StructuredData/Form/index.tsx +464 -464
  1037. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +143 -143
  1038. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/style.tsx +13 -13
  1039. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +96 -96
  1040. package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +51 -51
  1041. package/src/modules/StructuredData/StructuredDataList/ContentFilters/utils.tsx +42 -42
  1042. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/atoms.tsx +109 -109
  1043. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +507 -507
  1044. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/style.tsx +22 -22
  1045. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/utils.tsx +11 -11
  1046. package/src/modules/StructuredData/StructuredDataList/OptionTable/index.tsx +102 -102
  1047. package/src/modules/StructuredData/StructuredDataList/OptionTable/store.tsx +19 -19
  1048. package/src/modules/StructuredData/StructuredDataList/OptionTable/style.tsx +1 -1
  1049. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +298 -298
  1050. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/style.tsx +12 -12
  1051. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/utils.tsx +48 -48
  1052. package/src/modules/StructuredData/StructuredDataList/atoms.tsx +65 -65
  1053. package/src/modules/StructuredData/StructuredDataList/hooks.tsx +108 -108
  1054. package/src/modules/StructuredData/StructuredDataList/index.tsx +782 -782
  1055. package/src/modules/StructuredData/StructuredDataList/utils.tsx +161 -161
  1056. package/src/modules/StructuredData/index.tsx +8 -8
  1057. package/src/modules/Users/Profile/atoms.tsx +32 -32
  1058. package/src/modules/Users/Profile/index.tsx +82 -82
  1059. package/src/modules/Users/Roles/BulkHeader/TableHeader/index.tsx +50 -50
  1060. package/src/modules/Users/Roles/BulkHeader/TableHeader/style.tsx +1 -1
  1061. package/src/modules/Users/Roles/BulkHeader/index.tsx +60 -60
  1062. package/src/modules/Users/Roles/RoleItem/index.tsx +80 -80
  1063. package/src/modules/Users/Roles/RoleItem/style.tsx +13 -13
  1064. package/src/modules/Users/Roles/SideModal/index.tsx +64 -64
  1065. package/src/modules/Users/Roles/SideModal/style.tsx +20 -21
  1066. package/src/modules/Users/Roles/hooks.tsx +74 -74
  1067. package/src/modules/Users/Roles/index.tsx +218 -218
  1068. package/src/modules/Users/Roles/utils.tsx +7 -7
  1069. package/src/modules/Users/UserCreate/OptionItem/index.tsx +32 -32
  1070. package/src/modules/Users/UserCreate/OptionItem/style.tsx +5 -5
  1071. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/index.tsx +32 -32
  1072. package/src/modules/Users/UserCreate/SiteItem/RolesModal/index.tsx +124 -123
  1073. package/src/modules/Users/UserCreate/SiteItem/RolesModal/style.tsx +12 -12
  1074. package/src/modules/Users/UserCreate/SiteItem/index.tsx +101 -101
  1075. package/src/modules/Users/UserCreate/SiteItem/style.tsx +5 -5
  1076. package/src/modules/Users/UserCreate/index.tsx +315 -315
  1077. package/src/modules/Users/UserCreate/style.tsx +20 -20
  1078. package/src/modules/Users/UserEdit/index.tsx +159 -159
  1079. package/src/modules/Users/UserEdit/style.tsx +2 -2
  1080. package/src/modules/Users/UserForm/atoms.tsx +100 -100
  1081. package/src/modules/Users/UserForm/helpers.tsx +4 -4
  1082. package/src/modules/Users/UserForm/index.tsx +494 -494
  1083. package/src/modules/Users/UserForm/style.tsx +18 -18
  1084. package/src/modules/Users/UserList/BulkHeader/TableHeader/index.tsx +86 -86
  1085. package/src/modules/Users/UserList/BulkHeader/index.tsx +62 -62
  1086. package/src/modules/Users/UserList/UserItem/index.tsx +231 -231
  1087. package/src/modules/Users/UserList/UserItem/style.tsx +15 -15
  1088. package/src/modules/Users/UserList/hooks.tsx +73 -73
  1089. package/src/modules/Users/UserList/index.tsx +312 -312
  1090. package/src/modules/Users/UserList/style.tsx +3 -3
  1091. package/src/modules/Users/UserList/utils.tsx +6 -6
  1092. package/src/modules/Users/index.tsx +36 -36
  1093. package/src/react-app-env.d.ts +36 -36
  1094. package/src/routes/index.tsx +15 -15
  1095. package/src/routes/multisite.tsx +205 -205
  1096. package/src/routes/publicRoutes.tsx +5 -5
  1097. package/src/routes/site.tsx +260 -260
  1098. package/src/schemas/index.tsx +1 -1
  1099. package/src/schemas/pages/FormPage.tsx +48 -48
  1100. package/src/schemas/pages/GlobalPage.tsx +208 -208
  1101. package/src/schemas/pages/Page.tsx +278 -278
  1102. package/src/serviceWorker.ts +99 -109
  1103. package/src/themes/theme.json +370 -370
  1104. package/src/types/files.tsx +72 -72
  1105. package/src/types/forms.tsx +54 -54
  1106. package/src/types/index.tsx +794 -794
  1107. package/src/types/logs.tsx +4 -4
  1108. package/tsconfig.json +21 -35
  1109. package/tsconfig.paths.json +20 -20
  1110. package/scripts/start/build-dev.sh +0 -2
  1111. package/scripts/start/build.sh +0 -2
  1112. package/scripts/start/check-node-version.sh +0 -2
  1113. package/scripts/start/start-dev.sh +0 -2
  1114. package/scripts/start/start-local.sh +0 -2
  1115. package/scripts/start/start-staging.sh +0 -2
  1116. package/scripts/start/start-test.sh +0 -2
@@ -4,25 +4,25 @@ import { RouteComponentProps } from "react-router-dom";
4
4
  import { withErrorBoundary } from "react-error-boundary";
5
5
 
6
6
  import {
7
- IErrorItem,
8
- ILanguage,
9
- INotification,
10
- IPageLanguage,
11
- IRootState,
12
- ISavePageParams,
13
- ISite,
14
- IUserEditing,
7
+ IErrorItem,
8
+ ILanguage,
9
+ INotification,
10
+ IPageLanguage,
11
+ IRootState,
12
+ ISavePageParams,
13
+ ISite,
14
+ IUserEditing,
15
15
  } from "@ax/types";
16
16
  import {
17
- MainWrapper,
18
- Loading,
19
- ErrorToast,
20
- Notification,
21
- Modal,
22
- ErrorPage,
23
- CancelScheduleModal,
24
- ScheduleModal,
25
- RestoreModal,
17
+ MainWrapper,
18
+ Loading,
19
+ ErrorToast,
20
+ Notification,
21
+ Modal,
22
+ ErrorPage,
23
+ CancelScheduleModal,
24
+ ScheduleModal,
25
+ RestoreModal,
26
26
  } from "@ax/components";
27
27
  import { pageEditorActions } from "@ax/containers/PageEditor";
28
28
  import { structuredDataActions } from "@ax/containers/StructuredData";
@@ -40,739 +40,739 @@ import Preview from "./Preview";
40
40
  import * as S from "./style";
41
41
 
42
42
  const GlobalEditor = (props: IProps) => {
43
- const {
44
- pageID,
45
- isLoading,
46
- isSaving,
47
- pageName,
48
- lang,
49
- setLanguage,
50
- createNewTranslation,
51
- globalLangs,
52
- pageLanguages,
53
- getPage,
54
- errors,
55
- setSelectedContent,
56
- setTab,
57
- editorContent,
58
- sitePageID,
59
- setHistoryPush,
60
- setCurrentPageID,
61
- setCurrentSiteInfo,
62
- savedSiteInfo,
63
- userEditing,
64
- isNewTranslation,
65
- currentSiteErrorPages,
66
- getUserCurrentPermissions,
67
- schedulePublication,
68
- restorePage,
69
- schemaVersion,
70
- } = props;
71
-
72
- const isAllowedToPublishPages = usePermission("global.globalData.publishUnpublishAllGlobalData");
73
- const isAllowedToCreatePages = usePermission("global.globalData.createAllGlobalData");
74
- const isAllowedToDeletePage = usePermission("global.globalData.deleteAllGlobalData");
75
- const isAllowedToEditContentPage = usePermission("global.globalData.editAllGlobalData");
76
-
77
- const defaultTab = isAllowedToEditContentPage ? "edit" : "view";
78
-
79
- const { isOpen, toggleModal } = useModal();
80
- const { isOpen: isUnpublishOpen, toggleModal: toggleUnpublishModal } = useModal();
81
- const [isReadOnly, setIsReadOnly] = useState(false);
82
- const [selectedTab, setSelectedTab] = useState(defaultTab);
83
- const [notification, setNotification] = useState<INotification | null>(null);
84
- const { isDirty, setIsDirty, resetDirty } = useIsDirty(editorContent, isNewTranslation);
85
- const [errorPagesChecked, setErrorPagesChecked] = useState(false);
86
- const [scheduleDate, setScheduleDate] = useState({ date: dateToString(new Date(), "yyy/MM/dd"), time: "12:00 am" });
87
- const { isOpen: isScheduleOpen, toggleModal: toggleScheduleModal } = useModal();
88
- const { isOpen: isCancelScheduleOpen, toggleModal: toggleCancelScheduleModal } = useModal();
89
- const { isOpen: isRestoreOpen, toggleModal: toggleRestoreModal } = useModal();
90
- const browserRef = useRef<HTMLDivElement>(null);
91
-
92
- const isPublished = props.pageStatus === pageStatus.PUBLISHED || props.pageStatus === pageStatus.UPLOAD_PENDING;
93
- const isDraft = props.pageStatus === pageStatus.MODIFIED || !!editorContent.draftFromPage;
94
- const hasDraft: boolean = editorContent && !!editorContent.haveDraftPage;
95
- const isLivePageChanged = editorContent && editorContent.liveChanged;
96
- const structuredData = editorContent ? editorContent.structuredData : "";
97
- const isEditLive = isPublished && hasDraft;
98
- const isScheduled = props.pageStatus === pageStatus.SCHEDULED;
99
- const isDeleted = editorContent.deleted;
100
-
101
- const errorNotificationText =
102
- "There are some errors on the page so you can not publish yet. Please review them in the error panel.";
103
- const validatedNotificationText = "Everything seems ok, you can publish the page.";
104
-
105
- const deletedNotificationText =
106
- "This page has been deleted and can’t be edited. It will be permanently removed from the trash after 30 days.";
107
- const globalNotificationText = "You’ re working on the Global Page. Make sure you want to make changes to this page.";
108
-
109
- const modifiedNotificationText =
110
- "You made some changes to the Live version that aren't implemented on this Draft. Check it out before you continue working.";
111
-
112
- const backLinkRoute = "/data";
113
-
114
- const theme = getDefaultTheme();
115
-
116
- useEffect(() => {
117
- const { pageID, getPage, setTab, sendPagePing, setStructuredDataFilter } = props;
118
-
119
- editorContent && editorContent.structuredData && setStructuredDataFilter(editorContent.structuredData);
120
- const defaultTab = "content";
121
- const handleGetPage = async () => await getPage(pageID, true);
122
- setTab(defaultTab);
123
- handleGetPage();
124
- if (!pageID) {
125
- setIsDirty(false);
126
- }
127
-
128
- const interval = setInterval(() => {
129
- pageID && sendPagePing(pageID);
130
- }, 30000);
131
- return () => clearInterval(interval);
132
- // eslint-disable-next-line react-hooks/exhaustive-deps
133
- }, []);
134
-
135
- useEffect(() => {
136
- resetDirty();
137
- // eslint-disable-next-line react-hooks/exhaustive-deps
138
- }, [lang]);
139
-
140
- useEffect(() => {
141
- const { pageID, sendPagePing, currentUserID } = props;
142
- if (userEditing && userEditing.id !== currentUserID) {
143
- setIsReadOnly(true);
144
- !isOpen && toggleModal();
145
- } else {
146
- setIsReadOnly(false);
147
- pageID && sendPagePing(pageID);
148
- isOpen && toggleModal();
149
- }
150
- // eslint-disable-next-line react-hooks/exhaustive-deps
151
- }, [userEditing]);
152
-
153
- useEffect(() => {
154
- if (!errorPagesChecked && !isLoading && editorContent) {
155
- const pageId = editorContent.id;
156
- const hasErrors = currentSiteErrorPages.some((errorPageId) => pageId === errorPageId);
157
- hasErrors && reviewPage();
158
- setErrorPagesChecked(true);
159
- }
160
- // eslint-disable-next-line react-hooks/exhaustive-deps
161
- }, [editorContent]);
162
-
163
- const setRoute = (path: string) => props.setHistoryPush(path, true);
164
-
165
- const removePage = async () => {
166
- const { deletePage } = props;
167
- const path = "/data";
168
-
169
- const deleted = await deletePage();
170
-
171
- if (deleted) {
172
- setRoute(path);
173
- }
174
- };
175
-
176
- const publishPage = async () => {
177
- const { updatePageStatus, savePage, pageID, validatePage, skipReviewOnPublish } = props;
178
-
179
- const validated = skipReviewOnPublish ? true : await validatePage(true);
180
-
181
- if (validated) {
182
- const publishPage = {
183
- status: pageStatus.UPLOAD_PENDING,
184
- };
185
-
186
- const isSaved =
187
- pageID && !isNewTranslation
188
- ? await updatePageStatus([pageID], pageStatus.UPLOAD_PENDING)
189
- : await savePage(false, publishPage);
190
-
191
- if (isSaved) {
192
- resetDirty();
193
- }
194
- } else {
195
- setNotification({ text: errorNotificationText, type: "error" });
196
- }
197
- };
198
-
199
- const publishChanges = async () => {
200
- const { savePage, validatePage, skipReviewOnPublish } = props;
201
-
202
- const validated = skipReviewOnPublish ? true : await validatePage(true);
203
-
204
- if (validated) {
205
- const publishPage = {
206
- status: pageStatus.UPLOAD_PENDING,
207
- };
208
-
209
- const isSaved = await savePage(false, publishPage);
210
- if (isSaved) {
211
- resetDirty();
212
- }
213
- } else {
214
- setNotification({ text: errorNotificationText, type: "error" });
215
- }
216
- };
217
-
218
- const unpublishPage = async () => {
219
- const { updatePageStatus, pageID } = props;
220
-
221
- const isSaved = await updatePageStatus([pageID], pageStatus.OFFLINE_PENDING);
222
- if (isSaved) {
223
- resetDirty();
224
- }
225
- };
226
-
227
- const reviewPage = async () => {
228
- const { validatePage } = props;
229
- const validated = await validatePage(false);
230
- if (validated) {
231
- setNotification({ text: validatedNotificationText, type: "success" });
232
- } else {
233
- setNotification({ text: errorNotificationText, type: "error" });
234
- }
235
- };
236
-
237
- const handlePublishDraft = async () => {
238
- const { savePage, validatePage, skipReviewOnPublish } = props;
239
-
240
- const validated = skipReviewOnPublish ? true : await validatePage(true);
241
-
242
- if (validated) {
243
- const isSaved = await savePage(false, null, true);
244
- if (isSaved) resetDirty();
245
- } else {
246
- setNotification({ text: errorNotificationText, type: "error" });
247
- }
248
- };
249
-
250
- const handleDiscardDraft = () => {
251
- const { discardDraft } = props;
252
- resetDirty();
253
- discardDraft();
254
- };
255
-
256
- const handleDiscarChanges = () => {
257
- const { getPage, pageID } = props;
258
- resetDirty();
259
- getPage(pageID, true);
260
- };
261
-
262
- const handleCreateDraft = async () => {
263
- const { savePage } = props;
264
-
265
- const isSaved = await savePage(true);
266
- if (isSaved) resetDirty();
267
- };
268
-
269
- const handleSchedulePublication = async () => {
270
- const date = new Date(`${scheduleDate.date} ${scheduleDate.time}`);
271
- const dateString = dateToString(date, "dd/MM/yyyy HH:mm:ss");
272
- const saved = await schedulePublication(dateString, isDraft);
273
- if (saved) {
274
- resetDirty();
275
- toggleScheduleModal();
276
- }
277
- };
278
-
279
- const handleCancelSchedulePublication = async () => {
280
- const saved = await schedulePublication(null, isDraft);
281
- if (saved) {
282
- setScheduleDate({ date: "", time: "12:00 am" });
283
- resetDirty();
284
- toggleCancelScheduleModal();
285
- }
286
- };
287
-
288
- const getPublishButton = (status: string) => {
289
- switch (status) {
290
- case pageStatus.OFFLINE:
291
- case pageStatus.OFFLINE_PENDING:
292
- return {
293
- label: status === pageStatus.OFFLINE_PENDING ? "Cancel Unpublishing" : "Publish",
294
- action: publishPage,
295
- };
296
- case pageStatus.PUBLISHED:
297
- case pageStatus.UPLOAD_PENDING:
298
- return !hasDraft && isDirty
299
- ? {
300
- label: "Create new draft",
301
- action: handleCreateDraft,
302
- }
303
- : {
304
- label: status === pageStatus.UPLOAD_PENDING ? "Cancel publication" : "Unpublish",
305
- action: hasDraft ? toggleUnpublishModal : unpublishPage,
306
- };
307
- case pageStatus.MODIFIED:
308
- case pageStatus.SCHEDULED:
309
- return {
310
- label: isDraft ? "Publish changes" : "Publish",
311
- action: isDraft ? handlePublishDraft : publishPage,
312
- };
313
- default:
314
- return null;
315
- }
316
- };
317
-
318
- const menuOptions = [];
319
-
320
- if (isAllowedToPublishPages && !isScheduled && !isPublished && props.pageStatus !== pageStatus.OFFLINE_PENDING) {
321
- menuOptions.push({
322
- label: "Schedule",
323
- icon: "calendar",
324
- action: toggleScheduleModal,
325
- });
326
- }
327
-
328
- if (isAllowedToPublishPages && isScheduled) {
329
- menuOptions.push({
330
- label: "Cancel Schedule",
331
- icon: "cancelEvent",
332
- action: toggleCancelScheduleModal,
333
- });
334
- }
335
-
336
- if (
337
- isAllowedToEditContentPage &&
338
- (props.pageStatus === pageStatus.PUBLISHED ||
339
- props.pageStatus === pageStatus.OFFLINE ||
340
- props.pageStatus === pageStatus.OFFLINE_PENDING ||
341
- props.pageStatus === pageStatus.SCHEDULED ||
342
- (isDraft && isDirty))
343
- ) {
344
- menuOptions.push({
345
- label: "Review",
346
- icon: "question",
347
- action: reviewPage,
348
- });
349
- }
350
-
351
- if (isAllowedToEditContentPage && !isScheduled && (isDraft || (isPublished && isDirty))) {
352
- menuOptions.push({
353
- label: "Discard changes",
354
- icon: "close",
355
- action: isDraft ? handleDiscardDraft : handleDiscarChanges,
356
- });
357
- }
358
-
359
- if (props.pageStatus === pageStatus.PUBLISHED && !hasDraft && isDirty && isAllowedToPublishPages) {
360
- menuOptions.push({
361
- label: "Unpublish",
362
- icon: "offline",
363
- action: isDraft ? toggleUnpublishModal : unpublishPage,
364
- });
365
- }
366
-
367
- if (!isDraft && isAllowedToDeletePage) {
368
- menuOptions.push({
369
- label: "Delete page",
370
- icon: "delete",
371
- action: removePage,
372
- });
373
- }
374
-
375
- const downArrowMenu = {
376
- displayed: !isReadOnly && !isDeleted,
377
- button: isAllowedToPublishPages ? getPublishButton(props.pageStatus) : undefined,
378
- options: menuOptions,
379
- };
380
-
381
- const isEditable = editorContent && editorContent.editable;
382
-
383
- const handleSavePage = async () => {
384
- const { savePage } = props;
385
-
386
- const isSaved = await savePage(false);
387
- if (isSaved) resetDirty();
388
- };
389
-
390
- const goToPages = (path: string) => setRoute(path);
391
-
392
- const goToError = async (editorID: number | null, tab: string, template: boolean, parentEditorID?: number) => {
393
- const realEditorID = parentEditorID ? parentEditorID : template ? 0 : editorID;
394
- if (realEditorID !== null) {
395
- await setSelectedContent(realEditorID);
396
- setTab(tab);
397
- }
398
- };
399
-
400
- const goToPackage = () => setHistoryPush("/sites/settings/content-types", false);
401
-
402
- const modalText = (
403
- <>
404
- Some content <strong>is not saved</strong> on this page.
405
- </>
406
- );
407
-
408
- const getSaveLabel = () => {
409
- switch (props.pageStatus) {
410
- case pageStatus.PUBLISHED:
411
- case pageStatus.UPLOAD_PENDING:
412
- return !isDirty && !isNewTranslation ? "Saved" : isPublished && hasDraft ? "Save & publish" : "Publish changes";
413
- default:
414
- return !pageID || isNewTranslation || (isDirty && props.pageStatus !== pageStatus.MODIFIED)
415
- ? "Save"
416
- : isDirty && props.pageStatus === pageStatus.MODIFIED
417
- ? "Save draft"
418
- : "Saved";
419
- }
420
- };
421
-
422
- const rightButtonProps = isAllowedToEditContentPage
423
- ? {
424
- label: isSaving ? "Saving" : getSaveLabel(),
425
- disabled: (!isDirty && pageID !== null && !isNewTranslation) || isSaving || isReadOnly,
426
- action: isPublished ? publishChanges : handleSavePage,
427
- }
428
- : undefined;
429
-
430
- const goToLivePage = () => {
431
- const currentPageUrl = editorContent.fullUrl;
432
- if (currentPageUrl) {
433
- window.open(currentPageUrl, "_blank");
434
- }
435
- };
436
-
437
- const toggleDraftPage = async () => {
438
- const { getPage } = props;
439
- resetDirty();
440
- const pageID = isDraft ? editorContent.draftFromPage : editorContent.haveDraftPage;
441
- await getPage(pageID);
442
- };
443
-
444
- let pageStatusActions =
445
- props.pageStatus === pageStatus.PUBLISHED || isDraft
446
- ? [
447
- {
448
- label: "Go to live page",
449
- icon: "view",
450
- action: goToLivePage,
451
- },
452
- ]
453
- : [];
454
-
455
- pageStatusActions =
456
- isDraft || hasDraft
457
- ? [
458
- {
459
- label: isDraft ? "View live" : "Edit draft",
460
- icon: isDraft ? "active" : "modified",
461
- action: toggleDraftPage,
462
- },
463
- ...pageStatusActions,
464
- ]
465
- : pageStatusActions;
466
-
467
- const goBackToSite = () => {
468
- if (sitePageID) {
469
- setCurrentSiteInfo(savedSiteInfo);
470
- setCurrentPageID(sitePageID);
471
- getUserCurrentPermissions();
472
- const path = "/sites/pages/editor";
473
- setHistoryPush(path, true);
474
- }
475
- };
476
-
477
- const handleGoBack = () => {
478
- props.setHistoryPush(backLinkRoute, false);
479
- };
480
-
481
- const mainAction = { title: "Preview Page", onClick: toggleModal };
482
- const secondaryAction = { title: "Ok, go back", onClick: handleGoBack };
483
-
484
- const mainUnpublishAction = { title: "Ok", onClick: toggleUnpublishModal };
485
-
486
- const mainScheduleModalAction = {
487
- title: "Schedule",
488
- onClick: handleSchedulePublication,
489
- };
490
-
491
- const secondaryScheduleModalAction = { title: "Cancel", onClick: toggleScheduleModal };
492
-
493
- const mainCancelScheduleModalAction = {
494
- title: "Cancel Schedule",
495
- onClick: handleCancelSchedulePublication,
496
- };
497
-
498
- const secondaryCancelScheduleModalAction = { title: "Back", onClick: toggleCancelScheduleModal };
499
-
500
- const tabIcons = isAllowedToEditContentPage
501
- ? [
502
- { name: "edit", text: "Edit mode" },
503
- { name: "view", text: "Preview mode" },
504
- ]
505
- : [{ name: "view", text: "Preview mode" }];
506
-
507
- const tabsPreview = {
508
- icons: tabIcons,
509
- selectedTab,
510
- action: (tab: string) => setSelectedTab(tab),
511
- };
512
-
513
- const filteredLanguages = globalLangs.filter((lang) =>
514
- pageLanguages.find((pageLang) => lang.id === pageLang.languageId)
515
- );
516
-
517
- const contentLanguages: ILanguage[] = [];
518
- pageLanguages.forEach((pageLang) => {
519
- const contentLang = globalLangs.find((lang) => lang.id === pageLang.languageId);
520
- if (contentLang) {
521
- contentLanguages.push(contentLang);
522
- }
523
- });
524
-
525
- const getSelectedPageLanguage = (language: ILanguage) =>
526
- pageLanguages.find((pageLang) => pageLang.languageId === language.id);
527
-
528
- const handleLanguage = async (language: ILanguage) => {
529
- const { locale, id } = language;
530
- setLanguage({ locale, id });
531
-
532
- const selectedPageLanguage = getSelectedPageLanguage(language);
533
-
534
- if (selectedPageLanguage) {
535
- createNewTranslation(false);
536
- setCurrentPageID(selectedPageLanguage.pageId);
537
- await getPage(selectedPageLanguage.pageId);
538
- resetDirty();
539
- } else {
540
- isAllowedToEditContentPage && setSelectedTab("edit");
541
- createNewTranslation(true);
542
- await getPage(pageID);
543
- }
544
- };
545
-
546
- const handleRestorePage = async () => {
547
- const isRestored = await restorePage(pageID);
548
- if (isRestored) {
549
- isRestoreOpen && toggleRestoreModal();
550
- await getPage(pageID);
551
- }
552
- };
553
-
554
- return isLoading ? (
555
- <Loading />
556
- ) : (
557
- <>
558
- <RouteLeavingGuard when={isDirty} action={goToPages} text={modalText} />
559
- <MainWrapper
560
- title={pageName}
561
- subtitle={structuredData}
562
- backLink={backLinkRoute}
563
- rightButton={rightButtonProps}
564
- downArrowMenu={downArrowMenu}
565
- fixedAppBar={true}
566
- pageStatus={props.pageStatus}
567
- language={lang}
568
- languageAction={handleLanguage}
569
- availableLanguages={isAllowedToCreatePages && !isDeleted ? globalLangs : filteredLanguages}
570
- currentLanguages={contentLanguages}
571
- currentPageID={pageID}
572
- fullWidth={true}
573
- errors={errors}
574
- errorActions={{ goToError, goToPackage }}
575
- inversed={true}
576
- isFromEditor={true}
577
- pageStatusActions={pageStatusActions}
578
- tabs={tabsPreview}
579
- isDirty={isDirty}
580
- scheduledPublication={editorContent?.publicationScheduled}
581
- >
582
- {selectedTab === "edit" ? (
583
- <>
584
- {isLivePageChanged && (
585
- <S.NotificationWrapper>
586
- <Notification type="warning" text={modifiedNotificationText} />
587
- </S.NotificationWrapper>
588
- )}
589
- {isDeleted && (
590
- <S.NotificationWrapper>
591
- <Notification
592
- type="error"
593
- text={deletedNotificationText}
594
- btnText="Restore page"
595
- onClick={toggleRestoreModal}
596
- />
597
- </S.NotificationWrapper>
598
- )}
599
- {sitePageID && (
600
- <S.NotificationWrapper>
601
- <Notification type="info" text={globalNotificationText} btnText="Go Back" onClick={goBackToSite} />
602
- </S.NotificationWrapper>
603
- )}
604
- {notification && (
605
- <S.NotificationWrapper>
606
- <Notification
607
- type={notification.type}
608
- text={notification.text}
609
- btnText={notification.btnText}
610
- onClick={notification.onClick}
611
- resetError={() => setNotification(null)}
612
- />
613
- </S.NotificationWrapper>
614
- )}
615
- <ErrorToast size="l" fixed />
616
- <S.Content>
617
- <Editor
618
- isGlobal={true}
619
- isEditable={isEditable}
620
- isReadOnly={isReadOnly}
621
- theme={theme}
622
- browserRef={browserRef}
623
- setNotification={setNotification}
624
- isEditLive={isEditLive}
625
- isDisabled={isDeleted}
626
- />
627
- </S.Content>
628
- </>
629
- ) : (
630
- <Preview theme={theme} />
631
- )}
632
- <Modal
633
- isOpen={isOpen}
634
- hide={toggleModal}
635
- size="S"
636
- title="This page is currently being edited"
637
- mainAction={mainAction}
638
- secondaryAction={secondaryAction}
639
- >
640
- {isOpen && (
641
- <S.ModalContent>
642
- <p>
643
- <strong>{userEditing && userEditing.name}</strong> is currently working on this page. You can preview
644
- the page but <strong>you cannot make changes to it</strong> until {userEditing && userEditing.name}{" "}
645
- leaves the page.
646
- </p>
647
- </S.ModalContent>
648
- )}
649
- </Modal>
650
- <Modal
651
- isOpen={isUnpublishOpen}
652
- hide={toggleUnpublishModal}
653
- size="S"
654
- title="Unpublish Modified Page"
655
- mainAction={mainUnpublishAction}
656
- >
657
- {isUnpublishOpen && (
658
- <S.ModalContent>
659
- <p>
660
- There are some saved changes that are not published on this page. To Unpublish this page,{" "}
661
- <strong>you must publish these changes or discard them.</strong>
662
- </p>
663
- </S.ModalContent>
664
- )}
665
- </Modal>
666
- <ScheduleModal
667
- isOpen={isScheduleOpen}
668
- toggleModal={toggleScheduleModal}
669
- mainModalAction={mainScheduleModalAction}
670
- secondaryModalAction={secondaryScheduleModalAction}
671
- scheduleDate={scheduleDate}
672
- setScheduleDate={setScheduleDate}
673
- />
674
- <CancelScheduleModal
675
- isOpen={isCancelScheduleOpen}
676
- toggleModal={toggleCancelScheduleModal}
677
- mainModalAction={mainCancelScheduleModalAction}
678
- secondaryModalAction={secondaryCancelScheduleModalAction}
679
- />
680
- <RestoreModal
681
- isOpen={isRestoreOpen}
682
- toggleModal={toggleRestoreModal}
683
- {...{
684
- isChild: false,
685
- hasIssues: schemaVersion !== editorContent.schemaVersionTimestamp,
686
- restorePage: handleRestorePage,
687
- }}
688
- />
689
- </MainWrapper>
690
- </>
691
- );
43
+ const {
44
+ pageID,
45
+ isLoading,
46
+ isSaving,
47
+ pageName,
48
+ lang,
49
+ setLanguage,
50
+ createNewTranslation,
51
+ globalLangs,
52
+ pageLanguages,
53
+ getPage,
54
+ errors,
55
+ setSelectedContent,
56
+ setTab,
57
+ editorContent,
58
+ sitePageID,
59
+ setHistoryPush,
60
+ setCurrentPageID,
61
+ setCurrentSiteInfo,
62
+ savedSiteInfo,
63
+ userEditing,
64
+ isNewTranslation,
65
+ currentSiteErrorPages,
66
+ getUserCurrentPermissions,
67
+ schedulePublication,
68
+ restorePage,
69
+ schemaVersion,
70
+ } = props;
71
+
72
+ const isAllowedToPublishPages = usePermission("global.globalData.publishUnpublishAllGlobalData");
73
+ const isAllowedToCreatePages = usePermission("global.globalData.createAllGlobalData");
74
+ const isAllowedToDeletePage = usePermission("global.globalData.deleteAllGlobalData");
75
+ const isAllowedToEditContentPage = usePermission("global.globalData.editAllGlobalData");
76
+
77
+ const defaultTab = isAllowedToEditContentPage ? "edit" : "view";
78
+
79
+ const { isOpen, toggleModal } = useModal();
80
+ const { isOpen: isUnpublishOpen, toggleModal: toggleUnpublishModal } = useModal();
81
+ const [isReadOnly, setIsReadOnly] = useState(false);
82
+ const [selectedTab, setSelectedTab] = useState(defaultTab);
83
+ const [notification, setNotification] = useState<INotification | null>(null);
84
+ const { isDirty, setIsDirty, resetDirty } = useIsDirty(editorContent, isNewTranslation);
85
+ const [errorPagesChecked, setErrorPagesChecked] = useState(false);
86
+ const [scheduleDate, setScheduleDate] = useState({ date: dateToString(new Date(), "yyy/MM/dd"), time: "12:00 am" });
87
+ const { isOpen: isScheduleOpen, toggleModal: toggleScheduleModal } = useModal();
88
+ const { isOpen: isCancelScheduleOpen, toggleModal: toggleCancelScheduleModal } = useModal();
89
+ const { isOpen: isRestoreOpen, toggleModal: toggleRestoreModal } = useModal();
90
+ const browserRef = useRef<HTMLDivElement>(null);
91
+
92
+ const isPublished = props.pageStatus === pageStatus.PUBLISHED || props.pageStatus === pageStatus.UPLOAD_PENDING;
93
+ const isDraft = props.pageStatus === pageStatus.MODIFIED || !!editorContent.draftFromPage;
94
+ const hasDraft: boolean = editorContent && !!editorContent.haveDraftPage;
95
+ const isLivePageChanged = editorContent && editorContent.liveChanged;
96
+ const structuredData = editorContent ? editorContent.structuredData : "";
97
+ const isEditLive = isPublished && hasDraft;
98
+ const isScheduled = props.pageStatus === pageStatus.SCHEDULED;
99
+ const isDeleted = editorContent.deleted;
100
+
101
+ const errorNotificationText =
102
+ "There are some errors on the page so you can not publish yet. Please review them in the error panel.";
103
+ const validatedNotificationText = "Everything seems ok, you can publish the page.";
104
+
105
+ const deletedNotificationText =
106
+ "This page has been deleted and can’t be edited. It will be permanently removed from the trash after 30 days.";
107
+ const globalNotificationText = "You’ re working on the Global Page. Make sure you want to make changes to this page.";
108
+
109
+ const modifiedNotificationText =
110
+ "You made some changes to the Live version that aren't implemented on this Draft. Check it out before you continue working.";
111
+
112
+ const backLinkRoute = "/data";
113
+
114
+ const theme = getDefaultTheme();
115
+
116
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
117
+ useEffect(() => {
118
+ const { pageID, getPage, setTab, sendPagePing, setStructuredDataFilter } = props;
119
+
120
+ editorContent && editorContent.structuredData && setStructuredDataFilter(editorContent.structuredData);
121
+ const defaultTab = "content";
122
+ const handleGetPage = async () => await getPage(pageID, true);
123
+ setTab(defaultTab);
124
+ handleGetPage();
125
+ if (!pageID) {
126
+ setIsDirty(false);
127
+ }
128
+
129
+ const interval = setInterval(() => {
130
+ pageID && sendPagePing(pageID);
131
+ }, 30000);
132
+ return () => clearInterval(interval);
133
+ }, []);
134
+
135
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
136
+ useEffect(() => {
137
+ resetDirty();
138
+ }, [lang]);
139
+
140
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
141
+ useEffect(() => {
142
+ const { pageID, sendPagePing, currentUserID } = props;
143
+ if (userEditing && userEditing.id !== currentUserID) {
144
+ setIsReadOnly(true);
145
+ !isOpen && toggleModal();
146
+ } else {
147
+ setIsReadOnly(false);
148
+ pageID && sendPagePing(pageID);
149
+ isOpen && toggleModal();
150
+ }
151
+ }, [userEditing]);
152
+
153
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: fix this
154
+ useEffect(() => {
155
+ if (!errorPagesChecked && !isLoading && editorContent) {
156
+ const pageId = editorContent.id;
157
+ const hasErrors = currentSiteErrorPages.some((errorPageId) => pageId === errorPageId);
158
+ hasErrors && reviewPage();
159
+ setErrorPagesChecked(true);
160
+ }
161
+ }, [editorContent]);
162
+
163
+ const setRoute = (path: string) => props.setHistoryPush(path, true);
164
+
165
+ const removePage = async () => {
166
+ const { deletePage } = props;
167
+ const path = "/data";
168
+
169
+ const deleted = await deletePage();
170
+
171
+ if (deleted) {
172
+ setRoute(path);
173
+ }
174
+ };
175
+
176
+ const publishPage = async () => {
177
+ const { updatePageStatus, savePage, pageID, validatePage, skipReviewOnPublish } = props;
178
+
179
+ const validated = skipReviewOnPublish ? true : await validatePage(true);
180
+
181
+ if (validated) {
182
+ const publishPage = {
183
+ status: pageStatus.UPLOAD_PENDING,
184
+ };
185
+
186
+ const isSaved =
187
+ pageID && !isNewTranslation
188
+ ? await updatePageStatus([pageID], pageStatus.UPLOAD_PENDING)
189
+ : await savePage(false, publishPage);
190
+
191
+ if (isSaved) {
192
+ resetDirty();
193
+ }
194
+ } else {
195
+ setNotification({ text: errorNotificationText, type: "error" });
196
+ }
197
+ };
198
+
199
+ const publishChanges = async () => {
200
+ const { savePage, validatePage, skipReviewOnPublish } = props;
201
+
202
+ const validated = skipReviewOnPublish ? true : await validatePage(true);
203
+
204
+ if (validated) {
205
+ const publishPage = {
206
+ status: pageStatus.UPLOAD_PENDING,
207
+ };
208
+
209
+ const isSaved = await savePage(false, publishPage);
210
+ if (isSaved) {
211
+ resetDirty();
212
+ }
213
+ } else {
214
+ setNotification({ text: errorNotificationText, type: "error" });
215
+ }
216
+ };
217
+
218
+ const unpublishPage = async () => {
219
+ const { updatePageStatus, pageID } = props;
220
+
221
+ const isSaved = await updatePageStatus([pageID], pageStatus.OFFLINE_PENDING);
222
+ if (isSaved) {
223
+ resetDirty();
224
+ }
225
+ };
226
+
227
+ const reviewPage = async () => {
228
+ const { validatePage } = props;
229
+ const validated = await validatePage(false);
230
+ if (validated) {
231
+ setNotification({ text: validatedNotificationText, type: "success" });
232
+ } else {
233
+ setNotification({ text: errorNotificationText, type: "error" });
234
+ }
235
+ };
236
+
237
+ const handlePublishDraft = async () => {
238
+ const { savePage, validatePage, skipReviewOnPublish } = props;
239
+
240
+ const validated = skipReviewOnPublish ? true : await validatePage(true);
241
+
242
+ if (validated) {
243
+ const isSaved = await savePage(false, null, true);
244
+ if (isSaved) resetDirty();
245
+ } else {
246
+ setNotification({ text: errorNotificationText, type: "error" });
247
+ }
248
+ };
249
+
250
+ const handleDiscardDraft = () => {
251
+ const { discardDraft } = props;
252
+ resetDirty();
253
+ discardDraft();
254
+ };
255
+
256
+ const handleDiscarChanges = () => {
257
+ const { getPage, pageID } = props;
258
+ resetDirty();
259
+ getPage(pageID, true);
260
+ };
261
+
262
+ const handleCreateDraft = async () => {
263
+ const { savePage } = props;
264
+
265
+ const isSaved = await savePage(true);
266
+ if (isSaved) resetDirty();
267
+ };
268
+
269
+ const handleSchedulePublication = async () => {
270
+ const date = new Date(`${scheduleDate.date} ${scheduleDate.time}`);
271
+ const dateString = dateToString(date, "dd/MM/yyyy HH:mm:ss");
272
+ const saved = await schedulePublication(dateString, isDraft);
273
+ if (saved) {
274
+ resetDirty();
275
+ toggleScheduleModal();
276
+ }
277
+ };
278
+
279
+ const handleCancelSchedulePublication = async () => {
280
+ const saved = await schedulePublication(null, isDraft);
281
+ if (saved) {
282
+ setScheduleDate({ date: "", time: "12:00 am" });
283
+ resetDirty();
284
+ toggleCancelScheduleModal();
285
+ }
286
+ };
287
+
288
+ const getPublishButton = (status: string) => {
289
+ switch (status) {
290
+ case pageStatus.OFFLINE:
291
+ case pageStatus.OFFLINE_PENDING:
292
+ return {
293
+ label: status === pageStatus.OFFLINE_PENDING ? "Cancel Unpublishing" : "Publish",
294
+ action: publishPage,
295
+ };
296
+ case pageStatus.PUBLISHED:
297
+ case pageStatus.UPLOAD_PENDING:
298
+ return !hasDraft && isDirty
299
+ ? {
300
+ label: "Create new draft",
301
+ action: handleCreateDraft,
302
+ }
303
+ : {
304
+ label: status === pageStatus.UPLOAD_PENDING ? "Cancel publication" : "Unpublish",
305
+ action: hasDraft ? toggleUnpublishModal : unpublishPage,
306
+ };
307
+ case pageStatus.MODIFIED:
308
+ case pageStatus.SCHEDULED:
309
+ return {
310
+ label: isDraft ? "Publish changes" : "Publish",
311
+ action: isDraft ? handlePublishDraft : publishPage,
312
+ };
313
+ default:
314
+ return null;
315
+ }
316
+ };
317
+
318
+ const menuOptions = [];
319
+
320
+ if (isAllowedToPublishPages && !isScheduled && !isPublished && props.pageStatus !== pageStatus.OFFLINE_PENDING) {
321
+ menuOptions.push({
322
+ label: "Schedule",
323
+ icon: "calendar",
324
+ action: toggleScheduleModal,
325
+ });
326
+ }
327
+
328
+ if (isAllowedToPublishPages && isScheduled) {
329
+ menuOptions.push({
330
+ label: "Cancel Schedule",
331
+ icon: "cancelEvent",
332
+ action: toggleCancelScheduleModal,
333
+ });
334
+ }
335
+
336
+ if (
337
+ isAllowedToEditContentPage &&
338
+ (props.pageStatus === pageStatus.PUBLISHED ||
339
+ props.pageStatus === pageStatus.OFFLINE ||
340
+ props.pageStatus === pageStatus.OFFLINE_PENDING ||
341
+ props.pageStatus === pageStatus.SCHEDULED ||
342
+ (isDraft && isDirty))
343
+ ) {
344
+ menuOptions.push({
345
+ label: "Review",
346
+ icon: "question",
347
+ action: reviewPage,
348
+ });
349
+ }
350
+
351
+ if (isAllowedToEditContentPage && !isScheduled && (isDraft || (isPublished && isDirty))) {
352
+ menuOptions.push({
353
+ label: "Discard changes",
354
+ icon: "close",
355
+ action: isDraft ? handleDiscardDraft : handleDiscarChanges,
356
+ });
357
+ }
358
+
359
+ if (props.pageStatus === pageStatus.PUBLISHED && !hasDraft && isDirty && isAllowedToPublishPages) {
360
+ menuOptions.push({
361
+ label: "Unpublish",
362
+ icon: "offline",
363
+ action: isDraft ? toggleUnpublishModal : unpublishPage,
364
+ });
365
+ }
366
+
367
+ if (!isDraft && isAllowedToDeletePage) {
368
+ menuOptions.push({
369
+ label: "Delete page",
370
+ icon: "delete",
371
+ action: removePage,
372
+ });
373
+ }
374
+
375
+ const downArrowMenu = {
376
+ displayed: !isReadOnly && !isDeleted,
377
+ button: isAllowedToPublishPages ? getPublishButton(props.pageStatus) : undefined,
378
+ options: menuOptions,
379
+ };
380
+
381
+ const isEditable = editorContent && editorContent.editable;
382
+
383
+ const handleSavePage = async () => {
384
+ const { savePage } = props;
385
+
386
+ const isSaved = await savePage(false);
387
+ if (isSaved) resetDirty();
388
+ };
389
+
390
+ const goToPages = (path: string) => setRoute(path);
391
+
392
+ const goToError = async (editorID: number | null, tab: string, template: boolean, parentEditorID?: number) => {
393
+ const realEditorID = parentEditorID ? parentEditorID : template ? 0 : editorID;
394
+ if (realEditorID !== null) {
395
+ await setSelectedContent(realEditorID);
396
+ setTab(tab);
397
+ }
398
+ };
399
+
400
+ const goToPackage = () => setHistoryPush("/sites/settings/content-types", false);
401
+
402
+ const modalText = (
403
+ <>
404
+ Some content <strong>is not saved</strong> on this page.
405
+ </>
406
+ );
407
+
408
+ const getSaveLabel = () => {
409
+ switch (props.pageStatus) {
410
+ case pageStatus.PUBLISHED:
411
+ case pageStatus.UPLOAD_PENDING:
412
+ return !isDirty && !isNewTranslation ? "Saved" : isPublished && hasDraft ? "Save & publish" : "Publish changes";
413
+ default:
414
+ return !pageID || isNewTranslation || (isDirty && props.pageStatus !== pageStatus.MODIFIED)
415
+ ? "Save"
416
+ : isDirty && props.pageStatus === pageStatus.MODIFIED
417
+ ? "Save draft"
418
+ : "Saved";
419
+ }
420
+ };
421
+
422
+ const rightButtonProps = isAllowedToEditContentPage
423
+ ? {
424
+ label: isSaving ? "Saving" : getSaveLabel(),
425
+ disabled: (!isDirty && pageID !== null && !isNewTranslation) || isSaving || isReadOnly,
426
+ action: isPublished ? publishChanges : handleSavePage,
427
+ }
428
+ : undefined;
429
+
430
+ const goToLivePage = () => {
431
+ const currentPageUrl = editorContent.fullUrl;
432
+ if (currentPageUrl) {
433
+ window.open(currentPageUrl, "_blank");
434
+ }
435
+ };
436
+
437
+ const toggleDraftPage = async () => {
438
+ const { getPage } = props;
439
+ resetDirty();
440
+ const pageID = isDraft ? editorContent.draftFromPage : editorContent.haveDraftPage;
441
+ await getPage(pageID);
442
+ };
443
+
444
+ let pageStatusActions =
445
+ props.pageStatus === pageStatus.PUBLISHED || isDraft
446
+ ? [
447
+ {
448
+ label: "Go to live page",
449
+ icon: "view",
450
+ action: goToLivePage,
451
+ },
452
+ ]
453
+ : [];
454
+
455
+ pageStatusActions =
456
+ isDraft || hasDraft
457
+ ? [
458
+ {
459
+ label: isDraft ? "View live" : "Edit draft",
460
+ icon: isDraft ? "active" : "modified",
461
+ action: toggleDraftPage,
462
+ },
463
+ ...pageStatusActions,
464
+ ]
465
+ : pageStatusActions;
466
+
467
+ const goBackToSite = () => {
468
+ if (sitePageID) {
469
+ setCurrentSiteInfo(savedSiteInfo);
470
+ setCurrentPageID(sitePageID);
471
+ getUserCurrentPermissions();
472
+ const path = "/sites/pages/editor";
473
+ setHistoryPush(path, true);
474
+ }
475
+ };
476
+
477
+ const handleGoBack = () => {
478
+ props.setHistoryPush(backLinkRoute, false);
479
+ };
480
+
481
+ const mainAction = { title: "Preview Page", onClick: toggleModal };
482
+ const secondaryAction = { title: "Ok, go back", onClick: handleGoBack };
483
+
484
+ const mainUnpublishAction = { title: "Ok", onClick: toggleUnpublishModal };
485
+
486
+ const mainScheduleModalAction = {
487
+ title: "Schedule",
488
+ onClick: handleSchedulePublication,
489
+ };
490
+
491
+ const secondaryScheduleModalAction = { title: "Cancel", onClick: toggleScheduleModal };
492
+
493
+ const mainCancelScheduleModalAction = {
494
+ title: "Cancel Schedule",
495
+ onClick: handleCancelSchedulePublication,
496
+ };
497
+
498
+ const secondaryCancelScheduleModalAction = { title: "Back", onClick: toggleCancelScheduleModal };
499
+
500
+ const tabIcons = isAllowedToEditContentPage
501
+ ? [
502
+ { name: "edit", text: "Edit mode" },
503
+ { name: "view", text: "Preview mode" },
504
+ ]
505
+ : [{ name: "view", text: "Preview mode" }];
506
+
507
+ const tabsPreview = {
508
+ icons: tabIcons,
509
+ selectedTab,
510
+ action: (tab: string) => setSelectedTab(tab),
511
+ };
512
+
513
+ const filteredLanguages = globalLangs.filter((lang) =>
514
+ pageLanguages.find((pageLang) => lang.id === pageLang.languageId),
515
+ );
516
+
517
+ const contentLanguages: ILanguage[] = [];
518
+ pageLanguages.forEach((pageLang) => {
519
+ const contentLang = globalLangs.find((lang) => lang.id === pageLang.languageId);
520
+ if (contentLang) {
521
+ contentLanguages.push(contentLang);
522
+ }
523
+ });
524
+
525
+ const getSelectedPageLanguage = (language: ILanguage) =>
526
+ pageLanguages.find((pageLang) => pageLang.languageId === language.id);
527
+
528
+ const handleLanguage = async (language: ILanguage) => {
529
+ const { locale, id } = language;
530
+ setLanguage({ locale, id });
531
+
532
+ const selectedPageLanguage = getSelectedPageLanguage(language);
533
+
534
+ if (selectedPageLanguage) {
535
+ createNewTranslation(false);
536
+ setCurrentPageID(selectedPageLanguage.pageId);
537
+ await getPage(selectedPageLanguage.pageId);
538
+ resetDirty();
539
+ } else {
540
+ isAllowedToEditContentPage && setSelectedTab("edit");
541
+ createNewTranslation(true);
542
+ await getPage(pageID);
543
+ }
544
+ };
545
+
546
+ const handleRestorePage = async () => {
547
+ const isRestored = await restorePage(pageID);
548
+ if (isRestored) {
549
+ isRestoreOpen && toggleRestoreModal();
550
+ await getPage(pageID);
551
+ }
552
+ };
553
+
554
+ return isLoading ? (
555
+ <Loading />
556
+ ) : (
557
+ <>
558
+ <RouteLeavingGuard when={isDirty} action={goToPages} text={modalText} />
559
+ <MainWrapper
560
+ title={pageName}
561
+ subtitle={structuredData}
562
+ backLink={backLinkRoute}
563
+ rightButton={rightButtonProps}
564
+ downArrowMenu={downArrowMenu}
565
+ fixedAppBar={true}
566
+ pageStatus={props.pageStatus}
567
+ language={lang}
568
+ languageAction={handleLanguage}
569
+ availableLanguages={isAllowedToCreatePages && !isDeleted ? globalLangs : filteredLanguages}
570
+ currentLanguages={contentLanguages}
571
+ currentPageID={pageID}
572
+ fullWidth={true}
573
+ errors={errors}
574
+ errorActions={{ goToError, goToPackage }}
575
+ inversed={true}
576
+ isFromEditor={true}
577
+ pageStatusActions={pageStatusActions}
578
+ tabs={tabsPreview}
579
+ isDirty={isDirty}
580
+ scheduledPublication={editorContent?.publicationScheduled}
581
+ >
582
+ {selectedTab === "edit" ? (
583
+ <>
584
+ {isLivePageChanged && (
585
+ <S.NotificationWrapper>
586
+ <Notification type="warning" text={modifiedNotificationText} />
587
+ </S.NotificationWrapper>
588
+ )}
589
+ {isDeleted && (
590
+ <S.NotificationWrapper>
591
+ <Notification
592
+ type="error"
593
+ text={deletedNotificationText}
594
+ btnText="Restore page"
595
+ onClick={toggleRestoreModal}
596
+ />
597
+ </S.NotificationWrapper>
598
+ )}
599
+ {sitePageID && (
600
+ <S.NotificationWrapper>
601
+ <Notification type="info" text={globalNotificationText} btnText="Go Back" onClick={goBackToSite} />
602
+ </S.NotificationWrapper>
603
+ )}
604
+ {notification && (
605
+ <S.NotificationWrapper>
606
+ <Notification
607
+ type={notification.type}
608
+ text={notification.text}
609
+ btnText={notification.btnText}
610
+ onClick={notification.onClick}
611
+ resetError={() => setNotification(null)}
612
+ />
613
+ </S.NotificationWrapper>
614
+ )}
615
+ <ErrorToast size="l" fixed />
616
+ <S.Content>
617
+ <Editor
618
+ isGlobal={true}
619
+ isEditable={isEditable}
620
+ isReadOnly={isReadOnly}
621
+ theme={theme}
622
+ browserRef={browserRef}
623
+ setNotification={setNotification}
624
+ isEditLive={isEditLive}
625
+ isDisabled={isDeleted}
626
+ />
627
+ </S.Content>
628
+ </>
629
+ ) : (
630
+ <Preview theme={theme} />
631
+ )}
632
+ <Modal
633
+ isOpen={isOpen}
634
+ hide={toggleModal}
635
+ size="S"
636
+ title="This page is currently being edited"
637
+ mainAction={mainAction}
638
+ secondaryAction={secondaryAction}
639
+ >
640
+ {isOpen && (
641
+ <S.ModalContent>
642
+ <p>
643
+ <strong>{userEditing && userEditing.name}</strong> is currently working on this page. You can preview
644
+ the page but <strong>you cannot make changes to it</strong> until {userEditing && userEditing.name}{" "}
645
+ leaves the page.
646
+ </p>
647
+ </S.ModalContent>
648
+ )}
649
+ </Modal>
650
+ <Modal
651
+ isOpen={isUnpublishOpen}
652
+ hide={toggleUnpublishModal}
653
+ size="S"
654
+ title="Unpublish Modified Page"
655
+ mainAction={mainUnpublishAction}
656
+ >
657
+ {isUnpublishOpen && (
658
+ <S.ModalContent>
659
+ <p>
660
+ There are some saved changes that are not published on this page. To Unpublish this page,{" "}
661
+ <strong>you must publish these changes or discard them.</strong>
662
+ </p>
663
+ </S.ModalContent>
664
+ )}
665
+ </Modal>
666
+ <ScheduleModal
667
+ isOpen={isScheduleOpen}
668
+ toggleModal={toggleScheduleModal}
669
+ mainModalAction={mainScheduleModalAction}
670
+ secondaryModalAction={secondaryScheduleModalAction}
671
+ scheduleDate={scheduleDate}
672
+ setScheduleDate={setScheduleDate}
673
+ />
674
+ <CancelScheduleModal
675
+ isOpen={isCancelScheduleOpen}
676
+ toggleModal={toggleCancelScheduleModal}
677
+ mainModalAction={mainCancelScheduleModalAction}
678
+ secondaryModalAction={secondaryCancelScheduleModalAction}
679
+ />
680
+ <RestoreModal
681
+ isOpen={isRestoreOpen}
682
+ toggleModal={toggleRestoreModal}
683
+ {...{
684
+ isChild: false,
685
+ hasIssues: schemaVersion !== editorContent.schemaVersionTimestamp,
686
+ restorePage: handleRestorePage,
687
+ }}
688
+ />
689
+ </MainWrapper>
690
+ </>
691
+ );
692
692
  };
693
693
 
694
694
  const mapStateToProps = (state: IRootState): IPageEditorStateProps => ({
695
- isSaving: state.app.isSaving,
696
- pageID: state.pageEditor.currentPageID as number,
697
- pageStatus: state.pageEditor.currentPageStatus as string,
698
- pageName: state.pageEditor.currentPageName,
699
- isLoading: state.app.isLoading,
700
- lang: state.app.lang,
701
- globalLangs: state.app.globalLangs,
702
- pageLanguages: state.pageEditor.currentPageLanguages,
703
- editorContent: state.pageEditor.editorContent,
704
- errors: state.pageEditor.errors,
705
- sitePageID: state.pageEditor.sitePageID,
706
- savedSiteInfo: state.sites.savedSiteInfo,
707
- userEditing: state.pageEditor.userEditing,
708
- currentUserID: state.users.currentUser && state.users.currentUser.id,
709
- isNewTranslation: state.pageEditor.isNewTranslation,
710
- currentSiteErrorPages: state.sites.currentSiteErrorPages,
711
- skipReviewOnPublish: state.app.globalSettings.skipReviewOnPublish,
712
- schemaVersion: state.structuredData.schemaVersion,
695
+ isSaving: state.app.isSaving,
696
+ pageID: state.pageEditor.currentPageID as number,
697
+ pageStatus: state.pageEditor.currentPageStatus as string,
698
+ pageName: state.pageEditor.currentPageName,
699
+ isLoading: state.app.isLoading,
700
+ lang: state.app.lang,
701
+ globalLangs: state.app.globalLangs,
702
+ pageLanguages: state.pageEditor.currentPageLanguages,
703
+ editorContent: state.pageEditor.editorContent,
704
+ errors: state.pageEditor.errors,
705
+ sitePageID: state.pageEditor.sitePageID,
706
+ savedSiteInfo: state.sites.savedSiteInfo,
707
+ userEditing: state.pageEditor.userEditing,
708
+ currentUserID: state.users.currentUser && state.users.currentUser.id,
709
+ isNewTranslation: state.pageEditor.isNewTranslation,
710
+ currentSiteErrorPages: state.sites.currentSiteErrorPages,
711
+ skipReviewOnPublish: state.app.globalSettings.skipReviewOnPublish,
712
+ schemaVersion: state.structuredData.schemaVersion,
713
713
  });
714
714
 
715
715
  interface IPageEditorStateProps {
716
- pageID: number;
717
- pageStatus: string;
718
- pageName: string;
719
- isSaving: boolean;
720
- isLoading: boolean;
721
- lang: { locale: string; id: number | null };
722
- globalLangs: ILanguage[];
723
- pageLanguages: IPageLanguage[];
724
- editorContent: any;
725
- errors: IErrorItem[];
726
- sitePageID: number | null;
727
- savedSiteInfo: any;
728
- userEditing: IUserEditing | null;
729
- currentUserID: number | null;
730
- isNewTranslation: boolean;
731
- currentSiteErrorPages: number[];
732
- skipReviewOnPublish?: boolean;
733
- schemaVersion: string;
716
+ pageID: number;
717
+ pageStatus: string;
718
+ pageName: string;
719
+ isSaving: boolean;
720
+ isLoading: boolean;
721
+ lang: { locale: string; id: number | null };
722
+ globalLangs: ILanguage[];
723
+ pageLanguages: IPageLanguage[];
724
+ editorContent: any;
725
+ errors: IErrorItem[];
726
+ sitePageID: number | null;
727
+ savedSiteInfo: any;
728
+ userEditing: IUserEditing | null;
729
+ currentUserID: number | null;
730
+ isNewTranslation: boolean;
731
+ currentSiteErrorPages: number[];
732
+ skipReviewOnPublish?: boolean;
733
+ schemaVersion: string;
734
734
  }
735
735
 
736
736
  const mapDispatchToProps = {
737
- getPage: pageEditorActions.getPage,
738
- savePage: pageEditorActions.savePage,
739
- deletePage: pageEditorActions.deletePage,
740
- validatePage: pageEditorActions.validatePage,
741
- updatePageStatus: pageEditorActions.updatePageStatus,
742
- setHistoryPush: appActions.setHistoryPush,
743
- setLanguage: appActions.setLanguage,
744
- createNewTranslation: pageEditorActions.createNewTranslation,
745
- setTab: pageEditorActions.setTab,
746
- setSelectedContent: pageEditorActions.setSelectedContent,
747
- setCurrentPageID: pageEditorActions.setCurrentPageID,
748
- setCurrentSiteInfo: sitesActions.setCurrentSiteInfo,
749
- sendPagePing: pageEditorActions.sendPagePing,
750
- setStructuredDataFilter: structuredDataActions.setFilter,
751
- discardDraft: pageEditorActions.discardDraft,
752
- getUserCurrentPermissions: usersActions.getUserCurrentPermissions,
753
- schedulePublication: pageEditorActions.schedulePublication,
754
- restorePage: pageEditorActions.restorePage,
737
+ getPage: pageEditorActions.getPage,
738
+ savePage: pageEditorActions.savePage,
739
+ deletePage: pageEditorActions.deletePage,
740
+ validatePage: pageEditorActions.validatePage,
741
+ updatePageStatus: pageEditorActions.updatePageStatus,
742
+ setHistoryPush: appActions.setHistoryPush,
743
+ setLanguage: appActions.setLanguage,
744
+ createNewTranslation: pageEditorActions.createNewTranslation,
745
+ setTab: pageEditorActions.setTab,
746
+ setSelectedContent: pageEditorActions.setSelectedContent,
747
+ setCurrentPageID: pageEditorActions.setCurrentPageID,
748
+ setCurrentSiteInfo: sitesActions.setCurrentSiteInfo,
749
+ sendPagePing: pageEditorActions.sendPagePing,
750
+ setStructuredDataFilter: structuredDataActions.setFilter,
751
+ discardDraft: pageEditorActions.discardDraft,
752
+ getUserCurrentPermissions: usersActions.getUserCurrentPermissions,
753
+ schedulePublication: pageEditorActions.schedulePublication,
754
+ restorePage: pageEditorActions.restorePage,
755
755
  };
756
756
 
757
757
  interface IPageEditorDispatchProps {
758
- getPage(pageID?: number, global?: boolean): Promise<void>;
759
- savePage(createDraft: boolean, publishPage?: any, publishDraft?: boolean): Promise<boolean>;
760
- deletePage(params?: ISavePageParams): Promise<boolean>;
761
- validatePage(publish?: boolean): Promise<boolean>;
762
- updatePageStatus(id: number[], status: string): Promise<boolean>;
763
- setHistoryPush(path: string, isEditor: boolean): void;
764
- setLanguage(lang: { locale: string; id: number | null }): void;
765
- createNewTranslation(isNewTranslation: boolean): void;
766
- setTab(tab: string): void;
767
- setSelectedContent(editorID: number): Promise<void>;
768
- setCurrentSiteInfo(currentSiteInfo: ISite | null): void;
769
- setCurrentPageID(currentPageID: number): void;
770
- sendPagePing(pageID: number): Promise<boolean>;
771
- setStructuredDataFilter(filter: string | null): void;
772
- discardDraft(): Promise<void>;
773
- getUserCurrentPermissions(): Promise<void>;
774
- schedulePublication(date: string | null, isDraft: boolean): Promise<boolean>;
775
- restorePage(id: number | number[]): Promise<boolean>;
758
+ getPage(pageID?: number, global?: boolean): Promise<void>;
759
+ savePage(createDraft: boolean, publishPage?: any, publishDraft?: boolean): Promise<boolean>;
760
+ deletePage(params?: ISavePageParams): Promise<boolean>;
761
+ validatePage(publish?: boolean): Promise<boolean>;
762
+ updatePageStatus(id: number[], status: string): Promise<boolean>;
763
+ setHistoryPush(path: string, isEditor: boolean): void;
764
+ setLanguage(lang: { locale: string; id: number | null }): void;
765
+ createNewTranslation(isNewTranslation: boolean): void;
766
+ setTab(tab: string): void;
767
+ setSelectedContent(editorID: number): Promise<void>;
768
+ setCurrentSiteInfo(currentSiteInfo: ISite | null): void;
769
+ setCurrentPageID(currentPageID: number): void;
770
+ sendPagePing(pageID: number): Promise<boolean>;
771
+ setStructuredDataFilter(filter: string | null): void;
772
+ discardDraft(): Promise<void>;
773
+ getUserCurrentPermissions(): Promise<void>;
774
+ schedulePublication(date: string | null, isDraft: boolean): Promise<boolean>;
775
+ restorePage(id: number | number[]): Promise<boolean>;
776
776
  }
777
777
 
778
778
  type IProps = IPageEditorStateProps & IPageEditorDispatchProps & RouteComponentProps;