@webiny/app-admin 6.3.0-beta.2 → 6.3.0-beta.3

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 (234) hide show
  1. package/base/Base/DefaultFieldRenderers.js +69 -5
  2. package/base/Base/DefaultFieldRenderers.js.map +1 -1
  3. package/base/Base/DefaultLayoutRenderers.js +5 -1
  4. package/base/Base/DefaultLayoutRenderers.js.map +1 -1
  5. package/base/Base/FieldRenderers/CheckboxesRenderer.d.ts +13 -0
  6. package/base/Base/FieldRenderers/CheckboxesRenderer.js +28 -0
  7. package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -0
  8. package/base/Base/FieldRenderers/CodeEditorRenderer.d.ts +15 -0
  9. package/base/Base/FieldRenderers/CodeEditorRenderer.js +17 -0
  10. package/base/Base/FieldRenderers/CodeEditorRenderer.js.map +1 -0
  11. package/base/Base/FieldRenderers/DateTimeInputsRenderer.d.ts +17 -0
  12. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +66 -0
  13. package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -0
  14. package/base/Base/FieldRenderers/DateTimeRenderer.d.ts +21 -0
  15. package/base/Base/FieldRenderers/DateTimeRenderer.js +46 -0
  16. package/base/Base/FieldRenderers/DateTimeRenderer.js.map +1 -0
  17. package/base/Base/FieldRenderers/FilePickerRenderer.d.ts +12 -0
  18. package/base/Base/FieldRenderers/FilePickerRenderer.js +47 -0
  19. package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -0
  20. package/base/Base/FieldRenderers/FileUrlPickerRenderer.d.ts +12 -0
  21. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +25 -0
  22. package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -0
  23. package/base/Base/FieldRenderers/HiddenRenderer.d.ts +12 -0
  24. package/base/Base/FieldRenderers/HiddenRenderer.js +5 -0
  25. package/base/Base/FieldRenderers/HiddenRenderer.js.map +1 -0
  26. package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +5 -0
  27. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +27 -0
  28. package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -0
  29. package/base/Base/FieldRenderers/InputRenderer.d.ts +4 -7
  30. package/base/Base/FieldRenderers/InputRenderer.js +2 -2
  31. package/base/Base/FieldRenderers/InputRenderer.js.map +1 -1
  32. package/base/Base/FieldRenderers/NumberInputRenderer.d.ts +12 -0
  33. package/base/Base/FieldRenderers/NumberInputRenderer.js +23 -0
  34. package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -0
  35. package/base/Base/FieldRenderers/NumberInputsRenderer.d.ts +14 -0
  36. package/base/Base/FieldRenderers/NumberInputsRenderer.js +49 -0
  37. package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -0
  38. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +14 -0
  39. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +20 -0
  40. package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -0
  41. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.d.ts +14 -0
  42. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +65 -0
  43. package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -0
  44. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +10 -0
  45. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +109 -0
  46. package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +1 -0
  47. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +17 -0
  48. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +55 -0
  49. package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -0
  50. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +7 -3
  51. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +15 -19
  52. package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
  53. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +5 -8
  54. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +7 -50
  55. package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
  56. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +10 -0
  57. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +64 -0
  58. package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -0
  59. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.d.ts +10 -0
  60. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +85 -0
  61. package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -0
  62. package/base/Base/FieldRenderers/PassthroughRenderer.d.ts +3 -6
  63. package/base/Base/FieldRenderers/PassthroughRenderer.js +9 -23
  64. package/base/Base/FieldRenderers/PassthroughRenderer.js.map +1 -1
  65. package/base/Base/FieldRenderers/RadioButtonsRenderer.d.ts +13 -0
  66. package/base/Base/FieldRenderers/RadioButtonsRenderer.js +27 -0
  67. package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -0
  68. package/base/Base/FieldRenderers/SelectRenderer.d.ts +6 -8
  69. package/base/Base/FieldRenderers/SelectRenderer.js +8 -5
  70. package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
  71. package/base/Base/FieldRenderers/SwitchRenderer.d.ts +12 -0
  72. package/base/Base/FieldRenderers/SwitchRenderer.js +19 -0
  73. package/base/Base/FieldRenderers/SwitchRenderer.js.map +1 -0
  74. package/base/Base/FieldRenderers/TagsRenderer.d.ts +12 -0
  75. package/base/Base/FieldRenderers/TagsRenderer.js +21 -0
  76. package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -0
  77. package/base/Base/FieldRenderers/TextInputsRenderer.d.ts +14 -0
  78. package/base/Base/FieldRenderers/TextInputsRenderer.js +48 -0
  79. package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -0
  80. package/base/Base/FieldRenderers/TextareaRenderer.d.ts +3 -6
  81. package/base/Base/FieldRenderers/TextareaRenderer.js +3 -4
  82. package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -1
  83. package/base/Base/FieldRenderers/TextareasRenderer.d.ts +14 -0
  84. package/base/Base/FieldRenderers/TextareasRenderer.js +51 -0
  85. package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -0
  86. package/base/Base/FieldRenderers/VerticalTabsRenderer.js +2 -2
  87. package/base/Base/FieldRenderers/VerticalTabsRenderer.js.map +1 -1
  88. package/base/Base/Menus.js +5 -64
  89. package/base/Base/Menus.js.map +1 -1
  90. package/base/Base/RoutesConfig.js +6 -0
  91. package/base/Base/RoutesConfig.js.map +1 -1
  92. package/exports/admin/build-params.d.ts +2 -0
  93. package/exports/admin/build-params.js +3 -0
  94. package/exports/admin/build-params.js.map +1 -1
  95. package/exports/admin/form.d.ts +5 -0
  96. package/exports/admin/form.js +8 -0
  97. package/exports/admin/form.js.map +1 -1
  98. package/exports/admin/ui.d.ts +1 -0
  99. package/exports/admin/ui.js +1 -0
  100. package/exports/admin/ui.js.map +1 -1
  101. package/exports/admin.d.ts +3 -1
  102. package/exports/admin.js +3 -1
  103. package/exports/admin.js.map +1 -1
  104. package/features/formModel/ConditionRuleEvaluator.d.ts +9 -0
  105. package/features/formModel/ConditionRuleEvaluator.js +56 -0
  106. package/features/formModel/ConditionRuleEvaluator.js.map +1 -0
  107. package/features/formModel/Field.d.ts +50 -4
  108. package/features/formModel/Field.js +254 -35
  109. package/features/formModel/Field.js.map +1 -1
  110. package/features/formModel/FieldBuilder.d.ts +17 -35
  111. package/features/formModel/FieldBuilder.js +63 -100
  112. package/features/formModel/FieldBuilder.js.map +1 -1
  113. package/features/formModel/FieldBuilder.test.js +127 -13
  114. package/features/formModel/FieldBuilder.test.js.map +1 -1
  115. package/features/formModel/FieldBuilderRegistry.d.ts +4 -0
  116. package/features/formModel/FieldBuilderRegistry.js +31 -0
  117. package/features/formModel/FieldBuilderRegistry.js.map +1 -0
  118. package/features/formModel/FocusManager.d.ts +14 -0
  119. package/features/formModel/FocusManager.js +109 -0
  120. package/features/formModel/FocusManager.js.map +1 -0
  121. package/features/formModel/FormModel.d.ts +27 -31
  122. package/features/formModel/FormModel.js +210 -403
  123. package/features/formModel/FormModel.js.map +1 -1
  124. package/features/formModel/FormModel.test.js +2044 -193
  125. package/features/formModel/FormModel.test.js.map +1 -1
  126. package/features/formModel/FormModelFactory.d.ts +4 -2
  127. package/features/formModel/FormModelFactory.js +13 -3
  128. package/features/formModel/FormModelFactory.js.map +1 -1
  129. package/features/formModel/FormView.d.ts +2 -0
  130. package/features/formModel/FormView.js +44 -37
  131. package/features/formModel/FormView.js.map +1 -1
  132. package/features/formModel/LayoutBuilderFactory.d.ts +61 -0
  133. package/features/formModel/LayoutBuilderFactory.js +386 -0
  134. package/features/formModel/LayoutBuilderFactory.js.map +1 -0
  135. package/features/formModel/LayoutMutator.d.ts +11 -0
  136. package/features/formModel/LayoutMutator.js +136 -0
  137. package/features/formModel/LayoutMutator.js.map +1 -0
  138. package/features/formModel/LayoutResolver.d.ts +26 -0
  139. package/features/formModel/LayoutResolver.js +239 -0
  140. package/features/formModel/LayoutResolver.js.map +1 -0
  141. package/features/formModel/ObjectField.d.ts +55 -4
  142. package/features/formModel/ObjectField.js +499 -82
  143. package/features/formModel/ObjectField.js.map +1 -1
  144. package/features/formModel/Rules.test.d.ts +1 -0
  145. package/features/formModel/Rules.test.js +289 -0
  146. package/features/formModel/Rules.test.js.map +1 -0
  147. package/features/formModel/abstractions.d.ts +402 -52
  148. package/features/formModel/abstractions.js +55 -0
  149. package/features/formModel/abstractions.js.map +1 -1
  150. package/features/formModel/createFieldRenderer.d.ts +20 -0
  151. package/features/formModel/createFieldRenderer.js +15 -0
  152. package/features/formModel/createFieldRenderer.js.map +1 -0
  153. package/features/formModel/demo/FieldRenderersDemoPresenter.d.ts +18 -0
  154. package/features/formModel/demo/FieldRenderersDemoPresenter.js +225 -0
  155. package/features/formModel/demo/FieldRenderersDemoPresenter.js.map +1 -0
  156. package/features/formModel/demo/FormModelDemo.d.ts +4 -0
  157. package/features/formModel/demo/FormModelDemo.js +230 -0
  158. package/features/formModel/demo/FormModelDemo.js.map +1 -0
  159. package/features/formModel/demo/FormModelDemoPresenter.d.ts +22 -0
  160. package/features/formModel/demo/FormModelDemoPresenter.js +121 -0
  161. package/features/formModel/demo/FormModelDemoPresenter.js.map +1 -0
  162. package/features/formModel/demo/FormModelPhase11Presenter.d.ts +25 -0
  163. package/features/formModel/demo/FormModelPhase11Presenter.js +104 -0
  164. package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -0
  165. package/features/formModel/demo/FormModelPhase8c1Presenter.d.ts +23 -0
  166. package/features/formModel/demo/FormModelPhase8c1Presenter.js +62 -0
  167. package/features/formModel/demo/FormModelPhase8c1Presenter.js.map +1 -0
  168. package/features/formModel/feature.js +12 -0
  169. package/features/formModel/feature.js.map +1 -1
  170. package/features/formModel/fieldTypes/BooleanFieldType.d.ts +19 -0
  171. package/features/formModel/fieldTypes/BooleanFieldType.js +23 -0
  172. package/features/formModel/fieldTypes/BooleanFieldType.js.map +1 -0
  173. package/features/formModel/fieldTypes/DateTimeFieldType.d.ts +173 -0
  174. package/features/formModel/fieldTypes/DateTimeFieldType.js +369 -0
  175. package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -0
  176. package/features/formModel/fieldTypes/FileFieldType.d.ts +18 -0
  177. package/features/formModel/fieldTypes/FileFieldType.js +20 -0
  178. package/features/formModel/fieldTypes/FileFieldType.js.map +1 -0
  179. package/features/formModel/fieldTypes/FileUrlFieldType.d.ts +18 -0
  180. package/features/formModel/fieldTypes/FileUrlFieldType.js +20 -0
  181. package/features/formModel/fieldTypes/FileUrlFieldType.js.map +1 -0
  182. package/features/formModel/fieldTypes/NumberFieldType.d.ts +19 -0
  183. package/features/formModel/fieldTypes/NumberFieldType.js +27 -0
  184. package/features/formModel/fieldTypes/NumberFieldType.js.map +1 -0
  185. package/features/formModel/fieldTypes/ObjectFieldType.d.ts +34 -0
  186. package/features/formModel/fieldTypes/ObjectFieldType.js +109 -0
  187. package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -0
  188. package/features/formModel/fieldTypes/TextFieldType.d.ts +18 -0
  189. package/features/formModel/fieldTypes/TextFieldType.js +20 -0
  190. package/features/formModel/fieldTypes/TextFieldType.js.map +1 -0
  191. package/features/formModel/fieldTypes/index.d.ts +7 -0
  192. package/features/formModel/fieldTypes/index.js +9 -0
  193. package/features/formModel/fieldTypes/index.js.map +1 -0
  194. package/features/formModel/index.d.ts +13 -4
  195. package/features/formModel/index.js +21 -2
  196. package/features/formModel/index.js.map +1 -1
  197. package/features/formModel/renderers.d.ts +15 -1
  198. package/features/formModel/renderers.js +15 -1
  199. package/features/formModel/renderers.js.map +1 -1
  200. package/features/tools/LexicalContext/LexicalContext.d.ts +14 -0
  201. package/features/tools/LexicalContext/LexicalContext.js +22 -0
  202. package/features/tools/LexicalContext/LexicalContext.js.map +1 -0
  203. package/features/tools/LexicalContext/abstractions.d.ts +11 -0
  204. package/features/tools/LexicalContext/abstractions.js +4 -0
  205. package/features/tools/LexicalContext/abstractions.js.map +1 -0
  206. package/features/tools/LexicalContext/index.d.ts +2 -0
  207. package/features/tools/LexicalContext/index.js +3 -0
  208. package/features/tools/LexicalContext/index.js.map +1 -0
  209. package/features/tools/feature.js +2 -0
  210. package/features/tools/feature.js.map +1 -1
  211. package/features/tools/index.d.ts +1 -0
  212. package/features/tools/index.js +1 -0
  213. package/features/tools/index.js.map +1 -1
  214. package/index.d.ts +8 -1
  215. package/index.js +7 -0
  216. package/index.js.map +1 -1
  217. package/package.json +30 -24
  218. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +1 -1
  219. package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
  220. package/presentation/lexicalContext/useLexicalContext.d.ts +3 -0
  221. package/presentation/lexicalContext/useLexicalContext.js +14 -0
  222. package/presentation/lexicalContext/useLexicalContext.js.map +1 -0
  223. package/presentation/textToLexicalTool/TextToLexicalTool.d.ts +3 -0
  224. package/presentation/textToLexicalTool/TextToLexicalTool.js +6 -2
  225. package/presentation/textToLexicalTool/TextToLexicalTool.js.map +1 -1
  226. package/presentation/textToLexicalTool/textToLexicalState.d.ts +2 -1
  227. package/presentation/textToLexicalTool/textToLexicalState.js +15 -3
  228. package/presentation/textToLexicalTool/textToLexicalState.js.map +1 -1
  229. package/routes.d.ts +1 -0
  230. package/routes.js +4 -0
  231. package/routes.js.map +1 -1
  232. package/base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.d.ts +0 -21
  233. package/base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js +0 -28
  234. package/base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ import { FieldType } from "../abstractions.js";
2
+ import { FieldBuilder } from "../FieldBuilder.js";
3
+ export function createTemplateBuilder() {
4
+ let label = "";
5
+ let icon;
6
+ let fieldsFactory;
7
+ let visibleFn;
8
+ const builder = {
9
+ label(text) {
10
+ label = text;
11
+ return builder;
12
+ },
13
+ icon(i) {
14
+ icon = i;
15
+ return builder;
16
+ },
17
+ fields(factory) {
18
+ fieldsFactory = factory;
19
+ return builder;
20
+ },
21
+ visible(predicate) {
22
+ visibleFn = predicate;
23
+ return builder;
24
+ },
25
+ _build(id, registry) {
26
+ const childBuilders = fieldsFactory ? fieldsFactory(registry) : {};
27
+ if ("_templateId" in childBuilders) {
28
+ throw new Error(`Template "${id}" defines a reserved field "_templateId". ` + `The discriminator is added automatically.`);
29
+ }
30
+ return {
31
+ id,
32
+ label,
33
+ icon,
34
+ childBuilders,
35
+ visible: visibleFn
36
+ };
37
+ }
38
+ };
39
+ return builder;
40
+ }
41
+ export class ObjectFieldBuilder extends FieldBuilder {
42
+ _childBuilders = {};
43
+ _isList = false;
44
+ _templateIds = new Set();
45
+ constructor(registry) {
46
+ super("object");
47
+ this._config.renderer = "objectAccordionSingle";
48
+ this._registry = registry;
49
+ }
50
+ fields(fn) {
51
+ this._childBuilders = fn(this._registry);
52
+ return this;
53
+ }
54
+ list() {
55
+ this._isList = true;
56
+ if (this._config.renderer === "objectAccordionSingle") {
57
+ this._config.renderer = "objectAccordionMultiple";
58
+ }
59
+ return this;
60
+ }
61
+ listSchema(schema) {
62
+ this._listSchema = schema;
63
+ return this;
64
+ }
65
+ template(id, configure) {
66
+ if (id === "_templateId") {
67
+ throw new Error(`Template id "_templateId" is reserved. Choose a different id.`);
68
+ }
69
+ if (this._templateIds.has(id)) {
70
+ throw new Error(`Duplicate template id "${id}".`);
71
+ }
72
+ this._templateIds.add(id);
73
+ const tb = createTemplateBuilder();
74
+ configure(tb);
75
+ if (!this._templates) {
76
+ this._templates = [];
77
+ }
78
+ this._templates.push(tb._build(id, this._registry));
79
+ if (this._config.renderer === "objectAccordionSingle" || this._config.renderer === "objectAccordionMultiple") {
80
+ this._config.renderer = "dynamicZone";
81
+ }
82
+ return this;
83
+ }
84
+ build(name) {
85
+ if (this._templates && Object.keys(this._childBuilders).length > 0) {
86
+ throw new Error(`Object field "${name}" has both .fields() and .template() defined. ` + `Templates are mutually exclusive with .fields(); each template defines its own children.`);
87
+ }
88
+ return {
89
+ ...this._config,
90
+ name,
91
+ childBuilders: this._childBuilders,
92
+ isList: this._isList,
93
+ listSchema: this._listSchema,
94
+ templates: this._templates
95
+ };
96
+ }
97
+ }
98
+ class ObjectFieldTypeFactory {
99
+ type = "object";
100
+ create(registry) {
101
+ return new ObjectFieldBuilder(registry);
102
+ }
103
+ }
104
+ export const ObjectFieldType = FieldType.createImplementation({
105
+ implementation: ObjectFieldTypeFactory,
106
+ dependencies: []
107
+ });
108
+
109
+ //# sourceMappingURL=ObjectFieldType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FieldType","FieldBuilder","createTemplateBuilder","label","icon","fieldsFactory","visibleFn","builder","text","i","fields","factory","visible","predicate","_build","id","registry","childBuilders","Error","ObjectFieldBuilder","_childBuilders","_isList","_templateIds","Set","constructor","_config","renderer","_registry","fn","list","listSchema","schema","_listSchema","template","configure","has","add","tb","_templates","push","build","name","Object","keys","length","isList","templates","ObjectFieldTypeFactory","type","create","ObjectFieldType","createImplementation","implementation","dependencies"],"sources":["ObjectFieldType.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport {\n FieldType,\n type IFieldTypeFactory,\n type IFieldBuilder,\n type IFieldBuilderRegistry,\n type IObjectFieldBuilder,\n type IObjectFieldConfig,\n type ITemplateBuilder,\n type ITemplateConfig,\n type ITemplateIcon\n} from \"../abstractions.js\";\nimport type { IFormModel } from \"../abstractions.js\";\nimport { FieldBuilder } from \"../FieldBuilder.js\";\n\ninterface TemplateBuilderInternal extends ITemplateBuilder {\n _build(id: string, registry: IFieldBuilderRegistry): ITemplateConfig;\n}\n\nexport function createTemplateBuilder(): TemplateBuilderInternal {\n let label = \"\";\n let icon: ITemplateIcon | undefined;\n let fieldsFactory:\n | ((registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder>)\n | undefined;\n let visibleFn: ((form: IFormModel) => boolean) | undefined;\n\n const builder: TemplateBuilderInternal = {\n label(text: string) {\n label = text;\n return builder;\n },\n icon(i: ITemplateIcon) {\n icon = i;\n return builder;\n },\n fields(factory) {\n fieldsFactory = factory;\n return builder;\n },\n visible(predicate) {\n visibleFn = predicate;\n return builder;\n },\n _build(id: string, registry: IFieldBuilderRegistry): ITemplateConfig {\n const childBuilders = fieldsFactory ? fieldsFactory(registry) : {};\n if (\"_templateId\" in childBuilders) {\n throw new Error(\n `Template \"${id}\" defines a reserved field \"_templateId\". ` +\n `The discriminator is added automatically.`\n );\n }\n return { id, label, icon, childBuilders, visible: visibleFn };\n }\n };\n return builder;\n}\n\nexport class ObjectFieldBuilder extends FieldBuilder<\"object\"> implements IObjectFieldBuilder {\n private _childBuilders: Record<string, IFieldBuilder> = {};\n private _isList = false;\n private _listSchema?: z.ZodTypeAny;\n private _templates?: ITemplateConfig[];\n private _templateIds = new Set<string>();\n private _registry: IFieldBuilderRegistry;\n\n constructor(registry: IFieldBuilderRegistry) {\n super(\"object\");\n this._config.renderer = \"objectAccordionSingle\";\n this._registry = registry;\n }\n\n fields(fn: (registry: IFieldBuilderRegistry) => Record<string, IFieldBuilder>): this {\n this._childBuilders = fn(this._registry);\n return this;\n }\n\n override list(): this {\n this._isList = true;\n if (this._config.renderer === \"objectAccordionSingle\") {\n this._config.renderer = \"objectAccordionMultiple\";\n }\n return this;\n }\n\n listSchema(schema: z.ZodTypeAny): this {\n this._listSchema = schema;\n return this;\n }\n\n template(id: string, configure: (t: ITemplateBuilder) => void): this {\n if (id === \"_templateId\") {\n throw new Error(`Template id \"_templateId\" is reserved. Choose a different id.`);\n }\n if (this._templateIds.has(id)) {\n throw new Error(`Duplicate template id \"${id}\".`);\n }\n this._templateIds.add(id);\n\n const tb = createTemplateBuilder();\n configure(tb);\n\n if (!this._templates) {\n this._templates = [];\n }\n this._templates.push(tb._build(id, this._registry));\n\n if (\n this._config.renderer === \"objectAccordionSingle\" ||\n this._config.renderer === \"objectAccordionMultiple\"\n ) {\n this._config.renderer = \"dynamicZone\";\n }\n\n return this;\n }\n\n override build(name: string): IObjectFieldConfig {\n if (this._templates && Object.keys(this._childBuilders).length > 0) {\n throw new Error(\n `Object field \"${name}\" has both .fields() and .template() defined. ` +\n `Templates are mutually exclusive with .fields(); each template defines its own children.`\n );\n }\n\n return {\n ...this._config,\n name,\n childBuilders: this._childBuilders,\n isList: this._isList,\n listSchema: this._listSchema,\n templates: this._templates\n };\n }\n}\n\nclass ObjectFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"object\";\n create(registry: IFieldBuilderRegistry) {\n return new ObjectFieldBuilder(registry);\n }\n}\n\nexport const ObjectFieldType = FieldType.createImplementation({\n implementation: ObjectFieldTypeFactory,\n dependencies: []\n});\n\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n object(): IObjectFieldBuilder;\n }\n}\n"],"mappings":"AACA,SACIA,SAAS;AAWb,SAASC,YAAY;AAMrB,OAAO,SAASC,qBAAqBA,CAAA,EAA4B;EAC7D,IAAIC,KAAK,GAAG,EAAE;EACd,IAAIC,IAA+B;EACnC,IAAIC,aAEW;EACf,IAAIC,SAAsD;EAE1D,MAAMC,OAAgC,GAAG;IACrCJ,KAAKA,CAACK,IAAY,EAAE;MAChBL,KAAK,GAAGK,IAAI;MACZ,OAAOD,OAAO;IAClB,CAAC;IACDH,IAAIA,CAACK,CAAgB,EAAE;MACnBL,IAAI,GAAGK,CAAC;MACR,OAAOF,OAAO;IAClB,CAAC;IACDG,MAAMA,CAACC,OAAO,EAAE;MACZN,aAAa,GAAGM,OAAO;MACvB,OAAOJ,OAAO;IAClB,CAAC;IACDK,OAAOA,CAACC,SAAS,EAAE;MACfP,SAAS,GAAGO,SAAS;MACrB,OAAON,OAAO;IAClB,CAAC;IACDO,MAAMA,CAACC,EAAU,EAAEC,QAA+B,EAAmB;MACjE,MAAMC,aAAa,GAAGZ,aAAa,GAAGA,aAAa,CAACW,QAAQ,CAAC,GAAG,CAAC,CAAC;MAClE,IAAI,aAAa,IAAIC,aAAa,EAAE;QAChC,MAAM,IAAIC,KAAK,CACX,aAAaH,EAAE,4CAA4C,GACvD,2CACR,CAAC;MACL;MACA,OAAO;QAAEA,EAAE;QAAEZ,KAAK;QAAEC,IAAI;QAAEa,aAAa;QAAEL,OAAO,EAAEN;MAAU,CAAC;IACjE;EACJ,CAAC;EACD,OAAOC,OAAO;AAClB;AAEA,OAAO,MAAMY,kBAAkB,SAASlB,YAAY,CAA0C;EAClFmB,cAAc,GAAkC,CAAC,CAAC;EAClDC,OAAO,GAAG,KAAK;EAGfC,YAAY,GAAG,IAAIC,GAAG,CAAS,CAAC;EAGxCC,WAAWA,CAACR,QAA+B,EAAE;IACzC,KAAK,CAAC,QAAQ,CAAC;IACf,IAAI,CAACS,OAAO,CAACC,QAAQ,GAAG,uBAAuB;IAC/C,IAAI,CAACC,SAAS,GAAGX,QAAQ;EAC7B;EAEAN,MAAMA,CAACkB,EAAsE,EAAQ;IACjF,IAAI,CAACR,cAAc,GAAGQ,EAAE,CAAC,IAAI,CAACD,SAAS,CAAC;IACxC,OAAO,IAAI;EACf;EAESE,IAAIA,CAAA,EAAS;IAClB,IAAI,CAACR,OAAO,GAAG,IAAI;IACnB,IAAI,IAAI,CAACI,OAAO,CAACC,QAAQ,KAAK,uBAAuB,EAAE;MACnD,IAAI,CAACD,OAAO,CAACC,QAAQ,GAAG,yBAAyB;IACrD;IACA,OAAO,IAAI;EACf;EAEAI,UAAUA,CAACC,MAAoB,EAAQ;IACnC,IAAI,CAACC,WAAW,GAAGD,MAAM;IACzB,OAAO,IAAI;EACf;EAEAE,QAAQA,CAAClB,EAAU,EAAEmB,SAAwC,EAAQ;IACjE,IAAInB,EAAE,KAAK,aAAa,EAAE;MACtB,MAAM,IAAIG,KAAK,CAAC,+DAA+D,CAAC;IACpF;IACA,IAAI,IAAI,CAACI,YAAY,CAACa,GAAG,CAACpB,EAAE,CAAC,EAAE;MAC3B,MAAM,IAAIG,KAAK,CAAC,0BAA0BH,EAAE,IAAI,CAAC;IACrD;IACA,IAAI,CAACO,YAAY,CAACc,GAAG,CAACrB,EAAE,CAAC;IAEzB,MAAMsB,EAAE,GAAGnC,qBAAqB,CAAC,CAAC;IAClCgC,SAAS,CAACG,EAAE,CAAC;IAEb,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;MAClB,IAAI,CAACA,UAAU,GAAG,EAAE;IACxB;IACA,IAAI,CAACA,UAAU,CAACC,IAAI,CAACF,EAAE,CAACvB,MAAM,CAACC,EAAE,EAAE,IAAI,CAACY,SAAS,CAAC,CAAC;IAEnD,IACI,IAAI,CAACF,OAAO,CAACC,QAAQ,KAAK,uBAAuB,IACjD,IAAI,CAACD,OAAO,CAACC,QAAQ,KAAK,yBAAyB,EACrD;MACE,IAAI,CAACD,OAAO,CAACC,QAAQ,GAAG,aAAa;IACzC;IAEA,OAAO,IAAI;EACf;EAESc,KAAKA,CAACC,IAAY,EAAsB;IAC7C,IAAI,IAAI,CAACH,UAAU,IAAII,MAAM,CAACC,IAAI,CAAC,IAAI,CAACvB,cAAc,CAAC,CAACwB,MAAM,GAAG,CAAC,EAAE;MAChE,MAAM,IAAI1B,KAAK,CACX,iBAAiBuB,IAAI,gDAAgD,GACjE,0FACR,CAAC;IACL;IAEA,OAAO;MACH,GAAG,IAAI,CAAChB,OAAO;MACfgB,IAAI;MACJxB,aAAa,EAAE,IAAI,CAACG,cAAc;MAClCyB,MAAM,EAAE,IAAI,CAACxB,OAAO;MACpBS,UAAU,EAAE,IAAI,CAACE,WAAW;MAC5Bc,SAAS,EAAE,IAAI,CAACR;IACpB,CAAC;EACL;AACJ;AAEA,MAAMS,sBAAsB,CAA8B;EAC7CC,IAAI,GAAG,QAAQ;EACxBC,MAAMA,CAACjC,QAA+B,EAAE;IACpC,OAAO,IAAIG,kBAAkB,CAACH,QAAQ,CAAC;EAC3C;AACJ;AAEA,OAAO,MAAMkC,eAAe,GAAGlD,SAAS,CAACmD,oBAAoB,CAAC;EAC1DC,cAAc,EAAEL,sBAAsB;EACtCM,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { type IFieldTypeFactory } from "../abstractions.js";
2
+ import { FieldBuilder } from "../FieldBuilder.js";
3
+ export declare class TextFieldBuilder extends FieldBuilder<"text"> {
4
+ constructor();
5
+ }
6
+ declare class TextFieldTypeFactory implements IFieldTypeFactory {
7
+ readonly type = "text";
8
+ create(_registry: any): TextFieldBuilder;
9
+ }
10
+ export declare const TextFieldType: typeof TextFieldTypeFactory & {
11
+ __abstraction: import("@webiny/di").Abstraction<IFieldTypeFactory>;
12
+ };
13
+ declare module "../abstractions.js" {
14
+ interface IFieldBuilderRegistry {
15
+ text(): IOptionsFieldBuilder<"text", string | null>;
16
+ }
17
+ }
18
+ export {};
@@ -0,0 +1,20 @@
1
+ import { FieldType } from "../abstractions.js";
2
+ import { FieldBuilder } from "../FieldBuilder.js";
3
+ export class TextFieldBuilder extends FieldBuilder {
4
+ constructor() {
5
+ super("text");
6
+ this._config.renderer = "textInput";
7
+ }
8
+ }
9
+ class TextFieldTypeFactory {
10
+ type = "text";
11
+ create(_registry) {
12
+ return new TextFieldBuilder();
13
+ }
14
+ }
15
+ export const TextFieldType = FieldType.createImplementation({
16
+ implementation: TextFieldTypeFactory,
17
+ dependencies: []
18
+ });
19
+
20
+ //# sourceMappingURL=TextFieldType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FieldType","FieldBuilder","TextFieldBuilder","constructor","_config","renderer","TextFieldTypeFactory","type","create","_registry","TextFieldType","createImplementation","implementation","dependencies"],"sources":["TextFieldType.ts"],"sourcesContent":["import { FieldType, type IFieldTypeFactory, type IOptionsFieldBuilder } from \"../abstractions.js\";\nimport { FieldBuilder } from \"../FieldBuilder.js\";\n\nexport class TextFieldBuilder extends FieldBuilder<\"text\"> {\n constructor() {\n super(\"text\");\n this._config.renderer = \"textInput\";\n }\n}\n\nclass TextFieldTypeFactory implements IFieldTypeFactory {\n readonly type = \"text\";\n create(_registry: any) {\n return new TextFieldBuilder();\n }\n}\n\nexport const TextFieldType = FieldType.createImplementation({\n implementation: TextFieldTypeFactory,\n dependencies: []\n});\n\ndeclare module \"../abstractions.js\" {\n interface IFieldBuilderRegistry {\n text(): IOptionsFieldBuilder<\"text\", string | null>;\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS;AAClB,SAASC,YAAY;AAErB,OAAO,MAAMC,gBAAgB,SAASD,YAAY,CAAS;EACvDE,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,MAAM,CAAC;IACb,IAAI,CAACC,OAAO,CAACC,QAAQ,GAAG,WAAW;EACvC;AACJ;AAEA,MAAMC,oBAAoB,CAA8B;EAC3CC,IAAI,GAAG,MAAM;EACtBC,MAAMA,CAACC,SAAc,EAAE;IACnB,OAAO,IAAIP,gBAAgB,CAAC,CAAC;EACjC;AACJ;AAEA,OAAO,MAAMQ,aAAa,GAAGV,SAAS,CAACW,oBAAoB,CAAC;EACxDC,cAAc,EAAEN,oBAAoB;EACpCO,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export { TextFieldType, TextFieldBuilder } from "./TextFieldType.js";
2
+ export { NumberFieldType, NumberFieldBuilder } from "./NumberFieldType.js";
3
+ export { BooleanFieldType, BooleanFieldBuilder } from "./BooleanFieldType.js";
4
+ export { DateTimeFieldType, DateTimeFieldBuilder } from "./DateTimeFieldType.js";
5
+ export { FileFieldType, FileFieldBuilder } from "./FileFieldType.js";
6
+ export { FileUrlFieldType, FileUrlFieldBuilder } from "./FileUrlFieldType.js";
7
+ export { ObjectFieldType, ObjectFieldBuilder } from "./ObjectFieldType.js";
@@ -0,0 +1,9 @@
1
+ export { TextFieldType, TextFieldBuilder } from "./TextFieldType.js";
2
+ export { NumberFieldType, NumberFieldBuilder } from "./NumberFieldType.js";
3
+ export { BooleanFieldType, BooleanFieldBuilder } from "./BooleanFieldType.js";
4
+ export { DateTimeFieldType, DateTimeFieldBuilder } from "./DateTimeFieldType.js";
5
+ export { FileFieldType, FileFieldBuilder } from "./FileFieldType.js";
6
+ export { FileUrlFieldType, FileUrlFieldBuilder } from "./FileUrlFieldType.js";
7
+ export { ObjectFieldType, ObjectFieldBuilder } from "./ObjectFieldType.js";
8
+
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextFieldType","TextFieldBuilder","NumberFieldType","NumberFieldBuilder","BooleanFieldType","BooleanFieldBuilder","DateTimeFieldType","DateTimeFieldBuilder","FileFieldType","FileFieldBuilder","FileUrlFieldType","FileUrlFieldBuilder","ObjectFieldType","ObjectFieldBuilder"],"sources":["index.ts"],"sourcesContent":["export { TextFieldType, TextFieldBuilder } from \"./TextFieldType.js\";\nexport { NumberFieldType, NumberFieldBuilder } from \"./NumberFieldType.js\";\nexport { BooleanFieldType, BooleanFieldBuilder } from \"./BooleanFieldType.js\";\nexport { DateTimeFieldType, DateTimeFieldBuilder } from \"./DateTimeFieldType.js\";\nexport { FileFieldType, FileFieldBuilder } from \"./FileFieldType.js\";\nexport { FileUrlFieldType, FileUrlFieldBuilder } from \"./FileUrlFieldType.js\";\nexport { ObjectFieldType, ObjectFieldBuilder } from \"./ObjectFieldType.js\";\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,gBAAgB;AACxC,SAASC,eAAe,EAAEC,kBAAkB;AAC5C,SAASC,gBAAgB,EAAEC,mBAAmB;AAC9C,SAASC,iBAAiB,EAAEC,oBAAoB;AAChD,SAASC,aAAa,EAAEC,gBAAgB;AACxC,SAASC,gBAAgB,EAAEC,mBAAmB;AAC9C,SAASC,eAAe,EAAEC,kBAAkB","ignoreList":[]}
@@ -1,12 +1,21 @@
1
1
  export { FormModelFeature } from "./feature.js";
2
2
  import "./renderers.js";
3
- export { FormModelFactory, FormModel } from "./abstractions.js";
4
- export type { IFieldRendererRegistry, FieldRendererName, FieldRendererSettings, IFormModelFactory, IFormModelConfig, ILayoutBuilder, IFieldBuilder, ISelectFieldBuilder, IObjectFieldBuilder, IFieldBuilderRegistry, IFormModel, IField, ISelectField, IObjectField, IObjectFieldConfig, IListItemField, IObjectFieldVM, IObjectFieldItemVM, FieldTypeMap, IFieldConfig, IFieldVM, IFieldValidation, IFormVM, IFormError, IValueOption, IRowNode, IRowNodeVM, ISeparatorNode, ISeparatorNodeVM, ITabsNode, ITabDefinition, ITabsNodeVM, ITabDefinitionVM, IElementNode, IElementNodeVM, ILayoutNodeAccessHandle, ITabsHandle, ITabHandle, LayoutNode, LayoutNodeVM, LayoutPosition, IPositionedLayoutNode, ILayoutNodeHandle, ILayoutModifier, IFormModifier, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback, OnBlurCallback } from "./abstractions.js";
3
+ export { FormModelFactory, FormModel, RuleEvaluator, FieldType, FieldBuilderRegistry } from "./abstractions.js";
4
+ export type { IFieldRendererRegistry, FieldRendererName, FieldRendererSettings, IFormModelFactory, IFormModelConfig, ILayoutBuilder, ILayoutNodeBuilder, IRowBuilder, ISeparatorBuilder, ITabBuilder, ITabsBuilder, IElementBuilder, IObjectBuilder, IFieldBuilder, IOptionsFieldBuilder, IObjectFieldBuilder, IFieldBuilderRegistry, IFormModel, IField, IObjectField, IObjectFieldConfig, IListItemField, IObjectFieldVM, IObjectFieldItemVM, ITemplateBuilder, ITemplateIcon, ITemplateConfig, ITemplateVM, IObjectFieldTemplates, FieldTypeMap, ITypedField, IFieldConfig, IFieldVM, IFieldValidation, IFormVM, IFormError, IValueOption, IRowNode, IRowNodeHandle, IRowNodeVM, ISeparatorNode, ISeparatorNodeVM, ITabsNode, ITabDefinition, ITabsNodeVM, ITabDefinitionVM, IElementNode, IElementNodeVM, IObjectNode, ILayoutNodeAccessHandle, LayoutNodeHandleMap, ITabsHandle, ITabHandle, LayoutNode, LayoutNodeVM, LayoutPosition, IPositionedLayoutNode, ILayoutNodeHandle, ILayoutModifier, IFormModifier, IRule, IRuleEvaluator, RuleAction, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback, OnBlurCallback, CloneValueCallback, IFieldTypeFactory, FileValue } from "./abstractions.js";
5
5
  export { FormModel as FormModelImpl } from "./FormModel.js";
6
6
  export { Field } from "./Field.js";
7
- export { FieldBuilder, TextFieldBuilder, SelectFieldBuilder, ObjectFieldBuilder, createFieldBuilderRegistry } from "./FieldBuilder.js";
8
- export type { IFieldTypeFactory } from "./FieldBuilder.js";
7
+ export { FieldBuilder, createFieldBuilderRegistry } from "./FieldBuilder.js";
8
+ import "./fieldTypes/TextFieldType.js";
9
+ import "./fieldTypes/NumberFieldType.js";
10
+ import "./fieldTypes/BooleanFieldType.js";
11
+ import "./fieldTypes/DateTimeFieldType.js";
12
+ import "./fieldTypes/FileFieldType.js";
13
+ import "./fieldTypes/FileUrlFieldType.js";
14
+ import "./fieldTypes/ObjectFieldType.js";
15
+ export { TextFieldType, TextFieldBuilder, NumberFieldType, NumberFieldBuilder, BooleanFieldType, BooleanFieldBuilder, DateTimeFieldType, DateTimeFieldBuilder, FileFieldType, FileFieldBuilder, FileUrlFieldType, FileUrlFieldBuilder, ObjectFieldType, ObjectFieldBuilder } from "./fieldTypes/index.js";
9
16
  export { ObjectField, isObjectField } from "./ObjectField.js";
17
+ export { ConditionRuleEvaluator } from "./ConditionRuleEvaluator.js";
18
+ export { createFieldRenderer, createObjectFieldRenderer } from "./createFieldRenderer.js";
10
19
  export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./FormView.js";
11
20
  export { useFieldRenderers } from "./useFieldRenderers.js";
12
21
  export { useLayoutRenderers } from "./useLayoutRenderers.js";
@@ -5,14 +5,33 @@ export { FormModelFeature } from "./feature.js";
5
5
  import "./renderers.js";
6
6
 
7
7
  // Abstractions (types + DI tokens)
8
- export { FormModelFactory, FormModel } from "./abstractions.js";
8
+ export { FormModelFactory, FormModel, RuleEvaluator, FieldType, FieldBuilderRegistry } from "./abstractions.js";
9
9
  // Implementations
10
10
  export { FormModel as FormModelImpl } from "./FormModel.js";
11
11
  export { Field } from "./Field.js";
12
- export { FieldBuilder, TextFieldBuilder, SelectFieldBuilder, ObjectFieldBuilder, createFieldBuilderRegistry } from "./FieldBuilder.js";
12
+ export { FieldBuilder, createFieldBuilderRegistry } from "./FieldBuilder.js";
13
+
14
+ // Field type augmentations (side-effect imports ensure declare module blocks are included)
15
+ import "./fieldTypes/TextFieldType.js";
16
+ import "./fieldTypes/NumberFieldType.js";
17
+ import "./fieldTypes/BooleanFieldType.js";
18
+ import "./fieldTypes/DateTimeFieldType.js";
19
+ import "./fieldTypes/FileFieldType.js";
20
+ import "./fieldTypes/FileUrlFieldType.js";
21
+ import "./fieldTypes/ObjectFieldType.js";
22
+
23
+ // Field types (DI-registered)
24
+ export { TextFieldType, TextFieldBuilder, NumberFieldType, NumberFieldBuilder, BooleanFieldType, BooleanFieldBuilder, DateTimeFieldType, DateTimeFieldBuilder, FileFieldType, FileFieldBuilder, FileUrlFieldType, FileUrlFieldBuilder, ObjectFieldType, ObjectFieldBuilder } from "./fieldTypes/index.js";
25
+
13
26
  // Object field
14
27
  export { ObjectField, isObjectField } from "./ObjectField.js";
15
28
 
29
+ // Rule evaluators
30
+ export { ConditionRuleEvaluator } from "./ConditionRuleEvaluator.js";
31
+
32
+ // Renderer factory
33
+ export { createFieldRenderer, createObjectFieldRenderer } from "./createFieldRenderer.js";
34
+
16
35
  // View
17
36
  export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./FormView.js";
18
37
  export { useFieldRenderers } from "./useFieldRenderers.js";
@@ -1 +1 @@
1
- {"version":3,"names":["FormModelFeature","FormModelFactory","FormModel","FormModelImpl","Field","FieldBuilder","TextFieldBuilder","SelectFieldBuilder","ObjectFieldBuilder","createFieldBuilderRegistry","ObjectField","isObjectField","FormView","LayoutNodeRenderer","useFormViewRenderers","useFieldRenderers","useLayoutRenderers"],"sources":["index.ts"],"sourcesContent":["// Feature\nexport { FormModelFeature } from \"./feature.js\";\n\n// Renderer registry augmentations\nimport \"./renderers.js\";\n\n// Abstractions (types + DI tokens)\nexport { FormModelFactory, FormModel } from \"./abstractions.js\";\nexport type {\n IFieldRendererRegistry,\n FieldRendererName,\n FieldRendererSettings,\n IFormModelFactory,\n IFormModelConfig,\n ILayoutBuilder,\n IFieldBuilder,\n ISelectFieldBuilder,\n IObjectFieldBuilder,\n IFieldBuilderRegistry,\n IFormModel,\n IField,\n ISelectField,\n IObjectField,\n IObjectFieldConfig,\n IListItemField,\n IObjectFieldVM,\n IObjectFieldItemVM,\n FieldTypeMap,\n IFieldConfig,\n IFieldVM,\n IFieldValidation,\n IFormVM,\n IFormError,\n IValueOption,\n IRowNode,\n IRowNodeVM,\n ISeparatorNode,\n ISeparatorNodeVM,\n ITabsNode,\n ITabDefinition,\n ITabsNodeVM,\n ITabDefinitionVM,\n IElementNode,\n IElementNodeVM,\n ILayoutNodeAccessHandle,\n ITabsHandle,\n ITabHandle,\n LayoutNode,\n LayoutNodeVM,\n LayoutPosition,\n IPositionedLayoutNode,\n ILayoutNodeHandle,\n ILayoutModifier,\n IFormModifier,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback,\n OnBlurCallback\n} from \"./abstractions.js\";\n\n// Implementations\nexport { FormModel as FormModelImpl } from \"./FormModel.js\";\nexport { Field } from \"./Field.js\";\nexport {\n FieldBuilder,\n TextFieldBuilder,\n SelectFieldBuilder,\n ObjectFieldBuilder,\n createFieldBuilderRegistry\n} from \"./FieldBuilder.js\";\nexport type { IFieldTypeFactory } from \"./FieldBuilder.js\";\n\n// Object field\nexport { ObjectField, isObjectField } from \"./ObjectField.js\";\n\n// View\nexport { FormView, LayoutNodeRenderer, useFormViewRenderers } from \"./FormView.js\";\nexport { useFieldRenderers } from \"./useFieldRenderers.js\";\nexport { useLayoutRenderers } from \"./useLayoutRenderers.js\";\nexport type {\n FieldRenderers,\n FieldRendererComponent,\n LayoutRenderers,\n TabsNodeRendererProps\n} from \"./FormView.js\";\n"],"mappings":"AAAA;AACA,SAASA,gBAAgB;;AAEzB;AACA;;AAEA;AACA,SAASC,gBAAgB,EAAEC,SAAS;AAqDpC;AACA,SAASA,SAAS,IAAIC,aAAa;AACnC,SAASC,KAAK;AACd,SACIC,YAAY,EACZC,gBAAgB,EAChBC,kBAAkB,EAClBC,kBAAkB,EAClBC,0BAA0B;AAI9B;AACA,SAASC,WAAW,EAAEC,aAAa;;AAEnC;AACA,SAASC,QAAQ,EAAEC,kBAAkB,EAAEC,oBAAoB;AAC3D,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["FormModelFeature","FormModelFactory","FormModel","RuleEvaluator","FieldType","FieldBuilderRegistry","FormModelImpl","Field","FieldBuilder","createFieldBuilderRegistry","TextFieldType","TextFieldBuilder","NumberFieldType","NumberFieldBuilder","BooleanFieldType","BooleanFieldBuilder","DateTimeFieldType","DateTimeFieldBuilder","FileFieldType","FileFieldBuilder","FileUrlFieldType","FileUrlFieldBuilder","ObjectFieldType","ObjectFieldBuilder","ObjectField","isObjectField","ConditionRuleEvaluator","createFieldRenderer","createObjectFieldRenderer","FormView","LayoutNodeRenderer","useFormViewRenderers","useFieldRenderers","useLayoutRenderers"],"sources":["index.ts"],"sourcesContent":["// Feature\nexport { FormModelFeature } from \"./feature.js\";\n\n// Renderer registry augmentations\nimport \"./renderers.js\";\n\n// Abstractions (types + DI tokens)\nexport {\n FormModelFactory,\n FormModel,\n RuleEvaluator,\n FieldType,\n FieldBuilderRegistry\n} from \"./abstractions.js\";\nexport type {\n IFieldRendererRegistry,\n FieldRendererName,\n FieldRendererSettings,\n IFormModelFactory,\n IFormModelConfig,\n ILayoutBuilder,\n ILayoutNodeBuilder,\n IRowBuilder,\n ISeparatorBuilder,\n ITabBuilder,\n ITabsBuilder,\n IElementBuilder,\n IObjectBuilder,\n IFieldBuilder,\n IOptionsFieldBuilder,\n IObjectFieldBuilder,\n IFieldBuilderRegistry,\n IFormModel,\n IField,\n IObjectField,\n IObjectFieldConfig,\n IListItemField,\n IObjectFieldVM,\n IObjectFieldItemVM,\n ITemplateBuilder,\n ITemplateIcon,\n ITemplateConfig,\n ITemplateVM,\n IObjectFieldTemplates,\n FieldTypeMap,\n ITypedField,\n IFieldConfig,\n IFieldVM,\n IFieldValidation,\n IFormVM,\n IFormError,\n IValueOption,\n IRowNode,\n IRowNodeHandle,\n IRowNodeVM,\n ISeparatorNode,\n ISeparatorNodeVM,\n ITabsNode,\n ITabDefinition,\n ITabsNodeVM,\n ITabDefinitionVM,\n IElementNode,\n IElementNodeVM,\n IObjectNode,\n ILayoutNodeAccessHandle,\n LayoutNodeHandleMap,\n ITabsHandle,\n ITabHandle,\n LayoutNode,\n LayoutNodeVM,\n LayoutPosition,\n IPositionedLayoutNode,\n ILayoutNodeHandle,\n ILayoutModifier,\n IFormModifier,\n IRule,\n IRuleEvaluator,\n RuleAction,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback,\n OnBlurCallback,\n CloneValueCallback,\n IFieldTypeFactory,\n FileValue\n} from \"./abstractions.js\";\n\n// Implementations\nexport { FormModel as FormModelImpl } from \"./FormModel.js\";\nexport { Field } from \"./Field.js\";\nexport { FieldBuilder, createFieldBuilderRegistry } from \"./FieldBuilder.js\";\n\n// Field type augmentations (side-effect imports ensure declare module blocks are included)\nimport \"./fieldTypes/TextFieldType.js\";\nimport \"./fieldTypes/NumberFieldType.js\";\nimport \"./fieldTypes/BooleanFieldType.js\";\nimport \"./fieldTypes/DateTimeFieldType.js\";\nimport \"./fieldTypes/FileFieldType.js\";\nimport \"./fieldTypes/FileUrlFieldType.js\";\nimport \"./fieldTypes/ObjectFieldType.js\";\n\n// Field types (DI-registered)\nexport {\n TextFieldType,\n TextFieldBuilder,\n NumberFieldType,\n NumberFieldBuilder,\n BooleanFieldType,\n BooleanFieldBuilder,\n DateTimeFieldType,\n DateTimeFieldBuilder,\n FileFieldType,\n FileFieldBuilder,\n FileUrlFieldType,\n FileUrlFieldBuilder,\n ObjectFieldType,\n ObjectFieldBuilder\n} from \"./fieldTypes/index.js\";\n\n// Object field\nexport { ObjectField, isObjectField } from \"./ObjectField.js\";\n\n// Rule evaluators\nexport { ConditionRuleEvaluator } from \"./ConditionRuleEvaluator.js\";\n\n// Renderer factory\nexport { createFieldRenderer, createObjectFieldRenderer } from \"./createFieldRenderer.js\";\n\n// View\nexport { FormView, LayoutNodeRenderer, useFormViewRenderers } from \"./FormView.js\";\nexport { useFieldRenderers } from \"./useFieldRenderers.js\";\nexport { useLayoutRenderers } from \"./useLayoutRenderers.js\";\nexport type {\n FieldRenderers,\n FieldRendererComponent,\n LayoutRenderers,\n TabsNodeRendererProps\n} from \"./FormView.js\";\n"],"mappings":"AAAA;AACA,SAASA,gBAAgB;;AAEzB;AACA;;AAEA;AACA,SACIC,gBAAgB,EAChBC,SAAS,EACTC,aAAa,EACbC,SAAS,EACTC,oBAAoB;AA2ExB;AACA,SAASH,SAAS,IAAII,aAAa;AACnC,SAASC,KAAK;AACd,SAASC,YAAY,EAAEC,0BAA0B;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SACIC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,kBAAkB,EAClBC,gBAAgB,EAChBC,mBAAmB,EACnBC,iBAAiB,EACjBC,oBAAoB,EACpBC,aAAa,EACbC,gBAAgB,EAChBC,gBAAgB,EAChBC,mBAAmB,EACnBC,eAAe,EACfC,kBAAkB;;AAGtB;AACA,SAASC,WAAW,EAAEC,aAAa;;AAEnC;AACA,SAASC,sBAAsB;;AAE/B;AACA,SAASC,mBAAmB,EAAEC,yBAAyB;;AAEvD;AACA,SAASC,QAAQ,EAAEC,kBAAkB,EAAEC,oBAAoB;AAC3D,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB","ignoreList":[]}
@@ -1,6 +1,20 @@
1
1
  import "../../base/Base/FieldRenderers/InputRenderer.js";
2
2
  import "../../base/Base/FieldRenderers/SelectRenderer.js";
3
3
  import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js";
4
- import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js";
4
+ import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js";
5
+ import "../../base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js";
5
6
  import "../../base/Base/FieldRenderers/PassthroughRenderer.js";
6
7
  import "../../base/Base/FieldRenderers/TextareaRenderer.js";
8
+ import "../../base/Base/FieldRenderers/SwitchRenderer.js";
9
+ import "../../base/Base/FieldRenderers/NumberInputRenderer.js";
10
+ import "../../base/Base/FieldRenderers/NumberInputsRenderer.js";
11
+ import "../../base/Base/FieldRenderers/TextInputsRenderer.js";
12
+ import "../../base/Base/FieldRenderers/TextareasRenderer.js";
13
+ import "../../base/Base/FieldRenderers/TagsRenderer.js";
14
+ import "../../base/Base/FieldRenderers/RadioButtonsRenderer.js";
15
+ import "../../base/Base/FieldRenderers/CheckboxesRenderer.js";
16
+ import "../../base/Base/FieldRenderers/DateTimeRenderer.js";
17
+ import "../../base/Base/FieldRenderers/DateTimeInputsRenderer.js";
18
+ import "../../base/Base/FieldRenderers/HiddenRenderer.js";
19
+ import "../../base/Base/FieldRenderers/FilePickerRenderer.js";
20
+ import "../../base/Base/FieldRenderers/CodeEditorRenderer.js";
@@ -3,8 +3,22 @@
3
3
  import "../../base/Base/FieldRenderers/InputRenderer.js";
4
4
  import "../../base/Base/FieldRenderers/SelectRenderer.js";
5
5
  import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js";
6
- import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js";
6
+ import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js";
7
+ import "../../base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js";
7
8
  import "../../base/Base/FieldRenderers/PassthroughRenderer.js";
8
9
  import "../../base/Base/FieldRenderers/TextareaRenderer.js";
10
+ import "../../base/Base/FieldRenderers/SwitchRenderer.js";
11
+ import "../../base/Base/FieldRenderers/NumberInputRenderer.js";
12
+ import "../../base/Base/FieldRenderers/NumberInputsRenderer.js";
13
+ import "../../base/Base/FieldRenderers/TextInputsRenderer.js";
14
+ import "../../base/Base/FieldRenderers/TextareasRenderer.js";
15
+ import "../../base/Base/FieldRenderers/TagsRenderer.js";
16
+ import "../../base/Base/FieldRenderers/RadioButtonsRenderer.js";
17
+ import "../../base/Base/FieldRenderers/CheckboxesRenderer.js";
18
+ import "../../base/Base/FieldRenderers/DateTimeRenderer.js";
19
+ import "../../base/Base/FieldRenderers/DateTimeInputsRenderer.js";
20
+ import "../../base/Base/FieldRenderers/HiddenRenderer.js";
21
+ import "../../base/Base/FieldRenderers/FilePickerRenderer.js";
22
+ import "../../base/Base/FieldRenderers/CodeEditorRenderer.js";
9
23
 
10
24
  //# sourceMappingURL=renderers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["renderers.ts"],"sourcesContent":["// Side-effect imports to pull in IFieldRendererRegistry augmentations.\n// Each renderer file declares its registry entry via `declare module`.\nimport \"../../base/Base/FieldRenderers/InputRenderer.js\";\nimport \"../../base/Base/FieldRenderers/SelectRenderer.js\";\nimport \"../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport \"../../base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js\";\nimport \"../../base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport \"../../base/Base/FieldRenderers/TextareaRenderer.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["renderers.ts"],"sourcesContent":["// Side-effect imports to pull in IFieldRendererRegistry augmentations.\n// Each renderer file declares its registry entry via `declare module`.\nimport \"../../base/Base/FieldRenderers/InputRenderer.js\";\nimport \"../../base/Base/FieldRenderers/SelectRenderer.js\";\nimport \"../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport \"../../base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js\";\nimport \"../../base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js\";\nimport \"../../base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport \"../../base/Base/FieldRenderers/TextareaRenderer.js\";\nimport \"../../base/Base/FieldRenderers/SwitchRenderer.js\";\nimport \"../../base/Base/FieldRenderers/NumberInputRenderer.js\";\nimport \"../../base/Base/FieldRenderers/NumberInputsRenderer.js\";\nimport \"../../base/Base/FieldRenderers/TextInputsRenderer.js\";\nimport \"../../base/Base/FieldRenderers/TextareasRenderer.js\";\nimport \"../../base/Base/FieldRenderers/TagsRenderer.js\";\nimport \"../../base/Base/FieldRenderers/RadioButtonsRenderer.js\";\nimport \"../../base/Base/FieldRenderers/CheckboxesRenderer.js\";\nimport \"../../base/Base/FieldRenderers/DateTimeRenderer.js\";\nimport \"../../base/Base/FieldRenderers/DateTimeInputsRenderer.js\";\nimport \"../../base/Base/FieldRenderers/HiddenRenderer.js\";\nimport \"../../base/Base/FieldRenderers/FilePickerRenderer.js\";\nimport \"../../base/Base/FieldRenderers/CodeEditorRenderer.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import type { Klass, LexicalNode, LexicalNodeReplacement, EditorThemeClasses } from "lexical";
2
+ import { LexicalContext as Abstraction } from "./abstractions.js";
3
+ declare class LexicalContextImpl implements Abstraction.Interface {
4
+ private nodes;
5
+ private theme;
6
+ getNodes(): ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>;
7
+ setNodes(nodes: ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>): void;
8
+ getTheme(): EditorThemeClasses | undefined;
9
+ setTheme(theme: EditorThemeClasses): void;
10
+ }
11
+ export declare const LexicalContext: typeof LexicalContextImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ILexicalContext>;
13
+ };
14
+ export {};
@@ -0,0 +1,22 @@
1
+ import { LexicalContext as Abstraction } from "./abstractions.js";
2
+ class LexicalContextImpl {
3
+ nodes = [];
4
+ getNodes() {
5
+ return this.nodes;
6
+ }
7
+ setNodes(nodes) {
8
+ this.nodes = nodes;
9
+ }
10
+ getTheme() {
11
+ return this.theme;
12
+ }
13
+ setTheme(theme) {
14
+ this.theme = theme;
15
+ }
16
+ }
17
+ export const LexicalContext = Abstraction.createImplementation({
18
+ implementation: LexicalContextImpl,
19
+ dependencies: []
20
+ });
21
+
22
+ //# sourceMappingURL=LexicalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LexicalContext","Abstraction","LexicalContextImpl","nodes","getNodes","setNodes","getTheme","theme","setTheme","createImplementation","implementation","dependencies"],"sources":["LexicalContext.ts"],"sourcesContent":["import type { Klass, LexicalNode, LexicalNodeReplacement, EditorThemeClasses } from \"lexical\";\nimport { LexicalContext as Abstraction } from \"./abstractions.js\";\n\nclass LexicalContextImpl implements Abstraction.Interface {\n private nodes: ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement> = [];\n private theme: EditorThemeClasses | undefined;\n\n getNodes(): ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement> {\n return this.nodes;\n }\n\n setNodes(nodes: ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>): void {\n this.nodes = nodes;\n }\n\n getTheme(): EditorThemeClasses | undefined {\n return this.theme;\n }\n\n setTheme(theme: EditorThemeClasses): void {\n this.theme = theme;\n }\n}\n\nexport const LexicalContext = Abstraction.createImplementation({\n implementation: LexicalContextImpl,\n dependencies: []\n});\n"],"mappings":"AACA,SAASA,cAAc,IAAIC,WAAW;AAEtC,MAAMC,kBAAkB,CAAkC;EAC9CC,KAAK,GAA+D,EAAE;EAG9EC,QAAQA,CAAA,EAA+D;IACnE,OAAO,IAAI,CAACD,KAAK;EACrB;EAEAE,QAAQA,CAACF,KAAiE,EAAQ;IAC9E,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;EAEAG,QAAQA,CAAA,EAAmC;IACvC,OAAO,IAAI,CAACC,KAAK;EACrB;EAEAC,QAAQA,CAACD,KAAyB,EAAQ;IACtC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;AACJ;AAEA,OAAO,MAAMP,cAAc,GAAGC,WAAW,CAACQ,oBAAoB,CAAC;EAC3DC,cAAc,EAAER,kBAAkB;EAClCS,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { Klass, LexicalNode, LexicalNodeReplacement, EditorThemeClasses } from "lexical";
2
+ export interface ILexicalContext {
3
+ getNodes(): ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>;
4
+ setNodes(nodes: ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>): void;
5
+ getTheme(): EditorThemeClasses | undefined;
6
+ setTheme(theme: EditorThemeClasses): void;
7
+ }
8
+ export declare const LexicalContext: import("@webiny/di").Abstraction<ILexicalContext>;
9
+ export declare namespace LexicalContext {
10
+ type Interface = ILexicalContext;
11
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+ export const LexicalContext = createAbstraction("LexicalContext");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","LexicalContext"],"sources":["abstractions.ts"],"sourcesContent":["import type { Klass, LexicalNode, LexicalNodeReplacement, EditorThemeClasses } from \"lexical\";\nimport { createAbstraction } from \"@webiny/feature/admin\";\n\nexport interface ILexicalContext {\n getNodes(): ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>;\n setNodes(nodes: ReadonlyArray<Klass<LexicalNode> | LexicalNodeReplacement>): void;\n getTheme(): EditorThemeClasses | undefined;\n setTheme(theme: EditorThemeClasses): void;\n}\n\nexport const LexicalContext = createAbstraction<ILexicalContext>(\"LexicalContext\");\n\nexport namespace LexicalContext {\n export type Interface = ILexicalContext;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,uBAAuB;AASzD,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { LexicalContext } from "./abstractions.js";
2
+ export type { ILexicalContext } from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export { LexicalContext } from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LexicalContext"],"sources":["index.ts"],"sourcesContent":["export { LexicalContext } from \"./abstractions.js\";\nexport type { ILexicalContext } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,cAAc","ignoreList":[]}
@@ -2,11 +2,13 @@ import { createFeature } from "@webiny/feature/admin";
2
2
  import { ToolRegistry as ToolRegistryAbstraction, ToolPipelineRunner as PipelineRunnerAbstraction } from "./abstractions.js";
3
3
  import { ToolRegistry } from "./ToolRegistry.js";
4
4
  import { ToolPipelineRunner } from "./ToolPipelineRunner.js";
5
+ import { LexicalContext } from "./LexicalContext/LexicalContext.js";
5
6
  export const ToolsFeature = createFeature({
6
7
  name: "ToolsFeature",
7
8
  register(container) {
8
9
  container.register(ToolRegistry);
9
10
  container.register(ToolPipelineRunner);
11
+ container.register(LexicalContext).inSingletonScope();
10
12
  },
11
13
  resolve(container) {
12
14
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","ToolRegistry","ToolRegistryAbstraction","ToolPipelineRunner","PipelineRunnerAbstraction","ToolsFeature","name","register","container","resolve","toolRegistry","pipelineRunner"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\nimport {\n ToolRegistry as ToolRegistryAbstraction,\n ToolPipelineRunner as PipelineRunnerAbstraction\n} from \"./abstractions.js\";\nimport { ToolRegistry } from \"./ToolRegistry.js\";\nimport { ToolPipelineRunner } from \"./ToolPipelineRunner.js\";\n\nexport const ToolsFeature = createFeature({\n name: \"ToolsFeature\",\n register(container: Container) {\n container.register(ToolRegistry);\n container.register(ToolPipelineRunner);\n },\n resolve(container: Container) {\n return {\n toolRegistry: container.resolve(ToolRegistryAbstraction),\n pipelineRunner: container.resolve(PipelineRunnerAbstraction)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AAErD,SACIC,YAAY,IAAIC,uBAAuB,EACvCC,kBAAkB,IAAIC,yBAAyB;AAEnD,SAASH,YAAY;AACrB,SAASE,kBAAkB;AAE3B,OAAO,MAAME,YAAY,GAAGL,aAAa,CAAC;EACtCM,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACN,YAAY,CAAC;IAChCO,SAAS,CAACD,QAAQ,CAACJ,kBAAkB,CAAC;EAC1C,CAAC;EACDM,OAAOA,CAACD,SAAoB,EAAE;IAC1B,OAAO;MACHE,YAAY,EAAEF,SAAS,CAACC,OAAO,CAACP,uBAAuB,CAAC;MACxDS,cAAc,EAAEH,SAAS,CAACC,OAAO,CAACL,yBAAyB;IAC/D,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createFeature","ToolRegistry","ToolRegistryAbstraction","ToolPipelineRunner","PipelineRunnerAbstraction","LexicalContext","ToolsFeature","name","register","container","inSingletonScope","resolve","toolRegistry","pipelineRunner"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { Container } from \"@webiny/di\";\nimport {\n ToolRegistry as ToolRegistryAbstraction,\n ToolPipelineRunner as PipelineRunnerAbstraction\n} from \"./abstractions.js\";\nimport { ToolRegistry } from \"./ToolRegistry.js\";\nimport { ToolPipelineRunner } from \"./ToolPipelineRunner.js\";\nimport { LexicalContext } from \"~/features/tools/LexicalContext/LexicalContext.js\";\n\nexport const ToolsFeature = createFeature({\n name: \"ToolsFeature\",\n register(container: Container) {\n container.register(ToolRegistry);\n container.register(ToolPipelineRunner);\n container.register(LexicalContext).inSingletonScope();\n },\n resolve(container: Container) {\n return {\n toolRegistry: container.resolve(ToolRegistryAbstraction),\n pipelineRunner: container.resolve(PipelineRunnerAbstraction)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AAErD,SACIC,YAAY,IAAIC,uBAAuB,EACvCC,kBAAkB,IAAIC,yBAAyB;AAEnD,SAASH,YAAY;AACrB,SAASE,kBAAkB;AAC3B,SAASE,cAAc;AAEvB,OAAO,MAAMC,YAAY,GAAGN,aAAa,CAAC;EACtCO,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACP,YAAY,CAAC;IAChCQ,SAAS,CAACD,QAAQ,CAACL,kBAAkB,CAAC;IACtCM,SAAS,CAACD,QAAQ,CAACH,cAAc,CAAC,CAACK,gBAAgB,CAAC,CAAC;EACzD,CAAC;EACDC,OAAOA,CAACF,SAAoB,EAAE;IAC1B,OAAO;MACHG,YAAY,EAAEH,SAAS,CAACE,OAAO,CAACT,uBAAuB,CAAC;MACxDW,cAAc,EAAEJ,SAAS,CAACE,OAAO,CAACP,yBAAyB;IAC/D,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,3 @@
1
+ export { LexicalContext } from "./LexicalContext/abstractions.js";
1
2
  export { Tool, ToolRegistry, ToolPipelineRunner } from "./abstractions.js";
2
3
  export { ToolsFeature } from "./feature.js";
@@ -1,3 +1,4 @@
1
+ export { LexicalContext } from "./LexicalContext/abstractions.js";
1
2
  export { Tool, ToolRegistry, ToolPipelineRunner } from "./abstractions.js";
2
3
  export { ToolsFeature } from "./feature.js";
3
4
 
@@ -1 +1 @@
1
- {"version":3,"names":["Tool","ToolRegistry","ToolPipelineRunner","ToolsFeature"],"sources":["index.ts"],"sourcesContent":["export { Tool, ToolRegistry, ToolPipelineRunner } from \"./abstractions.js\";\nexport { ToolsFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,YAAY,EAAEC,kBAAkB;AAC/C,SAASC,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["LexicalContext","Tool","ToolRegistry","ToolPipelineRunner","ToolsFeature"],"sources":["index.ts"],"sourcesContent":["export { LexicalContext } from \"./LexicalContext/abstractions.js\";\nexport { Tool, ToolRegistry, ToolPipelineRunner } from \"./abstractions.js\";\nexport { ToolsFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,cAAc;AACvB,SAASC,IAAI,EAAEC,YAAY,EAAEC,kBAAkB;AAC/C,SAASC,YAAY","ignoreList":[]}
package/index.d.ts CHANGED
@@ -39,8 +39,15 @@ export { useBuildParams } from "./presentation/buildParams/useBuildParams.js";
39
39
  export { useSecurity } from "./presentation/security/hooks/useSecurity.js";
40
40
  export * from "@webiny/app/renderApp.js";
41
41
  import "./features/formModel/renderers.js";
42
+ import "./features/formModel/fieldTypes/TextFieldType.js";
43
+ import "./features/formModel/fieldTypes/NumberFieldType.js";
44
+ import "./features/formModel/fieldTypes/BooleanFieldType.js";
45
+ import "./features/formModel/fieldTypes/DateTimeFieldType.js";
46
+ import "./features/formModel/fieldTypes/FileFieldType.js";
47
+ import "./features/formModel/fieldTypes/FileUrlFieldType.js";
48
+ import "./features/formModel/fieldTypes/ObjectFieldType.js";
42
49
  export { FormModelFactory, FormModel } from "./features/formModel/abstractions.js";
43
- export type { IFieldRendererRegistry, FieldRendererName, FieldRendererSettings, IFormModelFactory, IFormModelConfig, ILayoutBuilder, IFieldBuilder, ISelectFieldBuilder, IFieldBuilderRegistry, IFormModel, IField, ISelectField, FieldTypeMap, IFieldConfig, IFieldVM, IFieldValidation, IFormVM, IFormError, IValueOption, IRowNode, IRowNodeVM, LayoutNode, LayoutNodeVM, LayoutPosition, IPositionedLayoutNode, ILayoutNodeHandle, ILayoutModifier, IFormModifier, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback } from "./features/formModel/abstractions.js";
50
+ export type { IFieldRendererRegistry, FieldRendererName, FieldRendererSettings, IFormModelFactory, IFormModelConfig, ILayoutBuilder, ILayoutNodeBuilder, IRowBuilder, ISeparatorBuilder, ITabsBuilder, IElementBuilder, IObjectBuilder, IFieldBuilder, IOptionsFieldBuilder, IFieldBuilderRegistry, IFormModel, IField, FieldTypeMap, IFieldConfig, IFieldVM, IFieldValidation, IFormVM, IFormError, IValueOption, IRowNode, IRowNodeVM, LayoutNode, LayoutNodeVM, LayoutPosition, IPositionedLayoutNode, ILayoutNodeHandle, ILayoutModifier, IFormModifier, BeforeChangeCallback, AfterChangeCallback, AfterSetValueCallback } from "./features/formModel/abstractions.js";
44
51
  export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./features/formModel/FormView.js";
45
52
  export { useFieldRenderers } from "./features/formModel/useFieldRenderers.js";
46
53
  export { useLayoutRenderers } from "./features/formModel/useLayoutRenderers.js";
package/index.js CHANGED
@@ -47,6 +47,13 @@ export * from "@webiny/app/renderApp.js";
47
47
 
48
48
  // FormModel
49
49
  import "./features/formModel/renderers.js";
50
+ import "./features/formModel/fieldTypes/TextFieldType.js";
51
+ import "./features/formModel/fieldTypes/NumberFieldType.js";
52
+ import "./features/formModel/fieldTypes/BooleanFieldType.js";
53
+ import "./features/formModel/fieldTypes/DateTimeFieldType.js";
54
+ import "./features/formModel/fieldTypes/FileFieldType.js";
55
+ import "./features/formModel/fieldTypes/FileUrlFieldType.js";
56
+ import "./features/formModel/fieldTypes/ObjectFieldType.js";
50
57
  export { FormModelFactory, FormModel } from "./features/formModel/abstractions.js";
51
58
  export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./features/formModel/FormView.js";
52
59
  export { useFieldRenderers } from "./features/formModel/useFieldRenderers.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Admin","HasPermission","SecureRoute","FileManager","FileManagerRenderer","SystemInstallerProvider","BuildParamsFeature","ToolsFeature","Tool","ToolRegistry","ToolPipelineRunner","useWcp","useTenantContext","useIdentity","useAuthentication","useBuildParams","useSecurity","FormModelFactory","FormModel","FormView","LayoutNodeRenderer","useFormViewRenderers","useFieldRenderers","useLayoutRenderers"],"sources":["index.ts"],"sourcesContent":["export * from \"@webiny/app\";\nexport type { HigherOrderComponent, ProviderProps, ComposeProps } from \"@webiny/app\";\n// UI components\nexport * from \"./base/ui/Tags.js\";\nexport * from \"./base/ui/Layout.js\";\nexport * from \"./base/ui/TenantSelector.js\";\nexport type { LayoutProps } from \"./base/ui/Layout.js\";\nexport * from \"./base/ui/Navigation.js\";\nexport * from \"./base/ui/Brand.js\";\nexport * from \"./base/ui/Logo.js\";\nexport * from \"./base/ui/UserMenu.js\";\nexport * from \"./base/ui/LoginScreen.js\";\nexport * from \"./base/ui/CenteredView.js\";\nexport * from \"./base/ui/Dashboard.js\";\nexport * from \"./base/ui/NotFound.js\";\n\n// Base admin app\nexport { Admin } from \"./base/Admin.js\";\nexport * from \"./config/AdminConfig.js\";\n\nexport type { AdminProps } from \"./base/Admin.js\";\n\n// Plugins\nexport * from \"./base/plugins/AddGraphQLQuerySelection.js\";\n\n// Permissions\nexport * from \"./permissions/index.js\";\n\n// Components\nexport * from \"./components/index.js\";\nexport type { RichTextValueWithHtml } from \"./components/index.js\";\nexport { HasPermission } from \"./presentation/security/components/HasPermission.js\";\nexport { SecureRoute } from \"./presentation/security/components/SecureRoute.js\";\n\nexport { FileManager, FileManagerRenderer } from \"./base/ui/FileManager.js\";\nexport type {\n FileManagerProps,\n FileManagerRendererProps,\n FileManagerFileItem,\n FileManagerOnChange\n} from \"./base/ui/FileManager.js\";\n\nexport { SystemInstallerProvider } from \"./presentation/installation/components/SystemInstaller/index.js\";\n\n// Feature types\nexport type { AaclPermission } from \"./features/wcp/types.js\";\nexport type { Tenant } from \"./features/tenancy/types.js\";\n\nexport { BuildParamsFeature } from \"./features/buildParams/feature.js\";\nexport { ToolsFeature } from \"./features/tools/feature.js\";\nexport { Tool, ToolRegistry, ToolPipelineRunner } from \"./features/tools/abstractions.js\";\nexport type { ITool, IToolRegistry, IToolPipelineRunner } from \"./features/tools/abstractions.js\";\n\n// Hooks\nexport * from \"./hooks/index.js\";\nexport { useWcp } from \"./presentation/wcp/useWcp.js\";\nexport { useTenantContext } from \"./presentation/tenancy/useTenantContext.js\";\nexport { useIdentity } from \"./presentation/security/hooks/useIdentity.js\";\nexport { useAuthentication } from \"./presentation/security/hooks/useAuthentication.js\";\nexport { useBuildParams } from \"./presentation/buildParams/useBuildParams.js\";\n\n// Legacy hook for easier migration\nexport { useSecurity } from \"./presentation/security/hooks/useSecurity.js\";\n\nexport * from \"@webiny/app/renderApp.js\";\n\n// FormModel\nimport \"./features/formModel/renderers.js\";\nexport { FormModelFactory, FormModel } from \"./features/formModel/abstractions.js\";\nexport type {\n IFieldRendererRegistry,\n FieldRendererName,\n FieldRendererSettings,\n IFormModelFactory,\n IFormModelConfig,\n ILayoutBuilder,\n IFieldBuilder,\n ISelectFieldBuilder,\n IFieldBuilderRegistry,\n IFormModel,\n IField,\n ISelectField,\n FieldTypeMap,\n IFieldConfig,\n IFieldVM,\n IFieldValidation,\n IFormVM,\n IFormError,\n IValueOption,\n IRowNode,\n IRowNodeVM,\n LayoutNode,\n LayoutNodeVM,\n LayoutPosition,\n IPositionedLayoutNode,\n ILayoutNodeHandle,\n ILayoutModifier,\n IFormModifier,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback\n} from \"./features/formModel/abstractions.js\";\nexport {\n FormView,\n LayoutNodeRenderer,\n useFormViewRenderers\n} from \"./features/formModel/FormView.js\";\nexport { useFieldRenderers } from \"./features/formModel/useFieldRenderers.js\";\nexport { useLayoutRenderers } from \"./features/formModel/useLayoutRenderers.js\";\nexport type {\n FieldRenderers,\n FieldRendererComponent,\n LayoutRenderers,\n TabsNodeRendererProps\n} from \"./features/formModel/FormView.js\";\n"],"mappings":"AAAA,cAAc,aAAa;AAE3B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,KAAK;AACd;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AAEA,SAASC,aAAa;AACtB,SAASC,WAAW;AAEpB,SAASC,WAAW,EAAEC,mBAAmB;AAQzC,SAASC,uBAAuB;;AAEhC;;AAIA,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,YAAY,EAAEC,kBAAkB;AAG/C;AACA;AACA,SAASC,MAAM;AACf,SAASC,gBAAgB;AACzB,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;;AAEvB;AACA,SAASC,WAAW;AAEpB,cAAc,0BAA0B;;AAExC;AACA;AACA,SAASC,gBAAgB,EAAEC,SAAS;AAkCpC,SACIC,QAAQ,EACRC,kBAAkB,EAClBC,oBAAoB;AAExB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Admin","HasPermission","SecureRoute","FileManager","FileManagerRenderer","SystemInstallerProvider","BuildParamsFeature","ToolsFeature","Tool","ToolRegistry","ToolPipelineRunner","useWcp","useTenantContext","useIdentity","useAuthentication","useBuildParams","useSecurity","FormModelFactory","FormModel","FormView","LayoutNodeRenderer","useFormViewRenderers","useFieldRenderers","useLayoutRenderers"],"sources":["index.ts"],"sourcesContent":["export * from \"@webiny/app\";\nexport type { HigherOrderComponent, ProviderProps, ComposeProps } from \"@webiny/app\";\n// UI components\nexport * from \"./base/ui/Tags.js\";\nexport * from \"./base/ui/Layout.js\";\nexport * from \"./base/ui/TenantSelector.js\";\nexport type { LayoutProps } from \"./base/ui/Layout.js\";\nexport * from \"./base/ui/Navigation.js\";\nexport * from \"./base/ui/Brand.js\";\nexport * from \"./base/ui/Logo.js\";\nexport * from \"./base/ui/UserMenu.js\";\nexport * from \"./base/ui/LoginScreen.js\";\nexport * from \"./base/ui/CenteredView.js\";\nexport * from \"./base/ui/Dashboard.js\";\nexport * from \"./base/ui/NotFound.js\";\n\n// Base admin app\nexport { Admin } from \"./base/Admin.js\";\nexport * from \"./config/AdminConfig.js\";\n\nexport type { AdminProps } from \"./base/Admin.js\";\n\n// Plugins\nexport * from \"./base/plugins/AddGraphQLQuerySelection.js\";\n\n// Permissions\nexport * from \"./permissions/index.js\";\n\n// Components\nexport * from \"./components/index.js\";\nexport type { RichTextValueWithHtml } from \"./components/index.js\";\nexport { HasPermission } from \"./presentation/security/components/HasPermission.js\";\nexport { SecureRoute } from \"./presentation/security/components/SecureRoute.js\";\n\nexport { FileManager, FileManagerRenderer } from \"./base/ui/FileManager.js\";\nexport type {\n FileManagerProps,\n FileManagerRendererProps,\n FileManagerFileItem,\n FileManagerOnChange\n} from \"./base/ui/FileManager.js\";\n\nexport { SystemInstallerProvider } from \"./presentation/installation/components/SystemInstaller/index.js\";\n\n// Feature types\nexport type { AaclPermission } from \"./features/wcp/types.js\";\nexport type { Tenant } from \"./features/tenancy/types.js\";\n\nexport { BuildParamsFeature } from \"./features/buildParams/feature.js\";\nexport { ToolsFeature } from \"./features/tools/feature.js\";\nexport { Tool, ToolRegistry, ToolPipelineRunner } from \"./features/tools/abstractions.js\";\nexport type { ITool, IToolRegistry, IToolPipelineRunner } from \"./features/tools/abstractions.js\";\n\n// Hooks\nexport * from \"./hooks/index.js\";\nexport { useWcp } from \"./presentation/wcp/useWcp.js\";\nexport { useTenantContext } from \"./presentation/tenancy/useTenantContext.js\";\nexport { useIdentity } from \"./presentation/security/hooks/useIdentity.js\";\nexport { useAuthentication } from \"./presentation/security/hooks/useAuthentication.js\";\nexport { useBuildParams } from \"./presentation/buildParams/useBuildParams.js\";\n\n// Legacy hook for easier migration\nexport { useSecurity } from \"./presentation/security/hooks/useSecurity.js\";\n\nexport * from \"@webiny/app/renderApp.js\";\n\n// FormModel\nimport \"./features/formModel/renderers.js\";\nimport \"./features/formModel/fieldTypes/TextFieldType.js\";\nimport \"./features/formModel/fieldTypes/NumberFieldType.js\";\nimport \"./features/formModel/fieldTypes/BooleanFieldType.js\";\nimport \"./features/formModel/fieldTypes/DateTimeFieldType.js\";\nimport \"./features/formModel/fieldTypes/FileFieldType.js\";\nimport \"./features/formModel/fieldTypes/FileUrlFieldType.js\";\nimport \"./features/formModel/fieldTypes/ObjectFieldType.js\";\nexport { FormModelFactory, FormModel } from \"./features/formModel/abstractions.js\";\nexport type {\n IFieldRendererRegistry,\n FieldRendererName,\n FieldRendererSettings,\n IFormModelFactory,\n IFormModelConfig,\n ILayoutBuilder,\n ILayoutNodeBuilder,\n IRowBuilder,\n ISeparatorBuilder,\n ITabsBuilder,\n IElementBuilder,\n IObjectBuilder,\n IFieldBuilder,\n IOptionsFieldBuilder,\n IFieldBuilderRegistry,\n IFormModel,\n IField,\n FieldTypeMap,\n IFieldConfig,\n IFieldVM,\n IFieldValidation,\n IFormVM,\n IFormError,\n IValueOption,\n IRowNode,\n IRowNodeVM,\n LayoutNode,\n LayoutNodeVM,\n LayoutPosition,\n IPositionedLayoutNode,\n ILayoutNodeHandle,\n ILayoutModifier,\n IFormModifier,\n BeforeChangeCallback,\n AfterChangeCallback,\n AfterSetValueCallback\n} from \"./features/formModel/abstractions.js\";\nexport {\n FormView,\n LayoutNodeRenderer,\n useFormViewRenderers\n} from \"./features/formModel/FormView.js\";\nexport { useFieldRenderers } from \"./features/formModel/useFieldRenderers.js\";\nexport { useLayoutRenderers } from \"./features/formModel/useLayoutRenderers.js\";\nexport type {\n FieldRenderers,\n FieldRendererComponent,\n LayoutRenderers,\n TabsNodeRendererProps\n} from \"./features/formModel/FormView.js\";\n"],"mappings":"AAAA,cAAc,aAAa;AAE3B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,KAAK;AACd;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AAEA,SAASC,aAAa;AACtB,SAASC,WAAW;AAEpB,SAASC,WAAW,EAAEC,mBAAmB;AAQzC,SAASC,uBAAuB;;AAEhC;;AAIA,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,IAAI,EAAEC,YAAY,EAAEC,kBAAkB;AAG/C;AACA;AACA,SAASC,MAAM;AACf,SAASC,gBAAgB;AACzB,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;;AAEvB;AACA,SAASC,WAAW;AAEpB,cAAc,0BAA0B;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgB,EAAEC,SAAS;AAuCpC,SACIC,QAAQ,EACRC,kBAAkB,EAClBC,oBAAoB;AAExB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB","ignoreList":[]}