@defra/forms-model 3.0.2

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 (336) hide show
  1. package/LICENCE +8 -0
  2. package/README.md +22 -0
  3. package/dist/browser/components/component-types.d.ts +3 -0
  4. package/dist/browser/components/component-types.d.ts.map +1 -0
  5. package/dist/browser/components/component-types.js +220 -0
  6. package/dist/browser/components/component-types.js.map +1 -0
  7. package/dist/browser/components/conditional-component-types.d.ts +3 -0
  8. package/dist/browser/components/conditional-component-types.d.ts.map +1 -0
  9. package/dist/browser/components/conditional-component-types.js +28 -0
  10. package/dist/browser/components/conditional-component-types.js.map +1 -0
  11. package/dist/browser/components/index.d.ts +4 -0
  12. package/dist/browser/components/index.d.ts.map +1 -0
  13. package/dist/browser/components/index.js +45 -0
  14. package/dist/browser/components/index.js.map +1 -0
  15. package/dist/browser/components/types.d.ts +244 -0
  16. package/dist/browser/components/types.d.ts.map +1 -0
  17. package/dist/browser/components/types.js +56 -0
  18. package/dist/browser/components/types.js.map +1 -0
  19. package/dist/browser/conditions/condition-abstract.d.ts +16 -0
  20. package/dist/browser/conditions/condition-abstract.d.ts.map +1 -0
  21. package/dist/browser/conditions/condition-abstract.js +62 -0
  22. package/dist/browser/conditions/condition-abstract.js.map +1 -0
  23. package/dist/browser/conditions/condition-field.d.ts +13 -0
  24. package/dist/browser/conditions/condition-field.d.ts.map +1 -0
  25. package/dist/browser/conditions/condition-field.js +45 -0
  26. package/dist/browser/conditions/condition-field.js.map +1 -0
  27. package/dist/browser/conditions/condition-group-def.d.ts +10 -0
  28. package/dist/browser/conditions/condition-group-def.d.ts.map +1 -0
  29. package/dist/browser/conditions/condition-group-def.js +45 -0
  30. package/dist/browser/conditions/condition-group-def.js.map +1 -0
  31. package/dist/browser/conditions/condition-group.d.ts +15 -0
  32. package/dist/browser/conditions/condition-group.d.ts.map +1 -0
  33. package/dist/browser/conditions/condition-group.js +64 -0
  34. package/dist/browser/conditions/condition-group.js.map +1 -0
  35. package/dist/browser/conditions/condition-model.d.ts +41 -0
  36. package/dist/browser/conditions/condition-model.d.ts.map +1 -0
  37. package/dist/browser/conditions/condition-model.js +214 -0
  38. package/dist/browser/conditions/condition-model.js.map +1 -0
  39. package/dist/browser/conditions/condition-operators.d.ts +248 -0
  40. package/dist/browser/conditions/condition-operators.d.ts.map +1 -0
  41. package/dist/browser/conditions/condition-operators.js +132 -0
  42. package/dist/browser/conditions/condition-operators.js.map +1 -0
  43. package/dist/browser/conditions/condition-ref.d.ts +12 -0
  44. package/dist/browser/conditions/condition-ref.d.ts.map +1 -0
  45. package/dist/browser/conditions/condition-ref.js +51 -0
  46. package/dist/browser/conditions/condition-ref.js.map +1 -0
  47. package/dist/browser/conditions/condition-value-abstract.d.ts +8 -0
  48. package/dist/browser/conditions/condition-value-abstract.d.ts.map +1 -0
  49. package/dist/browser/conditions/condition-value-abstract.js +41 -0
  50. package/dist/browser/conditions/condition-value-abstract.js.map +1 -0
  51. package/dist/browser/conditions/condition-value-registration.d.ts +10 -0
  52. package/dist/browser/conditions/condition-value-registration.d.ts.map +1 -0
  53. package/dist/browser/conditions/condition-value-registration.js +37 -0
  54. package/dist/browser/conditions/condition-value-registration.js.map +1 -0
  55. package/dist/browser/conditions/condition-values.d.ts +38 -0
  56. package/dist/browser/conditions/condition-values.d.ts.map +1 -0
  57. package/dist/browser/conditions/condition-values.js +127 -0
  58. package/dist/browser/conditions/condition-values.js.map +1 -0
  59. package/dist/browser/conditions/condition.d.ts +15 -0
  60. package/dist/browser/conditions/condition.d.ts.map +1 -0
  61. package/dist/browser/conditions/condition.js +56 -0
  62. package/dist/browser/conditions/condition.js.map +1 -0
  63. package/dist/browser/conditions/helpers.d.ts +3 -0
  64. package/dist/browser/conditions/helpers.d.ts.map +1 -0
  65. package/dist/browser/conditions/helpers.js +26 -0
  66. package/dist/browser/conditions/helpers.js.map +1 -0
  67. package/dist/browser/conditions/index.d.ts +11 -0
  68. package/dist/browser/conditions/index.d.ts.map +1 -0
  69. package/dist/browser/conditions/index.js +144 -0
  70. package/dist/browser/conditions/index.js.map +1 -0
  71. package/dist/browser/conditions/inline-condition-model.d.ts +86 -0
  72. package/dist/browser/conditions/inline-condition-model.d.ts.map +1 -0
  73. package/dist/browser/conditions/inline-condition-model.js +418 -0
  74. package/dist/browser/conditions/inline-condition-model.js.map +1 -0
  75. package/dist/browser/conditions/inline-condition-operators.d.ts +175 -0
  76. package/dist/browser/conditions/inline-condition-operators.d.ts.map +1 -0
  77. package/dist/browser/conditions/inline-condition-operators.js +132 -0
  78. package/dist/browser/conditions/inline-condition-operators.js.map +1 -0
  79. package/dist/browser/conditions/inline-condition-values.d.ts +93 -0
  80. package/dist/browser/conditions/inline-condition-values.d.ts.map +1 -0
  81. package/dist/browser/conditions/inline-condition-values.js +159 -0
  82. package/dist/browser/conditions/inline-condition-values.js.map +1 -0
  83. package/dist/browser/conditions/types.d.ts +38 -0
  84. package/dist/browser/conditions/types.d.ts.map +1 -0
  85. package/dist/browser/conditions/types.js +24 -0
  86. package/dist/browser/conditions/types.js.map +1 -0
  87. package/dist/browser/data-model/conditions-wrapper.d.ts +19 -0
  88. package/dist/browser/data-model/conditions-wrapper.d.ts.map +1 -0
  89. package/dist/browser/data-model/conditions-wrapper.js +49 -0
  90. package/dist/browser/data-model/conditions-wrapper.js.map +1 -0
  91. package/dist/browser/data-model/index.d.ts +4 -0
  92. package/dist/browser/data-model/index.d.ts.map +1 -0
  93. package/dist/browser/data-model/index.js +66 -0
  94. package/dist/browser/data-model/index.js.map +1 -0
  95. package/dist/browser/data-model/input-wrapper.d.ts +16 -0
  96. package/dist/browser/data-model/input-wrapper.d.ts.map +1 -0
  97. package/dist/browser/data-model/input-wrapper.js +49 -0
  98. package/dist/browser/data-model/input-wrapper.js.map +1 -0
  99. package/dist/browser/data-model/types.d.ts +153 -0
  100. package/dist/browser/data-model/types.d.ts.map +1 -0
  101. package/dist/browser/data-model/types.js +34 -0
  102. package/dist/browser/data-model/types.js.map +1 -0
  103. package/dist/browser/form/form-configuration.d.ts +8 -0
  104. package/dist/browser/form/form-configuration.d.ts.map +1 -0
  105. package/dist/browser/form/form-configuration.js +38 -0
  106. package/dist/browser/form/form-configuration.js.map +1 -0
  107. package/dist/browser/form/index.d.ts +2 -0
  108. package/dist/browser/form/index.d.ts.map +1 -0
  109. package/dist/browser/form/index.js +24 -0
  110. package/dist/browser/form/index.js.map +1 -0
  111. package/dist/browser/index.d.ts +12 -0
  112. package/dist/browser/index.d.ts.map +1 -0
  113. package/dist/browser/index.js +138 -0
  114. package/dist/browser/index.js.map +1 -0
  115. package/dist/browser/migration/index.d.ts +2 -0
  116. package/dist/browser/migration/index.d.ts.map +1 -0
  117. package/dist/browser/migration/index.js +24 -0
  118. package/dist/browser/migration/index.js.map +1 -0
  119. package/dist/browser/migration/migration.0-2.d.ts +3 -0
  120. package/dist/browser/migration/migration.0-2.d.ts.map +1 -0
  121. package/dist/browser/migration/migration.0-2.js +65 -0
  122. package/dist/browser/migration/migration.0-2.js.map +1 -0
  123. package/dist/browser/migration/migration.1-2.d.ts +3 -0
  124. package/dist/browser/migration/migration.1-2.d.ts.map +1 -0
  125. package/dist/browser/migration/migration.1-2.js +108 -0
  126. package/dist/browser/migration/migration.1-2.js.map +1 -0
  127. package/dist/browser/migration/types.d.ts +2 -0
  128. package/dist/browser/migration/types.d.ts.map +1 -0
  129. package/dist/browser/migration/types.js +16 -0
  130. package/dist/browser/migration/types.js.map +1 -0
  131. package/dist/browser/migration/whichMigrations.d.ts +7 -0
  132. package/dist/browser/migration/whichMigrations.d.ts.map +1 -0
  133. package/dist/browser/migration/whichMigrations.js +38 -0
  134. package/dist/browser/migration/whichMigrations.js.map +1 -0
  135. package/dist/browser/schema/index.d.ts +2 -0
  136. package/dist/browser/schema/index.d.ts.map +1 -0
  137. package/dist/browser/schema/index.js +30 -0
  138. package/dist/browser/schema/index.js.map +1 -0
  139. package/dist/browser/schema/schema.d.ts +20 -0
  140. package/dist/browser/schema/schema.d.ts.map +1 -0
  141. package/dist/browser/schema/schema.js +255 -0
  142. package/dist/browser/schema/schema.js.map +1 -0
  143. package/dist/browser/utils/helpers.d.ts +9 -0
  144. package/dist/browser/utils/helpers.d.ts.map +1 -0
  145. package/dist/browser/utils/helpers.js +48 -0
  146. package/dist/browser/utils/helpers.js.map +1 -0
  147. package/dist/browser/utils/logger.d.ts +11 -0
  148. package/dist/browser/utils/logger.d.ts.map +1 -0
  149. package/dist/browser/utils/logger.js +46 -0
  150. package/dist/browser/utils/logger.js.map +1 -0
  151. package/dist/module/components/component-types.d.ts +3 -0
  152. package/dist/module/components/component-types.d.ts.map +1 -0
  153. package/dist/module/components/component-types.js +206 -0
  154. package/dist/module/components/component-types.js.map +1 -0
  155. package/dist/module/components/conditional-component-types.d.ts +3 -0
  156. package/dist/module/components/conditional-component-types.d.ts.map +1 -0
  157. package/dist/module/components/conditional-component-types.js +14 -0
  158. package/dist/module/components/conditional-component-types.js.map +1 -0
  159. package/dist/module/components/index.d.ts +4 -0
  160. package/dist/module/components/index.d.ts.map +1 -0
  161. package/dist/module/components/index.js +34 -0
  162. package/dist/module/components/index.js.map +1 -0
  163. package/dist/module/components/types.d.ts +244 -0
  164. package/dist/module/components/types.d.ts.map +1 -0
  165. package/dist/module/components/types.js +42 -0
  166. package/dist/module/components/types.js.map +1 -0
  167. package/dist/module/conditions/condition-abstract.d.ts +16 -0
  168. package/dist/module/conditions/condition-abstract.d.ts.map +1 -0
  169. package/dist/module/conditions/condition-abstract.js +45 -0
  170. package/dist/module/conditions/condition-abstract.js.map +1 -0
  171. package/dist/module/conditions/condition-field.d.ts +13 -0
  172. package/dist/module/conditions/condition-field.d.ts.map +1 -0
  173. package/dist/module/conditions/condition-field.js +26 -0
  174. package/dist/module/conditions/condition-field.js.map +1 -0
  175. package/dist/module/conditions/condition-group-def.d.ts +10 -0
  176. package/dist/module/conditions/condition-group-def.d.ts.map +1 -0
  177. package/dist/module/conditions/condition-group-def.js +26 -0
  178. package/dist/module/conditions/condition-group-def.js.map +1 -0
  179. package/dist/module/conditions/condition-group.d.ts +15 -0
  180. package/dist/module/conditions/condition-group.d.ts.map +1 -0
  181. package/dist/module/conditions/condition-group.js +47 -0
  182. package/dist/module/conditions/condition-group.js.map +1 -0
  183. package/dist/module/conditions/condition-model.d.ts +41 -0
  184. package/dist/module/conditions/condition-model.d.ts.map +1 -0
  185. package/dist/module/conditions/condition-model.js +199 -0
  186. package/dist/module/conditions/condition-model.js.map +1 -0
  187. package/dist/module/conditions/condition-operators.d.ts +248 -0
  188. package/dist/module/conditions/condition-operators.d.ts.map +1 -0
  189. package/dist/module/conditions/condition-operators.js +119 -0
  190. package/dist/module/conditions/condition-operators.js.map +1 -0
  191. package/dist/module/conditions/condition-ref.d.ts +12 -0
  192. package/dist/module/conditions/condition-ref.d.ts.map +1 -0
  193. package/dist/module/conditions/condition-ref.js +33 -0
  194. package/dist/module/conditions/condition-ref.js.map +1 -0
  195. package/dist/module/conditions/condition-value-abstract.d.ts +8 -0
  196. package/dist/module/conditions/condition-value-abstract.d.ts.map +1 -0
  197. package/dist/module/conditions/condition-value-abstract.js +24 -0
  198. package/dist/module/conditions/condition-value-abstract.js.map +1 -0
  199. package/dist/module/conditions/condition-value-registration.d.ts +10 -0
  200. package/dist/module/conditions/condition-value-registration.d.ts.map +1 -0
  201. package/dist/module/conditions/condition-value-registration.js +19 -0
  202. package/dist/module/conditions/condition-value-registration.js.map +1 -0
  203. package/dist/module/conditions/condition-values.d.ts +38 -0
  204. package/dist/module/conditions/condition-values.d.ts.map +1 -0
  205. package/dist/module/conditions/condition-values.js +106 -0
  206. package/dist/module/conditions/condition-values.js.map +1 -0
  207. package/dist/module/conditions/condition.d.ts +15 -0
  208. package/dist/module/conditions/condition.d.ts.map +1 -0
  209. package/dist/module/conditions/condition.js +40 -0
  210. package/dist/module/conditions/condition.js.map +1 -0
  211. package/dist/module/conditions/helpers.d.ts +3 -0
  212. package/dist/module/conditions/helpers.d.ts.map +1 -0
  213. package/dist/module/conditions/helpers.js +12 -0
  214. package/dist/module/conditions/helpers.js.map +1 -0
  215. package/dist/module/conditions/index.d.ts +11 -0
  216. package/dist/module/conditions/index.d.ts.map +1 -0
  217. package/dist/module/conditions/index.js +140 -0
  218. package/dist/module/conditions/index.js.map +1 -0
  219. package/dist/module/conditions/inline-condition-model.d.ts +86 -0
  220. package/dist/module/conditions/inline-condition-model.d.ts.map +1 -0
  221. package/dist/module/conditions/inline-condition-model.js +384 -0
  222. package/dist/module/conditions/inline-condition-model.js.map +1 -0
  223. package/dist/module/conditions/inline-condition-operators.d.ts +175 -0
  224. package/dist/module/conditions/inline-condition-operators.d.ts.map +1 -0
  225. package/dist/module/conditions/inline-condition-operators.js +119 -0
  226. package/dist/module/conditions/inline-condition-operators.js.map +1 -0
  227. package/dist/module/conditions/inline-condition-values.d.ts +93 -0
  228. package/dist/module/conditions/inline-condition-values.d.ts.map +1 -0
  229. package/dist/module/conditions/inline-condition-values.js +134 -0
  230. package/dist/module/conditions/inline-condition-values.js.map +1 -0
  231. package/dist/module/conditions/types.d.ts +38 -0
  232. package/dist/module/conditions/types.d.ts.map +1 -0
  233. package/dist/module/conditions/types.js +10 -0
  234. package/dist/module/conditions/types.js.map +1 -0
  235. package/dist/module/data-model/conditions-wrapper.d.ts +19 -0
  236. package/dist/module/data-model/conditions-wrapper.d.ts.map +1 -0
  237. package/dist/module/data-model/conditions-wrapper.js +30 -0
  238. package/dist/module/data-model/conditions-wrapper.js.map +1 -0
  239. package/dist/module/data-model/index.d.ts +4 -0
  240. package/dist/module/data-model/index.d.ts.map +1 -0
  241. package/dist/module/data-model/index.js +55 -0
  242. package/dist/module/data-model/index.js.map +1 -0
  243. package/dist/module/data-model/input-wrapper.d.ts +16 -0
  244. package/dist/module/data-model/input-wrapper.d.ts.map +1 -0
  245. package/dist/module/data-model/input-wrapper.js +25 -0
  246. package/dist/module/data-model/input-wrapper.js.map +1 -0
  247. package/dist/module/data-model/types.d.ts +153 -0
  248. package/dist/module/data-model/types.d.ts.map +1 -0
  249. package/dist/module/data-model/types.js +20 -0
  250. package/dist/module/data-model/types.js.map +1 -0
  251. package/dist/module/form/form-configuration.d.ts +8 -0
  252. package/dist/module/form/form-configuration.d.ts.map +1 -0
  253. package/dist/module/form/form-configuration.js +17 -0
  254. package/dist/module/form/form-configuration.js.map +1 -0
  255. package/dist/module/form/index.d.ts +2 -0
  256. package/dist/module/form/index.d.ts.map +1 -0
  257. package/dist/module/form/index.js +11 -0
  258. package/dist/module/form/index.js.map +1 -0
  259. package/dist/module/index.d.ts +12 -0
  260. package/dist/module/index.d.ts.map +1 -0
  261. package/dist/module/index.js +135 -0
  262. package/dist/module/index.js.map +1 -0
  263. package/dist/module/migration/index.d.ts +2 -0
  264. package/dist/module/migration/index.d.ts.map +1 -0
  265. package/dist/module/migration/index.js +11 -0
  266. package/dist/module/migration/index.js.map +1 -0
  267. package/dist/module/migration/migration.0-2.d.ts +3 -0
  268. package/dist/module/migration/migration.0-2.d.ts.map +1 -0
  269. package/dist/module/migration/migration.0-2.js +42 -0
  270. package/dist/module/migration/migration.0-2.js.map +1 -0
  271. package/dist/module/migration/migration.1-2.d.ts +3 -0
  272. package/dist/module/migration/migration.1-2.d.ts.map +1 -0
  273. package/dist/module/migration/migration.1-2.js +90 -0
  274. package/dist/module/migration/migration.1-2.js.map +1 -0
  275. package/dist/module/migration/types.d.ts +2 -0
  276. package/dist/module/migration/types.d.ts.map +1 -0
  277. package/dist/module/migration/types.js +1 -0
  278. package/dist/module/migration/types.js.map +1 -0
  279. package/dist/module/migration/whichMigrations.d.ts +7 -0
  280. package/dist/module/migration/whichMigrations.d.ts.map +1 -0
  281. package/dist/module/migration/whichMigrations.js +26 -0
  282. package/dist/module/migration/whichMigrations.js.map +1 -0
  283. package/dist/module/schema/index.d.ts +2 -0
  284. package/dist/module/schema/index.d.ts.map +1 -0
  285. package/dist/module/schema/index.js +17 -0
  286. package/dist/module/schema/index.js.map +1 -0
  287. package/dist/module/schema/schema.d.ts +20 -0
  288. package/dist/module/schema/schema.d.ts.map +1 -0
  289. package/dist/module/schema/schema.js +239 -0
  290. package/dist/module/schema/schema.js.map +1 -0
  291. package/dist/module/utils/helpers.d.ts +9 -0
  292. package/dist/module/utils/helpers.d.ts.map +1 -0
  293. package/dist/module/utils/helpers.js +35 -0
  294. package/dist/module/utils/helpers.js.map +1 -0
  295. package/dist/module/utils/logger.d.ts +11 -0
  296. package/dist/module/utils/logger.d.ts.map +1 -0
  297. package/dist/module/utils/logger.js +27 -0
  298. package/dist/module/utils/logger.js.map +1 -0
  299. package/package.json +35 -0
  300. package/src/components/component-types.ts +229 -0
  301. package/src/components/conditional-component-types.ts +14 -0
  302. package/src/components/index.ts +3 -0
  303. package/src/components/types.ts +362 -0
  304. package/src/conditions/condition-abstract.ts +59 -0
  305. package/src/conditions/condition-field.ts +29 -0
  306. package/src/conditions/condition-group-def.ts +29 -0
  307. package/src/conditions/condition-group.ts +61 -0
  308. package/src/conditions/condition-model.ts +314 -0
  309. package/src/conditions/condition-operators.ts +176 -0
  310. package/src/conditions/condition-ref.ts +47 -0
  311. package/src/conditions/condition-value-abstract.ts +31 -0
  312. package/src/conditions/condition-value-registration.ts +18 -0
  313. package/src/conditions/condition-values.ts +146 -0
  314. package/src/conditions/condition.ts +64 -0
  315. package/src/conditions/helpers.ts +7 -0
  316. package/src/conditions/index.ts +27 -0
  317. package/src/conditions/inline-condition-model.ts +550 -0
  318. package/src/conditions/inline-condition-operators.ts +166 -0
  319. package/src/conditions/inline-condition-values.ts +153 -0
  320. package/src/conditions/types.ts +30 -0
  321. package/src/data-model/conditions-wrapper.ts +42 -0
  322. package/src/data-model/index.ts +3 -0
  323. package/src/data-model/input-wrapper.ts +40 -0
  324. package/src/data-model/types.ts +179 -0
  325. package/src/form/form-configuration.ts +21 -0
  326. package/src/form/index.ts +1 -0
  327. package/src/index.ts +11 -0
  328. package/src/migration/index.ts +1 -0
  329. package/src/migration/migration.0-2.ts +29 -0
  330. package/src/migration/migration.1-2.ts +105 -0
  331. package/src/migration/types.ts +1 -0
  332. package/src/migration/whichMigrations.ts +23 -0
  333. package/src/schema/index.ts +1 -0
  334. package/src/schema/schema.ts +300 -0
  335. package/src/utils/helpers.ts +37 -0
  336. package/src/utils/logger.ts +29 -0
@@ -0,0 +1,255 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define(["exports", "joi"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports, require("joi"));
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports, global.joi);
11
+ global.schema = mod.exports;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _joi) {
14
+ "use strict";
15
+
16
+ _exports.__esModule = true;
17
+ _exports.componentSchema = _exports.Schema = _exports.CURRENT_VERSION = void 0;
18
+ _joi = _interopRequireDefault(_joi);
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
24
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
25
+ /**
26
+ * If an optional key is added, CURRENT_VERSION does not need to be incremented.
27
+ * Only breaking changes will require an increment, as well as a migration script.
28
+ */
29
+ const CURRENT_VERSION = _exports.CURRENT_VERSION = 2;
30
+ const sectionsSchema = _joi.default.object().keys({
31
+ name: _joi.default.string().required(),
32
+ title: _joi.default.string().required(),
33
+ hideTitle: _joi.default.boolean().default(false)
34
+ });
35
+ const conditionFieldSchema = _joi.default.object().keys({
36
+ name: _joi.default.string().required(),
37
+ type: _joi.default.string().required(),
38
+ display: _joi.default.string().required()
39
+ });
40
+ const conditionValueSchema = _joi.default.object().keys({
41
+ type: _joi.default.string().required(),
42
+ value: _joi.default.string().required(),
43
+ display: _joi.default.string().required()
44
+ });
45
+ const relativeTimeValueSchema = _joi.default.object().keys({
46
+ type: _joi.default.string().required(),
47
+ timePeriod: _joi.default.string().required(),
48
+ timeUnit: _joi.default.string().required(),
49
+ direction: _joi.default.string().required(),
50
+ timeOnly: _joi.default.boolean().required()
51
+ });
52
+ const conditionRefSchema = _joi.default.object().keys({
53
+ conditionName: _joi.default.string().required(),
54
+ conditionDisplayName: _joi.default.string().required(),
55
+ coordinator: _joi.default.string().optional()
56
+ });
57
+ const conditionSchema = _joi.default.object().keys({
58
+ field: conditionFieldSchema,
59
+ operator: _joi.default.string().required(),
60
+ value: _joi.default.alternatives().try(conditionValueSchema, relativeTimeValueSchema),
61
+ coordinator: _joi.default.string().optional()
62
+ });
63
+ const conditionGroupSchema = _joi.default.object().keys({
64
+ conditions: _joi.default.array().items(_joi.default.alternatives().try(conditionSchema, conditionRefSchema, _joi.default.any() /** Should be a joi.link('#conditionGroupSchema') */))
65
+ });
66
+ const conditionsModelSchema = _joi.default.object().keys({
67
+ name: _joi.default.string().required(),
68
+ conditions: _joi.default.array().items(_joi.default.alternatives().try(conditionSchema, conditionRefSchema, conditionGroupSchema))
69
+ });
70
+ const conditionsSchema = _joi.default.object().keys({
71
+ name: _joi.default.string().required(),
72
+ displayName: _joi.default.string(),
73
+ value: _joi.default.alternatives().try(_joi.default.string(), conditionsModelSchema).required()
74
+ });
75
+ const localisedString = _joi.default.alternatives().try(_joi.default.object({
76
+ a: _joi.default.any()
77
+ }).unknown(), _joi.default.string().allow(''));
78
+ const componentSchema = _exports.componentSchema = _joi.default.object().keys({
79
+ type: _joi.default.string().required(),
80
+ name: _joi.default.string(),
81
+ title: localisedString,
82
+ hint: localisedString.optional(),
83
+ options: _joi.default.object().default({}),
84
+ schema: _joi.default.object({
85
+ min: _joi.default.number(),
86
+ max: _joi.default.number()
87
+ }).unknown(true).default({}),
88
+ list: _joi.default.string().optional()
89
+ }).unknown(true);
90
+ const nextSchema = _joi.default.object().keys({
91
+ path: _joi.default.string().required(),
92
+ condition: _joi.default.string().allow('').optional(),
93
+ redirect: _joi.default.string().uri().optional()
94
+ });
95
+
96
+ /**
97
+ * `/status` is a special route for providing a user's application status.
98
+ * It should not be configured via the designer.
99
+ */
100
+ const pageSchema = _joi.default.object().keys({
101
+ path: _joi.default.string().required().disallow('/status'),
102
+ title: localisedString,
103
+ section: _joi.default.string(),
104
+ controller: _joi.default.string(),
105
+ components: _joi.default.array().items(componentSchema),
106
+ next: _joi.default.array().items(nextSchema),
107
+ repeatField: _joi.default.string().optional(),
108
+ options: _joi.default.object().optional(),
109
+ backLinkFallback: _joi.default.string().optional()
110
+ });
111
+ const toggleableString = _joi.default.alternatives().try(_joi.default.boolean(), _joi.default.string());
112
+ const confirmationPageSchema = _joi.default.object({
113
+ customText: _joi.default.object({
114
+ title: _joi.default.string().default('Application complete'),
115
+ paymentSkipped: toggleableString.default('Someone will be in touch to make a payment.'),
116
+ nextSteps: toggleableString.default('You will receive an email with details with the next steps.')
117
+ }).default(),
118
+ components: _joi.default.array().items(componentSchema)
119
+ });
120
+ const paymentSkippedWarningPage = _joi.default.object({
121
+ customText: _joi.default.object({
122
+ title: _joi.default.string().default('Pay for your application').optional(),
123
+ caption: _joi.default.string().default('Payment').optional(),
124
+ body: _joi.default.string().default('').optional()
125
+ })
126
+ });
127
+ const specialPagesSchema = _joi.default.object().keys({
128
+ confirmationPage: confirmationPageSchema.optional(),
129
+ paymentSkippedWarningPage: paymentSkippedWarningPage.optional()
130
+ });
131
+ const listItemSchema = _joi.default.object().keys({
132
+ text: localisedString,
133
+ value: _joi.default.alternatives().try(_joi.default.number(), _joi.default.string()),
134
+ description: localisedString.optional(),
135
+ conditional: _joi.default.object().keys({
136
+ components: _joi.default.array().required().items(componentSchema.unknown(true)).unique('name')
137
+ }).allow(null).optional(),
138
+ condition: _joi.default.string().allow(null, '').optional()
139
+ });
140
+ const listSchema = _joi.default.object().keys({
141
+ name: _joi.default.string().required(),
142
+ title: localisedString,
143
+ type: _joi.default.string().required().valid('string', 'number'),
144
+ items: _joi.default.array().items(listItemSchema)
145
+ });
146
+ const feeSchema = _joi.default.object().keys({
147
+ description: _joi.default.string().required(),
148
+ amount: _joi.default.number().required(),
149
+ multiplier: _joi.default.string().optional(),
150
+ condition: _joi.default.string().optional(),
151
+ prefix: _joi.default.string().optional()
152
+ });
153
+ const multiApiKeySchema = _joi.default.object({
154
+ test: _joi.default.string().optional(),
155
+ production: _joi.default.string().optional()
156
+ });
157
+ const replyToConfigurationSchema = _joi.default.object({
158
+ emailReplyToId: _joi.default.string(),
159
+ condition: _joi.default.string().allow('').optional()
160
+ });
161
+ const notifySchema = _joi.default.object().keys({
162
+ apiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
163
+ templateId: _joi.default.string(),
164
+ emailField: _joi.default.string(),
165
+ personalisation: _joi.default.array().items(_joi.default.string()),
166
+ personalisationFieldCustomisation: _joi.default.object().pattern(/./, _joi.default.array().items(_joi.default.string())).optional(),
167
+ addReferencesToPersonalisation: _joi.default.boolean().optional(),
168
+ emailReplyToIdConfiguration: _joi.default.array().items(replyToConfigurationSchema)
169
+ });
170
+ const emailSchema = _joi.default.object().keys({
171
+ emailAddress: _joi.default.string()
172
+ });
173
+ const webhookSchema = _joi.default.object().keys({
174
+ url: _joi.default.string(),
175
+ allowRetry: _joi.default.boolean().default(true)
176
+ });
177
+ const outputSchema = _joi.default.object().keys({
178
+ name: _joi.default.string(),
179
+ title: _joi.default.string().optional(),
180
+ type: _joi.default.string().allow('notify', 'email', 'webhook', 'sheets'),
181
+ outputConfiguration: _joi.default.alternatives().try(notifySchema, emailSchema, webhookSchema)
182
+ });
183
+ const feedbackSchema = _joi.default.object().keys({
184
+ feedbackForm: _joi.default.boolean().default(false),
185
+ url: _joi.default.when('feedbackForm', {
186
+ is: _joi.default.boolean().valid(false),
187
+ then: _joi.default.string().optional().allow('')
188
+ }),
189
+ emailAddress: _joi.default.string().email({
190
+ tlds: {
191
+ allow: false
192
+ }
193
+ }).optional()
194
+ });
195
+ const phaseBannerSchema = _joi.default.object().keys({
196
+ phase: _joi.default.string().valid('alpha', 'beta')
197
+ });
198
+ const feeOptionSchema = _joi.default.object().keys({
199
+ payApiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
200
+ paymentReferenceFormat: [_joi.default.string().optional()],
201
+ payReturnUrl: _joi.default.string().optional(),
202
+ allowSubmissionWithoutPayment: _joi.default.boolean().optional().default(true),
203
+ maxAttempts: _joi.default.number().optional().default(3),
204
+ customPayErrorMessage: _joi.default.string().optional(),
205
+ showPaymentSkippedWarningPage: _joi.default.when('allowSubmissionWithoutPayment', {
206
+ is: true,
207
+ then: _joi.default.boolean().valid(true, false).default(false),
208
+ otherwise: _joi.default.boolean().valid(false).default(false)
209
+ })
210
+ }).default(({
211
+ payApiKey,
212
+ paymentReferenceFormat
213
+ }) => {
214
+ return _objectSpread(_objectSpread({}, payApiKey && {
215
+ payApiKey
216
+ }), paymentReferenceFormat && {
217
+ paymentReferenceFormat
218
+ });
219
+ });
220
+ const Schema = _exports.Schema = _joi.default.object().required().keys({
221
+ name: localisedString.optional(),
222
+ feedback: feedbackSchema,
223
+ startPage: _joi.default.string().required(),
224
+ pages: _joi.default.array().required().items(pageSchema).unique('path'),
225
+ sections: _joi.default.array().items(sectionsSchema).unique('name').required(),
226
+ conditions: _joi.default.array().items(conditionsSchema).unique('name'),
227
+ lists: _joi.default.array().items(listSchema).unique('name'),
228
+ fees: _joi.default.array().items(feeSchema).optional(),
229
+ paymentReferenceFormat: _joi.default.string().optional(),
230
+ metadata: _joi.default.object({
231
+ a: _joi.default.any()
232
+ }).unknown().optional(),
233
+ declaration: _joi.default.string().allow('').optional(),
234
+ outputs: _joi.default.array().items(outputSchema),
235
+ payApiKey: [_joi.default.string().allow('').optional(), multiApiKeySchema],
236
+ skipSummary: _joi.default.boolean().default(false),
237
+ version: _joi.default.number().default(CURRENT_VERSION),
238
+ phaseBanner: phaseBannerSchema,
239
+ specialPages: specialPagesSchema.optional(),
240
+ feeOptions: feeOptionSchema
241
+ });
242
+
243
+ /**
244
+ * Schema versions:
245
+ * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.
246
+ * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain
247
+ * options as 'values' rather than referencing a data list
248
+ * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.
249
+ * TODO:- merge fees and paymentReferenceFormat
250
+ * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.
251
+ * if feeOptions are empty, it will pull values from the top level keys.
252
+ * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.
253
+ **/
254
+ });
255
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","names":["CURRENT_VERSION","_exports","sectionsSchema","joi","object","keys","name","string","required","title","hideTitle","boolean","default","conditionFieldSchema","type","display","conditionValueSchema","value","relativeTimeValueSchema","timePeriod","timeUnit","direction","timeOnly","conditionRefSchema","conditionName","conditionDisplayName","coordinator","optional","conditionSchema","field","operator","alternatives","try","conditionGroupSchema","conditions","array","items","any","conditionsModelSchema","conditionsSchema","displayName","localisedString","a","unknown","allow","componentSchema","hint","options","schema","min","number","max","list","nextSchema","path","condition","redirect","uri","pageSchema","disallow","section","controller","components","next","repeatField","backLinkFallback","toggleableString","confirmationPageSchema","customText","paymentSkipped","nextSteps","paymentSkippedWarningPage","caption","body","specialPagesSchema","confirmationPage","listItemSchema","text","description","conditional","unique","listSchema","valid","feeSchema","amount","multiplier","prefix","multiApiKeySchema","test","production","replyToConfigurationSchema","emailReplyToId","notifySchema","apiKey","templateId","emailField","personalisation","personalisationFieldCustomisation","pattern","addReferencesToPersonalisation","emailReplyToIdConfiguration","emailSchema","emailAddress","webhookSchema","url","allowRetry","outputSchema","outputConfiguration","feedbackSchema","feedbackForm","when","is","then","email","tlds","phaseBannerSchema","phase","feeOptionSchema","payApiKey","paymentReferenceFormat","payReturnUrl","allowSubmissionWithoutPayment","maxAttempts","customPayErrorMessage","showPaymentSkippedWarningPage","otherwise","_objectSpread","Schema","feedback","startPage","pages","sections","lists","fees","metadata","declaration","outputs","skipSummary","version","phaseBanner","specialPages","feeOptions"],"sources":["../../../src/schema/schema.ts"],"sourcesContent":["import joi from 'joi'\n\n/**\n * If an optional key is added, CURRENT_VERSION does not need to be incremented.\n * Only breaking changes will require an increment, as well as a migration script.\n */\nexport const CURRENT_VERSION = 2\nconst sectionsSchema = joi.object().keys({\n name: joi.string().required(),\n title: joi.string().required(),\n hideTitle: joi.boolean().default(false)\n})\n\nconst conditionFieldSchema = joi.object().keys({\n name: joi.string().required(),\n type: joi.string().required(),\n display: joi.string().required()\n})\n\nconst conditionValueSchema = joi.object().keys({\n type: joi.string().required(),\n value: joi.string().required(),\n display: joi.string().required()\n})\n\nconst relativeTimeValueSchema = joi.object().keys({\n type: joi.string().required(),\n timePeriod: joi.string().required(),\n timeUnit: joi.string().required(),\n direction: joi.string().required(),\n timeOnly: joi.boolean().required()\n})\n\nconst conditionRefSchema = joi.object().keys({\n conditionName: joi.string().required(),\n conditionDisplayName: joi.string().required(),\n coordinator: joi.string().optional()\n})\n\nconst conditionSchema = joi.object().keys({\n field: conditionFieldSchema,\n operator: joi.string().required(),\n value: joi.alternatives().try(conditionValueSchema, relativeTimeValueSchema),\n coordinator: joi.string().optional()\n})\n\nconst conditionGroupSchema = joi.object().keys({\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(\n conditionSchema,\n conditionRefSchema,\n joi.any() /** Should be a joi.link('#conditionGroupSchema') */\n )\n )\n})\n\nconst conditionsModelSchema = joi.object().keys({\n name: joi.string().required(),\n conditions: joi\n .array()\n .items(\n joi\n .alternatives()\n .try(conditionSchema, conditionRefSchema, conditionGroupSchema)\n )\n})\n\nconst conditionsSchema = joi.object().keys({\n name: joi.string().required(),\n displayName: joi.string(),\n value: joi.alternatives().try(joi.string(), conditionsModelSchema).required()\n})\n\nconst localisedString = joi\n .alternatives()\n .try(joi.object({ a: joi.any() }).unknown(), joi.string().allow(''))\n\nexport const componentSchema = joi\n .object()\n .keys({\n type: joi.string().required(),\n name: joi.string(),\n title: localisedString,\n hint: localisedString.optional(),\n options: joi.object().default({}),\n schema: joi\n .object({ min: joi.number(), max: joi.number() })\n .unknown(true)\n .default({}),\n list: joi.string().optional()\n })\n .unknown(true)\n\nconst nextSchema = joi.object().keys({\n path: joi.string().required(),\n condition: joi.string().allow('').optional(),\n redirect: joi.string().uri().optional()\n})\n\n/**\n * `/status` is a special route for providing a user's application status.\n * It should not be configured via the designer.\n */\nconst pageSchema = joi.object().keys({\n path: joi.string().required().disallow('/status'),\n title: localisedString,\n section: joi.string(),\n controller: joi.string(),\n components: joi.array().items(componentSchema),\n next: joi.array().items(nextSchema),\n repeatField: joi.string().optional(),\n options: joi.object().optional(),\n backLinkFallback: joi.string().optional()\n})\n\nconst toggleableString = joi.alternatives().try(joi.boolean(), joi.string())\n\nconst confirmationPageSchema = joi.object({\n customText: joi\n .object({\n title: joi.string().default('Application complete'),\n paymentSkipped: toggleableString.default(\n 'Someone will be in touch to make a payment.'\n ),\n nextSteps: toggleableString.default(\n 'You will receive an email with details with the next steps.'\n )\n })\n .default(),\n components: joi.array().items(componentSchema)\n})\n\nconst paymentSkippedWarningPage = joi.object({\n customText: joi.object({\n title: joi.string().default('Pay for your application').optional(),\n caption: joi.string().default('Payment').optional(),\n body: joi.string().default('').optional()\n })\n})\n\nconst specialPagesSchema = joi.object().keys({\n confirmationPage: confirmationPageSchema.optional(),\n paymentSkippedWarningPage: paymentSkippedWarningPage.optional()\n})\n\nconst listItemSchema = joi.object().keys({\n text: localisedString,\n value: joi.alternatives().try(joi.number(), joi.string()),\n description: localisedString.optional(),\n conditional: joi\n .object()\n .keys({\n components: joi\n .array()\n .required()\n .items(componentSchema.unknown(true))\n .unique('name')\n })\n .allow(null)\n .optional(),\n condition: joi.string().allow(null, '').optional()\n})\n\nconst listSchema = joi.object().keys({\n name: joi.string().required(),\n title: localisedString,\n type: joi.string().required().valid('string', 'number'),\n items: joi.array().items(listItemSchema)\n})\n\nconst feeSchema = joi.object().keys({\n description: joi.string().required(),\n amount: joi.number().required(),\n multiplier: joi.string().optional(),\n condition: joi.string().optional(),\n prefix: joi.string().optional()\n})\n\nconst multiApiKeySchema = joi.object({\n test: joi.string().optional(),\n production: joi.string().optional()\n})\n\nconst replyToConfigurationSchema = joi.object({\n emailReplyToId: joi.string(),\n condition: joi.string().allow('').optional()\n})\n\nconst notifySchema = joi.object().keys({\n apiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n templateId: joi.string(),\n emailField: joi.string(),\n personalisation: joi.array().items(joi.string()),\n personalisationFieldCustomisation: joi\n .object()\n .pattern(/./, joi.array().items(joi.string()))\n .optional(),\n addReferencesToPersonalisation: joi.boolean().optional(),\n emailReplyToIdConfiguration: joi.array().items(replyToConfigurationSchema)\n})\n\nconst emailSchema = joi.object().keys({\n emailAddress: joi.string()\n})\n\nconst webhookSchema = joi.object().keys({\n url: joi.string(),\n allowRetry: joi.boolean().default(true)\n})\n\nconst outputSchema = joi.object().keys({\n name: joi.string(),\n title: joi.string().optional(),\n type: joi.string().allow('notify', 'email', 'webhook', 'sheets'),\n outputConfiguration: joi\n .alternatives()\n .try(notifySchema, emailSchema, webhookSchema)\n})\n\nconst feedbackSchema = joi.object().keys({\n feedbackForm: joi.boolean().default(false),\n url: joi.when('feedbackForm', {\n is: joi.boolean().valid(false),\n then: joi.string().optional().allow('')\n }),\n emailAddress: joi\n .string()\n .email({\n tlds: {\n allow: false\n }\n })\n .optional()\n})\n\nconst phaseBannerSchema = joi.object().keys({\n phase: joi.string().valid('alpha', 'beta')\n})\n\nconst feeOptionSchema = joi\n .object()\n .keys({\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n paymentReferenceFormat: [joi.string().optional()],\n payReturnUrl: joi.string().optional(),\n allowSubmissionWithoutPayment: joi.boolean().optional().default(true),\n maxAttempts: joi.number().optional().default(3),\n customPayErrorMessage: joi.string().optional(),\n showPaymentSkippedWarningPage: joi.when('allowSubmissionWithoutPayment', {\n is: true,\n then: joi.boolean().valid(true, false).default(false),\n otherwise: joi.boolean().valid(false).default(false)\n })\n })\n .default(({ payApiKey, paymentReferenceFormat }) => {\n return {\n ...(payApiKey && { payApiKey }),\n ...(paymentReferenceFormat && { paymentReferenceFormat })\n }\n })\n\nexport const Schema = joi\n .object()\n .required()\n .keys({\n name: localisedString.optional(),\n feedback: feedbackSchema,\n startPage: joi.string().required(),\n pages: joi.array().required().items(pageSchema).unique('path'),\n sections: joi.array().items(sectionsSchema).unique('name').required(),\n conditions: joi.array().items(conditionsSchema).unique('name'),\n lists: joi.array().items(listSchema).unique('name'),\n fees: joi.array().items(feeSchema).optional(),\n paymentReferenceFormat: joi.string().optional(),\n metadata: joi.object({ a: joi.any() }).unknown().optional(),\n declaration: joi.string().allow('').optional(),\n outputs: joi.array().items(outputSchema),\n payApiKey: [joi.string().allow('').optional(), multiApiKeySchema],\n skipSummary: joi.boolean().default(false),\n version: joi.number().default(CURRENT_VERSION),\n phaseBanner: phaseBannerSchema,\n specialPages: specialPagesSchema.optional(),\n feeOptions: feeOptionSchema\n })\n\n/**\n * Schema versions:\n * Undefined / 0 - initial version as at 28/8/20. Conditions may be in object structure or string form.\n * 1 - Relevant components (radio, checkbox, select, autocomplete) now contain\n * options as 'values' rather than referencing a data list\n * 2 - Reverse v1. Values populating radio, checkboxes, select, autocomplete are defined in Lists only.\n * TODO:- merge fees and paymentReferenceFormat\n * 2 - 2023-05-04 `feeOptions` has been introduced. paymentReferenceFormat and payApiKey can be configured in top level or feeOptions. feeOptions will take precedent.\n * if feeOptions are empty, it will pull values from the top level keys.\n * WARN: Fee/GOV.UK pay configurations (apart from fees) should no longer be stored in the top level, always within feeOptions.\n **/\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const serialiseAndDeserialise: <T>(obj: T) => T;
2
+ export declare const clone: <T>(obj: T & {
3
+ clone?: () => T;
4
+ }) => T;
5
+ export declare function filter<T extends {
6
+ [key: string]: unknown;
7
+ }>(obj: T, predicate: (value: any) => boolean): Partial<T>;
8
+ export declare const nanoid: (size?: number | undefined) => string;
9
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,WAAY,CAAC,KAAG,CAMnD,CAAA;AAED,eAAO,MAAM,KAAK,WAAY,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,KAAG,CASvD,CAAA;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzD,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,GACjC,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED,eAAO,MAAM,MAAM,uCAA6D,CAAA"}
@@ -0,0 +1,48 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define(["exports", "nanoid"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports, require("nanoid"));
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports, global.nanoid);
11
+ global.helpers = mod.exports;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _nanoid) {
14
+ "use strict";
15
+
16
+ _exports.__esModule = true;
17
+ _exports.clone = void 0;
18
+ _exports.filter = filter;
19
+ _exports.serialiseAndDeserialise = _exports.nanoid = void 0;
20
+ const serialiseAndDeserialise = obj => {
21
+ if (typeof obj === 'object' && obj !== null) {
22
+ return JSON.parse(JSON.stringify(obj));
23
+ }
24
+ return obj;
25
+ };
26
+ _exports.serialiseAndDeserialise = serialiseAndDeserialise;
27
+ const clone = obj => {
28
+ if (obj) {
29
+ if (typeof obj.clone === 'function') {
30
+ return obj.clone();
31
+ }
32
+ return serialiseAndDeserialise(obj);
33
+ }
34
+ return obj;
35
+ };
36
+ _exports.clone = clone;
37
+ function filter(obj, predicate) {
38
+ const result = {};
39
+ for (const [key, value] of Object.entries(obj)) {
40
+ if (value && predicate(value)) {
41
+ result[key] = value;
42
+ }
43
+ }
44
+ return result;
45
+ }
46
+ const nanoid = _exports.nanoid = (0, _nanoid.customAlphabet)('0123456789_abcdefghijklmnopqrstuvwxyz', 6);
47
+ });
48
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["serialiseAndDeserialise","obj","JSON","parse","stringify","_exports","clone","filter","predicate","result","key","value","Object","entries","nanoid","customAlphabet"],"sources":["../../../src/utils/helpers.ts"],"sourcesContent":["import { customAlphabet } from 'nanoid'\n\nexport const serialiseAndDeserialise = <T>(obj: T): T => {\n if (typeof obj === 'object' && obj !== null) {\n return JSON.parse(JSON.stringify(obj))\n }\n\n return obj\n}\n\nexport const clone = <T>(obj: T & { clone?: () => T }): T => {\n if (obj) {\n if (typeof obj.clone === 'function') {\n return obj.clone()\n }\n\n return serialiseAndDeserialise<T>(obj)\n }\n return obj\n}\n\nexport function filter<T extends { [key: string]: unknown }>(\n obj: T,\n predicate: (value: any) => boolean\n): Partial<T> {\n const result = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (value && predicate(value)) {\n result[key] = value\n }\n }\n\n return result\n}\n\nexport const nanoid = customAlphabet('0123456789_abcdefghijklmnopqrstuvwxyz', 6)\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAEO,MAAMA,uBAAuB,GAAOC,GAAM,IAAQ;IACvD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;MAC3C,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,GAAG,CAAC,CAAC;IACxC;IAEA,OAAOA,GAAG;EACZ,CAAC;EAAAI,QAAA,CAAAL,uBAAA,GAAAA,uBAAA;EAEM,MAAMM,KAAK,GAAOL,GAA4B,IAAQ;IAC3D,IAAIA,GAAG,EAAE;MACP,IAAI,OAAOA,GAAG,CAACK,KAAK,KAAK,UAAU,EAAE;QACnC,OAAOL,GAAG,CAACK,KAAK,CAAC,CAAC;MACpB;MAEA,OAAON,uBAAuB,CAAIC,GAAG,CAAC;IACxC;IACA,OAAOA,GAAG;EACZ,CAAC;EAAAI,QAAA,CAAAC,KAAA,GAAAA,KAAA;EAEM,SAASC,MAAMA,CACpBN,GAAM,EACNO,SAAkC,EACtB;IACZ,MAAMC,MAAM,GAAG,CAAC,CAAC;IAEjB,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACZ,GAAG,CAAC,EAAE;MAC9C,IAAIU,KAAK,IAAIH,SAAS,CAACG,KAAK,CAAC,EAAE;QAC7BF,MAAM,CAACC,GAAG,CAAC,GAAGC,KAAK;MACrB;IACF;IAEA,OAAOF,MAAM;EACf;EAEO,MAAMK,MAAM,GAAAT,QAAA,CAAAS,MAAA,GAAG,IAAAC,sBAAc,EAAC,uCAAuC,EAAE,CAAC,CAAC;AAAA"}
@@ -0,0 +1,11 @@
1
+ export declare class Logger {
2
+ server: any;
3
+ name: string;
4
+ constructor(server: any, name: string);
5
+ error(message: string): void;
6
+ warn(message: string): void;
7
+ info(message: string): void;
8
+ debug(message: string): void;
9
+ log(level: string, message: string): void;
10
+ }
11
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,MAAM,EAAE,GAAG,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;gBAEA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;IAKrC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGnC"}
@@ -0,0 +1,46 @@
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define(["exports"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports);
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports);
11
+ global.logger = mod.exports;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
14
+ "use strict";
15
+
16
+ _exports.__esModule = true;
17
+ _exports.Logger = void 0;
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
20
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ class Logger {
22
+ constructor(server, name) {
23
+ _defineProperty(this, "server", void 0);
24
+ _defineProperty(this, "name", void 0);
25
+ this.server = server;
26
+ this.name = name;
27
+ }
28
+ error(message) {
29
+ this.log('error', message);
30
+ }
31
+ warn(message) {
32
+ this.log('warn', message);
33
+ }
34
+ info(message) {
35
+ this.log('info', message);
36
+ }
37
+ debug(message) {
38
+ this.log('debug', message);
39
+ }
40
+ log(level, message) {
41
+ this.server.log([level, this.name], message);
42
+ }
43
+ }
44
+ _exports.Logger = Logger;
45
+ });
46
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":["Logger","constructor","server","name","_defineProperty","error","message","log","warn","info","debug","level","_exports"],"sources":["../../../src/utils/logger.ts"],"sourcesContent":["export class Logger {\n server: any\n name: string\n\n constructor(server: any, name: string) {\n this.server = server\n this.name = name\n }\n\n error(message: string) {\n this.log('error', message)\n }\n\n warn(message: string) {\n this.log('warn', message)\n }\n\n info(message: string) {\n this.log('info', message)\n }\n\n debug(message: string) {\n this.log('debug', message)\n }\n\n log(level: string, message: string) {\n this.server.log([level, this.name], message)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAAO,MAAMA,MAAM,CAAC;IAIlBC,WAAWA,CAACC,MAAW,EAAEC,IAAY,EAAE;MAAAC,eAAA;MAAAA,eAAA;MACrC,IAAI,CAACF,MAAM,GAAGA,MAAM;MACpB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAClB;IAEAE,KAAKA,CAACC,OAAe,EAAE;MACrB,IAAI,CAACC,GAAG,CAAC,OAAO,EAAED,OAAO,CAAC;IAC5B;IAEAE,IAAIA,CAACF,OAAe,EAAE;MACpB,IAAI,CAACC,GAAG,CAAC,MAAM,EAAED,OAAO,CAAC;IAC3B;IAEAG,IAAIA,CAACH,OAAe,EAAE;MACpB,IAAI,CAACC,GAAG,CAAC,MAAM,EAAED,OAAO,CAAC;IAC3B;IAEAI,KAAKA,CAACJ,OAAe,EAAE;MACrB,IAAI,CAACC,GAAG,CAAC,OAAO,EAAED,OAAO,CAAC;IAC5B;IAEAC,GAAGA,CAACI,KAAa,EAAEL,OAAe,EAAE;MAClC,IAAI,CAACJ,MAAM,CAACK,GAAG,CAAC,CAACI,KAAK,EAAE,IAAI,CAACR,IAAI,CAAC,EAAEG,OAAO,CAAC;IAC9C;EACF;EAACM,QAAA,CAAAZ,MAAA,GAAAA,MAAA;AAAA"}
@@ -0,0 +1,3 @@
1
+ import { ComponentDef } from './types';
2
+ export declare const ComponentTypes: ComponentDef[];
3
+ //# sourceMappingURL=component-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../../../src/components/component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,eAAO,MAAM,cAAc,EAAE,YAAY,EAkOxC,CAAA"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.ComponentTypes = void 0;
5
+ const ComponentTypes = exports.ComponentTypes = [{
6
+ name: 'TextField',
7
+ type: 'TextField',
8
+ title: 'Text field',
9
+ subType: 'field',
10
+ hint: '',
11
+ options: {},
12
+ schema: {}
13
+ }, {
14
+ name: 'MultilineTextField',
15
+ type: 'MultilineTextField',
16
+ title: 'Multiline text field',
17
+ subType: 'field',
18
+ hint: '',
19
+ options: {},
20
+ schema: {}
21
+ }, {
22
+ name: 'YesNoField',
23
+ type: 'YesNoField',
24
+ title: 'Yes/No field',
25
+ subType: 'field',
26
+ hint: '',
27
+ options: {},
28
+ schema: {}
29
+ }, {
30
+ name: 'DateField',
31
+ type: 'DateField',
32
+ title: 'Date field',
33
+ subType: 'field',
34
+ hint: '',
35
+ options: {},
36
+ schema: {}
37
+ }, {
38
+ name: 'TimeField',
39
+ type: 'TimeField',
40
+ title: 'Time field',
41
+ subType: 'field',
42
+ hint: '',
43
+ options: {},
44
+ schema: {}
45
+ }, {
46
+ name: 'DateTimeField',
47
+ type: 'DateTimeField',
48
+ title: 'Date time field',
49
+ subType: 'field',
50
+ hint: '',
51
+ options: {},
52
+ schema: {}
53
+ }, {
54
+ name: 'DatePartsField',
55
+ type: 'DatePartsField',
56
+ title: 'Date parts field',
57
+ subType: 'field',
58
+ hint: '',
59
+ options: {},
60
+ schema: {}
61
+ }, {
62
+ name: 'DateTimePartsField',
63
+ type: 'DateTimePartsField',
64
+ title: 'Date time parts field',
65
+ subType: 'field',
66
+ hint: '',
67
+ options: {},
68
+ schema: {}
69
+ }, {
70
+ name: 'MonthYearField',
71
+ type: 'MonthYearField',
72
+ title: 'Month year field',
73
+ subType: 'field',
74
+ hint: '',
75
+ options: {},
76
+ schema: {}
77
+ }, {
78
+ name: 'SelectField',
79
+ type: 'SelectField',
80
+ title: 'Select field',
81
+ subType: 'listField',
82
+ options: {},
83
+ schema: {},
84
+ list: ''
85
+ }, {
86
+ name: 'AutocompleteField',
87
+ type: 'AutocompleteField',
88
+ title: 'Autocomplete field',
89
+ subType: 'listField',
90
+ options: {},
91
+ schema: {},
92
+ list: ''
93
+ }, {
94
+ name: 'RadiosField',
95
+ type: 'RadiosField',
96
+ title: 'Radios field',
97
+ subType: 'listField',
98
+ options: {},
99
+ schema: {},
100
+ list: ''
101
+ }, {
102
+ name: 'CheckboxesField',
103
+ type: 'CheckboxesField',
104
+ title: 'Checkboxes field',
105
+ subType: 'listField',
106
+ options: {},
107
+ schema: {},
108
+ list: ''
109
+ }, {
110
+ name: 'NumberField',
111
+ type: 'NumberField',
112
+ title: 'Number field',
113
+ subType: 'field',
114
+ hint: '',
115
+ options: {},
116
+ schema: {}
117
+ }, {
118
+ name: 'UkAddressField',
119
+ type: 'UkAddressField',
120
+ title: 'UK address field',
121
+ subType: 'field',
122
+ hint: '',
123
+ options: {},
124
+ schema: {}
125
+ }, {
126
+ name: 'TelephoneNumberField',
127
+ type: 'TelephoneNumberField',
128
+ title: 'Telephone number field',
129
+ subType: 'field',
130
+ hint: '',
131
+ options: {},
132
+ schema: {}
133
+ }, {
134
+ name: 'EmailAddressField',
135
+ type: 'EmailAddressField',
136
+ title: 'Email address field',
137
+ subType: 'field',
138
+ hint: '',
139
+ options: {},
140
+ schema: {}
141
+ }, {
142
+ name: 'FileUploadField',
143
+ type: 'FileUploadField',
144
+ title: 'File upload field',
145
+ subType: 'field',
146
+ hint: '',
147
+ options: {},
148
+ schema: {}
149
+ }, {
150
+ name: 'Para',
151
+ type: 'Para',
152
+ title: 'Paragraph',
153
+ subType: 'content',
154
+ content: '',
155
+ options: {},
156
+ schema: {}
157
+ }, {
158
+ name: 'Html',
159
+ type: 'Html',
160
+ title: 'Html',
161
+ subType: 'content',
162
+ content: '',
163
+ options: {},
164
+ schema: {}
165
+ }, {
166
+ name: 'InsetText',
167
+ type: 'InsetText',
168
+ title: 'Inset text',
169
+ subType: 'content',
170
+ content: '',
171
+ options: {},
172
+ schema: {}
173
+ }, {
174
+ name: 'Details',
175
+ type: 'Details',
176
+ title: 'Details',
177
+ subType: 'content',
178
+ content: '',
179
+ options: {},
180
+ schema: {}
181
+ }, {
182
+ name: 'FlashCard',
183
+ type: 'FlashCard',
184
+ title: 'Flash card',
185
+ subType: 'content',
186
+ options: {},
187
+ schema: {},
188
+ list: ''
189
+ }, {
190
+ name: 'List',
191
+ type: 'List',
192
+ title: 'List',
193
+ subType: 'content',
194
+ options: {},
195
+ schema: {},
196
+ list: ''
197
+ }, {
198
+ name: 'WebsiteField',
199
+ type: 'WebsiteField',
200
+ title: 'Website field',
201
+ subType: 'field',
202
+ hint: '',
203
+ options: {},
204
+ schema: {}
205
+ }];
206
+ //# sourceMappingURL=component-types.js.map