@webiny/app-admin 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (921) hide show
  1. package/assets/icons/add-18px.js +20 -0
  2. package/assets/icons/add-18px.js.map +1 -0
  3. package/assets/icons/arrow_drop_down-24px.js +20 -0
  4. package/assets/icons/arrow_drop_down-24px.js.map +1 -0
  5. package/assets/icons/attach_file_black_24dp.js +20 -0
  6. package/assets/icons/attach_file_black_24dp.js.map +1 -0
  7. package/assets/icons/baseline-menu-24px.js +20 -0
  8. package/assets/icons/baseline-menu-24px.js.map +1 -0
  9. package/assets/icons/baseline-notification_important-24px.js +19 -0
  10. package/assets/icons/baseline-notification_important-24px.js.map +1 -0
  11. package/assets/icons/baseline-security-24px.js +19 -0
  12. package/assets/icons/baseline-security-24px.js.map +1 -0
  13. package/assets/icons/file_download.js +19 -0
  14. package/assets/icons/file_download.js.map +1 -0
  15. package/assets/icons/file_upload.js +19 -0
  16. package/assets/icons/file_upload.js.map +1 -0
  17. package/assets/icons/filter-24px.js +23 -0
  18. package/assets/icons/filter-24px.js.map +1 -0
  19. package/assets/icons/github-brands.js +19 -0
  20. package/assets/icons/github-brands.js.map +1 -0
  21. package/assets/icons/highlight-24px.js +19 -0
  22. package/assets/icons/highlight-24px.js.map +1 -0
  23. package/assets/icons/icon-community.js +18 -0
  24. package/assets/icons/icon-community.js.map +1 -0
  25. package/assets/icons/icon-documentation.js +18 -0
  26. package/assets/icons/icon-documentation.js.map +1 -0
  27. package/assets/icons/info.js +19 -0
  28. package/assets/icons/info.js.map +1 -0
  29. package/assets/icons/insert_drive_file-24px.js +19 -0
  30. package/assets/icons/insert_drive_file-24px.js.map +1 -0
  31. package/assets/icons/insert_photo-24px.js +19 -0
  32. package/assets/icons/insert_photo-24px.js.map +1 -0
  33. package/assets/icons/label-24px.js +19 -0
  34. package/assets/icons/label-24px.js.map +1 -0
  35. package/assets/icons/round-account_circle-24px.js +19 -0
  36. package/assets/icons/round-account_circle-24px.js.map +1 -0
  37. package/assets/icons/round-add-24px.js +20 -0
  38. package/assets/icons/round-add-24px.js.map +1 -0
  39. package/assets/icons/round-arrow_drop_down-24px.js +19 -0
  40. package/assets/icons/round-arrow_drop_down-24px.js.map +1 -0
  41. package/assets/icons/round-chevron_right-24px.js +20 -0
  42. package/assets/icons/round-chevron_right-24px.js.map +1 -0
  43. package/assets/icons/round-feedback-24px.js +20 -0
  44. package/assets/icons/round-feedback-24px.js.map +1 -0
  45. package/assets/icons/round-help-24px.js +19 -0
  46. package/assets/icons/round-help-24px.js.map +1 -0
  47. package/assets/icons/round-invert_colors-24px.js +20 -0
  48. package/assets/icons/round-invert_colors-24px.js.map +1 -0
  49. package/assets/icons/round-keyboard_arrow_down-24px.js +17 -0
  50. package/assets/icons/round-keyboard_arrow_down-24px.js.map +1 -0
  51. package/assets/icons/round-keyboard_arrow_up-24px.js +17 -0
  52. package/assets/icons/round-keyboard_arrow_up-24px.js.map +1 -0
  53. package/assets/icons/round-lock_open-24px.js +22 -0
  54. package/assets/icons/round-lock_open-24px.js.map +1 -0
  55. package/assets/icons/round-more_vert-24px.js +20 -0
  56. package/assets/icons/round-more_vert-24px.js.map +1 -0
  57. package/assets/icons/round-open_in_new-24px.js +20 -0
  58. package/assets/icons/round-open_in_new-24px.js.map +1 -0
  59. package/assets/icons/round-settings-24px.js +20 -0
  60. package/assets/icons/round-settings-24px.js.map +1 -0
  61. package/assets/icons/search-24px.js +21 -0
  62. package/assets/icons/search-24px.js.map +1 -0
  63. package/assets/icons/slack-logo.js +14 -0
  64. package/assets/icons/slack-logo.js.map +1 -0
  65. package/assets/icons/today-24px.js +19 -0
  66. package/assets/icons/today-24px.js.map +1 -0
  67. package/assets/icons/touch_app.js +20 -0
  68. package/assets/icons/touch_app.js.map +1 -0
  69. package/assets/images/webiny-logo.js +34 -0
  70. package/assets/images/webiny-logo.js.map +1 -0
  71. package/assets/images/webiny-orange-logo.js +34 -0
  72. package/assets/images/webiny-orange-logo.js.map +1 -0
  73. package/base/Admin.js +37 -28
  74. package/base/Admin.js.map +1 -1
  75. package/base/Base/DefaultFieldRenderers.js +73 -70
  76. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  77. package/base/Base/DefaultLayoutRenderers.js +9 -10
  78. package/base/Base/DefaultLayoutRenderers.js.map +1 -1
  79. package/base/Base/FieldRenderers/CheckboxesRenderer.js +22 -23
  80. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -1
  81. package/base/Base/FieldRenderers/CodeEditorRenderer.js +10 -13
  82. package/base/Base/FieldRenderers/CodeEditorRenderer.js.map +1 -1
  83. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +60 -60
  84. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -1
  85. package/base/Base/FieldRenderers/DateTimeRenderer.js +38 -39
  86. package/base/Base/FieldRenderers/DateTimeRenderer.js.map +1 -1
  87. package/base/Base/FieldRenderers/FilePickerRenderer.d.ts +2 -1
  88. package/base/Base/FieldRenderers/FilePickerRenderer.js +37 -40
  89. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -1
  90. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +15 -20
  91. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -1
  92. package/base/Base/FieldRenderers/HiddenRenderer.js +3 -3
  93. package/base/Base/FieldRenderers/HiddenRenderer.js.map +1 -1
  94. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +20 -21
  95. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -1
  96. package/base/Base/FieldRenderers/InputRenderer.js +16 -20
  97. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -1
  98. package/base/Base/FieldRenderers/MultiFilePickerRenderer.d.ts +13 -0
  99. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +70 -0
  100. package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -0
  101. package/base/Base/FieldRenderers/NumberInputRenderer.js +16 -19
  102. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -1
  103. package/base/Base/FieldRenderers/NumberInputsRenderer.js +45 -44
  104. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -1
  105. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +10 -13
  106. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -1
  107. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +50 -56
  108. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -1
  109. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +87 -99
  110. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +1 -1
  111. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +41 -48
  112. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
  113. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +1 -2
  114. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +62 -78
  115. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  116. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +12 -15
  117. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  118. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +48 -54
  119. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
  120. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +62 -79
  121. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -1
  122. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +14 -17
  123. package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -1
  124. package/base/Base/FieldRenderers/PassthroughRenderer.js +8 -11
  125. package/base/Base/FieldRenderers/PassthroughRenderer.js.map +1 -1
  126. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +21 -22
  127. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
  128. package/base/Base/FieldRenderers/SelectRenderer.js +23 -24
  129. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  130. package/base/Base/FieldRenderers/SwitchRenderer.js +12 -15
  131. package/base/Base/FieldRenderers/SwitchRenderer.js.map +1 -1
  132. package/base/Base/FieldRenderers/TagsRenderer.js +15 -16
  133. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -1
  134. package/base/Base/FieldRenderers/TextInputsRenderer.js +44 -43
  135. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -1
  136. package/base/Base/FieldRenderers/TextareaRenderer.js +17 -21
  137. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -1
  138. package/base/Base/FieldRenderers/TextareasRenderer.js +47 -46
  139. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -1
  140. package/base/Base/FieldRenderers/VerticalTabsRenderer.js +35 -36
  141. package/base/Base/FieldRenderers/VerticalTabsRenderer.js.map +1 -1
  142. package/base/Base/LexicalPreset.js +56 -60
  143. package/base/Base/LexicalPreset.js.map +1 -1
  144. package/base/Base/Menus/SupportMenuItems.js +9 -13
  145. package/base/Base/Menus/SupportMenuItems.js.map +1 -1
  146. package/base/Base/Menus/WebinyVersion.js +19 -20
  147. package/base/Base/Menus/WebinyVersion.js.map +1 -1
  148. package/base/Base/Menus.js +52 -66
  149. package/base/Base/Menus.js.map +1 -1
  150. package/base/Base/RoutesConfig.js +21 -29
  151. package/base/Base/RoutesConfig.js.map +1 -1
  152. package/base/Base/Tenant/wby-horizontal.js +33 -0
  153. package/base/Base/Tenant/wby-horizontal.js.map +1 -0
  154. package/base/Base/Tenant/wby-square.js +20 -0
  155. package/base/Base/Tenant/wby-square.js.map +1 -0
  156. package/base/Base/Tenant.js +17 -19
  157. package/base/Base/Tenant.js.map +1 -1
  158. package/base/Base/UserMenu/ExitTenant.js +18 -29
  159. package/base/Base/UserMenu/ExitTenant.js.map +1 -1
  160. package/base/Base/UserMenu/SignOut.js +13 -14
  161. package/base/Base/UserMenu/SignOut.js.map +1 -1
  162. package/base/Base/UserMenu/UserInfo.js +23 -36
  163. package/base/Base/UserMenu/UserInfo.js.map +1 -1
  164. package/base/Base/UserMenu.js +12 -13
  165. package/base/Base/UserMenu.js.map +1 -1
  166. package/base/Base.js +4 -5
  167. package/base/Base.js.map +1 -1
  168. package/base/TelemetryAdminAppStart.js +9 -12
  169. package/base/TelemetryAdminAppStart.js.map +1 -1
  170. package/base/WebinyVersion.js +19 -20
  171. package/base/WebinyVersion.js.map +1 -1
  172. package/base/createRootContainer.js +42 -40
  173. package/base/createRootContainer.js.map +1 -1
  174. package/base/plugins/AddGraphQLQuerySelection.js +12 -11
  175. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  176. package/base/providers/AdminUiStateProvider.js +5 -10
  177. package/base/providers/AdminUiStateProvider.js.map +1 -1
  178. package/base/providers/ApolloProvider.js +8 -11
  179. package/base/providers/ApolloProvider.js.map +1 -1
  180. package/base/providers/UiProviders.js +18 -27
  181. package/base/providers/UiProviders.js.map +1 -1
  182. package/base/providers/UiStateProvider.js +5 -10
  183. package/base/providers/UiStateProvider.js.map +1 -1
  184. package/base/ui/Brand.js +4 -5
  185. package/base/ui/Brand.js.map +1 -1
  186. package/base/ui/CenteredView.d.ts +1 -1
  187. package/base/ui/CenteredView.js +9 -13
  188. package/base/ui/CenteredView.js.map +1 -1
  189. package/base/ui/Dashboard.js +4 -5
  190. package/base/ui/Dashboard.js.map +1 -1
  191. package/base/ui/FileManager.js +38 -60
  192. package/base/ui/FileManager.js.map +1 -1
  193. package/base/ui/Layout.js +4 -8
  194. package/base/ui/Layout.js.map +1 -1
  195. package/base/ui/LoginScreen.js +16 -21
  196. package/base/ui/LoginScreen.js.map +1 -1
  197. package/base/ui/Logo.js +4 -5
  198. package/base/ui/Logo.js.map +1 -1
  199. package/base/ui/Navigation.js +11 -14
  200. package/base/ui/Navigation.js.map +1 -1
  201. package/base/ui/NotFound.js +4 -5
  202. package/base/ui/NotFound.js.map +1 -1
  203. package/base/ui/Tags.js +12 -16
  204. package/base/ui/Tags.js.map +1 -1
  205. package/base/ui/TenantSelector.js +4 -5
  206. package/base/ui/TenantSelector.js.map +1 -1
  207. package/base/ui/UserMenu/UserMenu.js +4 -5
  208. package/base/ui/UserMenu/UserMenu.js.map +1 -1
  209. package/base/ui/UserMenu/UserMenuHandle.js +4 -5
  210. package/base/ui/UserMenu/UserMenuHandle.js.map +1 -1
  211. package/base/ui/UserMenu/UserMenuItem.d.ts +4 -4
  212. package/base/ui/UserMenu/UserMenuItem.js +5 -15
  213. package/base/ui/UserMenu/UserMenuItem.js.map +1 -1
  214. package/base/ui/UserMenu/UserMenuLink.d.ts +4 -4
  215. package/base/ui/UserMenu/UserMenuLink.js +5 -15
  216. package/base/ui/UserMenu/UserMenuLink.js.map +1 -1
  217. package/base/ui/UserMenu/UserMenuSeparator.d.ts +2 -2
  218. package/base/ui/UserMenu/UserMenuSeparator.js +3 -5
  219. package/base/ui/UserMenu/UserMenuSeparator.js.map +1 -1
  220. package/base/ui/UserMenu.js +6 -13
  221. package/base/ui/UserMenu.js.map +1 -1
  222. package/components/AdminLayout.js +6 -10
  223. package/components/AdminLayout.js.map +1 -1
  224. package/components/BulkActions/Worker.js +57 -120
  225. package/components/BulkActions/Worker.js.map +1 -1
  226. package/components/BulkActions/index.js +0 -2
  227. package/components/BulkActions/useDialogWithReport/DialogMessage.js +17 -21
  228. package/components/BulkActions/useDialogWithReport/DialogMessage.js.map +1 -1
  229. package/components/BulkActions/useDialogWithReport/index.js +0 -2
  230. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js +33 -44
  231. package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
  232. package/components/Buttons/Buttons.js +44 -71
  233. package/components/Buttons/Buttons.js.map +1 -1
  234. package/components/Buttons/Buttons.styles.js +9 -15
  235. package/components/Buttons/Buttons.styles.js.map +1 -1
  236. package/components/Buttons/index.js +1 -3
  237. package/components/Buttons/useButtons.js +15 -20
  238. package/components/Buttons/useButtons.js.map +1 -1
  239. package/components/DeveloperMode/DeveloperMode.js +5 -14
  240. package/components/DeveloperMode/DeveloperMode.js.map +1 -1
  241. package/components/DeveloperMode/index.js +0 -2
  242. package/components/Dialogs/Dialog.d.ts +2 -2
  243. package/components/Dialogs/Dialog.js +46 -59
  244. package/components/Dialogs/Dialog.js.map +1 -1
  245. package/components/Dialogs/DialogParamsContext.js +6 -7
  246. package/components/Dialogs/DialogParamsContext.js.map +1 -1
  247. package/components/Dialogs/DialogsContext.d.ts +2 -2
  248. package/components/Dialogs/DialogsContext.js +129 -149
  249. package/components/Dialogs/DialogsContext.js.map +1 -1
  250. package/components/Dialogs/useDialogs.js +5 -6
  251. package/components/Dialogs/useDialogs.js.map +1 -1
  252. package/components/EmptyView.js +26 -31
  253. package/components/EmptyView.js.map +1 -1
  254. package/components/Filters/Filters.js +15 -16
  255. package/components/Filters/Filters.js.map +1 -1
  256. package/components/Filters/FiltersToggle.js +18 -23
  257. package/components/Filters/FiltersToggle.js.map +1 -1
  258. package/components/Filters/index.js +0 -2
  259. package/components/FloatingActionButton.js +13 -15
  260. package/components/FloatingActionButton.js.map +1 -1
  261. package/components/IconPicker/IconPicker.js +24 -26
  262. package/components/IconPicker/IconPicker.js.map +1 -1
  263. package/components/IconPicker/IconPickerComponent.js +56 -72
  264. package/components/IconPicker/IconPickerComponent.js.map +1 -1
  265. package/components/IconPicker/IconPickerPresenter.js +64 -70
  266. package/components/IconPicker/IconPickerPresenter.js.map +1 -1
  267. package/components/IconPicker/IconPickerPresenter.test.js +79 -105
  268. package/components/IconPicker/IconPickerPresenter.test.js.map +1 -1
  269. package/components/IconPicker/IconPickerPresenterProvider.js +10 -16
  270. package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -1
  271. package/components/IconPicker/IconPickerTab.js +97 -140
  272. package/components/IconPicker/IconPickerTab.js.map +1 -1
  273. package/components/IconPicker/IconRenderer.js +15 -23
  274. package/components/IconPicker/IconRenderer.js.map +1 -1
  275. package/components/IconPicker/IconRepository.js +41 -40
  276. package/components/IconPicker/IconRepository.js.map +1 -1
  277. package/components/IconPicker/IconRepository.test.js +56 -63
  278. package/components/IconPicker/IconRepository.test.js.map +1 -1
  279. package/components/IconPicker/IconRepositoryFactory.js +15 -11
  280. package/components/IconPicker/IconRepositoryFactory.js.map +1 -1
  281. package/components/IconPicker/Loading.js +47 -46
  282. package/components/IconPicker/Loading.js.map +1 -1
  283. package/components/IconPicker/components/IconPickerCell.js +18 -20
  284. package/components/IconPicker/components/IconPickerCell.js.map +1 -1
  285. package/components/IconPicker/components/IconPickerContent.js +27 -35
  286. package/components/IconPicker/components/IconPickerContent.js.map +1 -1
  287. package/components/IconPicker/components/IconPickerRow.js +5 -10
  288. package/components/IconPicker/components/IconPickerRow.js.map +1 -1
  289. package/components/IconPicker/components/IconPickerTrigger.js +42 -44
  290. package/components/IconPicker/components/IconPickerTrigger.js.map +1 -1
  291. package/components/IconPicker/components/index.js +0 -2
  292. package/components/IconPicker/config/Emojis.js +19 -21
  293. package/components/IconPicker/config/Emojis.js.map +1 -1
  294. package/components/IconPicker/config/FontAwesomeIcons.js +54 -58
  295. package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -1
  296. package/components/IconPicker/config/IconPackProvider.js +17 -19
  297. package/components/IconPicker/config/IconPackProvider.js.map +1 -1
  298. package/components/IconPicker/config/IconType.js +48 -80
  299. package/components/IconPicker/config/IconType.js.map +1 -1
  300. package/components/IconPicker/config/index.js +28 -31
  301. package/components/IconPicker/config/index.js.map +1 -1
  302. package/components/IconPicker/defaultIcon.js +6 -5
  303. package/components/IconPicker/defaultIcon.js.map +1 -1
  304. package/components/IconPicker/index.js +0 -2
  305. package/components/IconPicker/plugins/customPlugin.js +87 -110
  306. package/components/IconPicker/plugins/customPlugin.js.map +1 -1
  307. package/components/IconPicker/plugins/emojisPlugin.js +90 -115
  308. package/components/IconPicker/plugins/emojisPlugin.js.map +1 -1
  309. package/components/IconPicker/plugins/graphql.js +3 -8
  310. package/components/IconPicker/plugins/graphql.js.map +1 -1
  311. package/components/IconPicker/plugins/iconsPlugin.js +73 -104
  312. package/components/IconPicker/plugins/iconsPlugin.js.map +1 -1
  313. package/components/IconPicker/types.js +4 -7
  314. package/components/IconPicker/types.js.map +1 -1
  315. package/components/LexicalEditor/LexicalEditor.js +40 -38
  316. package/components/LexicalEditor/LexicalEditor.js.map +1 -1
  317. package/components/LexicalEditor/LexicalLinkForm.js +80 -86
  318. package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
  319. package/components/LexicalEditor/index.js +0 -2
  320. package/components/LexicalEditor/lexicalValueFromHtml.js +21 -28
  321. package/components/LexicalEditor/lexicalValueFromHtml.js.map +1 -1
  322. package/components/LexicalEditor/lexicalValueWithHtml.js +24 -30
  323. package/components/LexicalEditor/lexicalValueWithHtml.js.map +1 -1
  324. package/components/MultiImageUpload.js +4 -13
  325. package/components/MultiImageUpload.js.map +1 -1
  326. package/components/NotAuthorizedError/NotAuthorizedError.js +16 -17
  327. package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
  328. package/components/NotAuthorizedError/SecureRouteError.js +297 -0
  329. package/components/NotAuthorizedError/SecureRouteError.js.map +1 -0
  330. package/components/NotAuthorizedError/index.js +0 -2
  331. package/components/OptionsMenu/OptionsMenu.js +20 -19
  332. package/components/OptionsMenu/OptionsMenu.js.map +1 -1
  333. package/components/OptionsMenu/OptionsMenuItem.js +15 -14
  334. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  335. package/components/OptionsMenu/OptionsMenuLink.js +13 -14
  336. package/components/OptionsMenu/OptionsMenuLink.js.map +1 -1
  337. package/components/OptionsMenu/index.js +0 -2
  338. package/components/OptionsMenu/useOptionsMenuItem.js +13 -18
  339. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -1
  340. package/components/OverlayLayout/OverlayLayout.js +35 -38
  341. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  342. package/components/OverlayLayout/components/OverlayBackdrop.js +6 -11
  343. package/components/OverlayLayout/components/OverlayBackdrop.js.map +1 -1
  344. package/components/OverlayLayout/components/OverlayContent.js +18 -17
  345. package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
  346. package/components/OverlayLayout/components/OverlayHeader.js +30 -37
  347. package/components/OverlayLayout/components/OverlayHeader.js.map +1 -1
  348. package/components/OverlayLayout/components/OverlayRoot.js +13 -17
  349. package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
  350. package/components/OverlayLayout/components/index.js +0 -2
  351. package/components/OverlayLayout/index.js +0 -2
  352. package/components/Permissions/CannotUseAaclAlert.js +10 -11
  353. package/components/Permissions/CannotUseAaclAlert.js.map +1 -1
  354. package/components/Permissions/Permissions.js +32 -41
  355. package/components/Permissions/Permissions.js.map +1 -1
  356. package/components/Permissions/PermissionsGroup.js +9 -15
  357. package/components/Permissions/PermissionsGroup.js.map +1 -1
  358. package/components/Permissions/StyledComponents.js +9 -16
  359. package/components/Permissions/StyledComponents.js.map +1 -1
  360. package/components/Permissions/index.js +1 -3
  361. package/components/RegisterFeature.js +14 -21
  362. package/components/RegisterFeature.js.map +1 -1
  363. package/components/ResizablePanels/index.js +0 -2
  364. package/components/RoleAutocomplete/graphql.js +3 -2
  365. package/components/RoleAutocomplete/graphql.js.map +1 -1
  366. package/components/RoleAutocomplete/index.d.ts +5 -3
  367. package/components/RoleAutocomplete/index.js +21 -13
  368. package/components/RoleAutocomplete/index.js.map +1 -1
  369. package/components/RolesMultiAutocomplete/graphql.js +3 -2
  370. package/components/RolesMultiAutocomplete/graphql.js.map +1 -1
  371. package/components/RolesMultiAutocomplete/index.d.ts +5 -3
  372. package/components/RolesMultiAutocomplete/index.js +21 -14
  373. package/components/RolesMultiAutocomplete/index.js.map +1 -1
  374. package/components/SearchUI.js +18 -25
  375. package/components/SearchUI.js.map +1 -1
  376. package/components/SimpleForm/SimpleForm.d.ts +1 -1
  377. package/components/SimpleForm/SimpleForm.js +54 -73
  378. package/components/SimpleForm/SimpleForm.js.map +1 -1
  379. package/components/SimpleForm/index.js +1 -3
  380. package/components/SimpleUI/InputField.js +71 -64
  381. package/components/SimpleUI/InputField.js.map +1 -1
  382. package/components/SingleImageUpload.d.ts +2 -2
  383. package/components/SingleImageUpload.js +37 -58
  384. package/components/SingleImageUpload.js.map +1 -1
  385. package/components/SplitView/SplitView.js +47 -57
  386. package/components/SplitView/SplitView.js.map +1 -1
  387. package/components/SplitView/index.js +1 -3
  388. package/components/TeamAutocomplete/graphql.js +3 -2
  389. package/components/TeamAutocomplete/graphql.js.map +1 -1
  390. package/components/TeamAutocomplete/index.d.ts +5 -3
  391. package/components/TeamAutocomplete/index.js +21 -13
  392. package/components/TeamAutocomplete/index.js.map +1 -1
  393. package/components/TeamsMultiAutocomplete/graphql.js +3 -2
  394. package/components/TeamsMultiAutocomplete/graphql.js.map +1 -1
  395. package/components/TeamsMultiAutocomplete/index.d.ts +5 -3
  396. package/components/TeamsMultiAutocomplete/index.js +21 -14
  397. package/components/TeamsMultiAutocomplete/index.js.map +1 -1
  398. package/components/Wcp.js +27 -38
  399. package/components/Wcp.js.map +1 -1
  400. package/components/index.js +10 -13
  401. package/config/AdminConfig/Dashboard.js +3 -2
  402. package/config/AdminConfig/Dashboard.js.map +1 -1
  403. package/config/AdminConfig/Dialog.js +15 -17
  404. package/config/AdminConfig/Dialog.js.map +1 -1
  405. package/config/AdminConfig/FieldRenderer.js +15 -17
  406. package/config/AdminConfig/FieldRenderer.js.map +1 -1
  407. package/config/AdminConfig/Form.js +4 -3
  408. package/config/AdminConfig/Form.js.map +1 -1
  409. package/config/AdminConfig/LayoutRenderer.js +15 -17
  410. package/config/AdminConfig/LayoutRenderer.js.map +1 -1
  411. package/config/AdminConfig/LexicalTheme/Color.js +34 -41
  412. package/config/AdminConfig/LexicalTheme/Color.js.map +1 -1
  413. package/config/AdminConfig/LexicalTheme/Typography.js +61 -74
  414. package/config/AdminConfig/LexicalTheme/Typography.js.map +1 -1
  415. package/config/AdminConfig/LexicalTheme.js +4 -3
  416. package/config/AdminConfig/LexicalTheme.js.map +1 -1
  417. package/config/AdminConfig/Logo.d.ts +1 -1
  418. package/config/AdminConfig/Logo.js +15 -17
  419. package/config/AdminConfig/Logo.js.map +1 -1
  420. package/config/AdminConfig/Menu/MenuGroup.d.ts +3 -3
  421. package/config/AdminConfig/Menu/MenuGroup.js +7 -9
  422. package/config/AdminConfig/Menu/MenuGroup.js.map +1 -1
  423. package/config/AdminConfig/Menu/MenuItem.d.ts +2 -2
  424. package/config/AdminConfig/Menu/MenuItem.js +5 -7
  425. package/config/AdminConfig/Menu/MenuItem.js.map +1 -1
  426. package/config/AdminConfig/Menu/MenuLink.d.ts +2 -2
  427. package/config/AdminConfig/Menu/MenuLink.js +12 -15
  428. package/config/AdminConfig/Menu/MenuLink.js.map +1 -1
  429. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.d.ts +2 -2
  430. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js +6 -8
  431. package/config/AdminConfig/Menu/SupportMenu/SupportMenuItem.js.map +1 -1
  432. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.d.ts +1 -1
  433. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js +4 -6
  434. package/config/AdminConfig/Menu/SupportMenu/SupportMenuLink.js.map +1 -1
  435. package/config/AdminConfig/Menu/SupportMenu.d.ts +3 -3
  436. package/config/AdminConfig/Menu/SupportMenu.js +30 -41
  437. package/config/AdminConfig/Menu/SupportMenu.js.map +1 -1
  438. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js +4 -4
  439. package/config/AdminConfig/Menu/UserMenu/UserMenuItem.js.map +1 -1
  440. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js +4 -4
  441. package/config/AdminConfig/Menu/UserMenu/UserMenuLink.js.map +1 -1
  442. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js +0 -2
  443. package/config/AdminConfig/Menu/UserMenu/types.js +0 -3
  444. package/config/AdminConfig/Menu/UserMenu.d.ts +31 -31
  445. package/config/AdminConfig/Menu/UserMenu.js +39 -52
  446. package/config/AdminConfig/Menu/UserMenu.js.map +1 -1
  447. package/config/AdminConfig/Menu/types.js +0 -3
  448. package/config/AdminConfig/Menu.d.ts +42 -42
  449. package/config/AdminConfig/Menu.js +57 -73
  450. package/config/AdminConfig/Menu.js.map +1 -1
  451. package/config/AdminConfig/Route.js +4 -5
  452. package/config/AdminConfig/Route.js.map +1 -1
  453. package/config/AdminConfig/Security.js +3 -2
  454. package/config/AdminConfig/Security.js.map +1 -1
  455. package/config/AdminConfig/SecurityPermissions.js +20 -27
  456. package/config/AdminConfig/SecurityPermissions.js.map +1 -1
  457. package/config/AdminConfig/Tenant/TenantLogo.d.ts +1 -1
  458. package/config/AdminConfig/Tenant/TenantLogo.js +18 -20
  459. package/config/AdminConfig/Tenant/TenantLogo.js.map +1 -1
  460. package/config/AdminConfig/Tenant/TenantName.d.ts +1 -1
  461. package/config/AdminConfig/Tenant/TenantName.js +14 -15
  462. package/config/AdminConfig/Tenant/TenantName.js.map +1 -1
  463. package/config/AdminConfig/Tenant.js +6 -9
  464. package/config/AdminConfig/Tenant.js.map +1 -1
  465. package/config/AdminConfig/Theme/assignColor.js +51 -18
  466. package/config/AdminConfig/Theme/assignColor.js.map +1 -1
  467. package/config/AdminConfig/Theme/consts.js +20 -2
  468. package/config/AdminConfig/Theme/consts.js.map +1 -1
  469. package/config/AdminConfig/Theme/types.js +0 -3
  470. package/config/AdminConfig/Theme.js +8 -15
  471. package/config/AdminConfig/Theme.js.map +1 -1
  472. package/config/AdminConfig/Title.d.ts +1 -1
  473. package/config/AdminConfig/Title.js +11 -12
  474. package/config/AdminConfig/Title.js.map +1 -1
  475. package/config/AdminConfig/Widget.js +24 -31
  476. package/config/AdminConfig/Widget.js.map +1 -1
  477. package/config/AdminConfig.js +47 -59
  478. package/config/AdminConfig.js.map +1 -1
  479. package/config/createAdminConfig.js +55 -86
  480. package/config/createAdminConfig.js.map +1 -1
  481. package/domain/Identity.js +78 -88
  482. package/domain/Identity.js.map +1 -1
  483. package/errors/ErrorOverlayNetworkErrorHandler.js +37 -52
  484. package/errors/ErrorOverlayNetworkErrorHandler.js.map +1 -1
  485. package/errors/TenantIsDisabled.js +19 -20
  486. package/errors/TenantIsDisabled.js.map +1 -1
  487. package/exports/admin/build-params.js +0 -5
  488. package/exports/admin/configs.js +0 -2
  489. package/exports/admin/form.js +3 -18
  490. package/exports/admin/security.js +1 -7
  491. package/exports/admin/tenancy.js +0 -2
  492. package/exports/admin/ui.js +1 -4
  493. package/exports/admin.js +1 -4
  494. package/features/apolloClient/abstraction.js +2 -1
  495. package/features/apolloClient/abstraction.js.map +1 -1
  496. package/features/apolloClient/feature.js +22 -30
  497. package/features/apolloClient/feature.js.map +1 -1
  498. package/features/buildParams/BuildParams.js +20 -14
  499. package/features/buildParams/BuildParams.js.map +1 -1
  500. package/features/buildParams/abstractions.js +3 -2
  501. package/features/buildParams/abstractions.js.map +1 -1
  502. package/features/buildParams/feature.js +11 -10
  503. package/features/buildParams/feature.js.map +1 -1
  504. package/features/buildParams/index.js +0 -2
  505. package/features/formModel/ConditionRuleEvaluator.js +39 -46
  506. package/features/formModel/ConditionRuleEvaluator.js.map +1 -1
  507. package/features/formModel/Field.d.ts +1 -0
  508. package/features/formModel/Field.js +334 -411
  509. package/features/formModel/Field.js.map +1 -1
  510. package/features/formModel/FieldBuilder.d.ts +2 -1
  511. package/features/formModel/FieldBuilder.js +148 -171
  512. package/features/formModel/FieldBuilder.js.map +1 -1
  513. package/features/formModel/FieldBuilder.test.js +217 -201
  514. package/features/formModel/FieldBuilder.test.js.map +1 -1
  515. package/features/formModel/FieldBuilderRegistry.js +23 -25
  516. package/features/formModel/FieldBuilderRegistry.js.map +1 -1
  517. package/features/formModel/FocusManager.js +69 -95
  518. package/features/formModel/FocusManager.js.map +1 -1
  519. package/features/formModel/FormErrors.d.ts +9 -0
  520. package/features/formModel/FormErrors.js +35 -0
  521. package/features/formModel/FormErrors.js.map +1 -0
  522. package/features/formModel/FormModel.d.ts +2 -0
  523. package/features/formModel/FormModel.js +391 -396
  524. package/features/formModel/FormModel.js.map +1 -1
  525. package/features/formModel/FormModel.test.js +3791 -3354
  526. package/features/formModel/FormModel.test.js.map +1 -1
  527. package/features/formModel/FormModelFactory.js +27 -17
  528. package/features/formModel/FormModelFactory.js.map +1 -1
  529. package/features/formModel/FormView.d.ts +2 -1
  530. package/features/formModel/FormView.js +168 -156
  531. package/features/formModel/FormView.js.map +1 -1
  532. package/features/formModel/LayoutBuilderFactory.js +300 -370
  533. package/features/formModel/LayoutBuilderFactory.js.map +1 -1
  534. package/features/formModel/LayoutMutator.js +118 -125
  535. package/features/formModel/LayoutMutator.js.map +1 -1
  536. package/features/formModel/LayoutResolver.js +174 -214
  537. package/features/formModel/LayoutResolver.js.map +1 -1
  538. package/features/formModel/ObjectField.js +524 -724
  539. package/features/formModel/ObjectField.js.map +1 -1
  540. package/features/formModel/PresenterErrors.d.ts +9 -0
  541. package/features/formModel/PresenterErrors.js +32 -0
  542. package/features/formModel/PresenterErrors.js.map +1 -0
  543. package/features/formModel/Rules.test.js +311 -276
  544. package/features/formModel/Rules.test.js.map +1 -1
  545. package/features/formModel/abstractions.d.ts +10 -0
  546. package/features/formModel/abstractions.js +5 -114
  547. package/features/formModel/abstractions.js.map +1 -1
  548. package/features/formModel/createFieldRenderer.js +33 -10
  549. package/features/formModel/createFieldRenderer.js.map +1 -1
  550. package/features/formModel/demo/FieldRenderersDemoPresenter.js +289 -220
  551. package/features/formModel/demo/FieldRenderersDemoPresenter.js.map +1 -1
  552. package/features/formModel/demo/FormModelDemo.js +191 -215
  553. package/features/formModel/demo/FormModelDemo.js.map +1 -1
  554. package/features/formModel/demo/FormModelDemoPresenter.js +132 -113
  555. package/features/formModel/demo/FormModelDemoPresenter.js.map +1 -1
  556. package/features/formModel/demo/FormModelPhase11Presenter.js +101 -98
  557. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -1
  558. package/features/formModel/demo/FormModelPhase8c1Presenter.js +64 -57
  559. package/features/formModel/demo/FormModelPhase8c1Presenter.js.map +1 -1
  560. package/features/formModel/feature.js +23 -22
  561. package/features/formModel/feature.js.map +1 -1
  562. package/features/formModel/fieldTypes/BooleanFieldType.js +18 -15
  563. package/features/formModel/fieldTypes/BooleanFieldType.js.map +1 -1
  564. package/features/formModel/fieldTypes/DateTimeFieldType.js +218 -341
  565. package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -1
  566. package/features/formModel/fieldTypes/FileFieldType.d.ts +12 -1
  567. package/features/formModel/fieldTypes/FileFieldType.js +48 -12
  568. package/features/formModel/fieldTypes/FileFieldType.js.map +1 -1
  569. package/features/formModel/fieldTypes/FileUrlFieldType.js +15 -12
  570. package/features/formModel/fieldTypes/FileUrlFieldType.js.map +1 -1
  571. package/features/formModel/fieldTypes/NumberFieldType.js +19 -18
  572. package/features/formModel/fieldTypes/NumberFieldType.js.map +1 -1
  573. package/features/formModel/fieldTypes/ObjectFieldType.js +80 -94
  574. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -1
  575. package/features/formModel/fieldTypes/TextFieldType.js +15 -12
  576. package/features/formModel/fieldTypes/TextFieldType.js.map +1 -1
  577. package/features/formModel/fieldTypes/index.js +7 -9
  578. package/features/formModel/index.d.ts +2 -0
  579. package/features/formModel/index.js +11 -29
  580. package/features/formModel/renderers.js +0 -4
  581. package/features/formModel/useFieldRenderers.js +10 -14
  582. package/features/formModel/useFieldRenderers.js.map +1 -1
  583. package/features/formModel/useLayoutRenderers.js +10 -14
  584. package/features/formModel/useLayoutRenderers.js.map +1 -1
  585. package/features/listCache/ListCache.d.ts +28 -0
  586. package/features/listCache/ListCache.js +48 -0
  587. package/features/listCache/ListCache.js.map +1 -0
  588. package/features/listCache/index.d.ts +2 -0
  589. package/features/listCache/index.js +1 -0
  590. package/features/security/AuthenticationContext/AuthenticationContext.js +27 -26
  591. package/features/security/AuthenticationContext/AuthenticationContext.js.map +1 -1
  592. package/features/security/AuthenticationContext/GraphQLClientDecorator.js +23 -22
  593. package/features/security/AuthenticationContext/GraphQLClientDecorator.js.map +1 -1
  594. package/features/security/AuthenticationContext/InternalIdTokenProvider.js +15 -12
  595. package/features/security/AuthenticationContext/InternalIdTokenProvider.js.map +1 -1
  596. package/features/security/AuthenticationContext/abstractions.js +3 -2
  597. package/features/security/AuthenticationContext/abstractions.js.map +1 -1
  598. package/features/security/AuthenticationContext/feature.js +15 -14
  599. package/features/security/AuthenticationContext/feature.js.map +1 -1
  600. package/features/security/AuthenticationContext/index.js +0 -2
  601. package/features/security/AuthenticationContext/types.js +0 -3
  602. package/features/security/IdentityContext/IdentityContext.js +18 -17
  603. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  604. package/features/security/IdentityContext/abstractions.js +2 -1
  605. package/features/security/IdentityContext/abstractions.js.map +1 -1
  606. package/features/security/IdentityContext/feature.js +13 -12
  607. package/features/security/IdentityContext/feature.js.map +1 -1
  608. package/features/security/IdentityContext/index.js +0 -2
  609. package/features/security/LogIn/IdentityMapper.js +8 -7
  610. package/features/security/LogIn/IdentityMapper.js.map +1 -1
  611. package/features/security/LogIn/LogInGateway.js +17 -19
  612. package/features/security/LogIn/LogInGateway.js.map +1 -1
  613. package/features/security/LogIn/LogInRepository.js +16 -14
  614. package/features/security/LogIn/LogInRepository.js.map +1 -1
  615. package/features/security/LogIn/LogInUseCase.js +23 -31
  616. package/features/security/LogIn/LogInUseCase.js.map +1 -1
  617. package/features/security/LogIn/abstractions.js +5 -16
  618. package/features/security/LogIn/abstractions.js.map +1 -1
  619. package/features/security/LogIn/createLoginMutation.js +2 -3
  620. package/features/security/LogIn/createLoginMutation.js.map +1 -1
  621. package/features/security/LogIn/feature.js +16 -15
  622. package/features/security/LogIn/feature.js.map +1 -1
  623. package/features/security/LogIn/index.js +0 -2
  624. package/features/security/LogOut/LogOutUseCase.js +18 -16
  625. package/features/security/LogOut/LogOutUseCase.js.map +1 -1
  626. package/features/security/LogOut/abstractions.js +2 -1
  627. package/features/security/LogOut/abstractions.js.map +1 -1
  628. package/features/security/LogOut/feature.js +12 -11
  629. package/features/security/LogOut/feature.js.map +1 -1
  630. package/features/security/LogOut/index.js +0 -2
  631. package/features/security/SecurityFeature.js +9 -8
  632. package/features/security/SecurityFeature.js.map +1 -1
  633. package/features/telemetry/TelemetryService.js +11 -12
  634. package/features/telemetry/TelemetryService.js.map +1 -1
  635. package/features/telemetry/abstractions.js +2 -1
  636. package/features/telemetry/abstractions.js.map +1 -1
  637. package/features/telemetry/feature.js +13 -12
  638. package/features/telemetry/feature.js.map +1 -1
  639. package/features/telemetry/index.js +0 -2
  640. package/features/tenancy/GraphQLClientDecorator.js +23 -20
  641. package/features/tenancy/GraphQLClientDecorator.js.map +1 -1
  642. package/features/tenancy/TenantContext.js +46 -50
  643. package/features/tenancy/TenantContext.js.map +1 -1
  644. package/features/tenancy/abstractions.js +2 -1
  645. package/features/tenancy/abstractions.js.map +1 -1
  646. package/features/tenancy/feature.js +25 -35
  647. package/features/tenancy/feature.js.map +1 -1
  648. package/features/tenancy/types.js +0 -3
  649. package/features/tools/LexicalContext/LexicalContext.js +20 -17
  650. package/features/tools/LexicalContext/LexicalContext.js.map +1 -1
  651. package/features/tools/LexicalContext/abstractions.js +2 -1
  652. package/features/tools/LexicalContext/abstractions.js.map +1 -1
  653. package/features/tools/LexicalContext/index.js +0 -2
  654. package/features/tools/ToolPipelineRunner.js +26 -24
  655. package/features/tools/ToolPipelineRunner.js.map +1 -1
  656. package/features/tools/ToolRegistry.js +32 -23
  657. package/features/tools/ToolRegistry.js.map +1 -1
  658. package/features/tools/abstractions.js +4 -3
  659. package/features/tools/abstractions.js.map +1 -1
  660. package/features/tools/feature.js +17 -16
  661. package/features/tools/feature.js.map +1 -1
  662. package/features/tools/index.js +1 -3
  663. package/features/wcp/ReactLicense.js +53 -52
  664. package/features/wcp/ReactLicense.js.map +1 -1
  665. package/features/wcp/WcpGateway.js +21 -20
  666. package/features/wcp/WcpGateway.js.map +1 -1
  667. package/features/wcp/WcpService.js +57 -67
  668. package/features/wcp/WcpService.js.map +1 -1
  669. package/features/wcp/abstractions.js +3 -2
  670. package/features/wcp/abstractions.js.map +1 -1
  671. package/features/wcp/feature.js +14 -13
  672. package/features/wcp/feature.js.map +1 -1
  673. package/features/wcp/types.js +0 -3
  674. package/features/webinySdk/WebinySdk.js +19 -18
  675. package/features/webinySdk/WebinySdk.js.map +1 -1
  676. package/features/webinySdk/abstractions.js +2 -5
  677. package/features/webinySdk/abstractions.js.map +1 -1
  678. package/features/webinySdk/feature.js +13 -12
  679. package/features/webinySdk/feature.js.map +1 -1
  680. package/features/webinySdk/index.js +0 -2
  681. package/hooks/index.js +0 -2
  682. package/hooks/useConfirmationDialog.d.ts +1 -1
  683. package/hooks/useConfirmationDialog.js +31 -38
  684. package/hooks/useConfirmationDialog.js.map +1 -1
  685. package/hooks/useDialog.js +14 -15
  686. package/hooks/useDialog.js.map +1 -1
  687. package/hooks/useHotkeys.js +52 -85
  688. package/hooks/useHotkeys.js.map +1 -1
  689. package/hooks/useIsMounted.js +12 -11
  690. package/hooks/useIsMounted.js.map +1 -1
  691. package/hooks/useKeyHandler.js +45 -53
  692. package/hooks/useKeyHandler.js.map +1 -1
  693. package/hooks/useModKey.js +20 -25
  694. package/hooks/useModKey.js.map +1 -1
  695. package/hooks/useOpenDialog.js +13 -13
  696. package/hooks/useOpenDialog.js.map +1 -1
  697. package/hooks/useShiftKey.d.ts +5 -1
  698. package/hooks/useShiftKey.js +38 -29
  699. package/hooks/useShiftKey.js.map +1 -1
  700. package/hooks/useSnackbar.d.ts +3 -0
  701. package/hooks/useSnackbar.js +26 -28
  702. package/hooks/useSnackbar.js.map +1 -1
  703. package/hooks/useStateIfMounted.js +14 -12
  704. package/hooks/useStateIfMounted.js.map +1 -1
  705. package/hooks/useStateWithCallback.js +18 -14
  706. package/hooks/useStateWithCallback.js.map +1 -1
  707. package/hooks/useToggler.js +12 -11
  708. package/hooks/useToggler.js.map +1 -1
  709. package/index.d.ts +4 -1
  710. package/index.js +15 -31
  711. package/package.json +29 -29
  712. package/permissions/PermissionRenderer.js +179 -193
  713. package/permissions/PermissionRenderer.js.map +1 -1
  714. package/permissions/PermissionValueContext.js +13 -20
  715. package/permissions/PermissionValueContext.js.map +1 -1
  716. package/permissions/createHasPermission.js +32 -40
  717. package/permissions/createHasPermission.js.map +1 -1
  718. package/permissions/createPermissionSchema.js +6 -5
  719. package/permissions/createPermissionSchema.js.map +1 -1
  720. package/permissions/createPermissions.js +125 -185
  721. package/permissions/createPermissions.js.map +1 -1
  722. package/permissions/createPermissions.test.js +190 -158
  723. package/permissions/createPermissions.test.js.map +1 -1
  724. package/permissions/index.js +2 -4
  725. package/permissions/types.js +0 -3
  726. package/permissions/usePermissionForm.js +133 -232
  727. package/permissions/usePermissionForm.js.map +1 -1
  728. package/permissions/usePermissions.js +6 -5
  729. package/permissions/usePermissions.js.map +1 -1
  730. package/plugins/MenuPlugin.js +15 -14
  731. package/plugins/MenuPlugin.js.map +1 -1
  732. package/presentation/browserFilePicker/BrowserFilePicker.d.ts +3 -0
  733. package/presentation/browserFilePicker/BrowserFilePicker.js +88 -0
  734. package/presentation/browserFilePicker/BrowserFilePicker.js.map +1 -0
  735. package/presentation/browserFilePicker/BrowserFilePickerPresenter.d.ts +10 -0
  736. package/presentation/browserFilePicker/BrowserFilePickerPresenter.js +84 -0
  737. package/presentation/browserFilePicker/BrowserFilePickerPresenter.js.map +1 -0
  738. package/presentation/browserFilePicker/index.d.ts +3 -0
  739. package/presentation/browserFilePicker/index.js +2 -0
  740. package/presentation/browserFilePicker/types.d.ts +53 -0
  741. package/presentation/browserFilePicker/types.js +0 -0
  742. package/presentation/browserFilePicker/utils.d.ts +2 -0
  743. package/presentation/browserFilePicker/utils.js +16 -0
  744. package/presentation/browserFilePicker/utils.js.map +1 -0
  745. package/presentation/buildParams/useBuildParams.js +2 -3
  746. package/presentation/buildParams/useBuildParams.js.map +1 -1
  747. package/presentation/installation/components/SystemInstaller/SystemInstaller.js +46 -53
  748. package/presentation/installation/components/SystemInstaller/SystemInstaller.js.map +1 -1
  749. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js +9 -14
  750. package/presentation/installation/components/SystemInstaller/SystemInstallerProvider.js.map +1 -1
  751. package/presentation/installation/components/SystemInstaller/index.js +0 -2
  752. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +14 -29
  753. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
  754. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js +11 -10
  755. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/usePasswordValidator.js.map +1 -1
  756. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js +60 -60
  757. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep.js.map +1 -1
  758. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js +75 -85
  759. package/presentation/installation/components/SystemInstaller/steps/BasicInfoStep.js.map +1 -1
  760. package/presentation/installation/components/SystemInstaller/steps/Center.js +5 -8
  761. package/presentation/installation/components/SystemInstaller/steps/Center.js.map +1 -1
  762. package/presentation/installation/components/SystemInstaller/steps/Container.js +18 -24
  763. package/presentation/installation/components/SystemInstaller/steps/Container.js.map +1 -1
  764. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js +48 -53
  765. package/presentation/installation/components/SystemInstaller/steps/FinishSetup.js.map +1 -1
  766. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js +13 -16
  767. package/presentation/installation/components/SystemInstaller/steps/IntroductionStep.js.map +1 -1
  768. package/presentation/installation/components/SystemInstaller/steps/introduction.js +723 -0
  769. package/presentation/installation/components/SystemInstaller/steps/introduction.js.map +1 -0
  770. package/presentation/installation/components/SystemInstaller/steps/referralSources.js +14 -1
  771. package/presentation/installation/components/SystemInstaller/steps/referralSources.js.map +1 -1
  772. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js +27 -28
  773. package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js.map +1 -1
  774. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js +117 -124
  775. package/presentation/installation/presenters/SystemInstaller/SystemInstallerPresenter.js.map +1 -1
  776. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js +23 -21
  777. package/presentation/installation/presenters/SystemInstaller/SystemInstallerRepository.js.map +1 -1
  778. package/presentation/installation/presenters/SystemInstaller/abstractions.js +4 -3
  779. package/presentation/installation/presenters/SystemInstaller/abstractions.js.map +1 -1
  780. package/presentation/installation/presenters/SystemInstaller/feature.js +15 -14
  781. package/presentation/installation/presenters/SystemInstaller/feature.js.map +1 -1
  782. package/presentation/installation/presenters/SystemInstaller/index.js +0 -2
  783. package/presentation/lexicalContext/useLexicalContext.js +11 -8
  784. package/presentation/lexicalContext/useLexicalContext.js.map +1 -1
  785. package/presentation/listPresenter/ListPresenter.d.ts +30 -0
  786. package/presentation/listPresenter/ListPresenter.js +216 -0
  787. package/presentation/listPresenter/ListPresenter.js.map +1 -0
  788. package/presentation/listPresenter/ListPresenter.test.d.ts +1 -0
  789. package/presentation/listPresenter/ListPresenter.test.js +816 -0
  790. package/presentation/listPresenter/ListPresenter.test.js.map +1 -0
  791. package/presentation/listPresenter/SelectionController.d.ts +21 -0
  792. package/presentation/listPresenter/SelectionController.js +74 -0
  793. package/presentation/listPresenter/SelectionController.js.map +1 -0
  794. package/presentation/listPresenter/abstractions.d.ts +107 -0
  795. package/presentation/listPresenter/abstractions.js +5 -0
  796. package/presentation/listPresenter/abstractions.js.map +1 -0
  797. package/presentation/listPresenter/feature.d.ts +3 -0
  798. package/presentation/listPresenter/feature.js +17 -0
  799. package/presentation/listPresenter/feature.js.map +1 -0
  800. package/presentation/listPresenter/index.d.ts +3 -0
  801. package/presentation/listPresenter/index.js +2 -0
  802. package/presentation/security/components/HasPermission.js +15 -25
  803. package/presentation/security/components/HasPermission.js.map +1 -1
  804. package/presentation/security/components/SecureRoute.js +6 -12
  805. package/presentation/security/components/SecureRoute.js.map +1 -1
  806. package/presentation/security/hooks/useAuthentication.js +11 -17
  807. package/presentation/security/hooks/useAuthentication.js.map +1 -1
  808. package/presentation/security/hooks/useIdentity.js +19 -18
  809. package/presentation/security/hooks/useIdentity.js.map +1 -1
  810. package/presentation/security/hooks/useSecurity.js +14 -24
  811. package/presentation/security/hooks/useSecurity.js.map +1 -1
  812. package/presentation/tenancy/TenancyProvider.js +23 -36
  813. package/presentation/tenancy/TenancyProvider.js.map +1 -1
  814. package/presentation/tenancy/createTenancyProvider.js +6 -11
  815. package/presentation/tenancy/createTenancyProvider.js.map +1 -1
  816. package/presentation/tenancy/useTenantContext.js +17 -18
  817. package/presentation/tenancy/useTenantContext.js.map +1 -1
  818. package/presentation/textToLexicalTool/TextToLexicalTool.js +20 -18
  819. package/presentation/textToLexicalTool/TextToLexicalTool.js.map +1 -1
  820. package/presentation/textToLexicalTool/feature.js +6 -5
  821. package/presentation/textToLexicalTool/feature.js.map +1 -1
  822. package/presentation/textToLexicalTool/textToLexicalState.js +28 -28
  823. package/presentation/textToLexicalTool/textToLexicalState.js.map +1 -1
  824. package/presentation/wcp/WcpProvider.js +16 -26
  825. package/presentation/wcp/WcpProvider.js.map +1 -1
  826. package/presentation/wcp/useWcp.js +11 -12
  827. package/presentation/wcp/useWcp.js.map +1 -1
  828. package/routes.d.ts +0 -1
  829. package/routes.js +14 -17
  830. package/routes.js.map +1 -1
  831. package/static/svg/SecureRouteError.e8b15981.svg +1 -0
  832. package/static/svg/add-18px.b3062af6.svg +3 -0
  833. package/static/svg/arrow_drop_down-24px.da74d713.svg +4 -0
  834. package/static/svg/attach_file_black_24dp.7fb13a7e.svg +1 -0
  835. package/static/svg/baseline-menu-24px.071b179d.svg +4 -0
  836. package/static/svg/baseline-notification_important-24px.29277e73.svg +4 -0
  837. package/static/svg/baseline-security-24px.12e519cc.svg +4 -0
  838. package/static/svg/file_download.afe3fbec.svg +1 -0
  839. package/static/svg/file_upload.6865d820.svg +1 -0
  840. package/static/svg/filter-24px.886d9ff0.svg +8 -0
  841. package/static/svg/github-brands.6311f0fa.svg +1 -0
  842. package/static/svg/highlight-24px.959a97f7.svg +1 -0
  843. package/static/svg/icon-community.cd087355.svg +16 -0
  844. package/static/svg/icon-documentation.a189d24c.svg +16 -0
  845. package/static/svg/info.fe810b72.svg +1 -0
  846. package/static/svg/insert_drive_file-24px.39d490eb.svg +1 -0
  847. package/static/svg/insert_photo-24px.81a5f945.svg +1 -0
  848. package/static/svg/introduction.108720aa.svg +154 -0
  849. package/static/svg/label-24px.9deafa4f.svg +1 -0
  850. package/static/svg/round-account_circle-24px.f0b48cb7.svg +1 -0
  851. package/static/svg/round-add-24px.4a5219b4.svg +16 -0
  852. package/static/svg/round-arrow_drop_down-24px.5fdf92d1.svg +1 -0
  853. package/static/svg/round-chevron_right-24px.34936511.svg +12 -0
  854. package/static/svg/round-feedback-24px.4dae7231.svg +54 -0
  855. package/static/svg/round-help-24px.a61b1d66.svg +1 -0
  856. package/static/svg/round-invert_colors-24px.a229a1dd.svg +52 -0
  857. package/static/svg/round-keyboard_arrow_down-24px.6febe804.svg +16 -0
  858. package/static/svg/round-keyboard_arrow_up-24px.b1f7db34.svg +16 -0
  859. package/static/svg/round-lock_open-24px.d527f6a5.svg +60 -0
  860. package/static/svg/round-more_vert-24px.68d41b07.svg +12 -0
  861. package/static/svg/round-open_in_new-24px.be5b4ddd.svg +44 -0
  862. package/static/svg/round-settings-24px.c0b3056f.svg +4 -0
  863. package/static/svg/search-24px.3c0f88dd.svg +20 -0
  864. package/static/svg/slack-logo.7ee35e7f.svg +1 -0
  865. package/static/svg/today-24px.df206362.svg +1 -0
  866. package/static/svg/touch_app.debf3744.svg +1 -0
  867. package/static/svg/wby-horizontal.03327bf6.svg +23 -0
  868. package/static/svg/wby-square.ff8f47c3.svg +3 -0
  869. package/static/svg/webiny-logo.ef56725c.svg +20 -0
  870. package/static/svg/webiny-orange-logo.4eccf0f2.svg +20 -0
  871. package/types.js +0 -3
  872. package/components/BulkActions/index.js.map +0 -1
  873. package/components/BulkActions/useDialogWithReport/index.js.map +0 -1
  874. package/components/Buttons/index.js.map +0 -1
  875. package/components/DeveloperMode/index.js.map +0 -1
  876. package/components/Filters/index.js.map +0 -1
  877. package/components/IconPicker/components/index.js.map +0 -1
  878. package/components/IconPicker/index.js.map +0 -1
  879. package/components/LexicalEditor/index.js.map +0 -1
  880. package/components/NotAuthorizedError/index.js.map +0 -1
  881. package/components/OptionsMenu/index.js.map +0 -1
  882. package/components/OverlayLayout/components/index.js.map +0 -1
  883. package/components/OverlayLayout/index.js.map +0 -1
  884. package/components/Permissions/index.js.map +0 -1
  885. package/components/ResizablePanels/index.js.map +0 -1
  886. package/components/SimpleForm/index.js.map +0 -1
  887. package/components/SplitView/index.js.map +0 -1
  888. package/components/index.js.map +0 -1
  889. package/config/AdminConfig/Menu/UserMenu/UserMenuSeparator.js.map +0 -1
  890. package/config/AdminConfig/Menu/UserMenu/types.js.map +0 -1
  891. package/config/AdminConfig/Menu/types.js.map +0 -1
  892. package/config/AdminConfig/Theme/types.js.map +0 -1
  893. package/exports/admin/build-params.js.map +0 -1
  894. package/exports/admin/configs.js.map +0 -1
  895. package/exports/admin/form.js.map +0 -1
  896. package/exports/admin/security.js.map +0 -1
  897. package/exports/admin/tenancy.js.map +0 -1
  898. package/exports/admin/ui.js.map +0 -1
  899. package/exports/admin.js.map +0 -1
  900. package/features/buildParams/index.js.map +0 -1
  901. package/features/formModel/fieldTypes/index.js.map +0 -1
  902. package/features/formModel/index.js.map +0 -1
  903. package/features/formModel/renderers.js.map +0 -1
  904. package/features/security/AuthenticationContext/index.js.map +0 -1
  905. package/features/security/AuthenticationContext/types.js.map +0 -1
  906. package/features/security/IdentityContext/index.js.map +0 -1
  907. package/features/security/LogIn/index.js.map +0 -1
  908. package/features/security/LogOut/index.js.map +0 -1
  909. package/features/telemetry/index.js.map +0 -1
  910. package/features/tenancy/types.js.map +0 -1
  911. package/features/tools/LexicalContext/index.js.map +0 -1
  912. package/features/tools/index.js.map +0 -1
  913. package/features/wcp/types.js.map +0 -1
  914. package/features/webinySdk/index.js.map +0 -1
  915. package/hooks/index.js.map +0 -1
  916. package/index.js.map +0 -1
  917. package/permissions/index.js.map +0 -1
  918. package/permissions/types.js.map +0 -1
  919. package/presentation/installation/components/SystemInstaller/index.js.map +0 -1
  920. package/presentation/installation/presenters/SystemInstaller/index.js.map +0 -1
  921. package/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","toJS","FieldRenderersDemoPresenter","lastSubmitted","isSubmitting","constructor","formFactory","form","create","fields","textInput","text","label","placeholder","required","description","help","note","textInputs","list","renderer","addItemLabel","tags","defaultValue","textarea","rows","textareas","numberInput","number","numberInputs","numberOptions","options","value","boolSwitch","boolean","dropdown","radioButtons","checkboxes","dateOnly","datetime","timeOnly","dateTime","withoutTimezone","dateTimeTz","withTimezone","monthOnly","weekOnly","startsOn","yearOnly","range","dateRange","multipleDates","multipleMonths","multipleYears","dateTimeList","hiddenField","hidden","metaTags","object","f","name","content","enableFeature","featureName","rules","type","target","operator","action","featureMode","advancedConfig","contentBlock","template","t","icon","heading","image","body","sections","container","subheading","uuid","Date","now","cloneValue","url","fileImage","file","fileUrl","layout","tabs","tab","l","row","separator","hero","inner","cta","vm","data","getData","formErrors","errors","focusField","path","submit","result","reset"],"sources":["FieldRenderersDemoPresenter.ts"],"sourcesContent":["import { makeAutoObservable, toJS } from \"mobx\";\nimport type { IFormModel, IFormModelFactory, IFormVM, IFormError } from \"../abstractions.js\";\n\nexport interface FieldRenderersDemoVM {\n form: IFormVM;\n data: Record<string, unknown>;\n lastSubmitted: Record<string, unknown> | null;\n isSubmitting: boolean;\n formErrors: IFormError[];\n}\n\nexport class FieldRenderersDemoPresenter {\n private form: IFormModel;\n private lastSubmitted: Record<string, unknown> | null = null;\n private isSubmitting = false;\n\n constructor(formFactory: IFormModelFactory) {\n this.form = formFactory.create({\n fields: fields => ({\n // --- Text ---\n textInput: fields\n .text()\n .label(\"Text Input\")\n .placeholder(\"Type here...\")\n .required(\"Text input is required\")\n .description(\"Standard text input\")\n .help(\"Enter any text value\")\n .note(\"Max 255 characters\"),\n textInputs: fields\n .text()\n .list()\n .label(\"Text Inputs\")\n .renderer(\"textInputs\", { addItemLabel: \"Add text\" })\n .description(\"Add multiple text values\")\n .help(\"Each value is stored separately\")\n .note(\"Press Enter to add quickly\"),\n tags: fields\n .text()\n .list()\n .label(\"Tags\")\n .renderer(\"tags\")\n .placeholder(\"Add values\")\n .defaultValue([])\n .description(\"Comma-separated tags\")\n .help(\"Type and press Enter to add a tag\")\n .note(\"Duplicates are ignored\"),\n textarea: fields\n .text()\n .label(\"Textarea\")\n .renderer(\"textarea\", { rows: 4 })\n .description(\"Multi-line text area\")\n .help(\"Supports plain text only\")\n .note(\"Resizable vertically\"),\n textareas: fields\n .text()\n .list()\n .label(\"Descriptions\")\n .renderer(\"textareas\", { addItemLabel: \"Add description\" })\n .description(\"Multiple long text values\")\n .help(\"Each textarea is independent\")\n .note(\"Click add to append a new block\"),\n\n // --- Number ---\n numberInput: fields\n .number()\n .label(\"Number\")\n .placeholder(\"0\")\n .required(\"Number is required\")\n .description(\"Single numeric value\")\n .help(\"Accepts integers and decimals\")\n .note(\"Use dot as decimal separator\"),\n numberInputs: fields\n .number()\n .list()\n .label(\"Number Inputs\")\n .renderer(\"numberInputs\", { addItemLabel: \"Add number\" })\n .description(\"Multiple numeric values\")\n .help(\"Each input accepts a number\")\n .note(\"Empty values are stored as empty strings\"),\n numberOptions: fields\n .number()\n .list()\n .label(\"Number Options\")\n .options([\n { label: \"Tier 1\", value: 100 },\n { label: \"Tier 2\", value: 200 }\n ])\n .description(\"Multiple numeric values\")\n .help(\"Each input accepts a number\")\n .note(\"Empty values are stored as empty strings\"),\n\n // --- Boolean ---\n boolSwitch: fields\n .boolean()\n .label(\"Boolean Switch\")\n .description(\"Toggle on/off\")\n .help(\"Click to toggle state\")\n .note(\"Default is unchecked\"),\n\n // --- Predefined Values ---\n dropdown: fields\n .text()\n .label(\"Dropdown\")\n .placeholder(\"Pick one\")\n .required(\"Dropdown selection is required\")\n .description(\"Single-select dropdown\")\n .help(\"Choose exactly one option\")\n .note(\"Required for form submission\")\n .options([\n { label: \"Option A\", value: \"a\" },\n { label: \"Option B\", value: \"b\" },\n { label: \"Option C\", value: \"c\" }\n ]),\n radioButtons: fields\n .text()\n .label(\"Radio Buttons\")\n .options([\n { label: \"Small\", value: \"sm\" },\n { label: \"Medium\", value: \"md\" },\n { label: \"Large\", value: \"lg\" }\n ])\n .renderer(\"radioButtons\")\n .description(\"Pick a size variant\")\n .help(\"Only one option can be selected\")\n .note(\"Selection is mutually exclusive\"),\n checkboxes: fields\n .text()\n .list()\n .label(\"Checkboxes\")\n .options([\n { label: \"Read\", value: \"read\" },\n { label: \"Write\", value: \"write\" },\n { label: \"Admin\", value: \"admin\" }\n ])\n .renderer(\"checkboxes\")\n .description(\"Multi-select permissions\")\n .help(\"Check all that apply\")\n .note(\"At least one is recommended\"),\n\n // --- Date/Time ---\n dateOnly: fields\n .datetime()\n .required()\n .dateOnly()\n .label(\"Date Only\")\n .description(\"Pick a calendar date\")\n .note(\"Value: YYYY-MM-DD\"),\n timeOnly: fields\n .datetime()\n .required()\n .timeOnly()\n .label(\"Time Only\")\n .description(\"Time without a date\")\n .note(\"24-hour format\"),\n dateTime: fields\n .datetime()\n .required()\n .withoutTimezone()\n .label(\"Date & Time\")\n .description(\"Date with time of day\")\n .note(\"Seconds default to :00\"),\n dateTimeTz: fields\n .datetime()\n .required()\n .withTimezone()\n .label(\"Date Time + Timezone\")\n .description(\"Full date, time, and timezone\")\n .note(\"Timezone defaults to your local zone\"),\n monthOnly: fields\n .datetime()\n .required()\n .monthOnly()\n .label(\"Month\")\n .description(\"Pick a month and year\")\n .note(\"Value: YYYY-MM\"),\n weekOnly: fields\n .datetime()\n .required()\n .weekOnly({ startsOn: 1 })\n .label(\"Week\")\n .description(\"Pick an ISO week\")\n .note(\"Value: YYYY-Www\"),\n yearOnly: fields\n .datetime()\n .required()\n .yearOnly({ range: [2020, 2035] })\n .label(\"Year\")\n .description(\"Pick a year\")\n .note(\"Value: number\"),\n dateRange: fields\n .datetime()\n .required()\n .dateRange()\n .label(\"Date Range\")\n .description(\"Pick a start and end date\")\n .note(\"Value: { from, to }\"),\n multipleDates: fields\n .datetime()\n .required()\n .multipleDates()\n .label(\"Multiple Dates\")\n .description(\"Select multiple dates\")\n .note(\"Value: string[]\"),\n multipleMonths: fields\n .datetime()\n .required()\n .multipleMonths()\n .label(\"Multiple Months\")\n .description(\"Select multiple months\")\n .note(\"Value: string[]\"),\n multipleYears: fields\n .datetime()\n .required()\n .multipleYears({ range: [2020, 2035] })\n .label(\"Multiple Years\")\n .description(\"Select multiple years\")\n .note(\"Value: number[]\"),\n dateTimeList: fields\n .datetime()\n .required()\n .withTimezone()\n .list()\n .label(\"Dates with TZ (multi)\")\n .description(\"Multiple date entries\")\n .note(\"Each date is independent\"),\n\n // --- Hidden ---\n hiddenField: fields\n .text()\n .hidden()\n .defaultValue(\"secret-value\")\n .description(\"Not visible in the UI\")\n .help(\"Carried in form data silently\")\n .note(\"Value is preset\"),\n\n // --- Key-Value Tags ---\n metaTags: fields\n .object()\n .list()\n .label(\"Meta Tags\")\n .description(\"Add SEO tags\")\n .renderer(\"keyValueTags\", { addItemLabel: \"Add tag\" })\n .fields(f => ({\n name: f.text().placeholder(\"Name\"),\n content: f.text().placeholder(\"Content\")\n })),\n\n // --- Conditional Visibility / Disabled ---\n enableFeature: fields\n .boolean()\n .label(\"Enable Feature\")\n .description(\"Toggle this to show or hide the feature fields below\"),\n featureName: fields\n .text()\n .label(\"Feature Name\")\n .placeholder(\"Name your feature...\")\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n }\n ]),\n featureMode: fields\n .text()\n .label(\"Feature Mode\")\n .options([\n { label: \"Simple\", value: \"simple\" },\n { label: \"Advanced\", value: \"advanced\" }\n ])\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n }\n ]),\n advancedConfig: fields\n .text()\n .label(\"Advanced Config\")\n .placeholder(\"JSON config...\")\n .renderer(\"textarea\", { rows: 3 })\n .description(\"Only editable in advanced mode\")\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n },\n {\n type: \"condition\",\n target: \"featureMode\",\n operator: \"neq\",\n value: \"advanced\",\n action: \"disable\"\n }\n ]),\n\n // --- Dynamic Zone (single template) ---\n contentBlock: fields\n .object()\n .label(\"Content Block\")\n .template(\"hero\", t => {\n t.label(\"Hero Banner\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n heading: f.text().label(\"Heading\").required(\"Required\"),\n image: f.text().label(\"Image URL\")\n }));\n })\n .template(\"text\", t => {\n t.label(\"Rich Text\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n body: f.text().label(\"Body\").renderer(\"textarea\")\n }));\n }),\n\n // --- Dynamic Zone (multi-value template list) ---\n sections: fields\n .object()\n .list()\n .label(\"Page Sections\")\n .renderer(\"dynamicZone\", { container: false })\n .template(\"hero\", t => {\n t.label(\"Hero Banner\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n heading: f.text().label(\"Heading\"),\n subheading: f.text().label(\"Subheading\"),\n uuid: f\n .text()\n .label(\"UUID\")\n .defaultValue(() => Date.now())\n .cloneValue(value => `${value}/${Date.now()}`)\n }));\n })\n .template(\"cta\", t => {\n t.label(\"Call To Action\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n label: f.text().label(\"Button Label\"),\n url: f.text().label(\"URL\")\n }));\n }),\n\n // --- Files ---\n fileImage: fields\n .file()\n .label(\"Image (full metadata)\")\n .description(\"Stores the full file object (id, name, size, src, etc.)\"),\n fileUrl: fields\n .fileUrl()\n .label(\"Image URL\")\n .description(\"Stores only the file URL as a string\")\n }),\n layout: layout => [\n layout\n .tabs(\"mainTabs\")\n .tab(\"text\", tab => {\n tab.label(\"Text\").layout(l => [\n l.row(\"textInput\"),\n l.row(\"textInputs\"),\n l.row(\"tags\"),\n l.row(\"textarea\"),\n l.row(\"textareas\"),\n l.row(\"metaTags\")\n ]);\n })\n .tab(\"numbers\", tab => {\n tab.label(\"Numbers & Boolean\").layout(l => [\n l.row(\"numberInput\"),\n l.row(\"numberInputs\"),\n l.row(\"numberOptions\"),\n l.separator(),\n l.row(\"boolSwitch\")\n ]);\n })\n .tab(\"selects\", tab => {\n tab.label(\"Selects\").layout(l => [\n l.row(\"dropdown\", \"radioButtons\"),\n l.row(\"checkboxes\")\n ]);\n })\n .tab(\"datetime\", tab => {\n tab.label(\"Date / Time\").layout(l => [\n l.row(\"dateOnly\", \"timeOnly\"),\n l.row(\"dateTime\"),\n l.row(\"dateTimeTz\"),\n l.separator(),\n l.row(\"monthOnly\", \"weekOnly\"),\n l.row(\"yearOnly\"),\n l.separator(),\n l.row(\"dateRange\"),\n l.row(\"multipleDates\"),\n l.row(\"multipleMonths\", \"multipleYears\"),\n l.separator(),\n l.row(\"dateTimeList\")\n ]);\n })\n .tab(\"rules\", tab => {\n tab.label(\"Rules\").layout(l => [\n l.row(\"enableFeature\"),\n l.row(\"featureName\", \"featureMode\"),\n l.row(\"advancedConfig\")\n ]);\n })\n .tab(\"dynamic\", tab => {\n tab.label(\"Dynamic Zones\").layout(l => [\n l.object(\"contentBlock\", {\n hero: inner => [inner.row(\"heading\"), inner.row(\"image\")],\n text: inner => [inner.row(\"body\")]\n }),\n l.object(\"sections\", {\n hero: inner => [\n inner.row(\"heading\", \"subheading\"),\n inner.row(\"uuid\")\n ],\n cta: inner => [inner.row(\"label\", \"url\")]\n })\n ]);\n })\n .tab(\"files\", tab => {\n tab.label(\"Files\").layout(l => [l.row(\"fileImage\", \"fileUrl\")]);\n })\n ]\n });\n\n makeAutoObservable(this);\n }\n\n get vm(): FieldRenderersDemoVM {\n return {\n form: this.form.vm,\n data: toJS(this.form.getData()),\n lastSubmitted: this.lastSubmitted,\n isSubmitting: this.isSubmitting,\n formErrors: this.form.errors\n };\n }\n\n focusField(path: string): void {\n this.form.focusField(path);\n }\n\n async submit(): Promise<void> {\n this.isSubmitting = true;\n try {\n const result = await this.form.submit<Record<string, unknown>>();\n if (result !== false) {\n this.lastSubmitted = toJS(result);\n }\n } finally {\n this.isSubmitting = false;\n }\n }\n\n reset(): void {\n this.form.reset();\n this.lastSubmitted = null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"features/formModel/demo/FieldRenderersDemoPresenter.js","sources":["../../../../src/features/formModel/demo/FieldRenderersDemoPresenter.ts"],"sourcesContent":["import { makeAutoObservable, toJS } from \"mobx\";\nimport type { IFormModel, IFormModelFactory, IFormVM, IFormError } from \"../abstractions.js\";\n\nexport interface FieldRenderersDemoVM {\n form: IFormVM;\n data: Record<string, unknown>;\n lastSubmitted: Record<string, unknown> | null;\n isSubmitting: boolean;\n formErrors: IFormError[];\n}\n\nexport class FieldRenderersDemoPresenter {\n private form: IFormModel;\n private lastSubmitted: Record<string, unknown> | null = null;\n private isSubmitting = false;\n\n constructor(formFactory: IFormModelFactory) {\n this.form = formFactory.create({\n fields: fields => ({\n // --- Text ---\n textInput: fields\n .text()\n .label(\"Text Input\")\n .placeholder(\"Type here...\")\n .required(\"Text input is required\")\n .description(\"Standard text input\")\n .help(\"Enter any text value\")\n .note(\"Max 255 characters\"),\n textInputs: fields\n .text()\n .list()\n .label(\"Text Inputs\")\n .renderer(\"textInputs\", { addItemLabel: \"Add text\" })\n .description(\"Add multiple text values\")\n .help(\"Each value is stored separately\")\n .note(\"Press Enter to add quickly\"),\n tags: fields\n .text()\n .list()\n .label(\"Tags\")\n .renderer(\"tags\")\n .placeholder(\"Add values\")\n .defaultValue([])\n .description(\"Comma-separated tags\")\n .help(\"Type and press Enter to add a tag\")\n .note(\"Duplicates are ignored\"),\n textarea: fields\n .text()\n .label(\"Textarea\")\n .renderer(\"textarea\", { rows: 4 })\n .description(\"Multi-line text area\")\n .help(\"Supports plain text only\")\n .note(\"Resizable vertically\"),\n textareas: fields\n .text()\n .list()\n .label(\"Descriptions\")\n .renderer(\"textareas\", { addItemLabel: \"Add description\" })\n .description(\"Multiple long text values\")\n .help(\"Each textarea is independent\")\n .note(\"Click add to append a new block\"),\n\n // --- Number ---\n numberInput: fields\n .number()\n .label(\"Number\")\n .placeholder(\"0\")\n .required(\"Number is required\")\n .description(\"Single numeric value\")\n .help(\"Accepts integers and decimals\")\n .note(\"Use dot as decimal separator\"),\n numberInputs: fields\n .number()\n .list()\n .label(\"Number Inputs\")\n .renderer(\"numberInputs\", { addItemLabel: \"Add number\" })\n .description(\"Multiple numeric values\")\n .help(\"Each input accepts a number\")\n .note(\"Empty values are stored as empty strings\"),\n numberOptions: fields\n .number()\n .list()\n .label(\"Number Options\")\n .options([\n { label: \"Tier 1\", value: 100 },\n { label: \"Tier 2\", value: 200 }\n ])\n .description(\"Multiple numeric values\")\n .help(\"Each input accepts a number\")\n .note(\"Empty values are stored as empty strings\"),\n\n // --- Boolean ---\n boolSwitch: fields\n .boolean()\n .label(\"Boolean Switch\")\n .description(\"Toggle on/off\")\n .help(\"Click to toggle state\")\n .note(\"Default is unchecked\"),\n\n // --- Predefined Values ---\n dropdown: fields\n .text()\n .label(\"Dropdown\")\n .placeholder(\"Pick one\")\n .required(\"Dropdown selection is required\")\n .description(\"Single-select dropdown\")\n .help(\"Choose exactly one option\")\n .note(\"Required for form submission\")\n .options([\n { label: \"Option A\", value: \"a\" },\n { label: \"Option B\", value: \"b\" },\n { label: \"Option C\", value: \"c\" }\n ]),\n radioButtons: fields\n .text()\n .label(\"Radio Buttons\")\n .options([\n { label: \"Small\", value: \"sm\" },\n { label: \"Medium\", value: \"md\" },\n { label: \"Large\", value: \"lg\" }\n ])\n .renderer(\"radioButtons\")\n .description(\"Pick a size variant\")\n .help(\"Only one option can be selected\")\n .note(\"Selection is mutually exclusive\"),\n checkboxes: fields\n .text()\n .list()\n .label(\"Checkboxes\")\n .options([\n { label: \"Read\", value: \"read\" },\n { label: \"Write\", value: \"write\" },\n { label: \"Admin\", value: \"admin\" }\n ])\n .renderer(\"checkboxes\")\n .description(\"Multi-select permissions\")\n .help(\"Check all that apply\")\n .note(\"At least one is recommended\"),\n\n // --- Date/Time ---\n dateOnly: fields\n .datetime()\n .required()\n .dateOnly()\n .label(\"Date Only\")\n .description(\"Pick a calendar date\")\n .note(\"Value: YYYY-MM-DD\"),\n timeOnly: fields\n .datetime()\n .required()\n .timeOnly()\n .label(\"Time Only\")\n .description(\"Time without a date\")\n .note(\"24-hour format\"),\n dateTime: fields\n .datetime()\n .required()\n .withoutTimezone()\n .label(\"Date & Time\")\n .description(\"Date with time of day\")\n .note(\"Seconds default to :00\"),\n dateTimeTz: fields\n .datetime()\n .required()\n .withTimezone()\n .label(\"Date Time + Timezone\")\n .description(\"Full date, time, and timezone\")\n .note(\"Timezone defaults to your local zone\"),\n monthOnly: fields\n .datetime()\n .required()\n .monthOnly()\n .label(\"Month\")\n .description(\"Pick a month and year\")\n .note(\"Value: YYYY-MM\"),\n weekOnly: fields\n .datetime()\n .required()\n .weekOnly({ startsOn: 1 })\n .label(\"Week\")\n .description(\"Pick an ISO week\")\n .note(\"Value: YYYY-Www\"),\n yearOnly: fields\n .datetime()\n .required()\n .yearOnly({ range: [2020, 2035] })\n .label(\"Year\")\n .description(\"Pick a year\")\n .note(\"Value: number\"),\n dateRange: fields\n .datetime()\n .required()\n .dateRange()\n .label(\"Date Range\")\n .description(\"Pick a start and end date\")\n .note(\"Value: { from, to }\"),\n multipleDates: fields\n .datetime()\n .required()\n .multipleDates()\n .label(\"Multiple Dates\")\n .description(\"Select multiple dates\")\n .note(\"Value: string[]\"),\n multipleMonths: fields\n .datetime()\n .required()\n .multipleMonths()\n .label(\"Multiple Months\")\n .description(\"Select multiple months\")\n .note(\"Value: string[]\"),\n multipleYears: fields\n .datetime()\n .required()\n .multipleYears({ range: [2020, 2035] })\n .label(\"Multiple Years\")\n .description(\"Select multiple years\")\n .note(\"Value: number[]\"),\n dateTimeList: fields\n .datetime()\n .required()\n .withTimezone()\n .list()\n .label(\"Dates with TZ (multi)\")\n .description(\"Multiple date entries\")\n .note(\"Each date is independent\"),\n\n // --- Hidden ---\n hiddenField: fields\n .text()\n .hidden()\n .defaultValue(\"secret-value\")\n .description(\"Not visible in the UI\")\n .help(\"Carried in form data silently\")\n .note(\"Value is preset\"),\n\n // --- Key-Value Tags ---\n metaTags: fields\n .object()\n .list()\n .label(\"Meta Tags\")\n .description(\"Add SEO tags\")\n .renderer(\"keyValueTags\", { addItemLabel: \"Add tag\" })\n .fields(f => ({\n name: f.text().placeholder(\"Name\"),\n content: f.text().placeholder(\"Content\")\n })),\n\n // --- Conditional Visibility / Disabled ---\n enableFeature: fields\n .boolean()\n .label(\"Enable Feature\")\n .description(\"Toggle this to show or hide the feature fields below\"),\n featureName: fields\n .text()\n .label(\"Feature Name\")\n .placeholder(\"Name your feature...\")\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n }\n ]),\n featureMode: fields\n .text()\n .label(\"Feature Mode\")\n .options([\n { label: \"Simple\", value: \"simple\" },\n { label: \"Advanced\", value: \"advanced\" }\n ])\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n }\n ]),\n advancedConfig: fields\n .text()\n .label(\"Advanced Config\")\n .placeholder(\"JSON config...\")\n .renderer(\"textarea\", { rows: 3 })\n .description(\"Only editable in advanced mode\")\n .rules([\n {\n type: \"condition\",\n target: \"enableFeature\",\n operator: \"isFalsy\",\n value: null,\n action: \"hide\"\n },\n {\n type: \"condition\",\n target: \"featureMode\",\n operator: \"neq\",\n value: \"advanced\",\n action: \"disable\"\n }\n ]),\n\n // --- Dynamic Zone (single template) ---\n contentBlock: fields\n .object()\n .label(\"Content Block\")\n .template(\"hero\", t => {\n t.label(\"Hero Banner\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n heading: f.text().label(\"Heading\").required(\"Required\"),\n image: f.text().label(\"Image URL\")\n }));\n })\n .template(\"text\", t => {\n t.label(\"Rich Text\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n body: f.text().label(\"Body\").renderer(\"textarea\")\n }));\n }),\n\n // --- Dynamic Zone (multi-value template list) ---\n sections: fields\n .object()\n .list()\n .label(\"Page Sections\")\n .renderer(\"dynamicZone\", { container: false })\n .template(\"hero\", t => {\n t.label(\"Hero Banner\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n heading: f.text().label(\"Heading\"),\n subheading: f.text().label(\"Subheading\"),\n uuid: f\n .text()\n .label(\"UUID\")\n .defaultValue(() => Date.now())\n .cloneValue(value => `${value}/${Date.now()}`)\n }));\n })\n .template(\"cta\", t => {\n t.label(\"Call To Action\")\n .icon({\n type: \"icon\",\n name: \"fab/behance-square\"\n })\n .fields(f => ({\n label: f.text().label(\"Button Label\"),\n url: f.text().label(\"URL\")\n }));\n }),\n\n // --- Files ---\n fileImage: fields\n .file()\n .label(\"Image (full metadata)\")\n .description(\"Stores the full file object (id, name, size, src, etc.)\"),\n fileUrl: fields\n .fileUrl()\n .label(\"Image URL\")\n .description(\"Stores only the file URL as a string\")\n }),\n layout: layout => [\n layout\n .tabs(\"mainTabs\")\n .tab(\"text\", tab => {\n tab.label(\"Text\").layout(l => [\n l.row(\"textInput\"),\n l.row(\"textInputs\"),\n l.row(\"tags\"),\n l.row(\"textarea\"),\n l.row(\"textareas\"),\n l.row(\"metaTags\")\n ]);\n })\n .tab(\"numbers\", tab => {\n tab.label(\"Numbers & Boolean\").layout(l => [\n l.row(\"numberInput\"),\n l.row(\"numberInputs\"),\n l.row(\"numberOptions\"),\n l.separator(),\n l.row(\"boolSwitch\")\n ]);\n })\n .tab(\"selects\", tab => {\n tab.label(\"Selects\").layout(l => [\n l.row(\"dropdown\", \"radioButtons\"),\n l.row(\"checkboxes\")\n ]);\n })\n .tab(\"datetime\", tab => {\n tab.label(\"Date / Time\").layout(l => [\n l.row(\"dateOnly\", \"timeOnly\"),\n l.row(\"dateTime\"),\n l.row(\"dateTimeTz\"),\n l.separator(),\n l.row(\"monthOnly\", \"weekOnly\"),\n l.row(\"yearOnly\"),\n l.separator(),\n l.row(\"dateRange\"),\n l.row(\"multipleDates\"),\n l.row(\"multipleMonths\", \"multipleYears\"),\n l.separator(),\n l.row(\"dateTimeList\")\n ]);\n })\n .tab(\"rules\", tab => {\n tab.label(\"Rules\").layout(l => [\n l.row(\"enableFeature\"),\n l.row(\"featureName\", \"featureMode\"),\n l.row(\"advancedConfig\")\n ]);\n })\n .tab(\"dynamic\", tab => {\n tab.label(\"Dynamic Zones\").layout(l => [\n l.object(\"contentBlock\", {\n hero: inner => [inner.row(\"heading\"), inner.row(\"image\")],\n text: inner => [inner.row(\"body\")]\n }),\n l.object(\"sections\", {\n hero: inner => [\n inner.row(\"heading\", \"subheading\"),\n inner.row(\"uuid\")\n ],\n cta: inner => [inner.row(\"label\", \"url\")]\n })\n ]);\n })\n .tab(\"files\", tab => {\n tab.label(\"Files\").layout(l => [l.row(\"fileImage\", \"fileUrl\")]);\n })\n ]\n });\n\n makeAutoObservable(this);\n }\n\n get vm(): FieldRenderersDemoVM {\n return {\n form: this.form.vm,\n data: toJS(this.form.getData()),\n lastSubmitted: this.lastSubmitted,\n isSubmitting: this.isSubmitting,\n formErrors: this.form.errors\n };\n }\n\n focusField(path: string): void {\n this.form.focusField(path);\n }\n\n async submit(): Promise<void> {\n this.isSubmitting = true;\n try {\n const result = await this.form.submit<Record<string, unknown>>();\n if (result !== false) {\n this.lastSubmitted = toJS(result);\n }\n } finally {\n this.isSubmitting = false;\n }\n }\n\n reset(): void {\n this.form.reset();\n this.lastSubmitted = null;\n }\n}\n"],"names":["FieldRenderersDemoPresenter","formFactory","fields","f","t","Date","value","layout","tab","l","inner","makeAutoObservable","toJS","path","result"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from "react";
1
+ import react, { useMemo } from "react";
2
2
  import { observer } from "mobx-react-lite";
3
3
  import { useFeature } from "@webiny/app";
4
4
  import { Button } from "@webiny/admin-ui";
@@ -8,223 +8,199 @@ import { FieldRenderersDemoPresenter } from "./FieldRenderersDemoPresenter.js";
8
8
  import { FormModelDemoPresenter } from "./FormModelDemoPresenter.js";
9
9
  import { FormModelPhase8c1Presenter } from "./FormModelPhase8c1Presenter.js";
10
10
  import { FormModelPhase11Presenter } from "./FormModelPhase11Presenter.js";
11
- export const FormModelDemo = observer(() => {
12
- const {
13
- formModelFactory
14
- } = useFeature(FormModelFeature);
15
- const presenter = useMemo(() => new FormModelDemoPresenter(formModelFactory), [formModelFactory]);
16
- const {
17
- form,
18
- data,
19
- lastSubmitted,
20
- isSubmitting,
21
- runtimeTemplateAdded,
22
- textTemplateRemoved
23
- } = presenter.vm;
24
- return /*#__PURE__*/React.createElement("div", {
25
- className: "p-lg flex flex-col gap-2xl max-w-4xl mx-auto"
26
- }, /*#__PURE__*/React.createElement(FieldRenderersSection, null), /*#__PURE__*/React.createElement("div", {
27
- className: "flex flex-col gap-lg"
28
- }, /*#__PURE__*/React.createElement("div", {
29
- className: "flex flex-col gap-sm"
30
- }, /*#__PURE__*/React.createElement("h2", {
31
- className: "text-xl font-semibold"
32
- }, "FormModel Demo \u2014 Phase 8"), /*#__PURE__*/React.createElement("p", {
33
- className: "text-sm text-neutral-strong"
34
- }, "Exercises the full Phase 8 surface: single-object templates (\"Content Block\"), templated lists (\"Page Sections\"), per-template layouts (Hero spans two rows; Rich Text uses a single row; templates without a layout entry fall back to default), and runtime template management via", " ", /*#__PURE__*/React.createElement("code", null, "field.templates.add/remove"), ". Change Plan to", " ", /*#__PURE__*/React.createElement("code", null, "enterprise"), " to reveal the \"Premium Widget\" template in the Content Block picker.")), /*#__PURE__*/React.createElement(FormView, {
35
- form: form
36
- }), /*#__PURE__*/React.createElement("div", {
37
- className: "flex flex-wrap gap-sm"
38
- }, /*#__PURE__*/React.createElement(Button, {
39
- text: isSubmitting ? "Submitting…" : "Submit",
40
- variant: "primary",
41
- onClick: () => presenter.submit(),
42
- disabled: isSubmitting
43
- }), /*#__PURE__*/React.createElement(Button, {
44
- text: "Reset",
45
- variant: "secondary",
46
- onClick: () => presenter.reset(),
47
- disabled: isSubmitting
48
- }), /*#__PURE__*/React.createElement(Button, {
49
- text: runtimeTemplateAdded ? 'Remove "Runtime Banner" from sections' : 'Add "Runtime Banner" to sections',
50
- variant: "tertiary",
51
- onClick: () => presenter.toggleRuntimeTemplate()
52
- }), /*#__PURE__*/React.createElement(Button, {
53
- text: textTemplateRemoved ? 'Restore "Rich Text" on content' : 'Remove "Rich Text" from content',
54
- variant: "tertiary",
55
- onClick: () => presenter.toggleTextTemplate()
56
- })), /*#__PURE__*/React.createElement("div", {
57
- className: "grid grid-cols-2 gap-md"
58
- }, /*#__PURE__*/React.createElement(DataPanel, {
59
- title: "Current getData()",
60
- data: data
61
- }), /*#__PURE__*/React.createElement(DataPanel, {
62
- title: "Last submitted",
63
- data: lastSubmitted
64
- }))), /*#__PURE__*/React.createElement(Phase8c1Section, null), /*#__PURE__*/React.createElement(Phase11Section, null));
11
+ const FormModelDemo = observer(()=>{
12
+ const { formModelFactory } = useFeature(FormModelFeature);
13
+ const presenter = useMemo(()=>new FormModelDemoPresenter(formModelFactory), [
14
+ formModelFactory
15
+ ]);
16
+ const { form, data, lastSubmitted, isSubmitting, runtimeTemplateAdded, textTemplateRemoved } = presenter.vm;
17
+ return /*#__PURE__*/ react.createElement("div", {
18
+ className: "p-lg flex flex-col gap-2xl max-w-4xl mx-auto"
19
+ }, /*#__PURE__*/ react.createElement(FieldRenderersSection, null), /*#__PURE__*/ react.createElement("div", {
20
+ className: "flex flex-col gap-lg"
21
+ }, /*#__PURE__*/ react.createElement("div", {
22
+ className: "flex flex-col gap-sm"
23
+ }, /*#__PURE__*/ react.createElement("h2", {
24
+ className: "text-xl font-semibold"
25
+ }, "FormModel Demo Phase 8"), /*#__PURE__*/ react.createElement("p", {
26
+ className: "text-sm text-neutral-strong"
27
+ }, 'Exercises the full Phase 8 surface: single-object templates ("Content Block"), templated lists ("Page Sections"), per-template layouts (Hero spans two rows; Rich Text uses a single row; templates without a layout entry fall back to default), and runtime template management via', " ", /*#__PURE__*/ react.createElement("code", null, "field.templates.add/remove"), ". Change Plan to", " ", /*#__PURE__*/ react.createElement("code", null, "enterprise"), ' to reveal the "Premium Widget" template in the Content Block picker.')), /*#__PURE__*/ react.createElement(FormView, {
28
+ name: "Demo",
29
+ form: form
30
+ }), /*#__PURE__*/ react.createElement("div", {
31
+ className: "flex flex-wrap gap-sm"
32
+ }, /*#__PURE__*/ react.createElement(Button, {
33
+ text: isSubmitting ? "Submitting…" : "Submit",
34
+ variant: "primary",
35
+ onClick: ()=>presenter.submit(),
36
+ disabled: isSubmitting
37
+ }), /*#__PURE__*/ react.createElement(Button, {
38
+ text: "Reset",
39
+ variant: "secondary",
40
+ onClick: ()=>presenter.reset(),
41
+ disabled: isSubmitting
42
+ }), /*#__PURE__*/ react.createElement(Button, {
43
+ text: runtimeTemplateAdded ? 'Remove "Runtime Banner" from sections' : 'Add "Runtime Banner" to sections',
44
+ variant: "tertiary",
45
+ onClick: ()=>presenter.toggleRuntimeTemplate()
46
+ }), /*#__PURE__*/ react.createElement(Button, {
47
+ text: textTemplateRemoved ? 'Restore "Rich Text" on content' : 'Remove "Rich Text" from content',
48
+ variant: "tertiary",
49
+ onClick: ()=>presenter.toggleTextTemplate()
50
+ })), /*#__PURE__*/ react.createElement("div", {
51
+ className: "grid grid-cols-2 gap-md"
52
+ }, /*#__PURE__*/ react.createElement(DataPanel, {
53
+ title: "Current getData()",
54
+ data: data
55
+ }), /*#__PURE__*/ react.createElement(DataPanel, {
56
+ title: "Last submitted",
57
+ data: lastSubmitted
58
+ }))), /*#__PURE__*/ react.createElement(Phase8c1Section, null), /*#__PURE__*/ react.createElement(Phase11Section, null));
65
59
  });
66
- const FieldRenderersSection = observer(() => {
67
- const {
68
- formModelFactory
69
- } = useFeature(FormModelFeature);
70
- const presenter = useMemo(() => new FieldRenderersDemoPresenter(formModelFactory), [formModelFactory]);
71
- const {
72
- form,
73
- data,
74
- lastSubmitted,
75
- isSubmitting,
76
- formErrors
77
- } = presenter.vm;
78
- return /*#__PURE__*/React.createElement("div", {
79
- className: "flex flex-col gap-lg"
80
- }, /*#__PURE__*/React.createElement("div", {
81
- className: "flex flex-col gap-sm"
82
- }, /*#__PURE__*/React.createElement("h2", {
83
- className: "text-xl font-semibold"
84
- }, "Field Renderers Showcase"), /*#__PURE__*/React.createElement("p", {
85
- className: "text-sm text-neutral-strong"
86
- }, "All field renderer variants: text, number, boolean, select (dropdown/radio/checkboxes), date/time (4 variants), tags, textarea, multi-value lists, hidden, and dynamic zones. Renderers not yet implemented show nothing (console warning).")), /*#__PURE__*/React.createElement(FormView, {
87
- form: form
88
- }), formErrors.length > 0 && /*#__PURE__*/React.createElement("div", {
89
- className: "flex flex-col gap-xs"
90
- }, /*#__PURE__*/React.createElement("div", {
91
- className: "text-sm font-medium"
92
- }, "Form errors"), /*#__PURE__*/React.createElement("ul", {
93
- className: "text-xs text-error-strong list-disc pl-md"
94
- }, formErrors.map((e, i) => /*#__PURE__*/React.createElement("li", {
95
- key: i
96
- }, e.path ? /*#__PURE__*/React.createElement("button", {
97
- type: "button",
98
- className: "underline cursor-pointer hover:text-error-default",
99
- onClick: () => presenter.focusField(e.path)
100
- }, /*#__PURE__*/React.createElement("code", null, e.path)) : null, " ", e.message)))), /*#__PURE__*/React.createElement("div", {
101
- className: "flex flex-wrap gap-sm"
102
- }, /*#__PURE__*/React.createElement(Button, {
103
- text: isSubmitting ? "Submitting…" : "Submit",
104
- variant: "primary",
105
- onClick: () => presenter.submit(),
106
- disabled: isSubmitting
107
- }), /*#__PURE__*/React.createElement(Button, {
108
- text: "Reset",
109
- variant: "secondary",
110
- onClick: () => presenter.reset(),
111
- disabled: isSubmitting
112
- })), /*#__PURE__*/React.createElement("div", {
113
- className: "grid grid-cols-2 gap-md"
114
- }, /*#__PURE__*/React.createElement(DataPanel, {
115
- title: "Current getData()",
116
- data: data
117
- }), /*#__PURE__*/React.createElement(DataPanel, {
118
- title: "Last submitted",
119
- data: lastSubmitted
120
- })));
60
+ const FieldRenderersSection = observer(()=>{
61
+ const { formModelFactory } = useFeature(FormModelFeature);
62
+ const presenter = useMemo(()=>new FieldRenderersDemoPresenter(formModelFactory), [
63
+ formModelFactory
64
+ ]);
65
+ const { form, data, lastSubmitted, isSubmitting, formErrors } = presenter.vm;
66
+ return /*#__PURE__*/ react.createElement("div", {
67
+ className: "flex flex-col gap-lg"
68
+ }, /*#__PURE__*/ react.createElement("div", {
69
+ className: "flex flex-col gap-sm"
70
+ }, /*#__PURE__*/ react.createElement("h2", {
71
+ className: "text-xl font-semibold"
72
+ }, "Field Renderers Showcase"), /*#__PURE__*/ react.createElement("p", {
73
+ className: "text-sm text-neutral-strong"
74
+ }, "All field renderer variants: text, number, boolean, select (dropdown/radio/checkboxes), date/time (4 variants), tags, textarea, multi-value lists, hidden, and dynamic zones. Renderers not yet implemented show nothing (console warning).")), /*#__PURE__*/ react.createElement(FormView, {
75
+ name: "Demo",
76
+ form: form
77
+ }), formErrors.length > 0 && /*#__PURE__*/ react.createElement("div", {
78
+ className: "flex flex-col gap-xs"
79
+ }, /*#__PURE__*/ react.createElement("div", {
80
+ className: "text-sm font-medium"
81
+ }, "Form errors"), /*#__PURE__*/ react.createElement("ul", {
82
+ className: "text-xs text-error-strong list-disc pl-md"
83
+ }, formErrors.map((e, i)=>/*#__PURE__*/ react.createElement("li", {
84
+ key: i
85
+ }, e.path ? /*#__PURE__*/ react.createElement("button", {
86
+ type: "button",
87
+ className: "underline cursor-pointer hover:text-error-default",
88
+ onClick: ()=>presenter.focusField(e.path)
89
+ }, /*#__PURE__*/ react.createElement("code", null, e.path)) : null, " ", e.message)))), /*#__PURE__*/ react.createElement("div", {
90
+ className: "flex flex-wrap gap-sm"
91
+ }, /*#__PURE__*/ react.createElement(Button, {
92
+ text: isSubmitting ? "Submitting…" : "Submit",
93
+ variant: "primary",
94
+ onClick: ()=>presenter.submit(),
95
+ disabled: isSubmitting
96
+ }), /*#__PURE__*/ react.createElement(Button, {
97
+ text: "Reset",
98
+ variant: "secondary",
99
+ onClick: ()=>presenter.reset(),
100
+ disabled: isSubmitting
101
+ })), /*#__PURE__*/ react.createElement("div", {
102
+ className: "grid grid-cols-2 gap-md"
103
+ }, /*#__PURE__*/ react.createElement(DataPanel, {
104
+ title: "Current getData()",
105
+ data: data
106
+ }), /*#__PURE__*/ react.createElement(DataPanel, {
107
+ title: "Last submitted",
108
+ data: lastSubmitted
109
+ })));
121
110
  });
122
- const Phase8c1Section = observer(() => {
123
- const {
124
- formModelFactory
125
- } = useFeature(FormModelFeature);
126
- const presenter = useMemo(() => new FormModelPhase8c1Presenter(formModelFactory), [formModelFactory]);
127
- const {
128
- form,
129
- data,
130
- lastSubmitted,
131
- isSubmitting
132
- } = presenter.vm;
133
- return /*#__PURE__*/React.createElement("div", {
134
- className: "flex flex-col gap-lg border-t border-neutral-dimmed pt-lg"
135
- }, /*#__PURE__*/React.createElement("div", {
136
- className: "flex flex-col gap-sm"
137
- }, /*#__PURE__*/React.createElement("h2", {
138
- className: "text-xl font-semibold"
139
- }, "FormModel Demo \u2014 Phase 8c.1"), /*#__PURE__*/React.createElement("p", {
140
- className: "text-sm text-neutral-strong"
141
- }, "Nested object layouts. A top-level ", /*#__PURE__*/React.createElement("code", null, "page"), " object whose inner layout is split across tabs (General / SEO). The SEO tab contains a nested", " ", /*#__PURE__*/React.createElement("code", null, "layout.object(\"seo\", ...)"), " with its own row layout, and the SEO object itself contains another nested", " ", /*#__PURE__*/React.createElement("code", null, "layout.object(\"og\", ...)"), " for the Open Graph fields. Phase 8c.1 walks the inner layout (including across tabs) and forwards each nested", " ", /*#__PURE__*/React.createElement("code", null, "layout.object()"), " to the matching child at build time.")), /*#__PURE__*/React.createElement(FormView, {
142
- form: form
143
- }), /*#__PURE__*/React.createElement("div", {
144
- className: "flex flex-wrap gap-sm"
145
- }, /*#__PURE__*/React.createElement(Button, {
146
- text: isSubmitting ? "Submitting…" : "Submit",
147
- variant: "primary",
148
- onClick: () => presenter.submit(),
149
- disabled: isSubmitting
150
- }), /*#__PURE__*/React.createElement(Button, {
151
- text: "Reset",
152
- variant: "secondary",
153
- onClick: () => presenter.reset(),
154
- disabled: isSubmitting
155
- })), /*#__PURE__*/React.createElement("div", {
156
- className: "grid grid-cols-2 gap-md"
157
- }, /*#__PURE__*/React.createElement(DataPanel, {
158
- title: "Current getData()",
159
- data: data
160
- }), /*#__PURE__*/React.createElement(DataPanel, {
161
- title: "Last submitted",
162
- data: lastSubmitted
163
- })));
111
+ const Phase8c1Section = observer(()=>{
112
+ const { formModelFactory } = useFeature(FormModelFeature);
113
+ const presenter = useMemo(()=>new FormModelPhase8c1Presenter(formModelFactory), [
114
+ formModelFactory
115
+ ]);
116
+ const { form, data, lastSubmitted, isSubmitting } = presenter.vm;
117
+ return /*#__PURE__*/ react.createElement("div", {
118
+ className: "flex flex-col gap-lg border-t border-neutral-dimmed pt-lg"
119
+ }, /*#__PURE__*/ react.createElement("div", {
120
+ className: "flex flex-col gap-sm"
121
+ }, /*#__PURE__*/ react.createElement("h2", {
122
+ className: "text-xl font-semibold"
123
+ }, "FormModel Demo Phase 8c.1"), /*#__PURE__*/ react.createElement("p", {
124
+ className: "text-sm text-neutral-strong"
125
+ }, "Nested object layouts. A top-level ", /*#__PURE__*/ react.createElement("code", null, "page"), " object whose inner layout is split across tabs (General / SEO). The SEO tab contains a nested", " ", /*#__PURE__*/ react.createElement("code", null, 'layout.object("seo", ...)'), " with its own row layout, and the SEO object itself contains another nested", " ", /*#__PURE__*/ react.createElement("code", null, 'layout.object("og", ...)'), " for the Open Graph fields. Phase 8c.1 walks the inner layout (including across tabs) and forwards each nested", " ", /*#__PURE__*/ react.createElement("code", null, "layout.object()"), " to the matching child at build time.")), /*#__PURE__*/ react.createElement(FormView, {
126
+ name: "Demo",
127
+ form: form
128
+ }), /*#__PURE__*/ react.createElement("div", {
129
+ className: "flex flex-wrap gap-sm"
130
+ }, /*#__PURE__*/ react.createElement(Button, {
131
+ text: isSubmitting ? "Submitting…" : "Submit",
132
+ variant: "primary",
133
+ onClick: ()=>presenter.submit(),
134
+ disabled: isSubmitting
135
+ }), /*#__PURE__*/ react.createElement(Button, {
136
+ text: "Reset",
137
+ variant: "secondary",
138
+ onClick: ()=>presenter.reset(),
139
+ disabled: isSubmitting
140
+ })), /*#__PURE__*/ react.createElement("div", {
141
+ className: "grid grid-cols-2 gap-md"
142
+ }, /*#__PURE__*/ react.createElement(DataPanel, {
143
+ title: "Current getData()",
144
+ data: data
145
+ }), /*#__PURE__*/ react.createElement(DataPanel, {
146
+ title: "Last submitted",
147
+ data: lastSubmitted
148
+ })));
164
149
  });
165
- const Phase11Section = observer(() => {
166
- const {
167
- formModelFactory
168
- } = useFeature(FormModelFeature);
169
- const presenter = useMemo(() => new FormModelPhase11Presenter(formModelFactory), [formModelFactory]);
170
- const {
171
- form,
172
- data,
173
- lastSubmitted,
174
- isSubmitting,
175
- formErrors
176
- } = presenter.vm;
177
- return /*#__PURE__*/React.createElement("div", {
178
- className: "flex flex-col gap-lg border-t border-neutral-dimmed pt-lg"
179
- }, /*#__PURE__*/React.createElement("div", {
180
- className: "flex flex-col gap-sm"
181
- }, /*#__PURE__*/React.createElement("h2", {
182
- className: "text-xl font-semibold"
183
- }, "FormModel Demo \u2014 Phase 11"), /*#__PURE__*/React.createElement("p", {
184
- className: "text-sm text-neutral-strong"
185
- }, "Conditional required (", /*#__PURE__*/React.createElement("code", null, "requiredWhen"), " on Seats \u2014 chained builder + modifier rules), derived fields (", /*#__PURE__*/React.createElement("code", null, "computed"), " Full Name and", " ", /*#__PURE__*/React.createElement("code", null, "computedUntilDirty"), " Slug), modifier-style child addition via", " ", /*#__PURE__*/React.createElement("code", null, "field.as(\"object\").fields()"), " adding Company/Bio to Profile, form-level rules (", /*#__PURE__*/React.createElement("code", null, "addRule"), " with a Zod refinement for password match plus an imperative slug-length rule), and a layout assembled via", " ", /*#__PURE__*/React.createElement("code", null, "setLayout"), ".")), /*#__PURE__*/React.createElement(FormView, {
186
- form: form
187
- }), formErrors.length > 0 && /*#__PURE__*/React.createElement("div", {
188
- className: "flex flex-col gap-xs"
189
- }, /*#__PURE__*/React.createElement("div", {
190
- className: "text-sm font-medium"
191
- }, "Form errors"), /*#__PURE__*/React.createElement("ul", {
192
- className: "text-xs text-error-strong list-disc pl-md"
193
- }, formErrors.map((e, i) => /*#__PURE__*/React.createElement("li", {
194
- key: i
195
- }, e.path ? /*#__PURE__*/React.createElement("code", null, e.path) : null, " ", e.message)))), /*#__PURE__*/React.createElement("div", {
196
- className: "flex flex-wrap gap-sm"
197
- }, /*#__PURE__*/React.createElement(Button, {
198
- text: isSubmitting ? "Submitting…" : "Submit",
199
- variant: "primary",
200
- onClick: () => presenter.submit(),
201
- disabled: isSubmitting
202
- }), /*#__PURE__*/React.createElement(Button, {
203
- text: "Reset",
204
- variant: "secondary",
205
- onClick: () => presenter.reset(),
206
- disabled: isSubmitting
207
- })), /*#__PURE__*/React.createElement("div", {
208
- className: "grid grid-cols-2 gap-md"
209
- }, /*#__PURE__*/React.createElement(DataPanel, {
210
- title: "Current getData()",
211
- data: data
212
- }), /*#__PURE__*/React.createElement(DataPanel, {
213
- title: "Last submitted",
214
- data: lastSubmitted
215
- })));
150
+ const Phase11Section = observer(()=>{
151
+ const { formModelFactory } = useFeature(FormModelFeature);
152
+ const presenter = useMemo(()=>new FormModelPhase11Presenter(formModelFactory), [
153
+ formModelFactory
154
+ ]);
155
+ const { form, data, lastSubmitted, isSubmitting, formErrors } = presenter.vm;
156
+ return /*#__PURE__*/ react.createElement("div", {
157
+ className: "flex flex-col gap-lg border-t border-neutral-dimmed pt-lg"
158
+ }, /*#__PURE__*/ react.createElement("div", {
159
+ className: "flex flex-col gap-sm"
160
+ }, /*#__PURE__*/ react.createElement("h2", {
161
+ className: "text-xl font-semibold"
162
+ }, "FormModel Demo — Phase 11"), /*#__PURE__*/ react.createElement("p", {
163
+ className: "text-sm text-neutral-strong"
164
+ }, "Conditional required (", /*#__PURE__*/ react.createElement("code", null, "requiredWhen"), " on Seats — chained builder + modifier rules), derived fields (", /*#__PURE__*/ react.createElement("code", null, "computed"), " Full Name and", " ", /*#__PURE__*/ react.createElement("code", null, "computedUntilDirty"), " Slug), modifier-style child addition via", " ", /*#__PURE__*/ react.createElement("code", null, 'field.as("object").fields()'), " adding Company/Bio to Profile, form-level rules (", /*#__PURE__*/ react.createElement("code", null, "addRule"), " with a Zod refinement for password match plus an imperative slug-length rule), and a layout assembled via", " ", /*#__PURE__*/ react.createElement("code", null, "setLayout"), ".")), /*#__PURE__*/ react.createElement(FormView, {
165
+ name: "Demo",
166
+ form: form
167
+ }), formErrors.length > 0 && /*#__PURE__*/ react.createElement("div", {
168
+ className: "flex flex-col gap-xs"
169
+ }, /*#__PURE__*/ react.createElement("div", {
170
+ className: "text-sm font-medium"
171
+ }, "Form errors"), /*#__PURE__*/ react.createElement("ul", {
172
+ className: "text-xs text-error-strong list-disc pl-md"
173
+ }, formErrors.map((e, i)=>/*#__PURE__*/ react.createElement("li", {
174
+ key: i
175
+ }, e.path ? /*#__PURE__*/ react.createElement("code", null, e.path) : null, " ", e.message)))), /*#__PURE__*/ react.createElement("div", {
176
+ className: "flex flex-wrap gap-sm"
177
+ }, /*#__PURE__*/ react.createElement(Button, {
178
+ text: isSubmitting ? "Submitting…" : "Submit",
179
+ variant: "primary",
180
+ onClick: ()=>presenter.submit(),
181
+ disabled: isSubmitting
182
+ }), /*#__PURE__*/ react.createElement(Button, {
183
+ text: "Reset",
184
+ variant: "secondary",
185
+ onClick: ()=>presenter.reset(),
186
+ disabled: isSubmitting
187
+ })), /*#__PURE__*/ react.createElement("div", {
188
+ className: "grid grid-cols-2 gap-md"
189
+ }, /*#__PURE__*/ react.createElement(DataPanel, {
190
+ title: "Current getData()",
191
+ data: data
192
+ }), /*#__PURE__*/ react.createElement(DataPanel, {
193
+ title: "Last submitted",
194
+ data: lastSubmitted
195
+ })));
216
196
  });
217
- const DataPanel = ({
218
- title,
219
- data
220
- }) => {
221
- return /*#__PURE__*/React.createElement("div", {
222
- className: "flex flex-col gap-xs"
223
- }, /*#__PURE__*/React.createElement("div", {
224
- className: "text-sm font-medium"
225
- }, title), /*#__PURE__*/React.createElement("pre", {
226
- className: "text-xs bg-neutral-subtle p-sm rounded border border-neutral-dimmed overflow-auto"
227
- }, data === null ? "null" : JSON.stringify(data, null, 2)));
228
- };
197
+ const DataPanel = ({ title, data })=>/*#__PURE__*/ react.createElement("div", {
198
+ className: "flex flex-col gap-xs"
199
+ }, /*#__PURE__*/ react.createElement("div", {
200
+ className: "text-sm font-medium"
201
+ }, title), /*#__PURE__*/ react.createElement("pre", {
202
+ className: "text-xs bg-neutral-subtle p-sm rounded border border-neutral-dimmed overflow-auto"
203
+ }, null === data ? "null" : JSON.stringify(data, null, 2)));
204
+ export { FormModelDemo };
229
205
 
230
206
  //# sourceMappingURL=FormModelDemo.js.map