@tsed/schema-formio 7.0.0-alpha.2 → 7.0.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 (277) hide show
  1. package/jest.config.js +14 -0
  2. package/lib/cjs/components/anyToComponent.js +28 -0
  3. package/lib/cjs/components/anyToComponent.js.map +1 -0
  4. package/lib/cjs/components/arrayToComponent.js +40 -0
  5. package/lib/cjs/components/arrayToComponent.js.map +1 -0
  6. package/lib/cjs/components/booleanToComponent.js +14 -0
  7. package/lib/cjs/components/booleanToComponent.js.map +1 -0
  8. package/lib/cjs/components/dateToComponent.js +57 -0
  9. package/lib/cjs/components/dateToComponent.js.map +1 -0
  10. package/lib/cjs/components/defaultToComponent.js +18 -0
  11. package/lib/cjs/components/defaultToComponent.js.map +1 -0
  12. package/lib/cjs/components/enumToComponent.js +33 -0
  13. package/lib/cjs/components/enumToComponent.js.map +1 -0
  14. package/lib/cjs/components/index.js +17 -0
  15. package/lib/cjs/components/index.js.map +1 -0
  16. package/lib/cjs/components/mapToComponent.js +20 -0
  17. package/lib/cjs/components/mapToComponent.js.map +1 -0
  18. package/lib/cjs/components/nestedToComponent.js +25 -0
  19. package/lib/cjs/components/nestedToComponent.js.map +1 -0
  20. package/lib/cjs/components/numberToComponent.js +21 -0
  21. package/lib/cjs/components/numberToComponent.js.map +1 -0
  22. package/lib/cjs/components/objectToEditGrid.js +16 -0
  23. package/lib/cjs/components/objectToEditGrid.js.map +1 -0
  24. package/lib/cjs/components/panelToComponent.js +16 -0
  25. package/lib/cjs/components/panelToComponent.js.map +1 -0
  26. package/lib/cjs/components/propertiesToComponents.js +88 -0
  27. package/lib/cjs/components/propertiesToComponents.js.map +1 -0
  28. package/lib/cjs/components/stringToComponent.js +43 -0
  29. package/lib/cjs/components/stringToComponent.js.map +1 -0
  30. package/lib/cjs/decorators/component.js +35 -0
  31. package/lib/cjs/decorators/component.js.map +1 -0
  32. package/lib/cjs/decorators/conditional.js +53 -0
  33. package/lib/cjs/decorators/conditional.js.map +1 -0
  34. package/lib/cjs/decorators/currency.js +24 -0
  35. package/lib/cjs/decorators/currency.js.map +1 -0
  36. package/lib/cjs/decorators/customClass.js +18 -0
  37. package/lib/cjs/decorators/customClass.js.map +1 -0
  38. package/lib/cjs/decorators/customConditional.js +33 -0
  39. package/lib/cjs/decorators/customConditional.js.map +1 -0
  40. package/lib/cjs/decorators/dataSourceJson.js +27 -0
  41. package/lib/cjs/decorators/dataSourceJson.js.map +1 -0
  42. package/lib/cjs/decorators/dataSourceUrl.js +22 -0
  43. package/lib/cjs/decorators/dataSourceUrl.js.map +1 -0
  44. package/lib/cjs/decorators/errorLabel.js +18 -0
  45. package/lib/cjs/decorators/errorLabel.js.map +1 -0
  46. package/lib/cjs/decorators/errorMessage.js +17 -0
  47. package/lib/cjs/decorators/errorMessage.js.map +1 -0
  48. package/lib/cjs/decorators/form.js +21 -0
  49. package/lib/cjs/decorators/form.js.map +1 -0
  50. package/lib/cjs/decorators/hidden.js +22 -0
  51. package/lib/cjs/decorators/hidden.js.map +1 -0
  52. package/lib/cjs/decorators/index.js +34 -0
  53. package/lib/cjs/decorators/index.js.map +1 -0
  54. package/lib/cjs/decorators/inputTags.js +23 -0
  55. package/lib/cjs/decorators/inputTags.js.map +1 -0
  56. package/lib/cjs/decorators/label.js +19 -0
  57. package/lib/cjs/decorators/label.js.map +1 -0
  58. package/lib/cjs/decorators/mask.js +50 -0
  59. package/lib/cjs/decorators/mask.js.map +1 -0
  60. package/lib/cjs/decorators/maxWords.js +17 -0
  61. package/lib/cjs/decorators/maxWords.js.map +1 -0
  62. package/lib/cjs/decorators/minWords.js +17 -0
  63. package/lib/cjs/decorators/minWords.js.map +1 -0
  64. package/lib/cjs/decorators/modalEdit.js +18 -0
  65. package/lib/cjs/decorators/modalEdit.js.map +1 -0
  66. package/lib/cjs/decorators/multiple.js +18 -0
  67. package/lib/cjs/decorators/multiple.js.map +1 -0
  68. package/lib/cjs/decorators/openWhenEmpty.js +18 -0
  69. package/lib/cjs/decorators/openWhenEmpty.js.map +1 -0
  70. package/lib/cjs/decorators/password.js +20 -0
  71. package/lib/cjs/decorators/password.js.map +1 -0
  72. package/lib/cjs/decorators/placeholder.js +19 -0
  73. package/lib/cjs/decorators/placeholder.js.map +1 -0
  74. package/lib/cjs/decorators/prefix.js +18 -0
  75. package/lib/cjs/decorators/prefix.js.map +1 -0
  76. package/lib/cjs/decorators/select.js +22 -0
  77. package/lib/cjs/decorators/select.js.map +1 -0
  78. package/lib/cjs/decorators/suffix.js +18 -0
  79. package/lib/cjs/decorators/suffix.js.map +1 -0
  80. package/lib/cjs/decorators/tableView.js +19 -0
  81. package/lib/cjs/decorators/tableView.js.map +1 -0
  82. package/lib/cjs/decorators/tabs.js +22 -0
  83. package/lib/cjs/decorators/tabs.js.map +1 -0
  84. package/lib/cjs/decorators/textCase.js +19 -0
  85. package/lib/cjs/decorators/textCase.js.map +1 -0
  86. package/lib/cjs/decorators/textarea.js +20 -0
  87. package/lib/cjs/decorators/textarea.js.map +1 -0
  88. package/lib/cjs/decorators/tooltip.js +19 -0
  89. package/lib/cjs/decorators/tooltip.js.map +1 -0
  90. package/lib/cjs/decorators/validate.js +22 -0
  91. package/lib/cjs/decorators/validate.js.map +1 -0
  92. package/lib/cjs/domain/FormioDataResolver.js +3 -0
  93. package/lib/cjs/domain/FormioDataResolver.js.map +1 -0
  94. package/lib/cjs/index.js +8 -0
  95. package/lib/cjs/index.js.map +1 -0
  96. package/lib/cjs/registries/FormioMappersContainer.js +21 -0
  97. package/lib/cjs/registries/FormioMappersContainer.js.map +1 -0
  98. package/lib/cjs/registries/FormsContainer.js +6 -0
  99. package/lib/cjs/registries/FormsContainer.js.map +1 -0
  100. package/lib/cjs/utils/getFormioProps.js +17 -0
  101. package/lib/cjs/utils/getFormioProps.js.map +1 -0
  102. package/lib/cjs/utils/getFormioSchema.js +42 -0
  103. package/lib/cjs/utils/getFormioSchema.js.map +1 -0
  104. package/lib/cjs/utils/getRef.js +12 -0
  105. package/lib/cjs/utils/getRef.js.map +1 -0
  106. package/lib/esm/components/anyToComponent.js +24 -0
  107. package/lib/esm/components/anyToComponent.js.map +1 -0
  108. package/lib/esm/components/arrayToComponent.js +36 -0
  109. package/lib/esm/components/arrayToComponent.js.map +1 -0
  110. package/lib/esm/components/booleanToComponent.js +12 -0
  111. package/lib/esm/components/booleanToComponent.js.map +1 -0
  112. package/lib/esm/components/dateToComponent.js +55 -0
  113. package/lib/esm/components/dateToComponent.js.map +1 -0
  114. package/lib/esm/components/defaultToComponent.js +14 -0
  115. package/lib/esm/components/defaultToComponent.js.map +1 -0
  116. package/lib/esm/components/enumToComponent.js +29 -0
  117. package/lib/esm/components/enumToComponent.js.map +1 -0
  118. package/lib/esm/components/index.js +14 -0
  119. package/lib/esm/components/index.js.map +1 -0
  120. package/lib/esm/components/mapToComponent.js +16 -0
  121. package/lib/esm/components/mapToComponent.js.map +1 -0
  122. package/lib/esm/components/nestedToComponent.js +21 -0
  123. package/lib/esm/components/nestedToComponent.js.map +1 -0
  124. package/lib/esm/components/numberToComponent.js +17 -0
  125. package/lib/esm/components/numberToComponent.js.map +1 -0
  126. package/lib/esm/components/objectToEditGrid.js +12 -0
  127. package/lib/esm/components/objectToEditGrid.js.map +1 -0
  128. package/lib/esm/components/panelToComponent.js +12 -0
  129. package/lib/esm/components/panelToComponent.js.map +1 -0
  130. package/lib/esm/components/propertiesToComponents.js +84 -0
  131. package/lib/esm/components/propertiesToComponents.js.map +1 -0
  132. package/lib/esm/components/stringToComponent.js +39 -0
  133. package/lib/esm/components/stringToComponent.js.map +1 -0
  134. package/lib/esm/decorators/component.js +31 -0
  135. package/lib/esm/decorators/component.js.map +1 -0
  136. package/lib/esm/decorators/conditional.js +47 -0
  137. package/lib/esm/decorators/conditional.js.map +1 -0
  138. package/lib/esm/decorators/currency.js +20 -0
  139. package/lib/esm/decorators/currency.js.map +1 -0
  140. package/lib/esm/decorators/customClass.js +14 -0
  141. package/lib/esm/decorators/customClass.js.map +1 -0
  142. package/lib/esm/decorators/customConditional.js +29 -0
  143. package/lib/esm/decorators/customConditional.js.map +1 -0
  144. package/lib/esm/decorators/dataSourceJson.js +23 -0
  145. package/lib/esm/decorators/dataSourceJson.js.map +1 -0
  146. package/lib/esm/decorators/dataSourceUrl.js +18 -0
  147. package/lib/esm/decorators/dataSourceUrl.js.map +1 -0
  148. package/lib/esm/decorators/errorLabel.js +14 -0
  149. package/lib/esm/decorators/errorLabel.js.map +1 -0
  150. package/lib/esm/decorators/errorMessage.js +13 -0
  151. package/lib/esm/decorators/errorMessage.js.map +1 -0
  152. package/lib/esm/decorators/form.js +17 -0
  153. package/lib/esm/decorators/form.js.map +1 -0
  154. package/lib/esm/decorators/hidden.js +18 -0
  155. package/lib/esm/decorators/hidden.js.map +1 -0
  156. package/lib/esm/decorators/index.js +31 -0
  157. package/lib/esm/decorators/index.js.map +1 -0
  158. package/lib/esm/decorators/inputTags.js +19 -0
  159. package/lib/esm/decorators/inputTags.js.map +1 -0
  160. package/lib/esm/decorators/label.js +15 -0
  161. package/lib/esm/decorators/label.js.map +1 -0
  162. package/lib/esm/decorators/mask.js +45 -0
  163. package/lib/esm/decorators/mask.js.map +1 -0
  164. package/lib/esm/decorators/maxWords.js +13 -0
  165. package/lib/esm/decorators/maxWords.js.map +1 -0
  166. package/lib/esm/decorators/minWords.js +13 -0
  167. package/lib/esm/decorators/minWords.js.map +1 -0
  168. package/lib/esm/decorators/modalEdit.js +14 -0
  169. package/lib/esm/decorators/modalEdit.js.map +1 -0
  170. package/lib/esm/decorators/multiple.js +14 -0
  171. package/lib/esm/decorators/multiple.js.map +1 -0
  172. package/lib/esm/decorators/openWhenEmpty.js +14 -0
  173. package/lib/esm/decorators/openWhenEmpty.js.map +1 -0
  174. package/lib/esm/decorators/password.js +16 -0
  175. package/lib/esm/decorators/password.js.map +1 -0
  176. package/lib/esm/decorators/placeholder.js +15 -0
  177. package/lib/esm/decorators/placeholder.js.map +1 -0
  178. package/lib/esm/decorators/prefix.js +14 -0
  179. package/lib/esm/decorators/prefix.js.map +1 -0
  180. package/lib/esm/decorators/select.js +18 -0
  181. package/lib/esm/decorators/select.js.map +1 -0
  182. package/lib/esm/decorators/suffix.js +14 -0
  183. package/lib/esm/decorators/suffix.js.map +1 -0
  184. package/lib/esm/decorators/tableView.js +15 -0
  185. package/lib/esm/decorators/tableView.js.map +1 -0
  186. package/lib/esm/decorators/tabs.js +18 -0
  187. package/lib/esm/decorators/tabs.js.map +1 -0
  188. package/lib/esm/decorators/textCase.js +15 -0
  189. package/lib/esm/decorators/textCase.js.map +1 -0
  190. package/lib/esm/decorators/textarea.js +16 -0
  191. package/lib/esm/decorators/textarea.js.map +1 -0
  192. package/lib/esm/decorators/tooltip.js +15 -0
  193. package/lib/esm/decorators/tooltip.js.map +1 -0
  194. package/lib/esm/decorators/validate.js +18 -0
  195. package/lib/esm/decorators/validate.js.map +1 -0
  196. package/lib/esm/domain/FormioDataResolver.js +2 -0
  197. package/lib/esm/domain/FormioDataResolver.js.map +1 -0
  198. package/lib/esm/index.js +5 -0
  199. package/lib/esm/index.js.map +1 -0
  200. package/lib/esm/registries/FormioMappersContainer.js +15 -0
  201. package/lib/esm/registries/FormioMappersContainer.js.map +1 -0
  202. package/lib/esm/registries/FormsContainer.js +3 -0
  203. package/lib/esm/registries/FormsContainer.js.map +1 -0
  204. package/lib/esm/utils/getFormioProps.js +13 -0
  205. package/lib/esm/utils/getFormioProps.js.map +1 -0
  206. package/lib/esm/utils/getFormioSchema.js +38 -0
  207. package/lib/esm/utils/getFormioSchema.js.map +1 -0
  208. package/lib/esm/utils/getRef.js +8 -0
  209. package/lib/esm/utils/getRef.js.map +1 -0
  210. package/lib/{components → types/components}/anyToComponent.d.ts +0 -0
  211. package/lib/{components → types/components}/arrayToComponent.d.ts +0 -0
  212. package/lib/{components → types/components}/booleanToComponent.d.ts +0 -0
  213. package/lib/{components → types/components}/dateToComponent.d.ts +0 -0
  214. package/lib/{components → types/components}/defaultToComponent.d.ts +0 -0
  215. package/lib/{components → types/components}/enumToComponent.d.ts +0 -0
  216. package/lib/{components → types/components}/index.d.ts +0 -0
  217. package/lib/{components → types/components}/mapToComponent.d.ts +0 -0
  218. package/lib/{components → types/components}/nestedToComponent.d.ts +0 -0
  219. package/lib/{components → types/components}/numberToComponent.d.ts +0 -0
  220. package/lib/{components → types/components}/objectToEditGrid.d.ts +0 -0
  221. package/lib/{components → types/components}/panelToComponent.d.ts +0 -0
  222. package/lib/{components → types/components}/propertiesToComponents.d.ts +0 -0
  223. package/lib/{components → types/components}/stringToComponent.d.ts +0 -0
  224. package/lib/{decorators → types/decorators}/component.d.ts +0 -0
  225. package/lib/types/decorators/conditional.d.ts +33 -0
  226. package/lib/{decorators → types/decorators}/currency.d.ts +0 -0
  227. package/lib/types/decorators/customClass.d.ts +8 -0
  228. package/lib/types/decorators/customConditional.d.ts +59 -0
  229. package/lib/types/decorators/dataSourceJson.d.ts +8 -0
  230. package/lib/types/decorators/dataSourceUrl.d.ts +8 -0
  231. package/lib/types/decorators/errorLabel.d.ts +8 -0
  232. package/lib/types/decorators/errorMessage.d.ts +9 -0
  233. package/lib/types/decorators/form.d.ts +6 -0
  234. package/lib/{decorators → types/decorators}/hidden.d.ts +3 -0
  235. package/lib/types/decorators/index.d.ts +30 -0
  236. package/lib/{decorators → types/decorators}/inputTags.d.ts +0 -0
  237. package/lib/types/decorators/label.d.ts +9 -0
  238. package/lib/types/decorators/mask.d.ts +37 -0
  239. package/lib/types/decorators/maxWords.d.ts +9 -0
  240. package/lib/types/decorators/minWords.d.ts +9 -0
  241. package/lib/types/decorators/modalEdit.d.ts +8 -0
  242. package/lib/{decorators → types/decorators}/multiple.d.ts +0 -0
  243. package/lib/types/decorators/openWhenEmpty.d.ts +8 -0
  244. package/lib/types/decorators/password.d.ts +12 -0
  245. package/lib/types/decorators/placeholder.d.ts +9 -0
  246. package/lib/types/decorators/prefix.d.ts +8 -0
  247. package/lib/types/decorators/select.d.ts +14 -0
  248. package/lib/types/decorators/suffix.d.ts +8 -0
  249. package/lib/{decorators → types/decorators}/tableView.d.ts +0 -0
  250. package/lib/{decorators → types/decorators}/tabs.d.ts +0 -0
  251. package/lib/types/decorators/textCase.d.ts +9 -0
  252. package/lib/types/decorators/textarea.d.ts +12 -0
  253. package/lib/types/decorators/tooltip.d.ts +9 -0
  254. package/lib/types/decorators/validate.d.ts +10 -0
  255. package/lib/types/domain/FormioDataResolver.d.ts +7 -0
  256. package/lib/{index.d.ts → types/index.d.ts} +0 -0
  257. package/lib/{registries → types/registries}/FormioMappersContainer.d.ts +0 -0
  258. package/lib/types/registries/FormsContainer.d.ts +2 -0
  259. package/lib/{utils → types/utils}/getFormioProps.d.ts +0 -0
  260. package/lib/types/utils/getFormioSchema.d.ts +4 -0
  261. package/lib/{utils → types/utils}/getRef.d.ts +0 -0
  262. package/package.json +24 -19
  263. package/readme.md +6 -4
  264. package/tsconfig.compile.esm.json +23 -0
  265. package/.mocharc.js +0 -5
  266. package/.nycrc +0 -26
  267. package/lib/decorators/dataSourceJson.d.ts +0 -7
  268. package/lib/decorators/dataSourceUrl.d.ts +0 -7
  269. package/lib/decorators/index.d.ts +0 -11
  270. package/lib/decorators/password.d.ts +0 -8
  271. package/lib/decorators/select.d.ts +0 -8
  272. package/lib/decorators/textarea.d.ts +0 -8
  273. package/lib/index.js +0 -585
  274. package/lib/index.js.map +0 -1
  275. package/lib/index.modern.js +0 -562
  276. package/lib/index.modern.js.map +0 -1
  277. package/lib/utils/getFormioSchema.d.ts +0 -11
package/lib/index.js DELETED
@@ -1,585 +0,0 @@
1
- var core = require('@tsed/core');
2
- var changeCase = require('change-case');
3
- var schema = require('@tsed/schema');
4
-
5
- const FormioMappersContainer = new Map();
6
- function registerFormioMapper(type, mapper) {
7
- return FormioMappersContainer.set(type, mapper);
8
- }
9
- function getFormioMapper(type) {
10
- // istanbul ignore next
11
- if (!FormioMappersContainer.has(type)) {
12
- throw new Error(`Formio ${type} mapper doesn't exists`);
13
- }
14
-
15
- return FormioMappersContainer.get(type);
16
- }
17
- function execMapper(type, schema, options) {
18
- return getFormioMapper(type)(schema, options);
19
- }
20
-
21
- function getRef(schema, options) {
22
- if (schema.$ref) {
23
- return core.getValue(options, schema.$ref.replace("#/", "").replace(/\//g, "."));
24
- }
25
-
26
- return schema;
27
- }
28
-
29
- function anyToComponent(schema, options) {
30
- schema = getRef(schema, options);
31
-
32
- switch (schema.type) {
33
- case "object":
34
- if (schema.additionalProperties) {
35
- return execMapper("map", schema, options);
36
- }
37
-
38
- return execMapper("nested", schema, options);
39
-
40
- case "array":
41
- return execMapper("array", schema, options);
42
-
43
- case "string":
44
- return execMapper("string", schema, options);
45
-
46
- case "boolean":
47
- return execMapper("boolean", schema, options);
48
-
49
- case "integer":
50
- case "number":
51
- return execMapper("number", schema, options);
52
- // default:
53
- // return execMapper("default", schema, options);
54
- }
55
- }
56
- registerFormioMapper("any", anyToComponent);
57
-
58
- function _extends() {
59
- _extends = Object.assign || function (target) {
60
- for (var i = 1; i < arguments.length; i++) {
61
- var source = arguments[i];
62
-
63
- for (var key in source) {
64
- if (Object.prototype.hasOwnProperty.call(source, key)) {
65
- target[key] = source[key];
66
- }
67
- }
68
- }
69
-
70
- return target;
71
- };
72
-
73
- return _extends.apply(this, arguments);
74
- }
75
-
76
- function arrayToComponent(schema, options) {
77
- schema = schema.items.$ref ? getRef(schema.items, options) : schema.items;
78
- const {
79
- type
80
- } = schema;
81
-
82
- switch (type) {
83
- case "object":
84
- // editgrid
85
- return execMapper("editgrid", schema, options);
86
-
87
- case "string":
88
- // tag or enum?
89
- if (schema.enum) {
90
- const component = execMapper("enum", schema, options);
91
- return _extends({}, component, {
92
- inline: false,
93
- type: "selectboxes"
94
- });
95
- }
96
-
97
- const component = execMapper(type, schema, options);
98
- return core.cleanObject(_extends({}, component, {
99
- multiple: component.type === "tags" ? undefined : true
100
- }));
101
-
102
- default:
103
- case "number":
104
- return _extends({}, execMapper(type, schema, options), {
105
- multiple: true
106
- });
107
- }
108
- }
109
- registerFormioMapper("array", arrayToComponent);
110
-
111
- function booleanToComponent(schema, options) {
112
- const component = execMapper("default", schema, options);
113
- return core.cleanObject(_extends({}, component, {
114
- input: true,
115
- type: component.type || "checkbox"
116
- }));
117
- }
118
-
119
- registerFormioMapper("boolean", booleanToComponent);
120
-
121
- function dateToComponent(schema, options) {
122
- const component = execMapper("default", schema, options);
123
-
124
- const base = _extends({}, component, {
125
- enableMinDateInput: false,
126
- datePicker: {
127
- disableWeekends: false,
128
- disableWeekdays: false
129
- },
130
- enableMaxDateInput: false,
131
- enableTime: false,
132
- type: "datetime",
133
- input: true,
134
- widget: {
135
- type: "calendar",
136
- displayInTimezone: "viewer",
137
- locale: "en",
138
- useLocaleSettings: false,
139
- allowInput: true,
140
- mode: "single",
141
- noCalendar: false,
142
- hourIncrement: 1,
143
- minuteIncrement: 1,
144
- minDate: null,
145
- disableWeekends: false,
146
- disableWeekdays: false,
147
- maxDate: null
148
- }
149
- });
150
-
151
- if (schema.format === "date") {
152
- return _extends({}, base, {
153
- format: "yyyy-MM-dd",
154
- enableTime: false,
155
- widget: _extends({}, base.widget, {
156
- enableTime: false,
157
- format: "yyyy-MM-dd"
158
- })
159
- });
160
- }
161
-
162
- return _extends({}, base, {
163
- timePicker: {
164
- showMeridian: false
165
- },
166
- widget: {
167
- enableTime: true,
168
- time_24hr: true
169
- }
170
- });
171
- }
172
-
173
- registerFormioMapper("date", dateToComponent);
174
-
175
- function getFormioProps(schema) {
176
- const formioProps = Object.entries(schema).reduce((props, [key, value]) => {
177
- if (key.startsWith("x-formio-")) {
178
- return _extends({}, props, {
179
- [key.replace("x-formio-", "")]: value
180
- });
181
- }
182
-
183
- return props;
184
- }, {});
185
- return formioProps;
186
- }
187
-
188
- function defaultToComponent(schema, options) {
189
- const formioProps = getFormioProps(schema);
190
- return core.cleanObject(_extends({}, formioProps, {
191
- disabled: !!schema.readOnly,
192
- label: schema.title,
193
- description: schema.description,
194
- defaultValue: schema.default
195
- }));
196
- }
197
- registerFormioMapper("default", defaultToComponent);
198
-
199
- function enumToComponent(schema, options) {
200
- const component = execMapper("default", schema, options);
201
- return core.cleanObject(_extends({}, component, {
202
- values: schema["x-values"] || schema.enum.map(value => {
203
- return {
204
- label: changeCase.sentenceCase(value),
205
- shortcut: "",
206
- value
207
- };
208
- })
209
- }));
210
- }
211
- registerFormioMapper("enum", enumToComponent);
212
-
213
- function mapToComponent(schema, options) {
214
- return _extends({}, execMapper("default", schema, options), {
215
- type: "datamap",
216
- tableView: false,
217
- input: true,
218
- valueComponent: _extends({}, execMapper("any", schema.additionalProperties, options), {
219
- hideLabel: true,
220
- tableView: true
221
- })
222
- });
223
- }
224
- registerFormioMapper("map", mapToComponent);
225
-
226
- function nestedToComponent(schema, options) {
227
- return _extends({}, execMapper("default", schema, options), {
228
- label: undefined,
229
- tableView: false,
230
- type: "form",
231
- display: "form",
232
- input: true,
233
- components: [_extends({
234
- key: "panel",
235
- label: options.parentKey && changeCase.sentenceCase(options.parentKey)
236
- }, execMapper("panel", schema, options))]
237
- });
238
- }
239
- registerFormioMapper("nested", nestedToComponent);
240
-
241
- function numberToComponent(schema, options) {
242
- const component = execMapper("default", schema, options);
243
- return core.cleanObject(_extends({}, component, {
244
- input: true,
245
- delimiter: core.getValue(component, "delimiter", false),
246
- inputFormat: core.getValue(component, "inputFormat", "plain"),
247
- mask: core.getValue(component, "mask", false),
248
- requireDecimal: false,
249
- type: "number"
250
- }));
251
- }
252
- registerFormioMapper("number", numberToComponent);
253
- registerFormioMapper("integer", numberToComponent);
254
-
255
- function objectToEditGrid(schema, options) {
256
- return _extends({}, execMapper("default", schema, options), {
257
- rowDrafts: false,
258
- type: "editgrid",
259
- input: true,
260
- components: execMapper("properties", schema, options)
261
- });
262
- }
263
- registerFormioMapper("editgrid", objectToEditGrid);
264
-
265
- function panelToComponent(schema, options) {
266
- return _extends({}, execMapper("default", schema, options), {
267
- collapsible: false,
268
- input: false,
269
- tableView: false,
270
- components: execMapper("properties", schema, options)
271
- });
272
- }
273
- registerFormioMapper("panel", panelToComponent);
274
-
275
- function propertiesToComponents(schema, options) {
276
- const tabs = {
277
- label: "Tabs",
278
- key: "tabs",
279
- type: "tabs",
280
- input: false,
281
- tableView: false,
282
- components: new Map(),
283
- pushed: false
284
- };
285
- const components = [];
286
- Object.entries(schema.properties).forEach(([key, propSchema]) => {
287
- const tabsOptions = propSchema["x-formiotabs"];
288
- const component = core.cleanObject(_extends({
289
- key,
290
- label: changeCase.sentenceCase(key)
291
- }, execMapper("any", propSchema, _extends({
292
- parentKey: key
293
- }, options)), {
294
- validate: {
295
- required: (schema.required || []).includes(key)
296
- }
297
- }));
298
-
299
- if (tabsOptions) {
300
- if (!tabs.pushed) {
301
- components.push(tabs);
302
- tabs.pushed = true;
303
- }
304
-
305
- if (!tabs.components.has(tabsOptions.key)) {
306
- tabs.components.set(tabsOptions.key, _extends({}, tabsOptions, {
307
- components: []
308
- }));
309
- }
310
-
311
- tabs.components.get(tabsOptions.key).components.push(component);
312
- } else {
313
- components.push(component);
314
- }
315
- });
316
-
317
- if (tabs.components.size) {
318
- tabs.components = [...tabs.components.values()];
319
- }
320
-
321
- return components;
322
- }
323
- registerFormioMapper("properties", propertiesToComponents);
324
-
325
- function stringToComponent(schema, options) {
326
- if (schema.format) {
327
- const component = execMapper("default", schema, options);
328
-
329
- switch (schema.format) {
330
- case "date":
331
- case "date-time":
332
- return execMapper("date", schema, options);
333
-
334
- case "uri":
335
- return core.cleanObject(_extends({
336
- input: true
337
- }, component, {
338
- type: component.type || "url"
339
- }));
340
-
341
- default:
342
- return core.cleanObject(_extends({
343
- input: true
344
- }, component, {
345
- type: component.type || schema.format
346
- }));
347
- }
348
- }
349
-
350
- if (schema.enum) {
351
- const component = execMapper("enum", schema, options);
352
- return _extends({}, component, {
353
- type: component.type || "radio"
354
- });
355
- }
356
-
357
- const component = execMapper("default", schema, options);
358
- return core.cleanObject(_extends({
359
- input: true,
360
- type: component.type || "textfield"
361
- }, component));
362
- }
363
- registerFormioMapper("string", stringToComponent);
364
-
365
- /**
366
- * Declare a formio Component schema on the decorated propertyKey.
367
- * @decorator
368
- * @formio
369
- * @property
370
- * @schema
371
- */
372
-
373
- function Component(component) {
374
- component = Object.entries(component).reduce((component, [key, value]) => {
375
- return _extends({}, component, {
376
- [`x-formio-${key}`]: value
377
- });
378
- }, {});
379
- return schema.CustomKeys(component);
380
- }
381
-
382
- /**
383
- * Configure the property as Currency component.
384
- * @decorator
385
- * @formio
386
- * @property
387
- * @schema
388
- */
389
-
390
- function Currency(props = {}) {
391
- return Component(_extends({
392
- currency: "USD",
393
- inputFormat: "plain",
394
- mask: false,
395
- spellcheck: true,
396
- delimiter: true
397
- }, props, {
398
- type: "currency"
399
- }));
400
- }
401
-
402
- /**
403
- * Set custom json data source
404
- * @param data
405
- * @param props
406
- * @constructor
407
- */
408
-
409
- function DataSourceJson(data, props = {}) {
410
- return Component(_extends({}, props, {
411
- dataSrc: "json",
412
- data: _extends({}, props.data, {
413
- json: JSON.stringify(data)
414
- })
415
- }));
416
- }
417
-
418
- /**
419
- * Set URL data on the current component.
420
- * @param url
421
- * @param props
422
- * @constructor
423
- */
424
-
425
- function DataSourceUrl(url, props = {}) {
426
- return Component(_extends({}, props, {
427
- dataSrc: "url",
428
- data: _extends({}, props.data, {
429
- url
430
- })
431
- }));
432
- }
433
-
434
- /**
435
- * Set hidden field.
436
- * @param bool
437
- * @decorator
438
- * @formio
439
- * @property
440
- * @schema
441
- */
442
-
443
- function Hidden(bool = true) {
444
- return Component({
445
- hidden: bool
446
- });
447
- }
448
-
449
- /**
450
- * Configure the property as Tags component.
451
- * @decorator
452
- * @formio
453
- * @property
454
- * @schema
455
- */
456
-
457
- function InputTags(props = {}) {
458
- return core.useDecorators(schema.CollectionOf(String), Component(_extends({}, props, {
459
- tableView: false,
460
- storeas: "array",
461
- type: "tags"
462
- })));
463
- }
464
-
465
- /**
466
- * Change the multiple value on the decorated property.
467
- * @decorator
468
- * @formio
469
- * @property
470
- * @schema
471
- */
472
-
473
- function Multiple(multiple = false) {
474
- return Component({
475
- multiple
476
- });
477
- }
478
-
479
- /**
480
- * Configure the property as Password component.
481
- * @decorator
482
- * @formio
483
- * @property
484
- * @schema
485
- */
486
-
487
- function Password(props = {}) {
488
- return Component(_extends({}, props, {
489
- type: "password",
490
- protected: true
491
- }));
492
- }
493
-
494
- /**
495
- * Configure the property as Select component.
496
- * @decorator
497
- * @formio
498
- * @property
499
- * @schema
500
- */
501
-
502
- function Select(props = {}) {
503
- return Component(_extends({
504
- selectThreshold: 0.3,
505
- input: true,
506
- widget: "choicesjs"
507
- }, props, {
508
- type: "select"
509
- }));
510
- }
511
-
512
- /**
513
- * Change the visibility of the current property on a table.
514
- * @param bool
515
- * @decorator
516
- * @formio
517
- * @property
518
- * @schema
519
- */
520
-
521
- function TableView(bool) {
522
- return Component({
523
- tableView: bool
524
- });
525
- }
526
-
527
- /**
528
- * Configure the property as Textarea component.
529
- * @decorator
530
- * @formio
531
- * @property
532
- * @schema
533
- */
534
-
535
- function Textarea(props = {}) {
536
- return Component(_extends({
537
- autoExpand: false
538
- }, props, {
539
- type: "textarea"
540
- }));
541
- }
542
-
543
- function getFormioSchema(model, options = {}) {
544
- const schema$1 = schema.getJsonSchema(model, _extends({}, options, {
545
- customKeys: true
546
- }));
547
- return {
548
- machineName: core.nameOf(model).toLowerCase(),
549
- name: core.nameOf(model).toLowerCase(),
550
- title: core.nameOf(model),
551
- type: "form",
552
- display: "form",
553
- components: execMapper("properties", schema$1, _extends({}, options, {
554
- definitions: schema$1.definitions
555
- }))
556
- };
557
- }
558
-
559
- exports.Component = Component;
560
- exports.Currency = Currency;
561
- exports.DataSourceJson = DataSourceJson;
562
- exports.DataSourceUrl = DataSourceUrl;
563
- exports.Hidden = Hidden;
564
- exports.InputTags = InputTags;
565
- exports.Multiple = Multiple;
566
- exports.Password = Password;
567
- exports.Select = Select;
568
- exports.TableView = TableView;
569
- exports.Textarea = Textarea;
570
- exports.anyToComponent = anyToComponent;
571
- exports.arrayToComponent = arrayToComponent;
572
- exports.defaultToComponent = defaultToComponent;
573
- exports.enumToComponent = enumToComponent;
574
- exports.execMapper = execMapper;
575
- exports.getFormioMapper = getFormioMapper;
576
- exports.getFormioSchema = getFormioSchema;
577
- exports.mapToComponent = mapToComponent;
578
- exports.nestedToComponent = nestedToComponent;
579
- exports.numberToComponent = numberToComponent;
580
- exports.objectToEditGrid = objectToEditGrid;
581
- exports.panelToComponent = panelToComponent;
582
- exports.propertiesToComponents = propertiesToComponents;
583
- exports.registerFormioMapper = registerFormioMapper;
584
- exports.stringToComponent = stringToComponent;
585
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/registries/FormioMappersContainer.ts","../src/utils/getRef.ts","../src/components/anyToComponent.ts","../src/components/arrayToComponent.ts","../src/components/booleanToComponent.ts","../src/components/dateToComponent.ts","../src/utils/getFormioProps.ts","../src/components/defaultToComponent.ts","../src/components/enumToComponent.ts","../src/components/mapToComponent.ts","../src/components/nestedToComponent.ts","../src/components/numberToComponent.ts","../src/components/objectToEditGrid.ts","../src/components/panelToComponent.ts","../src/components/propertiesToComponents.ts","../src/components/stringToComponent.ts","../src/decorators/component.ts","../src/decorators/currency.ts","../src/decorators/dataSourceJson.ts","../src/decorators/dataSourceUrl.ts","../src/decorators/hidden.ts","../src/decorators/inputTags.ts","../src/decorators/multiple.ts","../src/decorators/password.ts","../src/decorators/select.ts","../src/decorators/tableView.ts","../src/decorators/textarea.ts","../src/utils/getFormioSchema.ts"],"sourcesContent":["export interface FormioMapper {\n (schema: any, options: any): any;\n}\n\nconst FormioMappersContainer: Map<string, FormioMapper> = new Map();\n\nexport function registerFormioMapper(type: string, mapper: FormioMapper) {\n return FormioMappersContainer.set(type, mapper);\n}\n\nexport function getFormioMapper(type: string): FormioMapper {\n // istanbul ignore next\n if (!FormioMappersContainer.has(type)) {\n throw new Error(`Formio ${type} mapper doesn't exists`);\n }\n return FormioMappersContainer.get(type)!;\n}\n\nexport function execMapper(type: string, schema: any, options: any): any {\n return getFormioMapper(type)(schema, options);\n}\n","import {getValue} from \"@tsed/core\";\n\nexport function getRef(schema: any, options: any) {\n if (schema.$ref) {\n return getValue(options, schema.$ref.replace(\"#/\", \"\").replace(/\\//g, \".\"));\n }\n return schema;\n}\n","import {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\nimport {getRef} from \"../utils/getRef\";\n\nexport function anyToComponent(schema: any, options: any) {\n schema = getRef(schema, options);\n\n switch (schema.type) {\n case \"object\":\n if (schema.additionalProperties) {\n return execMapper(\"map\", schema, options);\n }\n\n return execMapper(\"nested\", schema, options);\n case \"array\":\n return execMapper(\"array\", schema, options);\n case \"string\":\n return execMapper(\"string\", schema, options);\n case \"boolean\":\n return execMapper(\"boolean\", schema, options);\n case \"integer\":\n case \"number\":\n return execMapper(\"number\", schema, options);\n // default:\n // return execMapper(\"default\", schema, options);\n }\n}\n\nregisterFormioMapper(\"any\", anyToComponent);\n","import {cleanObject} from \"@tsed/core\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\nimport {getRef} from \"../utils/getRef\";\n\nexport function arrayToComponent(schema: any, options: any) {\n schema = schema.items.$ref ? getRef(schema.items, options) : schema.items;\n\n const {type} = schema;\n\n switch (type) {\n case \"object\": // editgrid\n return execMapper(\"editgrid\", schema, options);\n case \"string\": // tag or enum?\n if (schema.enum) {\n const component = execMapper(\"enum\", schema, options);\n\n return {\n ...component,\n inline: false,\n type: \"selectboxes\"\n };\n }\n\n const component = execMapper(type, schema, options);\n\n return cleanObject({\n ...component,\n multiple: component.type === \"tags\" ? undefined : true\n });\n default:\n case \"number\":\n return {\n ...execMapper(type, schema, options),\n multiple: true\n };\n }\n}\n\nregisterFormioMapper(\"array\", arrayToComponent);\n","import {cleanObject} from \"@tsed/core\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nfunction booleanToComponent(schema: any, options: any) {\n const component = execMapper(\"default\", schema, options);\n\n return cleanObject({\n ...component,\n input: true,\n type: component.type || \"checkbox\"\n });\n}\n\nregisterFormioMapper(\"boolean\", booleanToComponent);\n","import {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nfunction dateToComponent(schema: any, options: any) {\n const component = execMapper(\"default\", schema, options);\n\n const base = {\n ...component,\n enableMinDateInput: false,\n datePicker: {\n disableWeekends: false,\n disableWeekdays: false\n },\n enableMaxDateInput: false,\n enableTime: false,\n type: \"datetime\",\n input: true,\n widget: {\n type: \"calendar\",\n displayInTimezone: \"viewer\",\n locale: \"en\",\n useLocaleSettings: false,\n allowInput: true,\n mode: \"single\",\n noCalendar: false,\n hourIncrement: 1,\n minuteIncrement: 1,\n minDate: null,\n disableWeekends: false,\n disableWeekdays: false,\n maxDate: null\n }\n };\n\n if (schema.format === \"date\") {\n return {\n ...base,\n format: \"yyyy-MM-dd\",\n enableTime: false,\n widget: {\n ...base.widget,\n enableTime: false,\n format: \"yyyy-MM-dd\"\n }\n };\n }\n\n return {\n ...base,\n timePicker: {\n showMeridian: false\n },\n widget: {\n enableTime: true,\n time_24hr: true\n }\n };\n}\n\nregisterFormioMapper(\"date\", dateToComponent);\n","export function getFormioProps(schema: any) {\n const formioProps: any = Object.entries(schema).reduce((props, [key, value]) => {\n if (key.startsWith(\"x-formio-\")) {\n return {\n ...props,\n [key.replace(\"x-formio-\", \"\")]: value\n };\n }\n return props;\n }, {});\n return formioProps;\n}\n","import {cleanObject} from \"@tsed/core\";\nimport {registerFormioMapper} from \"../registries/FormioMappersContainer\";\nimport {getFormioProps} from \"../utils/getFormioProps\";\n\nexport function defaultToComponent(schema: any, options: any): any {\n const formioProps = getFormioProps(schema);\n\n return cleanObject({\n ...formioProps,\n disabled: !!schema.readOnly,\n label: schema.title,\n description: schema.description,\n defaultValue: schema.default\n });\n}\n\nregisterFormioMapper(\"default\", defaultToComponent);\n","import {cleanObject} from \"@tsed/core\";\nimport {sentenceCase} from \"change-case\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function enumToComponent(schema: any, options: any) {\n const component = execMapper(\"default\", schema, options);\n\n return cleanObject({\n ...component,\n values:\n schema[\"x-values\"] ||\n schema.enum.map((value: any) => {\n return {\n label: sentenceCase(value),\n shortcut: \"\",\n value\n };\n })\n });\n}\n\nregisterFormioMapper(\"enum\", enumToComponent);\n","import {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function mapToComponent(schema: any, options: any) {\n return {\n ...execMapper(\"default\", schema, options),\n type: \"datamap\",\n tableView: false,\n input: true,\n valueComponent: {\n ...execMapper(\"any\", schema.additionalProperties, options),\n hideLabel: true,\n tableView: true\n }\n };\n}\n\nregisterFormioMapper(\"map\", mapToComponent);\n","import {sentenceCase} from \"change-case\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function nestedToComponent(schema: any, options: any) {\n return {\n ...execMapper(\"default\", schema, options),\n label: undefined,\n tableView: false,\n type: \"form\",\n display: \"form\",\n input: true,\n components: [\n {\n key: \"panel\",\n label: options.parentKey && sentenceCase(options.parentKey),\n ...execMapper(\"panel\", schema, options)\n }\n ]\n };\n}\n\nregisterFormioMapper(\"nested\", nestedToComponent);\n","import {cleanObject, getValue} from \"@tsed/core\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function numberToComponent(schema: any, options: any) {\n const component = execMapper(\"default\", schema, options);\n\n return cleanObject({\n ...component,\n input: true,\n delimiter: getValue(component, \"delimiter\", false),\n inputFormat: getValue(component, \"inputFormat\", \"plain\"),\n mask: getValue(component, \"mask\", false),\n requireDecimal: false,\n type: \"number\"\n });\n}\n\nregisterFormioMapper(\"number\", numberToComponent);\nregisterFormioMapper(\"integer\", numberToComponent);\n","import {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function objectToEditGrid(schema: any, options: any) {\n return {\n ...execMapper(\"default\", schema, options),\n rowDrafts: false,\n type: \"editgrid\",\n input: true,\n components: execMapper(\"properties\", schema, options)\n };\n}\n\nregisterFormioMapper(\"editgrid\", objectToEditGrid);\n","import {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function panelToComponent(schema: any, options: any) {\n return {\n ...execMapper(\"default\", schema, options),\n collapsible: false,\n input: false,\n tableView: false,\n components: execMapper(\"properties\", schema, options)\n };\n}\n\nregisterFormioMapper(\"panel\", panelToComponent);\n","import {cleanObject} from \"@tsed/core\";\nimport {sentenceCase} from \"change-case\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function propertiesToComponents(schema: any, options: any): any[] {\n const tabs = {\n label: \"Tabs\",\n key: \"tabs\",\n type: \"tabs\",\n input: false,\n tableView: false,\n components: new Map<string, any>(),\n pushed: false\n };\n\n const components: any[] = [];\n\n Object.entries(schema.properties).forEach(([key, propSchema]: [string, any]) => {\n const tabsOptions = propSchema[\"x-formiotabs\"];\n\n const component = cleanObject({\n key,\n label: sentenceCase(key),\n ...execMapper(\"any\", propSchema, {parentKey: key, ...options}),\n validate: {\n required: (schema.required || []).includes(key)\n }\n });\n\n if (tabsOptions) {\n if (!tabs.pushed) {\n components.push(tabs);\n tabs.pushed = true;\n }\n\n if (!tabs.components.has(tabsOptions.key)) {\n tabs.components.set(tabsOptions.key, {\n ...tabsOptions,\n components: []\n });\n }\n\n tabs.components.get(tabsOptions.key).components.push(component);\n } else {\n components.push(component);\n }\n });\n\n if (tabs.components.size) {\n tabs.components = [...tabs.components.values()] as any;\n }\n\n return components;\n}\n\nregisterFormioMapper(\"properties\", propertiesToComponents);\n","import {cleanObject} from \"@tsed/core\";\nimport {execMapper, registerFormioMapper} from \"../registries/FormioMappersContainer\";\n\nexport function stringToComponent(schema: any, options: any) {\n if (schema.format) {\n const component = execMapper(\"default\", schema, options);\n switch (schema.format) {\n case \"date\":\n case \"date-time\":\n return execMapper(\"date\", schema, options);\n case \"uri\":\n return cleanObject({\n input: true,\n ...component,\n type: component.type || \"url\"\n });\n default:\n return cleanObject({\n input: true,\n ...component,\n type: component.type || schema.format\n });\n }\n }\n\n if (schema.enum) {\n const component = execMapper(\"enum\", schema, options);\n\n return {\n ...component,\n type: component.type || \"radio\"\n };\n }\n\n const component = execMapper(\"default\", schema, options);\n return cleanObject({\n input: true,\n type: component.type || \"textfield\",\n ...component\n });\n}\n\nregisterFormioMapper(\"string\", stringToComponent);\n","import {CustomKeys} from \"@tsed/schema\";\n\n/**\n * Declare a formio Component schema on the decorated propertyKey.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Component(component: Record<string, any>): PropertyDecorator {\n component = Object.entries(component).reduce((component, [key, value]) => {\n return {\n ...component,\n [`x-formio-${key}`]: value\n };\n }, {});\n\n return CustomKeys(component);\n}\n","import {Component} from \"./component\";\n/**\n * Configure the property as Currency component.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Currency(props: Record<string, any> = {}): PropertyDecorator {\n return Component({\n currency: \"USD\",\n inputFormat: \"plain\",\n mask: false,\n spellcheck: true,\n delimiter: true,\n ...props,\n type: \"currency\"\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Set custom json data source\n * @param data\n * @param props\n * @constructor\n */\nexport function DataSourceJson(data: any, props: Record<string, any> = {}) {\n return Component({\n ...props,\n dataSrc: \"json\",\n data: {\n ...props.data,\n json: JSON.stringify(data)\n }\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Set URL data on the current component.\n * @param url\n * @param props\n * @constructor\n */\nexport function DataSourceUrl(url: string, props: Record<string, any> = {}) {\n return Component({\n ...props,\n dataSrc: \"url\",\n data: {\n ...props.data,\n url\n }\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Set hidden field.\n * @param bool\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Hidden(bool: boolean = true): PropertyDecorator {\n return Component({\n hidden: bool\n });\n}\n","import {useDecorators} from \"@tsed/core\";\nimport {CollectionOf} from \"@tsed/schema\";\nimport {Component} from \"./component\";\n/**\n * Configure the property as Tags component.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function InputTags(props: Record<string, any> = {}): PropertyDecorator {\n return useDecorators(\n CollectionOf(String),\n Component({\n ...props,\n tableView: false,\n storeas: \"array\",\n type: \"tags\"\n })\n );\n}\n","import {Component} from \"./component\";\n\n/**\n * Change the multiple value on the decorated property.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Multiple(multiple = false): PropertyDecorator {\n return Component({\n multiple\n });\n}\n","import {Component} from \"./component\";\n/**\n * Configure the property as Password component.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Password(props: Record<string, any> = {}): PropertyDecorator {\n return Component({\n ...props,\n type: \"password\",\n protected: true\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Configure the property as Select component.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Select(props: Record<string, any> = {}): PropertyDecorator {\n return Component({\n selectThreshold: 0.3,\n input: true,\n widget: \"choicesjs\",\n ...props,\n type: \"select\"\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Change the visibility of the current property on a table.\n * @param bool\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function TableView(bool: boolean): PropertyDecorator {\n return Component({\n tableView: bool\n });\n}\n","import {Component} from \"./component\";\n\n/**\n * Configure the property as Textarea component.\n * @decorator\n * @formio\n * @property\n * @schema\n */\nexport function Textarea(props: Record<string, any> = {}): PropertyDecorator {\n return Component({\n autoExpand: false,\n ...props,\n type: \"textarea\"\n });\n}\n","import {nameOf, Type} from \"@tsed/core\";\nimport {getJsonSchema, JsonEntityStore, JsonSchemaOptions} from \"@tsed/schema\";\nimport {execMapper} from \"../registries/FormioMappersContainer\";\nimport \"../components\";\n\nexport function getFormioSchema(model: Type<any> | JsonEntityStore, options: JsonSchemaOptions = {}) {\n const schema = getJsonSchema(model, {\n ...options,\n customKeys: true\n });\n\n return {\n machineName: nameOf(model).toLowerCase(),\n name: nameOf(model).toLowerCase(),\n title: nameOf(model),\n type: \"form\",\n display: \"form\",\n components: execMapper(\"properties\", schema, {...options, definitions: schema.definitions})\n };\n}\n"],"names":["FormioMappersContainer","Map","registerFormioMapper","type","mapper","set","getFormioMapper","has","Error","get","execMapper","schema","options","getRef","$ref","getValue","replace","anyToComponent","additionalProperties","arrayToComponent","items","enum","component","inline","cleanObject","multiple","undefined","booleanToComponent","input","dateToComponent","base","enableMinDateInput","datePicker","disableWeekends","disableWeekdays","enableMaxDateInput","enableTime","widget","displayInTimezone","locale","useLocaleSettings","allowInput","mode","noCalendar","hourIncrement","minuteIncrement","minDate","maxDate","format","timePicker","showMeridian","time_24hr","getFormioProps","formioProps","Object","entries","reduce","props","key","value","startsWith","defaultToComponent","disabled","readOnly","label","title","description","defaultValue","default","enumToComponent","values","map","sentenceCase","shortcut","mapToComponent","tableView","valueComponent","hideLabel","nestedToComponent","display","components","parentKey","numberToComponent","delimiter","inputFormat","mask","requireDecimal","objectToEditGrid","rowDrafts","panelToComponent","collapsible","propertiesToComponents","tabs","pushed","properties","forEach","propSchema","tabsOptions","validate","required","includes","push","size","stringToComponent","Component","CustomKeys","Currency","currency","spellcheck","DataSourceJson","data","dataSrc","json","JSON","stringify","DataSourceUrl","url","Hidden","bool","hidden","InputTags","useDecorators","CollectionOf","String","storeas","Multiple","Password","protected","Select","selectThreshold","TableView","Textarea","autoExpand","getFormioSchema","model","getJsonSchema","customKeys","machineName","nameOf","toLowerCase","name","definitions"],"mappings":"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"}