swoop-common 1.0.43 → 2.0.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 (425) hide show
  1. package/dist/api/additions/templateHierarchyResolver.d.ts +2 -0
  2. package/dist/api/additions/templateHierarchyResolver.js +101 -0
  3. package/dist/api/bundler.d.ts +1 -0
  4. package/dist/api/bundler.js +27 -0
  5. package/dist/api/generated/core/core/ApiError.d.ts +10 -0
  6. package/dist/api/generated/core/core/ApiError.js +11 -0
  7. package/dist/api/generated/core/core/ApiRequestOptions.d.ts +13 -0
  8. package/dist/api/generated/core/core/ApiRequestOptions.js +1 -0
  9. package/dist/api/generated/core/core/ApiResult.d.ts +7 -0
  10. package/dist/api/generated/core/core/ApiResult.js +1 -0
  11. package/dist/api/generated/core/core/CancelablePromise.d.ts +20 -0
  12. package/dist/api/generated/core/core/CancelablePromise.js +111 -0
  13. package/dist/api/generated/core/core/OpenAPI.d.ts +16 -0
  14. package/dist/api/generated/core/core/OpenAPI.js +11 -0
  15. package/dist/api/generated/core/core/request.d.ts +30 -0
  16. package/dist/api/generated/core/core/request.js +271 -0
  17. package/dist/api/generated/core/exports.d.ts +50 -0
  18. package/dist/api/generated/core/exports.js +5 -0
  19. package/dist/api/generated/core/index.d.ts +54 -0
  20. package/dist/api/generated/core/index.js +10 -0
  21. package/dist/api/generated/core/models/AssignedPassenger.d.ts +7 -0
  22. package/dist/api/generated/core/models/AssignedPassenger.js +1 -0
  23. package/dist/api/generated/core/models/AssignedTravellerGroup.d.ts +5 -0
  24. package/dist/api/generated/core/models/AssignedTravellerGroup.js +1 -0
  25. package/dist/api/generated/core/models/Assignments.d.ts +12 -0
  26. package/dist/api/generated/core/models/Assignments.js +1 -0
  27. package/dist/api/generated/core/models/BookingItem.d.ts +9 -0
  28. package/dist/api/generated/core/models/BookingItem.js +1 -0
  29. package/dist/api/generated/core/models/BookingItemResponse.d.ts +5 -0
  30. package/dist/api/generated/core/models/BookingItemResponse.js +1 -0
  31. package/dist/api/generated/core/models/BookingResponse.d.ts +19 -0
  32. package/dist/api/generated/core/models/BookingResponse.js +1 -0
  33. package/dist/api/generated/core/models/Bundle.d.ts +8 -0
  34. package/dist/api/generated/core/models/Bundle.js +1 -0
  35. package/dist/api/generated/core/models/BundleItem.d.ts +6 -0
  36. package/dist/api/generated/core/models/BundleItem.js +1 -0
  37. package/dist/api/generated/core/models/ComponentDetails.d.ts +5 -0
  38. package/dist/api/generated/core/models/ComponentDetails.js +1 -0
  39. package/dist/api/generated/core/models/ComponentInstance.d.ts +14 -0
  40. package/dist/api/generated/core/models/ComponentInstance.js +1 -0
  41. package/dist/api/generated/core/models/CurrencyItem.d.ts +11 -0
  42. package/dist/api/generated/core/models/CurrencyItem.js +1 -0
  43. package/dist/api/generated/core/models/CurrencyItemResponse.d.ts +5 -0
  44. package/dist/api/generated/core/models/CurrencyItemResponse.js +1 -0
  45. package/dist/api/generated/core/models/CurrencyResponse.d.ts +20 -0
  46. package/dist/api/generated/core/models/CurrencyResponse.js +1 -0
  47. package/dist/api/generated/core/models/DTOComponentCreate.d.ts +21 -0
  48. package/dist/api/generated/core/models/DTOComponentCreate.js +1 -0
  49. package/dist/api/generated/core/models/DTOComponentRead.d.ts +20 -0
  50. package/dist/api/generated/core/models/DTOComponentRead.js +1 -0
  51. package/dist/api/generated/core/models/DTOComponentUpdate.d.ts +20 -0
  52. package/dist/api/generated/core/models/DTOComponentUpdate.js +1 -0
  53. package/dist/api/generated/core/models/DTOItineraryCreate.d.ts +5 -0
  54. package/dist/api/generated/core/models/DTOItineraryCreate.js +1 -0
  55. package/dist/api/generated/core/models/DTOItineraryRead.d.ts +10 -0
  56. package/dist/api/generated/core/models/DTOItineraryRead.js +1 -0
  57. package/dist/api/generated/core/models/DTOItineraryUpdate.d.ts +4 -0
  58. package/dist/api/generated/core/models/DTOItineraryUpdate.js +1 -0
  59. package/dist/api/generated/core/models/DTORegionCreate.d.ts +6 -0
  60. package/dist/api/generated/core/models/DTORegionCreate.js +1 -0
  61. package/dist/api/generated/core/models/DTORegionRead.d.ts +9 -0
  62. package/dist/api/generated/core/models/DTORegionRead.js +1 -0
  63. package/dist/api/generated/core/models/DTOTemplateCreate.d.ts +10 -0
  64. package/dist/api/generated/core/models/DTOTemplateCreate.js +1 -0
  65. package/dist/api/generated/core/models/DTOTemplateRead.d.ts +12 -0
  66. package/dist/api/generated/core/models/DTOTemplateRead.js +1 -0
  67. package/dist/api/generated/core/models/DTOTemplateUpdate.d.ts +6 -0
  68. package/dist/api/generated/core/models/DTOTemplateUpdate.js +1 -0
  69. package/dist/api/generated/core/models/Field.d.ts +4 -0
  70. package/dist/api/generated/core/models/Field.js +1 -0
  71. package/dist/api/generated/core/models/IBEvent.d.ts +7 -0
  72. package/dist/api/generated/core/models/IBEvent.js +1 -0
  73. package/dist/api/generated/core/models/Limit.d.ts +4 -0
  74. package/dist/api/generated/core/models/Limit.js +1 -0
  75. package/dist/api/generated/core/models/Member.d.ts +12 -0
  76. package/dist/api/generated/core/models/Member.js +1 -0
  77. package/dist/api/generated/core/models/Metadata.d.ts +7 -0
  78. package/dist/api/generated/core/models/Metadata.js +1 -0
  79. package/dist/api/generated/core/models/Page.d.ts +4 -0
  80. package/dist/api/generated/core/models/Page.js +1 -0
  81. package/dist/api/generated/core/models/Pagination.d.ts +5 -0
  82. package/dist/api/generated/core/models/Pagination.js +1 -0
  83. package/dist/api/generated/core/models/Partner.d.ts +10 -0
  84. package/dist/api/generated/core/models/Partner.js +1 -0
  85. package/dist/api/generated/core/models/PartnerResponse.d.ts +28 -0
  86. package/dist/api/generated/core/models/PartnerResponse.js +1 -0
  87. package/dist/api/generated/core/models/Region.d.ts +9 -0
  88. package/dist/api/generated/core/models/Region.js +1 -0
  89. package/dist/api/generated/core/models/SwooperResponse.d.ts +7 -0
  90. package/dist/api/generated/core/models/SwooperResponse.js +1 -0
  91. package/dist/api/generated/core/models/Traveller.d.ts +37 -0
  92. package/dist/api/generated/core/models/Traveller.js +1 -0
  93. package/dist/api/generated/core/models/TravellerResponse.d.ts +87 -0
  94. package/dist/api/generated/core/models/TravellerResponse.js +1 -0
  95. package/dist/api/generated/core/models/UserComponentInstanceField.d.ts +5 -0
  96. package/dist/api/generated/core/models/UserComponentInstanceField.js +1 -0
  97. package/dist/api/generated/core/models/ValidationSchemas.d.ts +5 -0
  98. package/dist/api/generated/core/models/ValidationSchemas.js +1 -0
  99. package/dist/api/generated/core/models/componentId.d.ts +4 -0
  100. package/dist/api/generated/core/models/componentId.js +1 -0
  101. package/dist/api/generated/core/models/enquiryId.d.ts +4 -0
  102. package/dist/api/generated/core/models/enquiryId.js +1 -0
  103. package/dist/api/generated/core/models/id.d.ts +4 -0
  104. package/dist/api/generated/core/models/id.js +1 -0
  105. package/dist/api/generated/core/models/itemsPerPage.d.ts +4 -0
  106. package/dist/api/generated/core/models/itemsPerPage.js +1 -0
  107. package/dist/api/generated/core/models/itineraryId.d.ts +4 -0
  108. package/dist/api/generated/core/models/itineraryId.js +1 -0
  109. package/dist/api/generated/core/models/regionParam.d.ts +8 -0
  110. package/dist/api/generated/core/models/regionParam.js +13 -0
  111. package/dist/api/generated/core/models/regionRequired.d.ts +8 -0
  112. package/dist/api/generated/core/models/regionRequired.js +13 -0
  113. package/dist/api/generated/core/models/search.d.ts +4 -0
  114. package/dist/api/generated/core/models/search.js +1 -0
  115. package/dist/api/generated/core/models/sortParam.d.ts +4 -0
  116. package/dist/api/generated/core/models/sortParam.js +1 -0
  117. package/dist/api/generated/core/models/templateId.d.ts +4 -0
  118. package/dist/api/generated/core/models/templateId.js +1 -0
  119. package/dist/api/generated/core/services/CoreService.d.ts +123 -0
  120. package/dist/api/generated/core/services/CoreService.js +223 -0
  121. package/dist/api/generated/itinerary/core/ApiError.d.ts +10 -0
  122. package/dist/api/generated/itinerary/core/ApiError.js +11 -0
  123. package/dist/api/generated/itinerary/core/ApiRequestOptions.d.ts +13 -0
  124. package/dist/api/generated/itinerary/core/ApiRequestOptions.js +1 -0
  125. package/dist/api/generated/itinerary/core/ApiResult.d.ts +7 -0
  126. package/dist/api/generated/itinerary/core/ApiResult.js +1 -0
  127. package/dist/api/generated/itinerary/core/CancelablePromise.d.ts +20 -0
  128. package/dist/api/generated/itinerary/core/CancelablePromise.js +111 -0
  129. package/dist/api/generated/itinerary/core/OpenAPI.d.ts +16 -0
  130. package/dist/api/generated/itinerary/core/OpenAPI.js +11 -0
  131. package/dist/api/generated/itinerary/core/request.d.ts +30 -0
  132. package/dist/api/generated/itinerary/core/request.js +271 -0
  133. package/dist/api/generated/itinerary/exports.d.ts +0 -0
  134. package/dist/api/generated/itinerary/exports.js +2 -0
  135. package/dist/api/generated/itinerary/index.d.ts +54 -0
  136. package/dist/api/generated/itinerary/index.js +10 -0
  137. package/dist/api/generated/itinerary/models/AssignedPassenger.d.ts +7 -0
  138. package/dist/api/generated/itinerary/models/AssignedPassenger.js +1 -0
  139. package/dist/api/generated/itinerary/models/AssignedTravellerGroup.d.ts +5 -0
  140. package/dist/api/generated/itinerary/models/AssignedTravellerGroup.js +1 -0
  141. package/dist/api/generated/itinerary/models/Assignments.d.ts +12 -0
  142. package/dist/api/generated/itinerary/models/Assignments.js +1 -0
  143. package/dist/api/generated/itinerary/models/BookingItem.d.ts +9 -0
  144. package/dist/api/generated/itinerary/models/BookingItem.js +1 -0
  145. package/dist/api/generated/itinerary/models/BookingItemResponse.d.ts +5 -0
  146. package/dist/api/generated/itinerary/models/BookingItemResponse.js +1 -0
  147. package/dist/api/generated/itinerary/models/BookingResponse.d.ts +19 -0
  148. package/dist/api/generated/itinerary/models/BookingResponse.js +1 -0
  149. package/dist/api/generated/itinerary/models/Bundle.d.ts +8 -0
  150. package/dist/api/generated/itinerary/models/Bundle.js +1 -0
  151. package/dist/api/generated/itinerary/models/BundleItem.d.ts +6 -0
  152. package/dist/api/generated/itinerary/models/BundleItem.js +1 -0
  153. package/dist/api/generated/itinerary/models/ComponentDetails.d.ts +5 -0
  154. package/dist/api/generated/itinerary/models/ComponentDetails.js +1 -0
  155. package/dist/api/generated/itinerary/models/ComponentInstance.d.ts +14 -0
  156. package/dist/api/generated/itinerary/models/ComponentInstance.js +1 -0
  157. package/dist/api/generated/itinerary/models/CurrencyItem.d.ts +11 -0
  158. package/dist/api/generated/itinerary/models/CurrencyItem.js +1 -0
  159. package/dist/api/generated/itinerary/models/CurrencyItemResponse.d.ts +5 -0
  160. package/dist/api/generated/itinerary/models/CurrencyItemResponse.js +1 -0
  161. package/dist/api/generated/itinerary/models/CurrencyResponse.d.ts +20 -0
  162. package/dist/api/generated/itinerary/models/CurrencyResponse.js +1 -0
  163. package/dist/api/generated/itinerary/models/DTOComponentCreate.d.ts +21 -0
  164. package/dist/api/generated/itinerary/models/DTOComponentCreate.js +1 -0
  165. package/dist/api/generated/itinerary/models/DTOComponentRead.d.ts +20 -0
  166. package/dist/api/generated/itinerary/models/DTOComponentRead.js +1 -0
  167. package/dist/api/generated/itinerary/models/DTOComponentUpdate.d.ts +20 -0
  168. package/dist/api/generated/itinerary/models/DTOComponentUpdate.js +1 -0
  169. package/dist/api/generated/itinerary/models/DTOItineraryCreate.d.ts +5 -0
  170. package/dist/api/generated/itinerary/models/DTOItineraryCreate.js +1 -0
  171. package/dist/api/generated/itinerary/models/DTOItineraryRead.d.ts +10 -0
  172. package/dist/api/generated/itinerary/models/DTOItineraryRead.js +1 -0
  173. package/dist/api/generated/itinerary/models/DTOItineraryUpdate.d.ts +4 -0
  174. package/dist/api/generated/itinerary/models/DTOItineraryUpdate.js +1 -0
  175. package/dist/api/generated/itinerary/models/DTORegionCreate.d.ts +6 -0
  176. package/dist/api/generated/itinerary/models/DTORegionCreate.js +1 -0
  177. package/dist/api/generated/itinerary/models/DTORegionRead.d.ts +9 -0
  178. package/dist/api/generated/itinerary/models/DTORegionRead.js +1 -0
  179. package/dist/api/generated/itinerary/models/DTOTemplateCreate.d.ts +10 -0
  180. package/dist/api/generated/itinerary/models/DTOTemplateCreate.js +1 -0
  181. package/dist/api/generated/itinerary/models/DTOTemplateRead.d.ts +12 -0
  182. package/dist/api/generated/itinerary/models/DTOTemplateRead.js +1 -0
  183. package/dist/api/generated/itinerary/models/DTOTemplateUpdate.d.ts +6 -0
  184. package/dist/api/generated/itinerary/models/DTOTemplateUpdate.js +1 -0
  185. package/dist/api/generated/itinerary/models/Field.d.ts +4 -0
  186. package/dist/api/generated/itinerary/models/Field.js +1 -0
  187. package/dist/api/generated/itinerary/models/IBEvent.d.ts +7 -0
  188. package/dist/api/generated/itinerary/models/IBEvent.js +1 -0
  189. package/dist/api/generated/itinerary/models/Limit.d.ts +4 -0
  190. package/dist/api/generated/itinerary/models/Limit.js +1 -0
  191. package/dist/api/generated/itinerary/models/Member.d.ts +12 -0
  192. package/dist/api/generated/itinerary/models/Member.js +1 -0
  193. package/dist/api/generated/itinerary/models/Metadata.d.ts +7 -0
  194. package/dist/api/generated/itinerary/models/Metadata.js +1 -0
  195. package/dist/api/generated/itinerary/models/Page.d.ts +4 -0
  196. package/dist/api/generated/itinerary/models/Page.js +1 -0
  197. package/dist/api/generated/itinerary/models/Pagination.d.ts +5 -0
  198. package/dist/api/generated/itinerary/models/Pagination.js +1 -0
  199. package/dist/api/generated/itinerary/models/Partner.d.ts +10 -0
  200. package/dist/api/generated/itinerary/models/Partner.js +1 -0
  201. package/dist/api/generated/itinerary/models/PartnerResponse.d.ts +28 -0
  202. package/dist/api/generated/itinerary/models/PartnerResponse.js +1 -0
  203. package/dist/api/generated/itinerary/models/Region.d.ts +9 -0
  204. package/dist/api/generated/itinerary/models/Region.js +1 -0
  205. package/dist/api/generated/itinerary/models/SwooperResponse.d.ts +7 -0
  206. package/dist/api/generated/itinerary/models/SwooperResponse.js +1 -0
  207. package/dist/api/generated/itinerary/models/Traveller.d.ts +37 -0
  208. package/dist/api/generated/itinerary/models/Traveller.js +1 -0
  209. package/dist/api/generated/itinerary/models/TravellerResponse.d.ts +87 -0
  210. package/dist/api/generated/itinerary/models/TravellerResponse.js +1 -0
  211. package/dist/api/generated/itinerary/models/UserComponentInstanceField.d.ts +5 -0
  212. package/dist/api/generated/itinerary/models/UserComponentInstanceField.js +1 -0
  213. package/dist/api/generated/itinerary/models/ValidationSchemas.d.ts +5 -0
  214. package/dist/api/generated/itinerary/models/ValidationSchemas.js +1 -0
  215. package/dist/api/generated/itinerary/models/componentId.d.ts +4 -0
  216. package/dist/api/generated/itinerary/models/componentId.js +1 -0
  217. package/dist/api/generated/itinerary/models/enquiryId.d.ts +4 -0
  218. package/dist/api/generated/itinerary/models/enquiryId.js +1 -0
  219. package/dist/api/generated/itinerary/models/id.d.ts +4 -0
  220. package/dist/api/generated/itinerary/models/id.js +1 -0
  221. package/dist/api/generated/itinerary/models/itemsPerPage.d.ts +4 -0
  222. package/dist/api/generated/itinerary/models/itemsPerPage.js +1 -0
  223. package/dist/api/generated/itinerary/models/itineraryId.d.ts +4 -0
  224. package/dist/api/generated/itinerary/models/itineraryId.js +1 -0
  225. package/dist/api/generated/itinerary/models/regionParam.d.ts +8 -0
  226. package/dist/api/generated/itinerary/models/regionParam.js +13 -0
  227. package/dist/api/generated/itinerary/models/regionRequired.d.ts +8 -0
  228. package/dist/api/generated/itinerary/models/regionRequired.js +13 -0
  229. package/dist/api/generated/itinerary/models/search.d.ts +4 -0
  230. package/dist/api/generated/itinerary/models/search.js +1 -0
  231. package/dist/api/generated/itinerary/models/sortParam.d.ts +4 -0
  232. package/dist/api/generated/itinerary/models/sortParam.js +1 -0
  233. package/dist/api/generated/itinerary/models/templateId.d.ts +4 -0
  234. package/dist/api/generated/itinerary/models/templateId.js +1 -0
  235. package/dist/api/generated/itinerary/services/ItineraryService.d.ts +85 -0
  236. package/dist/api/generated/itinerary/services/ItineraryService.js +143 -0
  237. package/dist/api/generated/swoop/core/ApiError.d.ts +10 -0
  238. package/dist/api/generated/swoop/core/ApiError.js +11 -0
  239. package/dist/api/generated/swoop/core/ApiRequestOptions.d.ts +13 -0
  240. package/dist/api/generated/swoop/core/ApiRequestOptions.js +1 -0
  241. package/dist/api/generated/swoop/core/ApiResult.d.ts +7 -0
  242. package/dist/api/generated/swoop/core/ApiResult.js +1 -0
  243. package/dist/api/generated/swoop/core/CancelablePromise.d.ts +20 -0
  244. package/dist/api/generated/swoop/core/CancelablePromise.js +111 -0
  245. package/dist/api/generated/swoop/core/OpenAPI.d.ts +16 -0
  246. package/dist/api/generated/swoop/core/OpenAPI.js +11 -0
  247. package/dist/api/generated/swoop/core/request.d.ts +30 -0
  248. package/dist/api/generated/swoop/core/request.js +292 -0
  249. package/dist/api/generated/swoop/exports.d.ts +48 -0
  250. package/dist/api/generated/swoop/exports.js +2 -0
  251. package/dist/api/generated/swoop/index.d.ts +53 -0
  252. package/dist/api/generated/swoop/index.js +8 -0
  253. package/dist/api/generated/swoop/models/Address.d.ts +9 -0
  254. package/dist/api/generated/swoop/models/Address.js +1 -0
  255. package/dist/api/generated/swoop/models/Address_jsonld.d.ts +12 -0
  256. package/dist/api/generated/swoop/models/Address_jsonld.js +1 -0
  257. package/dist/api/generated/swoop/models/BookingItemType.d.ts +7 -0
  258. package/dist/api/generated/swoop/models/BookingItemType.js +1 -0
  259. package/dist/api/generated/swoop/models/BookingItemType_jsonld.d.ts +9 -0
  260. package/dist/api/generated/swoop/models/BookingItemType_jsonld.js +1 -0
  261. package/dist/api/generated/swoop/models/Category.d.ts +8 -0
  262. package/dist/api/generated/swoop/models/Category.js +1 -0
  263. package/dist/api/generated/swoop/models/Category_jsonld.d.ts +10 -0
  264. package/dist/api/generated/swoop/models/Category_jsonld.js +1 -0
  265. package/dist/api/generated/swoop/models/Country.d.ts +5 -0
  266. package/dist/api/generated/swoop/models/Country.js +1 -0
  267. package/dist/api/generated/swoop/models/Country_jsonld.d.ts +8 -0
  268. package/dist/api/generated/swoop/models/Country_jsonld.js +1 -0
  269. package/dist/api/generated/swoop/models/Currency.d.ts +9 -0
  270. package/dist/api/generated/swoop/models/Currency.js +1 -0
  271. package/dist/api/generated/swoop/models/Currency_jsonld.d.ts +11 -0
  272. package/dist/api/generated/swoop/models/Currency_jsonld.js +1 -0
  273. package/dist/api/generated/swoop/models/Customer.d.ts +28 -0
  274. package/dist/api/generated/swoop/models/Customer.js +1 -0
  275. package/dist/api/generated/swoop/models/CustomerLookup.d.ts +8 -0
  276. package/dist/api/generated/swoop/models/CustomerLookup.js +1 -0
  277. package/dist/api/generated/swoop/models/CustomerLookupCXPerson.d.ts +4 -0
  278. package/dist/api/generated/swoop/models/CustomerLookupCXPerson.js +1 -0
  279. package/dist/api/generated/swoop/models/CustomerLookupCXPerson_jsonld.d.ts +7 -0
  280. package/dist/api/generated/swoop/models/CustomerLookupCXPerson_jsonld.js +1 -0
  281. package/dist/api/generated/swoop/models/CustomerLookupEnquiry.d.ts +10 -0
  282. package/dist/api/generated/swoop/models/CustomerLookupEnquiry.js +1 -0
  283. package/dist/api/generated/swoop/models/CustomerLookupEnquiry_jsonld.d.ts +13 -0
  284. package/dist/api/generated/swoop/models/CustomerLookupEnquiry_jsonld.js +1 -0
  285. package/dist/api/generated/swoop/models/CustomerLookupSalesPerson.d.ts +4 -0
  286. package/dist/api/generated/swoop/models/CustomerLookupSalesPerson.js +1 -0
  287. package/dist/api/generated/swoop/models/CustomerLookupSalesPerson_jsonld.d.ts +7 -0
  288. package/dist/api/generated/swoop/models/CustomerLookupSalesPerson_jsonld.js +1 -0
  289. package/dist/api/generated/swoop/models/CustomerLookup_jsonld.d.ts +11 -0
  290. package/dist/api/generated/swoop/models/CustomerLookup_jsonld.js +1 -0
  291. package/dist/api/generated/swoop/models/Customer_jsonld.d.ts +31 -0
  292. package/dist/api/generated/swoop/models/Customer_jsonld.js +1 -0
  293. package/dist/api/generated/swoop/models/EmergencyDetails.d.ts +6 -0
  294. package/dist/api/generated/swoop/models/EmergencyDetails.js +1 -0
  295. package/dist/api/generated/swoop/models/EmergencyDetails_jsonld.d.ts +9 -0
  296. package/dist/api/generated/swoop/models/EmergencyDetails_jsonld.js +1 -0
  297. package/dist/api/generated/swoop/models/Enquiry.d.ts +11 -0
  298. package/dist/api/generated/swoop/models/Enquiry.js +1 -0
  299. package/dist/api/generated/swoop/models/EnquiryPerson.d.ts +5 -0
  300. package/dist/api/generated/swoop/models/EnquiryPerson.js +1 -0
  301. package/dist/api/generated/swoop/models/EnquiryPerson_jsonld.d.ts +8 -0
  302. package/dist/api/generated/swoop/models/EnquiryPerson_jsonld.js +1 -0
  303. package/dist/api/generated/swoop/models/EnquiryStatus.d.ts +8 -0
  304. package/dist/api/generated/swoop/models/EnquiryStatus.js +1 -0
  305. package/dist/api/generated/swoop/models/EnquiryStatus_jsonld.d.ts +11 -0
  306. package/dist/api/generated/swoop/models/EnquiryStatus_jsonld.js +1 -0
  307. package/dist/api/generated/swoop/models/Enquiry_jsonld.d.ts +14 -0
  308. package/dist/api/generated/swoop/models/Enquiry_jsonld.js +1 -0
  309. package/dist/api/generated/swoop/models/Partner.d.ts +12 -0
  310. package/dist/api/generated/swoop/models/Partner.js +1 -0
  311. package/dist/api/generated/swoop/models/Partner_jsonld.d.ts +15 -0
  312. package/dist/api/generated/swoop/models/Partner_jsonld.js +1 -0
  313. package/dist/api/generated/swoop/models/Passport.d.ts +7 -0
  314. package/dist/api/generated/swoop/models/Passport.js +1 -0
  315. package/dist/api/generated/swoop/models/Passport_jsonld.d.ts +10 -0
  316. package/dist/api/generated/swoop/models/Passport_jsonld.js +1 -0
  317. package/dist/api/generated/swoop/models/Payment.d.ts +20 -0
  318. package/dist/api/generated/swoop/models/Payment.js +1 -0
  319. package/dist/api/generated/swoop/models/PaymentType.d.ts +5 -0
  320. package/dist/api/generated/swoop/models/PaymentType.js +1 -0
  321. package/dist/api/generated/swoop/models/PaymentType_jsonld.d.ts +8 -0
  322. package/dist/api/generated/swoop/models/PaymentType_jsonld.js +1 -0
  323. package/dist/api/generated/swoop/models/Payment_jsonld.d.ts +22 -0
  324. package/dist/api/generated/swoop/models/Payment_jsonld.js +1 -0
  325. package/dist/api/generated/swoop/models/Person.d.ts +12 -0
  326. package/dist/api/generated/swoop/models/Person.js +1 -0
  327. package/dist/api/generated/swoop/models/Person_jsonld.d.ts +15 -0
  328. package/dist/api/generated/swoop/models/Person_jsonld.js +1 -0
  329. package/dist/api/generated/swoop/models/PublishState.d.ts +4 -0
  330. package/dist/api/generated/swoop/models/PublishState.js +1 -0
  331. package/dist/api/generated/swoop/models/PublishState_jsonld.d.ts +7 -0
  332. package/dist/api/generated/swoop/models/PublishState_jsonld.js +1 -0
  333. package/dist/api/generated/swoop/models/Status.d.ts +5 -0
  334. package/dist/api/generated/swoop/models/Status.js +1 -0
  335. package/dist/api/generated/swoop/models/Status_jsonld.d.ts +8 -0
  336. package/dist/api/generated/swoop/models/Status_jsonld.js +1 -0
  337. package/dist/api/generated/swoop/models/Traveller.d.ts +9 -0
  338. package/dist/api/generated/swoop/models/Traveller.js +1 -0
  339. package/dist/api/generated/swoop/models/TravellerGroup.d.ts +9 -0
  340. package/dist/api/generated/swoop/models/TravellerGroup.js +1 -0
  341. package/dist/api/generated/swoop/models/TravellerGroup_jsonld.d.ts +12 -0
  342. package/dist/api/generated/swoop/models/TravellerGroup_jsonld.js +1 -0
  343. package/dist/api/generated/swoop/models/Traveller_jsonld.d.ts +12 -0
  344. package/dist/api/generated/swoop/models/Traveller_jsonld.js +1 -0
  345. package/dist/api/generated/swoop/models/Trip.d.ts +8 -0
  346. package/dist/api/generated/swoop/models/Trip.js +1 -0
  347. package/dist/api/generated/swoop/models/Trip_jsonld.d.ts +11 -0
  348. package/dist/api/generated/swoop/models/Trip_jsonld.js +1 -0
  349. package/dist/api/generated/swoop/services/SwoopService.d.ts +387 -0
  350. package/dist/api/generated/swoop/services/SwoopService.js +329 -0
  351. package/dist/api/index.d.ts +3 -0
  352. package/dist/api/index.js +5 -0
  353. package/dist/api/init.d.ts +18 -0
  354. package/dist/api/init.js +29 -0
  355. package/dist/rendering/components/StyledFormView.d.ts +39 -0
  356. package/dist/rendering/components/StyledFormView.js +13 -0
  357. package/dist/rendering/hooks/errors.d.ts +6 -0
  358. package/dist/rendering/hooks/errors.js +17 -0
  359. package/dist/rendering/index.d.ts +11 -0
  360. package/dist/rendering/index.js +11 -0
  361. package/dist/rendering/prebuild/generated/import_generated.d.ts +13 -0
  362. package/dist/rendering/prebuild/generated/import_generated.js +16 -0
  363. package/dist/rendering/prebuild/import.d.ts +1 -0
  364. package/dist/rendering/prebuild/import.js +32 -0
  365. package/dist/rendering/registry/components.d.ts +13 -0
  366. package/dist/rendering/registry/components.js +49 -0
  367. package/dist/rendering/registry/fields.d.ts +10 -0
  368. package/dist/rendering/registry/fields.js +19 -0
  369. package/dist/rendering/registry/types.d.ts +5 -0
  370. package/dist/rendering/registry/types.js +5 -0
  371. package/dist/rendering/renderers/Address.d.ts +1 -0
  372. package/dist/rendering/renderers/Address.js +67 -0
  373. package/dist/rendering/renderers/ComponentPicker.d.ts +20 -0
  374. package/dist/rendering/renderers/ComponentPicker.js +67 -0
  375. package/dist/rendering/renderers/Debug.d.ts +1 -0
  376. package/dist/rendering/renderers/Debug.js +13 -0
  377. package/dist/rendering/renderers/Example.d.ts +1 -0
  378. package/dist/rendering/renderers/Example.js +31 -0
  379. package/dist/rendering/renderers/Image/ImageForm.d.ts +10 -0
  380. package/dist/rendering/renderers/Image/ImageForm.js +78 -0
  381. package/dist/rendering/renderers/Image/ImagePresentation.d.ts +6 -0
  382. package/dist/rendering/renderers/Image/ImagePresentation.js +62 -0
  383. package/dist/rendering/renderers/StagedText.d.ts +1 -0
  384. package/dist/rendering/renderers/StagedText.js +20 -0
  385. package/dist/rendering/renderers/TemplatePicker.d.ts +1 -0
  386. package/dist/rendering/renderers/TemplatePicker.js +47 -0
  387. package/dist/rendering/renderers/textfield/MultilineForm.d.ts +1 -0
  388. package/dist/rendering/renderers/textfield/MultilineForm.js +21 -0
  389. package/dist/rendering/renderers/textfield/MultilinePresentation.d.ts +1 -0
  390. package/dist/rendering/renderers/textfield/MultilinePresentation.js +13 -0
  391. package/dist/rendering/schema/formBuilders/formBuilderJsonSchema.d.ts +11 -0
  392. package/dist/rendering/schema/formBuilders/formBuilderJsonSchema.js +178 -0
  393. package/dist/rendering/schema/formBuilders/formBuilderUiSchema.d.ts +2 -0
  394. package/dist/rendering/schema/formBuilders/formBuilderUiSchema.js +208 -0
  395. package/dist/rendering/schema/formSchemaTypes.d.ts +15 -0
  396. package/dist/rendering/schema/formSchemaTypes.js +6 -0
  397. package/dist/rendering/schema/generate/formSchemaGenerate.d.ts +3 -0
  398. package/dist/rendering/schema/generate/formSchemaGenerate.js +19 -0
  399. package/dist/rendering/schema/generate/jsonSchemaGenerate.d.ts +4 -0
  400. package/dist/rendering/schema/generate/jsonSchemaGenerate.js +61 -0
  401. package/dist/rendering/schema/generate/uiSchemaGenerate.d.ts +3 -0
  402. package/dist/rendering/schema/generate/uiSchemaGenerate.js +35 -0
  403. package/dist/rendering/schema/schema.d.ts +48 -0
  404. package/dist/rendering/schema/schema.js +1 -0
  405. package/dist/rendering/schema/template/constraint.d.ts +17 -0
  406. package/dist/rendering/schema/template/constraint.js +119 -0
  407. package/dist/rendering/schema/template/type.d.ts +94 -0
  408. package/dist/rendering/schema/template/type.js +1 -0
  409. package/dist/rendering/schema/util.d.ts +1 -0
  410. package/dist/rendering/schema/util.js +22 -0
  411. package/dist/rendering/type_registration/register.d.ts +1 -0
  412. package/dist/rendering/type_registration/register.js +139 -0
  413. package/dist/rendering/types/address.d.ts +10 -0
  414. package/dist/rendering/types/address.js +1 -0
  415. package/dist/rendering/types/jsonSchema.d.ts +4 -0
  416. package/dist/rendering/types/jsonSchema.js +1 -0
  417. package/dist/rendering/types/util.d.ts +1 -0
  418. package/dist/rendering/types/util.js +1 -0
  419. package/dist/rendering/util/string.d.ts +1 -0
  420. package/dist/rendering/util/string.js +1 -0
  421. package/dist/rendering/util/xtype.d.ts +3 -0
  422. package/dist/rendering/util/xtype.js +18 -0
  423. package/dist/test.d.ts +1 -0
  424. package/dist/test.js +26 -0
  425. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ export * from "./generated/core/exports";
2
+ export * from "./generated/swoop/exports";
3
+ export { init } from "./init";
@@ -0,0 +1,5 @@
1
+ // API SDKs //
2
+ export * from "./generated/core/exports";
3
+ //export * from "./api/generated/itinerary/exports" Nothing exported directly
4
+ export * from "./generated/swoop/exports";
5
+ export { init } from "./init";
@@ -0,0 +1,18 @@
1
+ import * as Core from "./generated/core/index";
2
+ import * as Itinerary from "./generated/itinerary/index";
3
+ import * as Swoop from "./generated/swoop/index";
4
+ export declare const services: {
5
+ SwoopService: Swoop.SwoopService;
6
+ CoreService: Core.CoreService;
7
+ ItineraryService: Itinerary.ItineraryService;
8
+ };
9
+ export declare const init: (opts: {
10
+ itineraryServiceUrl: string;
11
+ coreServiceUrl: string;
12
+ swoopServiceForwardUrl: string;
13
+ }) => {
14
+ SwoopService: Swoop.SwoopService;
15
+ CoreService: Core.CoreService;
16
+ ItineraryService: Itinerary.ItineraryService;
17
+ };
18
+ export declare const initialisedCheck: () => void;
@@ -0,0 +1,29 @@
1
+ import * as Core from "./generated/core/index";
2
+ import * as Itinerary from "./generated/itinerary/index";
3
+ import * as Swoop from "./generated/swoop/index";
4
+ let initalised = false;
5
+ export const services = {
6
+ SwoopService: new Swoop.SwoopService(),
7
+ CoreService: new Core.CoreService(),
8
+ ItineraryService: new Itinerary.ItineraryService(),
9
+ };
10
+ export const init = (opts) => {
11
+ // Keeps it consitent
12
+ if (opts.coreServiceUrl.endsWith("/"))
13
+ opts.coreServiceUrl = opts.coreServiceUrl.slice(0, -1);
14
+ if (opts.itineraryServiceUrl.endsWith("/"))
15
+ opts.itineraryServiceUrl = opts.itineraryServiceUrl.slice(0, -1);
16
+ if (opts.swoopServiceForwardUrl.endsWith("/"))
17
+ opts.swoopServiceForwardUrl = opts.swoopServiceForwardUrl.slice(0, -1);
18
+ // Update
19
+ Core.OpenAPI.BASE = opts.coreServiceUrl;
20
+ Itinerary.OpenAPI.BASE = opts.itineraryServiceUrl;
21
+ Swoop.OpenAPI.BASE = opts.swoopServiceForwardUrl;
22
+ initalised = true;
23
+ return services;
24
+ };
25
+ export const initialisedCheck = () => {
26
+ if (initalised)
27
+ return;
28
+ console.warn("swoop-common has been used without being initialised. The library will continue to work in some cases, but requests will fail. Use init() to initialise the library.");
29
+ };
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { ComponentPool } from '../registry/types';
3
+ import { MasterSchema, Stage } from '../schema/formSchemaTypes';
4
+ interface Props {
5
+ /**
6
+ * This should only be used for the initial values, as this is not truly a controlled component.
7
+ * Frequent updates of this can cause significant perfomance dips.
8
+ */
9
+ initialData: any;
10
+ /**
11
+ * The master schema for this template
12
+ */
13
+ schema: MasterSchema;
14
+ /**
15
+ * This should not be fed back into the form.
16
+ * Instead store it as a ref.
17
+ */
18
+ onChange?: (value: any) => void;
19
+ /**
20
+ * Dictates which mode the form will display in.
21
+ * Each mode has a different pool of renderers.
22
+ */
23
+ pool: ComponentPool;
24
+ /**
25
+ * Whether this form should be readonly.
26
+ * Has little to no effect if using the presentation pool of components
27
+ */
28
+ readonly?: boolean;
29
+ /**
30
+ * The stage at which to render this template
31
+ */
32
+ stage: Stage;
33
+ /**
34
+ * Should readonly fields be hidden
35
+ */
36
+ hideReadonlyFields?: boolean;
37
+ }
38
+ export declare const StyledFormView: React.FC<Props>;
39
+ export {};
@@ -0,0 +1,13 @@
1
+ import { JsonForms } from '@jsonforms/react';
2
+ import React, { useEffect } from 'react';
3
+ import { materialCells, materialRenderers } from '@jsonforms/material-renderers';
4
+ import { getComponents } from '../registry/components';
5
+ import { generateJsonSchema } from '../schema/generate/jsonSchemaGenerate';
6
+ import { generateUiSchema } from '../schema/generate/uiSchemaGenerate';
7
+ import { initialisedCheck } from '../../api/init';
8
+ export const StyledFormView = ({ initialData, schema, onChange, stage, pool, readonly, hideReadonlyFields }) => {
9
+ useEffect(initialisedCheck, []);
10
+ const json = generateJsonSchema(schema, stage, hideReadonlyFields);
11
+ const ui = generateUiSchema(schema, stage, hideReadonlyFields);
12
+ return (React.createElement(JsonForms, { onChange: onChange, data: initialData, schema: json, uischema: ui, renderers: [...materialRenderers, ...getComponents(pool)], readonly: readonly, cells: materialCells }));
13
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns a function which can be used to retrieve errors.
3
+ * For objects field is the field name.
4
+ * For primitives field is the x-type.
5
+ */
6
+ export declare const useLocalErrors: (path: string) => (field: string) => import("ajv").ErrorObject<string, Record<string, any>, unknown> | undefined;
@@ -0,0 +1,17 @@
1
+ import { useJsonForms } from "@jsonforms/react";
2
+ import React from "react";
3
+ /**
4
+ * Returns a function which can be used to retrieve errors.
5
+ * For objects field is the field name.
6
+ * For primitives field is the x-type.
7
+ */
8
+ export const useLocalErrors = (path) => {
9
+ const { core } = useJsonForms();
10
+ console.log(core);
11
+ // Filters out errors for the current scope
12
+ const local = React.useMemo(() => {
13
+ var _a;
14
+ return ((_a = core === null || core === void 0 ? void 0 : core.errors) === null || _a === void 0 ? void 0 : _a.filter(e => e.instancePath.startsWith("/" + path.replace(/\./g, "/")))) || [];
15
+ }, [core === null || core === void 0 ? void 0 : core.errors, path]);
16
+ return React.useCallback((field) => local.find(e => e.instancePath.endsWith("/" + field)), [local]);
17
+ };
@@ -0,0 +1,11 @@
1
+ import "./prebuild/generated/import_generated";
2
+ import "../api/init";
3
+ export { getComponents } from "./registry/components";
4
+ export { JSONSchemaObject } from "./schema/schema";
5
+ export { generateUiSchema } from "./schema/generate/uiSchemaGenerate";
6
+ export { generateJsonSchema } from "./schema/generate/jsonSchemaGenerate";
7
+ export * from "./components/StyledFormView";
8
+ export * from "./registry/types";
9
+ export { MasterSchema, Stage } from "./schema/formSchemaTypes";
10
+ export { FORM_BUILDER_JSON_SCHEMA } from "./schema/formBuilders/formBuilderJsonSchema";
11
+ export { FORM_BUILDER_UI_SCHEMA } from "./schema/formBuilders/formBuilderUiSchema";
@@ -0,0 +1,11 @@
1
+ import "./prebuild/generated/import_generated";
2
+ import "../api/init";
3
+ // RENDERING //
4
+ export { getComponents } from "./registry/components";
5
+ export { generateUiSchema } from "./schema/generate/uiSchemaGenerate";
6
+ export { generateJsonSchema } from "./schema/generate/jsonSchemaGenerate";
7
+ export * from "./components/StyledFormView";
8
+ export * from "./registry/types";
9
+ export { Stage } from "./schema/formSchemaTypes";
10
+ export { FORM_BUILDER_JSON_SCHEMA } from "./schema/formBuilders/formBuilderJsonSchema";
11
+ export { FORM_BUILDER_UI_SCHEMA } from "./schema/formBuilders/formBuilderUiSchema";
@@ -0,0 +1,13 @@
1
+ import "../../type_registration/register";
2
+ import "../../renderers/Address";
3
+ import "../../renderers/ComponentPicker";
4
+ import "../../renderers/Debug";
5
+ import "../../renderers/Example";
6
+ import "../../renderers/Image/ImageForm";
7
+ import "../../renderers/Image/ImagePresentation";
8
+ import "../../renderers/StagedText";
9
+ import "../../renderers/TemplatePicker";
10
+ import "../../renderers/textfield/MultilineForm";
11
+ import "../../renderers/textfield/MultilinePresentation";
12
+ import "../../schema/formBuilders/formBuilderJsonSchema";
13
+ import "../../schema/formBuilders/formBuilderUiSchema";
@@ -0,0 +1,16 @@
1
+ // Base field types
2
+ import "../../type_registration/register";
3
+ // Custom component renderers
4
+ import "../../renderers/Address";
5
+ import "../../renderers/ComponentPicker";
6
+ import "../../renderers/Debug";
7
+ import "../../renderers/Example";
8
+ import "../../renderers/Image/ImageForm";
9
+ import "../../renderers/Image/ImagePresentation";
10
+ import "../../renderers/StagedText";
11
+ import "../../renderers/TemplatePicker";
12
+ import "../../renderers/textfield/MultilineForm";
13
+ import "../../renderers/textfield/MultilinePresentation";
14
+ // Build template from schema last
15
+ import "../../schema/formBuilders/formBuilderJsonSchema";
16
+ import "../../schema/formBuilders/formBuilderUiSchema";
@@ -0,0 +1 @@
1
+ export declare function getFilesRec(dir: string): string[];
@@ -0,0 +1,32 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ // Using codegen here as it reduces the number of files required to edit to add a new component.
4
+ // It also ensures import order, which is important as types must be registered before any form schema is generated (this is generated at load, once)
5
+ export function getFilesRec(dir) {
6
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
7
+ return entries.flatMap((entry) => {
8
+ const fullPath = path.join(dir, entry.name);
9
+ if (entry.isDirectory())
10
+ return getFilesRec(fullPath);
11
+ else
12
+ return fullPath;
13
+ });
14
+ }
15
+ const getImports = (base) => {
16
+ const files = getFilesRec(base).filter(f => f.endsWith(".tsx"));
17
+ const renderers = files.map((file) => {
18
+ const relativePath = path.relative(base, file);
19
+ const noExt = relativePath.replace(/\.[^/.]+$/, '');
20
+ const normalized = noExt.split(path.sep).join('/');
21
+ return `import "../../renderers/${normalized}"`;
22
+ });
23
+ const templateFormSchemas = [`import "../../schema/formBuilders/formBuilderJsonSchema"`, `import "../../schema/formBuilders/formBuilderUiSchema"`];
24
+ const baseFieldTypes = `import "../../type_registration/register"`;
25
+ return [
26
+ "// Base field types", baseFieldTypes, "",
27
+ "// Custom component renderers",
28
+ ...renderers, "",
29
+ "// Build template from schema last", ...templateFormSchemas
30
+ ];
31
+ };
32
+ fs.writeFileSync("./src/rendering/prebuild/generated/import_generated.ts", getImports("./src/rendering/renderers").join("\n"));
@@ -0,0 +1,13 @@
1
+ import { ControlProps, OwnPropsOfControl, RankedTester } from "@jsonforms/core";
2
+ import { ComponentType } from "react";
3
+ import { ComponentPool } from "./types";
4
+ export interface CustomTypeData extends CustomTypeComponent {
5
+ }
6
+ interface CustomTypeComponent {
7
+ tester: RankedTester;
8
+ renderer: ComponentType<OwnPropsOfControl>;
9
+ }
10
+ export declare const registerComponent: (xType: string, Renderer: ComponentType<ControlProps>, mode: ComponentPool, overrideTester?: RankedTester) => void;
11
+ export declare const getComponents: (mode: ComponentPool) => Readonly<Array<CustomTypeComponent>>;
12
+ export declare const getComponent: (mode: ComponentPool, xType: string) => CustomTypeComponent | undefined;
13
+ export {};
@@ -0,0 +1,49 @@
1
+ import { withJsonFormsControlProps } from "@jsonforms/react";
2
+ import React from "react";
3
+ import { isXType } from "../util/xtype";
4
+ import { ComponentPool } from "./types";
5
+ // Stored seperately to avoid more expensive lookups
6
+ const componentRegistry = {
7
+ [ComponentPool.FORM]: new Map(),
8
+ [ComponentPool.PRESENTATION]: new Map()
9
+ };
10
+ export const registerComponent = (xType, Renderer, mode, overrideTester) => {
11
+ if (overrideTester) {
12
+ componentRegistry[mode].set(xType, {
13
+ tester: overrideTester,
14
+ renderer: withJsonFormsControlProps(Renderer)
15
+ });
16
+ return;
17
+ }
18
+ if (componentRegistry[mode].has(xType)) {
19
+ console.error("Tried to register duplicate component name:", xType);
20
+ return;
21
+ }
22
+ // Wrap the component in a visibility checker
23
+ const wrapped = (props) => {
24
+ if (!props.visible)
25
+ return null;
26
+ return React.createElement(Renderer, Object.assign({}, props));
27
+ };
28
+ componentRegistry[mode].set(xType, {
29
+ tester: isXType(xType),
30
+ renderer: withJsonFormsControlProps(wrapped)
31
+ });
32
+ };
33
+ export const getComponents = (mode) => {
34
+ const list = [...componentRegistry[mode].values()];
35
+ return (list.map(c => ({ renderer: c.renderer, tester: c.tester })));
36
+ };
37
+ export const getComponent = (mode, xType) => {
38
+ const comp = componentRegistry[mode].get(xType);
39
+ if (!comp)
40
+ return undefined;
41
+ return ({ tester: comp.tester, renderer: comp.renderer });
42
+ };
43
+ /*
44
+ export const genComponentSchema = (mode: ComponentPool, xType: string): ComponentDataSchema | undefined =>
45
+ {
46
+ const comp = componentRegistry[mode].get(xType)
47
+ if (!comp) return undefined;
48
+ return structuredClone(comp.schema);
49
+ }*/
@@ -0,0 +1,10 @@
1
+ import { JsonSchema } from "@jsonforms/core";
2
+ import { TemplateField } from "../schema/formBuilders/formBuilderJsonSchema";
3
+ import { JsonSchemaWithXType } from "../types/jsonSchema";
4
+ /**
5
+ * If type is not a default json schema type, it is treated as x-type.
6
+ * E.g. "number" will define the default number field, whereas "address" will define a custom field
7
+ */
8
+ export declare const registerType: (name: string, title: string, schema: JsonSchema, options: JsonSchemaWithXType, optionsRequired: boolean) => void;
9
+ export declare const getAllTypes: () => Array<TemplateField>;
10
+ export declare const getType: (xType: string) => TemplateField | undefined;
@@ -0,0 +1,19 @@
1
+ const typeRegistry = new Map();
2
+ /**
3
+ * If type is not a default json schema type, it is treated as x-type.
4
+ * E.g. "number" will define the default number field, whereas "address" will define a custom field
5
+ */
6
+ export const registerType = (name, title, schema, options, optionsRequired) => {
7
+ if (typeRegistry.has(name)) {
8
+ console.error("Tried to register duplicate name:", name);
9
+ return;
10
+ }
11
+ const withXType = Object.assign({ "x-type": name }, schema);
12
+ typeRegistry.set(name, { name, title, options, optionsRequired, schema: withXType });
13
+ };
14
+ export const getAllTypes = () => {
15
+ return structuredClone([...typeRegistry.values()]);
16
+ };
17
+ export const getType = (xType) => {
18
+ return structuredClone(typeRegistry.get(xType));
19
+ };
@@ -0,0 +1,5 @@
1
+ export declare enum ComponentPool {
2
+ PRESENTATION = 0,
3
+ FORM = 1
4
+ }
5
+ export type ComponentDataSchema = object;
@@ -0,0 +1,5 @@
1
+ export var ComponentPool;
2
+ (function (ComponentPool) {
3
+ ComponentPool[ComponentPool["PRESENTATION"] = 0] = "PRESENTATION";
4
+ ComponentPool[ComponentPool["FORM"] = 1] = "FORM";
5
+ })(ComponentPool || (ComponentPool = {}));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,67 @@
1
+ 'use client';
2
+ import React, { useEffect, useMemo, useState } from 'react';
3
+ import { Paper, Typography, TextField, Grid, Divider } from '@mui/material';
4
+ import { registerComponent } from '../registry/components';
5
+ import { ComponentPool } from '../registry/types';
6
+ const FormAddress = ({ data, onChange, enabled, label, postcodePattern }) => {
7
+ var _a;
8
+ const [postcodeInvalid, setPostcodeInvalid] = useState(false);
9
+ const [postcodeHelperText, setPostcodeHelperText] = useState('');
10
+ const validatePostcode = (value) => {
11
+ if (!value)
12
+ return true;
13
+ const regex = new RegExp(postcodePattern || '^[A-Z]{1,2}[0-9][0-9A-Z]? ?[0-9][A-Z]{2}$', 'i');
14
+ return regex.test(value);
15
+ };
16
+ const handlePostcodeChange = (value) => {
17
+ const valid = validatePostcode(value);
18
+ setPostcodeInvalid(!valid);
19
+ setPostcodeHelperText(valid ? '' : 'Please enter a valid postcode (e.g., SW1A 1AA)');
20
+ onChange('postcode', value);
21
+ };
22
+ const hasAddress = useMemo(() => !!(data.line1 || data.line2 || data.city || data.county || data.postcode), [data]);
23
+ useEffect(() => {
24
+ if (hasAddress) {
25
+ console.log('Address updated:', data);
26
+ }
27
+ }, [hasAddress, data]);
28
+ return (React.createElement(Paper, { sx: { display: 'flex', flexDirection: 'column', gap: 2, p: 2, mb: 1 }, component: "form", noValidate: true, autoComplete: "off" },
29
+ React.createElement(Typography, { variant: "h6" }, label),
30
+ React.createElement(Grid, { container: true, spacing: 2 },
31
+ React.createElement(Grid, { item: true, xs: 12 },
32
+ React.createElement(TextField, { fullWidth: true, label: "Address Line 1", value: data.line1 || '', onChange: (e) => onChange('line1', e.target.value), disabled: !enabled, required: true })),
33
+ React.createElement(Grid, { item: true, xs: 12 },
34
+ React.createElement(TextField, { fullWidth: true, label: "Address Line 2", value: data.line2 || '', onChange: (e) => onChange('line2', e.target.value), disabled: !enabled })),
35
+ React.createElement(Grid, { item: true, xs: 12, sm: 6 },
36
+ React.createElement(TextField, { fullWidth: true, label: "City", value: data.city || '', onChange: (e) => onChange('city', e.target.value), disabled: !enabled, required: true })),
37
+ React.createElement(Grid, { item: true, xs: 12, sm: 6 },
38
+ React.createElement(TextField, { fullWidth: true, label: "County", value: data.county || '', onChange: (e) => onChange('county', e.target.value), disabled: !enabled })),
39
+ React.createElement(Grid, { item: true, xs: 12, sm: 6 },
40
+ React.createElement(TextField, { fullWidth: true, label: "Postcode", value: data.postcode || '', onChange: (e) => handlePostcodeChange(e.target.value), error: postcodeInvalid, helperText: postcodeHelperText, disabled: !enabled, required: true })),
41
+ React.createElement(Grid, { item: true, xs: 12, sm: 6 },
42
+ React.createElement(TextField, { fullWidth: true, label: "Number", type: "number", value: (_a = data.number) !== null && _a !== void 0 ? _a : '', onChange: (e) => onChange('number', e.target.value === '' ? '' : Number(e.target.value)), disabled: !enabled }))),
43
+ React.createElement(Divider, null),
44
+ React.createElement(Typography, { variant: "subtitle1" }, "Location Preview"),
45
+ React.createElement("div", { style: {
46
+ height: '250px',
47
+ display: 'flex',
48
+ alignItems: 'center',
49
+ justifyContent: 'center',
50
+ border: '1px solid #ccc',
51
+ borderRadius: '8px',
52
+ fontSize: '0.9rem',
53
+ color: '#777'
54
+ } }, "[Map Placeholder]")));
55
+ };
56
+ const FormRendererAddress = ({ data, handleChange, path, enabled, label, schema }) => {
57
+ var _a, _b;
58
+ const safeData = data || {
59
+ line1: '', line2: '', city: '', county: '', postcode: '', number: undefined
60
+ };
61
+ const postcodePattern = ((_b = (_a = schema === null || schema === void 0 ? void 0 : schema.properties) === null || _a === void 0 ? void 0 : _a.postcode) === null || _b === void 0 ? void 0 : _b.pattern) || undefined;
62
+ const handleFieldChange = (key, value) => {
63
+ handleChange(`${path}.${key}`, value);
64
+ };
65
+ return (React.createElement(FormAddress, { data: safeData, onChange: handleFieldChange, enabled: enabled, label: label, postcodePattern: postcodePattern }));
66
+ };
67
+ registerComponent("address", FormRendererAddress, ComponentPool.FORM);
@@ -0,0 +1,20 @@
1
+ import { DTOComponentRead } from '../../api/generated/core/exports';
2
+ export declare const fetchComponents: () => Promise<{
3
+ data: {
4
+ revisions: DTOComponentRead[];
5
+ id: string;
6
+ templateId: string;
7
+ revisionGroupId: string;
8
+ revision: number;
9
+ metadata: import("../../api/generated/core/exports").Metadata;
10
+ name: string;
11
+ componentFields: Array<import("../../api/generated/core/exports").Field>;
12
+ partners: Array<string>;
13
+ bundle: Array<import("../../api/generated/core/exports").Bundle>;
14
+ startDate?: string | null;
15
+ endDate?: string | null;
16
+ duration?: number | null;
17
+ details: import("../../api/generated/core/exports").ComponentDetails;
18
+ state?: string | null;
19
+ }[];
20
+ }>;
@@ -0,0 +1,67 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import React, { useEffect, useMemo, useState } from 'react';
11
+ import { Paper, Typography, Box, TextField, Autocomplete } from '@mui/material';
12
+ import { useLocalErrors } from '../hooks/errors';
13
+ import { ComponentPool } from '../registry/types';
14
+ import { registerComponent } from '../registry/components';
15
+ import { services } from '../../api/init';
16
+ const FormComponentPicker = ({ components, selectedComponent, onChange, templateIds, getError, label, enabled }) => {
17
+ const selected = components.find(c => c.id === selectedComponent) || null;
18
+ return (React.createElement(Paper, { component: "form", sx: { display: 'flex', flexDirection: 'column', gap: 1, p: 2, mb: 1 }, noValidate: true, autoComplete: "off" },
19
+ React.createElement(Typography, { variant: 'h6' }, label),
20
+ React.createElement(Autocomplete, { options: components, getOptionLabel: (option) => option.name, getOptionKey: o => o.id, value: selected, onChange: (_, newValue) => onChange(newValue ? newValue.id : null), renderInput: (params) => (React.createElement(TextField, Object.assign({}, params, { variant: "outlined", placeholder: "Search and select a component", disabled: !enabled }))), renderOption: (props, option) => (React.createElement("li", Object.assign({}, props),
21
+ React.createElement(Box, null,
22
+ React.createElement(Typography, { variant: "body1" }, option.name),
23
+ React.createElement(Typography, { variant: "caption", color: "text.secondary" },
24
+ "Version: v",
25
+ option.revision)))), isOptionEqualToValue: (option, value) => option.id === value.id })));
26
+ };
27
+ const FormRendererComponentPicker = ({ data, handleChange, path, label, enabled, schema }) => {
28
+ const [components, setComponents] = useState([]);
29
+ const getError = useLocalErrors(path);
30
+ const templateIds = useMemo(() =>
31
+ // @ts-ignore
32
+ schema['x-templateIds'] || [], [schema]);
33
+ useEffect(() => {
34
+ const load = () => __awaiter(void 0, void 0, void 0, function* () {
35
+ try {
36
+ const fetched = yield fetchComponents();
37
+ let filtered = fetched.data;
38
+ if (templateIds.length > 0) {
39
+ filtered = filtered.filter(c => templateIds.includes(c.templateId));
40
+ }
41
+ setComponents(filtered);
42
+ }
43
+ catch (err) {
44
+ console.error('Error loading components:', err);
45
+ }
46
+ });
47
+ load();
48
+ }, [templateIds]);
49
+ return (React.createElement(FormComponentPicker, { components: components, selectedComponent: data || null, onChange: (id) => handleChange(path, id), templateIds: templateIds, getError: getError, label: label, enabled: enabled }));
50
+ };
51
+ registerComponent("component", FormRendererComponentPicker, ComponentPool.FORM);
52
+ export const fetchComponents = () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const componentsByGroup = new Map();
54
+ const data = yield services.CoreService.componentList(1, 1000);
55
+ (data.data || []).forEach((component) => {
56
+ const groupId = component.revisionGroupId;
57
+ if (!componentsByGroup.has(groupId)) {
58
+ componentsByGroup.set(groupId, []);
59
+ }
60
+ componentsByGroup.get(groupId).push(component);
61
+ });
62
+ const latestComponents = Array.from(componentsByGroup.values()).map((components) => {
63
+ const sortedComponents = components.sort((a, b) => b.revision - a.revision);
64
+ return Object.assign(Object.assign({}, sortedComponents[0]), { revisions: sortedComponents });
65
+ });
66
+ return { data: latestComponents };
67
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { Paper, TextField, Typography } from '@mui/material';
3
+ const FormDebug = ({ path, label }) => {
4
+ return (React.createElement(Paper, { component: "form", sx: { display: 'flex', flexDirection: 'column', gap: 1, p: 2, background: "#CBC3E3", mb: 1 }, noValidate: true, autoComplete: "off" },
5
+ React.createElement(Typography, { variant: 'h6' }, label),
6
+ React.createElement(TextField, { label: "Path", value: path })));
7
+ };
8
+ const FormRendererDebug = ({ path, label }) => {
9
+ return React.createElement(FormDebug, { label: label, path: path });
10
+ };
11
+ // Will render any components if they do not have a renderer, for testing
12
+ //registerComponent("", FormRendererDebug, ComponentPool.FORM, () => 1)
13
+ //registerComponent("", FormRendererDebug, ComponentPool.PRESENTATION, () => 1)
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ import React, { useMemo, useState } from 'react';
2
+ import { debounce, Paper, TextField, Typography } from '@mui/material';
3
+ import { useLocalErrors } from '../hooks/errors';
4
+ import { ComponentPool } from '../registry/types';
5
+ import { registerComponent } from '../registry/components';
6
+ // The base component used to render. Can be exported for external use
7
+ const FormExample = ({ text, onChange, getError, label, enabled }) => {
8
+ var _a;
9
+ const [val, setVal] = useState(text);
10
+ // Gets any error associated with this component. If there are multiple, it gets the first
11
+ const error = getError ? (_a = getError("example")) === null || _a === void 0 ? void 0 : _a.message : undefined;
12
+ const onChangeDebounced = useMemo(() => debounce(onChange, 300), [onChange]);
13
+ // Handle internal state, and debounce submission to avoid constant validations
14
+ const update = (value) => {
15
+ setVal(value);
16
+ onChangeDebounced(value);
17
+ };
18
+ return (React.createElement(Paper, { component: "form", sx: { display: 'flex', flexDirection: 'column', gap: 1, p: 2, background: "#CBC3E3", mb: 1 }, noValidate: true, autoComplete: "off" },
19
+ !enabled && "THIS IS DISABLED",
20
+ React.createElement(Typography, { variant: 'h6' }, label),
21
+ React.createElement(TextField, { label: "Example label", value: val, onChange: (e) => update(e.target.value), error: !!error, helperText: error, disabled: !enabled })));
22
+ };
23
+ // Wrapper component for converting the base component into a jsonforms compatible version
24
+ const FormRendererExample = ({ data, handleChange, path, label, enabled }) => {
25
+ const getError = useLocalErrors(path);
26
+ return React.createElement(FormExample, { text: data, onChange: (addr) => handleChange(path, addr), getError: getError, label: label, enabled: enabled });
27
+ };
28
+ // Register this component for x-type: example
29
+ // Register this component for all form modes
30
+ registerComponent("example", FormRendererExample, ComponentPool.FORM);
31
+ registerComponent("example", FormRendererExample, ComponentPool.PRESENTATION);
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ErrorObject } from "ajv";
3
+ interface Props {
4
+ url: string;
5
+ onChange: (string: string) => void;
6
+ getError?: (field: string) => ErrorObject<string, Record<string, any>, unknown> | undefined;
7
+ enabled: boolean;
8
+ }
9
+ declare const FormImage: React.FC<Props>;
10
+ export default FormImage;