payload 0.20.1 → 0.20.4-beta.0

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 (363) hide show
  1. package/.eslintrc.js +21 -0
  2. package/CHANGELOG.md +33 -1
  3. package/components/elements.ts +1 -0
  4. package/components/index.js +2 -2
  5. package/components/styles.css +1 -1
  6. package/dist/admin/assets/fonts/SuisseIntl-Medium.woff +0 -0
  7. package/dist/admin/assets/fonts/SuisseIntl-Medium.woff2 +0 -0
  8. package/dist/admin/assets/fonts/merriweather-v30-latin-700.woff +0 -0
  9. package/dist/admin/assets/fonts/merriweather-v30-latin-700.woff2 +0 -0
  10. package/dist/admin/assets/fonts/merriweather-v30-latin-700italic.woff +0 -0
  11. package/dist/admin/assets/fonts/merriweather-v30-latin-700italic.woff2 +0 -0
  12. package/dist/admin/assets/fonts/merriweather-v30-latin-italic.woff +0 -0
  13. package/dist/admin/assets/fonts/merriweather-v30-latin-italic.woff2 +0 -0
  14. package/dist/admin/assets/fonts/merriweather-v30-latin-regular.woff +0 -0
  15. package/dist/admin/assets/fonts/merriweather-v30-latin-regular.woff2 +0 -0
  16. package/dist/admin/components/{forms/DraggableSection/ActionPanel → elements/ArrayAction}/index.d.ts +1 -2
  17. package/dist/admin/components/elements/ArrayAction/index.js +44 -0
  18. package/dist/admin/components/elements/ArrayAction/index.scss +54 -0
  19. package/dist/admin/components/elements/ArrayAction/types.d.ts +8 -0
  20. package/dist/admin/components/{forms/DraggableSection/ActionPanel → elements/ArrayAction}/types.js +0 -0
  21. package/dist/admin/components/elements/Banner/index.scss +13 -12
  22. package/dist/admin/components/elements/Button/index.js +2 -1
  23. package/dist/admin/components/elements/Button/index.scss +22 -21
  24. package/dist/admin/components/elements/Button/types.d.ts +2 -0
  25. package/dist/admin/components/elements/Card/index.js +3 -2
  26. package/dist/admin/components/elements/Card/index.scss +2 -2
  27. package/dist/admin/components/elements/Card/types.d.ts +1 -0
  28. package/dist/admin/components/{forms/DraggableSection/PositionPanel → elements/Collapsible}/index.d.ts +1 -2
  29. package/dist/admin/components/elements/Collapsible/index.js +43 -0
  30. package/dist/admin/components/elements/Collapsible/index.scss +113 -0
  31. package/dist/admin/components/elements/Collapsible/provider.d.ts +8 -0
  32. package/dist/admin/components/elements/Collapsible/provider.js +7 -0
  33. package/dist/admin/components/{forms/FieldTypeGutter → elements/Collapsible}/types.d.ts +7 -4
  34. package/dist/admin/components/{forms/DraggableSection/PositionPanel → elements/Collapsible}/types.js +0 -0
  35. package/dist/admin/components/elements/ColumnSelector/index.js +6 -3
  36. package/dist/admin/components/elements/ColumnSelector/index.scss +10 -1
  37. package/dist/admin/components/elements/DatePicker/index.scss +92 -47
  38. package/dist/admin/components/elements/DeleteDocument/index.js +5 -5
  39. package/dist/admin/components/elements/DeleteDocument/index.scss +5 -0
  40. package/dist/admin/components/elements/DeleteDocument/types.d.ts +1 -0
  41. package/dist/admin/components/elements/DuplicateDocument/index.js +1 -1
  42. package/dist/admin/components/elements/Eyebrow/index.js +4 -2
  43. package/dist/admin/components/elements/Eyebrow/index.scss +10 -6
  44. package/dist/admin/components/elements/FileDetails/index.scss +4 -4
  45. package/dist/admin/components/elements/GenerateConfirmation/index.js +1 -1
  46. package/dist/admin/components/elements/GenerateConfirmation/index.scss +5 -0
  47. package/dist/admin/components/elements/Gutter/index.d.ts +13 -0
  48. package/dist/admin/components/elements/Gutter/index.js +16 -0
  49. package/dist/admin/components/elements/Gutter/index.scss +19 -0
  50. package/dist/admin/components/elements/IDLabel/index.scss +2 -2
  51. package/dist/admin/components/elements/Loading/index.js +1 -1
  52. package/dist/admin/components/elements/Localizer/index.scss +2 -1
  53. package/dist/admin/components/elements/Nav/index.scss +12 -7
  54. package/dist/admin/components/elements/Paginator/ClickableArrow/index.scss +2 -2
  55. package/dist/admin/components/elements/Paginator/index.scss +5 -5
  56. package/dist/admin/components/elements/PerPage/index.js +1 -1
  57. package/dist/admin/components/elements/PerPage/index.scss +1 -2
  58. package/dist/admin/components/elements/Pill/index.scss +20 -16
  59. package/dist/admin/components/elements/Popup/PopupButton/index.js +2 -1
  60. package/dist/admin/components/elements/Popup/PopupButton/types.d.ts +1 -0
  61. package/dist/admin/components/elements/Popup/index.js +7 -7
  62. package/dist/admin/components/elements/Popup/index.scss +20 -17
  63. package/dist/admin/components/elements/Popup/types.d.ts +1 -0
  64. package/dist/admin/components/elements/ReactSelect/index.scss +20 -12
  65. package/dist/admin/components/elements/SortComplex/index.scss +3 -2
  66. package/dist/admin/components/elements/Status/index.js +2 -2
  67. package/dist/admin/components/elements/Status/index.scss +5 -0
  68. package/dist/admin/components/elements/StepNav/index.scss +0 -6
  69. package/dist/admin/components/elements/Table/index.js +2 -2
  70. package/dist/admin/components/elements/Table/index.scss +7 -4
  71. package/dist/admin/components/elements/Tooltip/index.scss +9 -9
  72. package/dist/admin/components/elements/UploadCard/index.scss +1 -1
  73. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.scss +3 -3
  74. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +2 -2
  75. package/dist/admin/components/elements/WhereBuilder/index.js +1 -1
  76. package/dist/admin/components/elements/WhereBuilder/index.scss +1 -1
  77. package/dist/admin/components/forms/Error/index.scss +2 -3
  78. package/dist/admin/components/forms/FieldDescription/index.js +6 -2
  79. package/dist/admin/components/forms/FieldDescription/index.scss +1 -1
  80. package/dist/admin/components/forms/FieldDescription/types.d.ts +3 -2
  81. package/dist/admin/components/forms/FieldDescription/types.js +1 -1
  82. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +17 -0
  83. package/dist/admin/components/forms/Form/fieldReducer.js +18 -0
  84. package/dist/admin/components/forms/Label/index.scss +2 -2
  85. package/dist/admin/components/forms/RenderFields/index.js +2 -2
  86. package/dist/admin/components/forms/RenderFields/types.d.ts +1 -0
  87. package/dist/admin/components/forms/Submit/index.js +2 -2
  88. package/dist/admin/components/forms/field-types/Array/Array.js +93 -12
  89. package/dist/admin/components/forms/field-types/Array/index.scss +33 -35
  90. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/index.scss +3 -1
  91. package/dist/admin/components/forms/field-types/Blocks/Blocks.js +83 -37
  92. package/dist/admin/components/forms/{DraggableSection → field-types/Blocks}/SectionTitle/index.d.ts +0 -0
  93. package/dist/admin/components/forms/{DraggableSection → field-types/Blocks}/SectionTitle/index.js +8 -6
  94. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/index.scss +49 -0
  95. package/dist/admin/components/forms/{DraggableSection → field-types/Blocks}/SectionTitle/types.d.ts +0 -1
  96. package/dist/admin/components/forms/{DraggableSection → field-types/Blocks}/SectionTitle/types.js +0 -0
  97. package/dist/admin/components/forms/field-types/Blocks/index.scss +53 -27
  98. package/dist/admin/components/forms/field-types/Checkbox/index.js +1 -1
  99. package/dist/admin/components/forms/field-types/Checkbox/index.scss +2 -2
  100. package/dist/admin/components/forms/field-types/Code/Code.js +4 -4
  101. package/dist/admin/components/forms/field-types/Code/index.scss +4 -4
  102. package/dist/admin/components/forms/{FieldTypeGutter → field-types/Collapsible}/index.d.ts +2 -2
  103. package/dist/admin/components/forms/field-types/Collapsible/index.js +44 -0
  104. package/dist/admin/components/forms/field-types/Collapsible/index.scss +11 -0
  105. package/dist/admin/components/forms/field-types/Collapsible/types.d.ts +8 -0
  106. package/dist/admin/components/forms/{DraggableSection → field-types/Collapsible}/types.js +0 -0
  107. package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +2 -2
  108. package/dist/admin/components/forms/field-types/ConfirmPassword/index.scss +9 -9
  109. package/dist/admin/components/forms/field-types/DateTime/index.js +1 -1
  110. package/dist/admin/components/forms/field-types/DateTime/index.scss +1 -1
  111. package/dist/admin/components/forms/field-types/Email/index.js +1 -1
  112. package/dist/admin/components/forms/field-types/Email/index.scss +8 -8
  113. package/dist/admin/components/forms/field-types/Group/index.js +11 -14
  114. package/dist/admin/components/forms/field-types/Group/index.scss +25 -37
  115. package/dist/admin/components/forms/field-types/HiddenInput/index.js +1 -1
  116. package/dist/admin/components/forms/field-types/Number/index.js +2 -2
  117. package/dist/admin/components/forms/field-types/Number/index.scss +9 -9
  118. package/dist/admin/components/forms/field-types/Password/index.js +2 -2
  119. package/dist/admin/components/forms/field-types/Password/index.scss +9 -9
  120. package/dist/admin/components/forms/field-types/Point/index.js +4 -4
  121. package/dist/admin/components/forms/field-types/Point/index.scss +9 -9
  122. package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +22 -0
  123. package/dist/admin/components/forms/field-types/RadioGroup/Input.js +41 -0
  124. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +1 -1
  125. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.scss +4 -4
  126. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +2 -1
  127. package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts +0 -1
  128. package/dist/admin/components/forms/field-types/RadioGroup/index.js +2 -35
  129. package/dist/admin/components/forms/field-types/RadioGroup/types.d.ts +1 -0
  130. package/dist/admin/components/forms/field-types/Relationship/index.js +1 -1
  131. package/dist/admin/components/forms/field-types/Relationship/index.scss +4 -4
  132. package/dist/admin/components/forms/field-types/RichText/RichText.js +30 -31
  133. package/dist/admin/components/forms/field-types/RichText/elements/link/index.js +1 -1
  134. package/dist/admin/components/forms/field-types/RichText/elements/link/index.scss +6 -6
  135. package/dist/admin/components/forms/field-types/RichText/elements/ol/index.d.ts +1 -0
  136. package/dist/admin/components/forms/field-types/RichText/elements/ol/index.js +2 -1
  137. package/dist/admin/components/forms/field-types/RichText/elements/ol/index.scss +7 -0
  138. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js +1 -1
  139. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.scss +5 -3
  140. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.scss +13 -2
  141. package/dist/admin/components/forms/field-types/RichText/elements/ul/index.d.ts +1 -0
  142. package/dist/admin/components/forms/field-types/RichText/elements/ul/index.js +2 -1
  143. package/dist/admin/components/forms/field-types/RichText/elements/ul/index.scss +7 -0
  144. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.scss +6 -2
  145. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.js +1 -1
  146. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.scss +17 -4
  147. package/dist/admin/components/forms/field-types/RichText/elements/upload/addSwapModals.scss +2 -0
  148. package/dist/admin/components/forms/field-types/RichText/index.scss +66 -20
  149. package/dist/admin/components/forms/field-types/Select/Input.js +1 -1
  150. package/dist/admin/components/forms/field-types/Select/index.scss +1 -1
  151. package/dist/admin/components/forms/field-types/Tabs/index.d.ts +5 -0
  152. package/dist/admin/components/forms/field-types/Tabs/index.js +36 -0
  153. package/dist/admin/components/forms/field-types/Tabs/index.scss +91 -0
  154. package/dist/admin/components/forms/field-types/Tabs/types.d.ts +8 -0
  155. package/dist/admin/components/forms/{FieldTypeGutter → field-types/Tabs}/types.js +0 -0
  156. package/dist/admin/components/forms/field-types/Text/Input.js +2 -2
  157. package/dist/admin/components/forms/field-types/Text/index.scss +9 -9
  158. package/dist/admin/components/forms/field-types/Textarea/Input.js +2 -2
  159. package/dist/admin/components/forms/field-types/Textarea/index.scss +1 -1
  160. package/dist/admin/components/forms/field-types/Upload/Add/index.js +1 -3
  161. package/dist/admin/components/forms/field-types/Upload/Add/index.scss +2 -0
  162. package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.scss +2 -0
  163. package/dist/admin/components/forms/field-types/Upload/index.scss +2 -2
  164. package/dist/admin/components/forms/field-types/index.d.ts +2 -0
  165. package/dist/admin/components/forms/field-types/index.js +4 -0
  166. package/dist/admin/components/forms/field-types/rowReducer.d.ts +39 -1
  167. package/dist/admin/components/forms/field-types/rowReducer.js +18 -5
  168. package/dist/admin/components/forms/useField/index.js +4 -5
  169. package/dist/admin/components/graphics/Account/index.js +14 -4
  170. package/dist/admin/components/graphics/Icon/index.js +9 -3
  171. package/dist/admin/components/graphics/Logo/index.js +16 -10
  172. package/dist/admin/components/icons/Calendar/index.scss +1 -1
  173. package/dist/admin/components/icons/Check/index.scss +1 -1
  174. package/dist/admin/components/icons/Chevron/index.scss +1 -1
  175. package/dist/admin/components/icons/CloseMenu/index.scss +1 -1
  176. package/dist/admin/components/icons/Copy/index.scss +1 -1
  177. package/dist/admin/components/icons/Drag/index.d.ts +6 -0
  178. package/dist/admin/components/icons/Drag/index.js +13 -0
  179. package/dist/admin/components/icons/Drag/index.scss +10 -0
  180. package/dist/admin/components/icons/Edit/index.scss +1 -1
  181. package/dist/admin/components/icons/IndentLeft/index.scss +2 -2
  182. package/dist/admin/components/icons/IndentRight/index.js +1 -1
  183. package/dist/admin/components/icons/IndentRight/index.scss +2 -2
  184. package/dist/admin/components/icons/LogOut/index.scss +1 -1
  185. package/dist/admin/components/icons/Menu/index.d.ts +1 -0
  186. package/dist/admin/components/icons/Menu/index.js +5 -4
  187. package/dist/admin/components/icons/Menu/index.scss +7 -0
  188. package/dist/admin/components/icons/More/index.d.ts +6 -0
  189. package/dist/admin/components/icons/More/index.js +10 -0
  190. package/dist/admin/components/icons/More/index.scss +10 -0
  191. package/dist/admin/components/icons/Plus/index.scss +1 -1
  192. package/dist/admin/components/icons/Relationship/index.scss +1 -1
  193. package/dist/admin/components/icons/Search/index.d.ts +1 -0
  194. package/dist/admin/components/icons/Search/index.js +4 -3
  195. package/dist/admin/components/icons/Search/index.scss +11 -0
  196. package/dist/admin/components/icons/Swap/index.scss +1 -1
  197. package/dist/admin/components/icons/Upload/index.scss +1 -1
  198. package/dist/admin/components/icons/X/index.d.ts +3 -1
  199. package/dist/admin/components/icons/X/index.js +4 -1
  200. package/dist/admin/components/icons/X/index.scss +1 -1
  201. package/dist/admin/components/modals/LeaveWithoutSaving/index.js +1 -1
  202. package/dist/admin/components/modals/LeaveWithoutSaving/index.scss +5 -0
  203. package/dist/admin/components/modals/StayLoggedIn/index.js +1 -1
  204. package/dist/admin/components/modals/StayLoggedIn/index.scss +5 -0
  205. package/dist/admin/components/templates/Default/index.scss +1 -7
  206. package/dist/admin/components/utilities/DocumentInfo/index.js +11 -0
  207. package/dist/admin/components/utilities/DocumentInfo/types.d.ts +2 -0
  208. package/dist/admin/components/utilities/Theme/index.d.ts +13 -0
  209. package/dist/admin/components/utilities/Theme/index.js +47 -0
  210. package/dist/admin/components/views/Account/Default.js +9 -4
  211. package/dist/admin/components/views/Account/ToggleTheme/index.d.ts +2 -0
  212. package/dist/admin/components/views/Account/ToggleTheme/index.js +23 -0
  213. package/dist/admin/components/views/Account/index.js +12 -14
  214. package/dist/admin/components/views/Account/index.scss +37 -21
  215. package/dist/admin/components/views/CreateFirstUser/index.js +4 -6
  216. package/dist/admin/components/views/Dashboard/Default.js +5 -4
  217. package/dist/admin/components/views/Dashboard/index.scss +3 -11
  218. package/dist/admin/components/views/Global/Default.js +3 -2
  219. package/dist/admin/components/views/Global/index.js +12 -14
  220. package/dist/admin/components/views/Global/index.scss +22 -22
  221. package/dist/admin/components/views/NotFound/index.d.ts +0 -1
  222. package/dist/admin/components/views/NotFound/index.js +2 -2
  223. package/dist/admin/components/views/Version/Compare/index.scss +3 -3
  224. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +4 -4
  225. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +1 -1
  226. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -1
  227. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +1 -1
  228. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +7 -0
  229. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -0
  230. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -1
  231. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.scss +1 -1
  232. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.d.ts +6 -0
  233. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.js +3 -0
  234. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.d.ts +13 -0
  235. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.js +13 -0
  236. package/dist/admin/components/views/Version/RenderFieldsToDiff/index.js +5 -1
  237. package/dist/admin/components/views/Version/Restore/index.js +1 -1
  238. package/dist/admin/components/views/Version/Restore/index.scss +5 -0
  239. package/dist/admin/components/views/Version/Version.js +2 -1
  240. package/dist/admin/components/views/Version/index.scss +4 -7
  241. package/dist/admin/components/views/Versions/index.js +3 -2
  242. package/dist/admin/components/views/Versions/index.scss +2 -12
  243. package/dist/admin/components/views/collections/Edit/Auth/index.scss +3 -2
  244. package/dist/admin/components/views/collections/Edit/Default.js +5 -4
  245. package/dist/admin/components/views/collections/Edit/Upload/index.scss +5 -5
  246. package/dist/admin/components/views/collections/Edit/index.js +16 -18
  247. package/dist/admin/components/views/collections/Edit/index.scss +20 -21
  248. package/dist/admin/components/views/collections/List/Cell/field-types/Checkbox/index.scss +4 -4
  249. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.scss +4 -4
  250. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.d.ts +1 -0
  251. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.js +41 -34
  252. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.scss +3 -0
  253. package/dist/admin/components/views/collections/List/Cell/field-types/Upload/index.d.ts +0 -5
  254. package/dist/admin/components/views/collections/List/Cell/field-types/Upload/index.js +0 -4
  255. package/dist/admin/components/views/collections/List/Cell/field-types/index.d.ts +1 -3
  256. package/dist/admin/components/views/collections/List/Cell/field-types/index.js +1 -2
  257. package/dist/admin/components/views/collections/List/Default.js +8 -6
  258. package/dist/admin/components/views/collections/List/RelationshipProvider/index.d.ts +19 -0
  259. package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +46 -0
  260. package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.d.ts +18 -0
  261. package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.js +34 -0
  262. package/dist/admin/components/views/collections/List/buildColumns.js +26 -31
  263. package/dist/admin/components/views/collections/List/getInitialColumns.js +25 -23
  264. package/dist/admin/components/views/collections/List/index.js +2 -2
  265. package/dist/admin/components/views/collections/List/index.scss +4 -15
  266. package/dist/admin/index.js +7 -5
  267. package/dist/admin/scss/app.scss +52 -14
  268. package/dist/admin/scss/colors.scss +245 -0
  269. package/dist/admin/scss/fonts.scss +41 -14
  270. package/dist/admin/scss/resets.scss +1 -0
  271. package/dist/admin/scss/styles.scss +0 -2
  272. package/dist/admin/scss/toastify.scss +12 -8
  273. package/dist/admin/scss/type.scss +11 -9
  274. package/dist/admin/scss/vars.scss +50 -53
  275. package/dist/admin/utilities/flattenTopLevelFields.d.ts +3 -0
  276. package/dist/admin/utilities/flattenTopLevelFields.js +30 -0
  277. package/dist/admin/utilities/getOffsetTop.d.ts +1 -2
  278. package/dist/admin/utilities/getOffsetTop.js +1 -1
  279. package/dist/admin/utilities/scrollToID.d.ts +1 -0
  280. package/dist/admin/utilities/scrollToID.js +10 -0
  281. package/dist/auth/operations/access.js +6 -1
  282. package/dist/bin/generateTypes.js +11 -2
  283. package/dist/collections/graphql/init.js +2 -2
  284. package/dist/collections/operations/local/create.js +1 -1
  285. package/dist/collections/tests/collections.spec.js +1 -78
  286. package/dist/config/defaults.js +1 -2
  287. package/dist/config/schema.js +2 -2
  288. package/dist/config/types.d.ts +2 -2
  289. package/dist/express/admin.js +2 -2
  290. package/dist/fields/config/sanitize.js +8 -1
  291. package/dist/fields/config/schema.d.ts +2 -0
  292. package/dist/fields/config/schema.js +19 -7
  293. package/dist/fields/config/types.d.ts +19 -11
  294. package/dist/fields/config/types.js +2 -2
  295. package/dist/fields/hooks/afterChange/promise.js +18 -2
  296. package/dist/fields/hooks/afterRead/promise.js +22 -2
  297. package/dist/fields/hooks/beforeChange/promise.js +25 -2
  298. package/dist/fields/hooks/beforeValidate/promise.js +20 -2
  299. package/dist/fields/richText/recurseNestedFields.js +15 -1
  300. package/dist/graphql/schema/buildMutationInputType.d.ts +4 -1
  301. package/dist/graphql/schema/buildMutationInputType.js +94 -70
  302. package/dist/graphql/schema/buildObjectType.d.ts +5 -3
  303. package/dist/graphql/schema/buildObjectType.js +114 -71
  304. package/dist/graphql/schema/buildPoliciesType.js +9 -1
  305. package/dist/graphql/schema/buildWhereInputType.js +2 -2
  306. package/dist/graphql/schema/fieldToWhereInputSchemaMap.js +56 -7
  307. package/dist/graphql/schema/withNullableType.js +1 -1
  308. package/dist/index.d.ts +2 -1
  309. package/dist/index.js +9 -7
  310. package/dist/mongoose/buildSchema.js +28 -7
  311. package/dist/mongoose/connect.d.ts +1 -1
  312. package/dist/mongoose/connect.js +24 -19
  313. package/dist/mongoose/testCredentials.d.ts +7 -7
  314. package/dist/mongoose/testCredentials.js +1 -1
  315. package/dist/utilities/mapAsync.d.ts +1 -0
  316. package/dist/utilities/mapAsync.js +8 -0
  317. package/dist/webpack/getBaseConfig.js +1 -2
  318. package/docs/admin/customizing-css.mdx +16 -28
  319. package/docs/fields/collapsible.mdx +44 -0
  320. package/docs/fields/date.mdx +1 -1
  321. package/docs/fields/email.mdx +1 -1
  322. package/docs/fields/group.mdx +1 -1
  323. package/docs/fields/number.mdx +1 -1
  324. package/docs/fields/overview.mdx +1 -0
  325. package/docs/fields/point.mdx +1 -1
  326. package/docs/fields/radio.mdx +1 -1
  327. package/docs/fields/relationship.mdx +1 -1
  328. package/docs/fields/rich-text.mdx +1 -1
  329. package/docs/fields/row.mdx +1 -1
  330. package/docs/fields/select.mdx +1 -1
  331. package/docs/fields/tabs.mdx +9 -0
  332. package/docs/fields/text.mdx +1 -1
  333. package/docs/fields/textarea.mdx +1 -1
  334. package/docs/fields/ui.mdx +1 -1
  335. package/docs/fields/upload.mdx +1 -1
  336. package/package.json +13 -11
  337. package/scss/index.scss +0 -7
  338. package/dist/admin/assets/fonts/SuisseIntl-Light.woff +0 -0
  339. package/dist/admin/assets/fonts/SuisseIntl-Light.woff2 +0 -0
  340. package/dist/admin/assets/fonts/SuisseIntl-Thin.woff +0 -0
  341. package/dist/admin/assets/fonts/SuisseIntl-Thin.woff2 +0 -0
  342. package/dist/admin/components/forms/DraggableSection/ActionPanel/index.js +0 -22
  343. package/dist/admin/components/forms/DraggableSection/ActionPanel/index.scss +0 -12
  344. package/dist/admin/components/forms/DraggableSection/ActionPanel/types.d.ts +0 -11
  345. package/dist/admin/components/forms/DraggableSection/PositionPanel/index.js +0 -18
  346. package/dist/admin/components/forms/DraggableSection/PositionPanel/index.scss +0 -21
  347. package/dist/admin/components/forms/DraggableSection/PositionPanel/types.d.ts +0 -6
  348. package/dist/admin/components/forms/DraggableSection/SectionTitle/index.scss +0 -37
  349. package/dist/admin/components/forms/DraggableSection/index.d.ts +0 -5
  350. package/dist/admin/components/forms/DraggableSection/index.js +0 -40
  351. package/dist/admin/components/forms/DraggableSection/index.scss +0 -113
  352. package/dist/admin/components/forms/DraggableSection/types.d.ts +0 -24
  353. package/dist/admin/components/forms/FieldTypeGutter/context.d.ts +0 -6
  354. package/dist/admin/components/forms/FieldTypeGutter/context.js +0 -9
  355. package/dist/admin/components/forms/FieldTypeGutter/index.js +0 -18
  356. package/dist/admin/components/forms/FieldTypeGutter/index.scss +0 -87
  357. package/dist/admin/components/views/NotFound/index.scss +0 -10
  358. package/dist/collections/tests/uploads.spec.d.ts +0 -1
  359. package/dist/collections/tests/uploads.spec.js +0 -365
  360. package/dist/errors/errors.spec.d.ts +0 -1
  361. package/dist/errors/errors.spec.js +0 -29
  362. package/dist/utilities/flattenTopLevelFields.d.ts +0 -2
  363. package/dist/utilities/flattenTopLevelFields.js +0 -16
@@ -26,21 +26,54 @@ const getCollectionIDType = (config) => {
26
26
  exports.getCollectionIDType = getCollectionIDType;
27
27
  function buildMutationInputType(payload, name, fields, parentName, forceNullable = false) {
28
28
  const fieldToSchemaMap = {
29
- number: (field) => {
29
+ number: (inputObjectTypeConfig, field) => {
30
30
  const type = field.name === 'id' ? graphql_1.GraphQLInt : graphql_1.GraphQLFloat;
31
- return { type: (0, withNullableType_1.default)(field, type, forceNullable) };
31
+ return {
32
+ ...inputObjectTypeConfig,
33
+ [field.name]: { type: (0, withNullableType_1.default)(field, type, forceNullable) },
34
+ };
32
35
  },
33
- text: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
34
- email: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
35
- textarea: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
36
- richText: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_type_json_1.GraphQLJSON, forceNullable) }),
37
- code: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
38
- date: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
39
- upload: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
40
- radio: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) }),
41
- point: (field) => ({ type: (0, withNullableType_1.default)(field, (0, graphql_1.GraphQLList)(graphql_1.GraphQLFloat), forceNullable) }),
42
- checkbox: () => ({ type: graphql_1.GraphQLBoolean }),
43
- select: (field) => {
36
+ text: (inputObjectTypeConfig, field) => ({
37
+ ...inputObjectTypeConfig,
38
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
39
+ }),
40
+ email: (inputObjectTypeConfig, field) => ({
41
+ ...inputObjectTypeConfig,
42
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
43
+ }),
44
+ textarea: (inputObjectTypeConfig, field) => ({
45
+ ...inputObjectTypeConfig,
46
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
47
+ }),
48
+ richText: (inputObjectTypeConfig, field) => ({
49
+ ...inputObjectTypeConfig,
50
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_type_json_1.GraphQLJSON, forceNullable) },
51
+ }),
52
+ code: (inputObjectTypeConfig, field) => ({
53
+ ...inputObjectTypeConfig,
54
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
55
+ }),
56
+ date: (inputObjectTypeConfig, field) => ({
57
+ ...inputObjectTypeConfig,
58
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
59
+ }),
60
+ upload: (inputObjectTypeConfig, field) => ({
61
+ ...inputObjectTypeConfig,
62
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
63
+ }),
64
+ radio: (inputObjectTypeConfig, field) => ({
65
+ ...inputObjectTypeConfig,
66
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString, forceNullable) },
67
+ }),
68
+ point: (inputObjectTypeConfig, field) => ({
69
+ ...inputObjectTypeConfig,
70
+ [field.name]: { type: (0, withNullableType_1.default)(field, (0, graphql_1.GraphQLList)(graphql_1.GraphQLFloat), forceNullable) },
71
+ }),
72
+ checkbox: (inputObjectTypeConfig, field) => ({
73
+ ...inputObjectTypeConfig,
74
+ [field.name]: { type: graphql_1.GraphQLBoolean },
75
+ }),
76
+ select: (inputObjectTypeConfig, field) => {
44
77
  const formattedName = `${(0, combineParentName_1.default)(parentName, field.name)}_MutationInput`;
45
78
  let type = new graphql_1.GraphQLEnumType({
46
79
  name: formattedName,
@@ -66,9 +99,12 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
66
99
  });
67
100
  type = field.hasMany ? new graphql_1.GraphQLList(type) : type;
68
101
  type = (0, withNullableType_1.default)(field, type, forceNullable);
69
- return { type };
102
+ return {
103
+ ...inputObjectTypeConfig,
104
+ [field.name]: { type },
105
+ };
70
106
  },
71
- relationship: (field) => {
107
+ relationship: (inputObjectTypeConfig, field) => {
72
108
  const { relationTo } = field;
73
109
  let type;
74
110
  if (Array.isArray(relationTo)) {
@@ -94,76 +130,64 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
94
130
  else {
95
131
  type = (0, exports.getCollectionIDType)(payload.collections[relationTo].config);
96
132
  }
97
- return { type: field.hasMany ? new graphql_1.GraphQLList(type) : type };
133
+ return {
134
+ ...inputObjectTypeConfig,
135
+ [field.name]: { type: field.hasMany ? new graphql_1.GraphQLList(type) : type },
136
+ };
98
137
  },
99
- array: (field) => {
138
+ array: (inputObjectTypeConfig, field) => {
100
139
  const fullName = (0, combineParentName_1.default)(parentName, field.label === false ? (0, formatLabels_1.toWords)(field.name, true) : field.label);
101
140
  let type = buildMutationInputType(payload, fullName, field.fields, fullName);
102
141
  type = new graphql_1.GraphQLList((0, withNullableType_1.default)(field, type, forceNullable));
103
- return { type };
142
+ return {
143
+ ...inputObjectTypeConfig,
144
+ [field.name]: { type },
145
+ };
104
146
  },
105
- group: (field) => {
147
+ group: (inputObjectTypeConfig, field) => {
106
148
  const requiresAtLeastOneField = field.fields.some((subField) => (!(0, types_1.fieldIsPresentationalOnly)(subField) && subField.required && !subField.localized));
107
149
  const fullName = (0, combineParentName_1.default)(parentName, field.label === false ? (0, formatLabels_1.toWords)(field.name, true) : field.label);
108
150
  let type = buildMutationInputType(payload, fullName, field.fields, fullName);
109
151
  if (requiresAtLeastOneField)
110
152
  type = new graphql_1.GraphQLNonNull(type);
111
- return { type };
153
+ return {
154
+ ...inputObjectTypeConfig,
155
+ [field.name]: { type },
156
+ };
112
157
  },
113
- blocks: () => ({ type: graphql_type_json_1.GraphQLJSON }),
114
- row: (field) => field.fields.reduce((acc, rowField) => {
115
- const getFieldSchema = fieldToSchemaMap[rowField.type];
116
- if (getFieldSchema) {
117
- const fieldSchema = getFieldSchema(rowField);
118
- return [
119
- ...acc,
120
- fieldSchema,
121
- ];
122
- }
123
- return acc;
124
- }, []),
158
+ blocks: (inputObjectTypeConfig, field) => ({
159
+ ...inputObjectTypeConfig,
160
+ [field.name]: { type: graphql_type_json_1.GraphQLJSON },
161
+ }),
162
+ row: (inputObjectTypeConfig, field) => field.fields.reduce((acc, subField) => {
163
+ const addSubField = fieldToSchemaMap[subField.type];
164
+ return addSubField(acc, subField);
165
+ }, inputObjectTypeConfig),
166
+ collapsible: (inputObjectTypeConfig, field) => field.fields.reduce((acc, subField) => {
167
+ const addSubField = fieldToSchemaMap[subField.type];
168
+ return addSubField(acc, subField);
169
+ }, inputObjectTypeConfig),
170
+ tabs: (inputObjectTypeConfig, field) => field.tabs.reduce((acc, tab) => {
171
+ return {
172
+ ...acc,
173
+ ...tab.fields.reduce((subFieldSchema, subField) => {
174
+ const addSubField = fieldToSchemaMap[subField.type];
175
+ return addSubField(subFieldSchema, subField);
176
+ }, acc),
177
+ };
178
+ }, inputObjectTypeConfig),
125
179
  };
126
- const fieldTypes = fields.reduce((schema, field) => {
127
- if (!(0, types_1.fieldIsPresentationalOnly)(field) && !field.hidden) {
128
- const getFieldSchema = fieldToSchemaMap[field.type];
129
- if (getFieldSchema) {
130
- const fieldSchema = getFieldSchema(field);
131
- if ((0, types_1.fieldHasSubFields)(field) && Array.isArray(fieldSchema)) {
132
- return fieldSchema.reduce((acc, subField, i) => {
133
- const currentSubField = field.fields[i];
134
- if ((0, types_1.fieldAffectsData)(currentSubField)) {
135
- return {
136
- ...acc,
137
- [currentSubField.name]: subField,
138
- };
139
- }
140
- return {
141
- ...acc,
142
- ...fieldSchema,
143
- };
144
- }, schema);
145
- }
146
- if ((0, types_1.fieldAffectsData)(field)) {
147
- return {
148
- ...schema,
149
- [field.name]: fieldSchema,
150
- };
151
- }
152
- return {
153
- ...schema,
154
- ...fieldSchema,
155
- };
156
- }
157
- }
158
- return schema;
159
- }, {});
160
180
  const fieldName = (0, formatName_1.default)(name);
161
181
  return new graphql_1.GraphQLInputObjectType({
162
182
  name: `mutation${fieldName}Input`,
163
- fields: {
164
- ...fieldTypes,
165
- },
183
+ fields: fields.reduce((inputObjectTypeConfig, field) => {
184
+ const fieldSchema = fieldToSchemaMap[field.type];
185
+ return {
186
+ ...inputObjectTypeConfig,
187
+ ...fieldSchema(inputObjectTypeConfig, field),
188
+ };
189
+ }, {}),
166
190
  });
167
191
  }
168
192
  exports.default = buildMutationInputType;
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRNdXRhdGlvbklucHV0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUF5QztBQUN6QyxxQ0FXaUI7QUFDakIseURBQWdEO0FBQ2hELDBFQUFrRDtBQUNsRCx5RUFBaUQ7QUFDakQsdUZBQStEO0FBQy9ELHFEQUFpVDtBQUNqVCwrREFBdUQ7QUFJaEQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE1BQWlDLEVBQXFCLEVBQUU7SUFDMUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM5RixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sdUJBQWEsQ0FBQztJQUNuQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDcEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxvQkFBVSxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyx1QkFBYSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyxDQUFDO0FBVFcsUUFBQSxtQkFBbUIsdUJBUzlCO0FBRUYsU0FBUyxzQkFBc0IsQ0FBQyxPQUFnQixFQUFFLElBQVksRUFBRSxNQUFlLEVBQUUsVUFBa0IsRUFBRSxhQUFhLEdBQUcsS0FBSztJQUN4SCxNQUFNLGdCQUFnQixHQUFHO1FBQ3ZCLE1BQU0sRUFBRSxDQUFDLEtBQWtCLEVBQUUsRUFBRTtZQUM3QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQVUsQ0FBQyxDQUFDLENBQUMsc0JBQVksQ0FBQztZQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM3RixLQUFLLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUMvRixRQUFRLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNyRyxRQUFRLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLCtCQUFXLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNuRyxJQUFJLEVBQUUsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM3RixJQUFJLEVBQUUsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUM3RixNQUFNLEVBQUUsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsQ0FBQztR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
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRNdXRhdGlvbklucHV0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUF5QztBQUN6QyxxQ0FZaUI7QUFDakIseURBQWdEO0FBQ2hELDBFQUFrRDtBQUNsRCx5RUFBaUQ7QUFDakQsdUZBQStEO0FBQy9ELHFEQUFzVjtBQUN0ViwrREFBdUQ7QUFJaEQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE1BQWlDLEVBQXFCLEVBQUU7SUFDMUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUEsd0JBQWdCLEVBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM5RixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sdUJBQWEsQ0FBQztJQUNuQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDcEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxvQkFBVSxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyx1QkFBYSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQyxDQUFDO0FBVFcsUUFBQSxtQkFBbUIsdUJBUzlCO0FBTUYsU0FBUyxzQkFBc0IsQ0FBQyxPQUFnQixFQUFFLElBQVksRUFBRSxNQUFlLEVBQUUsVUFBa0IsRUFBRSxhQUFhLEdBQUcsS0FBSztJQUN4SCxNQUFNLGdCQUFnQixHQUFHO1FBQ3ZCLE1BQU0sRUFBRSxDQUFDLHFCQUE0QyxFQUFFLEtBQWtCLEVBQUUsRUFBRTtZQUMzRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQVUsQ0FBQyxDQUFDLENBQUMsc0JBQVksQ0FBQztZQUM3RCxPQUFPO2dCQUNMLEdBQUcs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
@@ -1,6 +1,8 @@
1
- import { GraphQLObjectType } from 'graphql';
1
+ import { GraphQLFieldConfig, GraphQLObjectType } from 'graphql';
2
2
  import { Field } from '../../fields/config/types';
3
- import { BaseFields } from '../../collections/graphql/types';
4
3
  import { Payload } from '../..';
5
- declare function buildObjectType(payload: Payload, name: string, fields: Field[], parentName: string, baseFields?: BaseFields): GraphQLObjectType;
4
+ export declare type ObjectTypeConfig = {
5
+ [path: string]: GraphQLFieldConfig<any, any>;
6
+ };
7
+ declare function buildObjectType(payload: Payload, name: string, fields: Field[], parentName: string, baseFields?: ObjectTypeConfig): GraphQLObjectType;
6
8
  export default buildObjectType;
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const graphql_type_json_1 = require("graphql-type-json");
11
11
  const graphql_1 = require("graphql");
12
12
  const graphql_scalars_1 = require("graphql-scalars");
13
- const types_1 = require("../../fields/config/types");
14
13
  const formatName_1 = __importDefault(require("../utilities/formatName"));
15
14
  const combineParentName_1 = __importDefault(require("../utilities/combineParentName"));
16
15
  const withNullableType_1 = __importDefault(require("./withNullableType"));
@@ -22,34 +21,58 @@ const buildWhereInputType_1 = __importDefault(require("./buildWhereInputType"));
22
21
  const buildBlockType_1 = __importDefault(require("./buildBlockType"));
23
22
  function buildObjectType(payload, name, fields, parentName, baseFields = {}) {
24
23
  const fieldToSchemaMap = {
25
- number: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLFloat) }),
26
- text: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) }),
27
- email: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_scalars_1.EmailAddressResolver) }),
28
- textarea: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) }),
29
- code: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) }),
30
- date: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_scalars_1.DateTimeResolver) }),
31
- point: (field) => ({ type: (0, withNullableType_1.default)(field, new graphql_1.GraphQLList(graphql_1.GraphQLFloat)) }),
32
- richText: (field) => ({
33
- type: (0, withNullableType_1.default)(field, graphql_type_json_1.GraphQLJSON),
34
- async resolve(parent, args, context) {
35
- if (args.depth > 0) {
36
- await (0, relationshipPromise_1.default)({
37
- req: context.req,
38
- siblingDoc: parent,
39
- depth: args.depth,
40
- field,
41
- showHiddenFields: false,
42
- });
43
- }
44
- return parent[field.name];
45
- },
46
- args: {
47
- depth: {
48
- type: graphql_1.GraphQLInt,
24
+ number: (objectTypeConfig, field) => ({
25
+ ...objectTypeConfig,
26
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLFloat) },
27
+ }),
28
+ text: (objectTypeConfig, field) => ({
29
+ ...objectTypeConfig,
30
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) },
31
+ }),
32
+ email: (objectTypeConfig, field) => ({
33
+ ...objectTypeConfig,
34
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_scalars_1.EmailAddressResolver) },
35
+ }),
36
+ textarea: (objectTypeConfig, field) => ({
37
+ ...objectTypeConfig,
38
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) },
39
+ }),
40
+ code: (objectTypeConfig, field) => ({
41
+ ...objectTypeConfig,
42
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLString) },
43
+ }),
44
+ date: (objectTypeConfig, field) => ({
45
+ ...objectTypeConfig,
46
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_scalars_1.DateTimeResolver) },
47
+ }),
48
+ point: (objectTypeConfig, field) => ({
49
+ ...objectTypeConfig,
50
+ [field.name]: { type: (0, withNullableType_1.default)(field, new graphql_1.GraphQLList(graphql_1.GraphQLFloat)) },
51
+ }),
52
+ richText: (objectTypeConfig, field) => ({
53
+ ...objectTypeConfig,
54
+ [field.name]: {
55
+ type: (0, withNullableType_1.default)(field, graphql_type_json_1.GraphQLJSON),
56
+ async resolve(parent, args, context) {
57
+ if (args.depth > 0) {
58
+ await (0, relationshipPromise_1.default)({
59
+ req: context.req,
60
+ siblingDoc: parent,
61
+ depth: args.depth,
62
+ field,
63
+ showHiddenFields: false,
64
+ });
65
+ }
66
+ return parent[field.name];
67
+ },
68
+ args: {
69
+ depth: {
70
+ type: graphql_1.GraphQLInt,
71
+ },
49
72
  },
50
73
  },
51
74
  }),
52
- upload: (field) => {
75
+ upload: (objectTypeConfig, field) => {
53
76
  const { relationTo, label } = field;
54
77
  const uploadName = (0, combineParentName_1.default)(parentName, label === false ? (0, formatLabels_1.toWords)(field.name, true) : label);
55
78
  // If the relationshipType is undefined at this point,
@@ -108,16 +131,25 @@ function buildObjectType(payload, name, fields, parentName, baseFields = {}) {
108
131
  upload.args.where = {
109
132
  type: (0, buildWhereInputType_1.default)(uploadName, whereFields, uploadName),
110
133
  };
111
- return upload;
134
+ return {
135
+ ...objectTypeConfig,
136
+ [field.name]: upload,
137
+ };
112
138
  },
113
- radio: (field) => ({
114
- type: (0, withNullableType_1.default)(field, new graphql_1.GraphQLEnumType({
115
- name: (0, combineParentName_1.default)(parentName, field.name),
116
- values: (0, formatOptions_1.default)(field),
117
- })),
139
+ radio: (objectTypeConfig, field) => ({
140
+ ...objectTypeConfig,
141
+ [field.name]: {
142
+ type: (0, withNullableType_1.default)(field, new graphql_1.GraphQLEnumType({
143
+ name: (0, combineParentName_1.default)(parentName, field.name),
144
+ values: (0, formatOptions_1.default)(field),
145
+ })),
146
+ },
147
+ }),
148
+ checkbox: (objectTypeConfig, field) => ({
149
+ ...objectTypeConfig,
150
+ [field.name]: { type: (0, withNullableType_1.default)(field, graphql_1.GraphQLBoolean) },
118
151
  }),
119
- checkbox: (field) => ({ type: (0, withNullableType_1.default)(field, graphql_1.GraphQLBoolean) }),
120
- select: (field) => {
152
+ select: (objectTypeConfig, field) => {
121
153
  const fullName = (0, combineParentName_1.default)(parentName, field.name);
122
154
  let type = new graphql_1.GraphQLEnumType({
123
155
  name: fullName,
@@ -125,9 +157,12 @@ function buildObjectType(payload, name, fields, parentName, baseFields = {}) {
125
157
  });
126
158
  type = field.hasMany ? new graphql_1.GraphQLList(type) : type;
127
159
  type = (0, withNullableType_1.default)(field, type);
128
- return { type };
160
+ return {
161
+ ...objectTypeConfig,
162
+ [field.name]: { type },
163
+ };
129
164
  },
130
- relationship: (field) => {
165
+ relationship: (objectTypeConfig, field) => {
131
166
  const { relationTo, label } = field;
132
167
  const isRelatedToManyCollections = Array.isArray(relationTo);
133
168
  const hasManyValues = field.hasMany;
@@ -298,20 +333,29 @@ function buildObjectType(payload, name, fields, parentName, baseFields = {}) {
298
333
  type: (0, buildWhereInputType_1.default)(relationshipName, whereFields, relationshipName),
299
334
  };
300
335
  }
301
- return relationship;
336
+ return {
337
+ ...objectTypeConfig,
338
+ [field.name]: relationship,
339
+ };
302
340
  },
303
- array: (field) => {
341
+ array: (objectTypeConfig, field) => {
304
342
  const fullName = (0, combineParentName_1.default)(parentName, field.label === false ? (0, formatLabels_1.toWords)(field.name, true) : field.label);
305
343
  const type = buildObjectType(payload, fullName, field.fields, fullName);
306
344
  const arrayType = new graphql_1.GraphQLList((0, withNullableType_1.default)(field, type));
307
- return { type: arrayType };
345
+ return {
346
+ ...objectTypeConfig,
347
+ [field.name]: { type: arrayType },
348
+ };
308
349
  },
309
- group: (field) => {
350
+ group: (objectTypeConfig, field) => {
310
351
  const fullName = (0, combineParentName_1.default)(parentName, field.label === false ? (0, formatLabels_1.toWords)(field.name, true) : field.label);
311
352
  const type = buildObjectType(payload, fullName, field.fields, fullName);
312
- return { type };
353
+ return {
354
+ ...objectTypeConfig,
355
+ [field.name]: { type },
356
+ };
313
357
  },
314
- blocks: (field) => {
358
+ blocks: (objectTypeConfig, field) => {
315
359
  const blockTypes = field.blocks.map((block) => {
316
360
  (0, buildBlockType_1.default)(payload, block);
317
361
  return payload.types.blockTypes[block.slug];
@@ -322,42 +366,41 @@ function buildObjectType(payload, name, fields, parentName, baseFields = {}) {
322
366
  types: blockTypes,
323
367
  resolveType: (data) => payload.types.blockTypes[data.blockType].name,
324
368
  }));
325
- return { type };
369
+ return {
370
+ ...objectTypeConfig,
371
+ [field.name]: { type },
372
+ };
326
373
  },
327
- row: (field) => field.fields.reduce((subFieldSchema, subField) => {
328
- const buildSchemaType = fieldToSchemaMap[subField.type];
329
- if (!(0, types_1.fieldIsPresentationalOnly)(subField) && buildSchemaType) {
330
- return {
331
- ...subFieldSchema,
332
- [(0, formatName_1.default)(subField.name)]: buildSchemaType(subField),
333
- };
334
- }
335
- return subFieldSchema;
336
- }, {}),
374
+ row: (objectTypeConfig, field) => field.fields.reduce((objectTypeConfigWithRowFields, subField) => {
375
+ const addSubField = fieldToSchemaMap[subField.type];
376
+ return addSubField(objectTypeConfigWithRowFields, subField);
377
+ }, objectTypeConfig),
378
+ collapsible: (objectTypeConfig, field) => field.fields.reduce((objectTypeConfigWithCollapsibleFields, subField) => {
379
+ const addSubField = fieldToSchemaMap[subField.type];
380
+ return addSubField(objectTypeConfigWithCollapsibleFields, subField);
381
+ }, objectTypeConfig),
382
+ tabs: (objectTypeConfig, field) => field.tabs.reduce((tabSchema, tab) => {
383
+ return {
384
+ ...tabSchema,
385
+ ...tab.fields.reduce((subFieldSchema, subField) => {
386
+ const addSubField = fieldToSchemaMap[subField.type];
387
+ return addSubField(subFieldSchema, subField);
388
+ }, tabSchema),
389
+ };
390
+ }, objectTypeConfig),
337
391
  };
338
392
  const objectSchema = {
339
393
  name,
340
- fields: () => fields.reduce((schema, field) => {
341
- if (!(0, types_1.fieldIsPresentationalOnly)(field) && !field.hidden) {
342
- const fieldSchema = fieldToSchemaMap[field.type];
343
- if (fieldSchema) {
344
- if ((0, types_1.fieldAffectsData)(field)) {
345
- return {
346
- ...schema,
347
- [(0, formatName_1.default)(field.name)]: fieldSchema(field),
348
- };
349
- }
350
- return {
351
- ...schema,
352
- ...fieldSchema(field),
353
- };
354
- }
355
- }
356
- return schema;
394
+ fields: () => fields.reduce((objectTypeConfig, field) => {
395
+ const fieldSchema = fieldToSchemaMap[field.type];
396
+ return {
397
+ ...objectTypeConfig,
398
+ ...fieldSchema(objectTypeConfig, field),
399
+ };
357
400
  }, baseFields),
358
401
  };
359
402
  const newlyCreatedBlockType = new graphql_1.GraphQLObjectType(objectSchema);
360
403
  return newlyCreatedBlockType;
361
404
  }
362
405
  exports.default = buildObjectType;
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRPYmplY3RUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBocWwvc2NoZW1hL2J1aWxkT2JqZWN0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUE0RDtBQUM1RCxxQ0FBcUM7QUFDckMseUNBQXlDO0FBQ3pDLHlDQUF5QztBQUN6Qyx5REFBZ0Q7QUFDaEQscUNBU2lCO0FBQ2pCLHFEQUF5RTtBQUN6RSxxREFBeVQ7QUFDelQseUVBQWlEO0FBQ2pELHVGQUErRDtBQUMvRCwwRUFBa0Q7QUFFbEQsK0RBQXVEO0FBQ3ZELG9HQUEwRjtBQUMxRiwrRUFBdUQ7QUFFdkQsNkVBQXFEO0FBQ3JELGdGQUF3RDtBQUN4RCxzRUFBOEM7QUFjOUMsU0FBUyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBZSxFQUFFLFVBQWtCLEVBQUUsYUFBeUIsRUFBRTtJQUN2SCxNQUFNLGdCQUFnQixHQUFHO1FBQ3ZCLE1BQU0sRUFBRSxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBQSwwQkFBZ0IsRUFBQyxLQUFLLEVBQUUsc0JBQVksQ0FBQyxFQUFFLENBQUM7UUFDakYsSUFBSSxFQUFFLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFBLDBCQUFnQixFQUFDLEtBQUssRUFBRSx1QkFBYSxDQUFDLEVBQUUsQ0FBQztRQUM5RSxLQUFLLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHNDQUFvQixDQUFDLEVBQUUsQ0FBQztRQUN2RixRQUFRLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLENBQUMsRUFBRSxD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
406
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRPYmplY3RUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dyYXBocWwvc2NoZW1hL2J1aWxkT2JqZWN0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUE0RDtBQUM1RCxxQ0FBcUM7QUFDckMseUNBQXlDO0FBQ3pDLHlDQUF5QztBQUN6Qyx5REFBZ0Q7QUFDaEQscUNBVWlCO0FBQ2pCLHFEQUF5RTtBQUV6RSx5RUFBaUQ7QUFDakQsdUZBQStEO0FBQy9ELDBFQUFrRDtBQUNsRCwrREFBdUQ7QUFDdkQsb0dBQTBGO0FBQzFGLCtFQUF1RDtBQUV2RCw2RUFBcUQ7QUFDckQsZ0ZBQXdEO0FBQ3hELHNFQUE4QztBQWtCOUMsU0FBUyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBZSxFQUFFLFVBQWtCLEVBQUUsYUFBK0IsRUFBRTtJQUM3SCxNQUFNLGdCQUFnQixHQUFHO1FBQ3ZCLE1BQU0sRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkUsR0FBRyxnQkFBZ0I7WUFDbkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBQSwwQkFBZ0IsRUFBQyxLQUFLLEVBQUUsc0JBQVksQ0FBQyxFQUFFO1NBQzlELENBQUM7UUFDRixJQUFJLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxLQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELEdBQUcsZ0JBQWdCO1lBQ25CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLENBQUMsRUFBRTtTQUMvRCxDQUFDO1FBQ0YsS0FBSyxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRSxHQUFHLGdCQUFnQjtZQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFBLDBCQUFnQixFQUFDLEtBQUssRUFBRSxzQ0FBb0IsQ0FBQyxFQUFFO1NBQ3RFLENBQUM7UUFDRixRQUFRLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEdBQUcsZ0JBQWdCO1lBQ25CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHVCQUFhLENBQUMsRUFBRTtTQUMvRCxDQUFDO1FBQ0YsSUFBSSxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxHQUFHLGdCQUFnQjtZQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFBLDBCQUFnQixFQUFDLEtBQUssRUFBRSx1QkFBYSxDQUFDLEVBQUU7U0FDL0QsQ0FBQztRQUNGLElBQUksRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsR0FBRyxnQkFBZ0I7WUFDbkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBQSwwQkFBZ0IsRUFBQyxLQUFLLEVBQUUsa0NBQWdCLENBQUMsRUFBRTtTQUNsRSxDQUFDO1FBQ0YsS0FBSyxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRSxHQUFHLGdCQUFnQjtZQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFBLDBCQUFnQixFQUFDLEtBQUssRUFBRSxJQUFJLHFCQUFXLENBQUMsc0JBQVksQ0FBQyxDQUFDLEVBQUU7U0FDL0UsQ0FBQztRQUNGLFFBQVEsRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkUsR0FBRyxnQkFBZ0I7WUFDbkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLCtCQUFXLENBQUM7Z0JBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPO29CQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO3dCQUNsQixNQUFNLElBQUEsNkJBQWlDLEVBQUM7NEJBQ3RDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRzs0QkFDaEIsVUFBVSxFQUFFLE1BQU07NEJBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzs0QkFDakIsS0FBSzs0QkFDTCxnQkFBZ0IsRUFBRSxLQUFLO3lCQUN4QixDQUFDLENBQUM7cUJBQ0o7b0JBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLG9CQUFVO3FCQUNqQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLE1BQU0sRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQWtCLEVBQUUsRUFBRTtZQUNqRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztZQUVwQyxNQUFNLFVBQVUsR0FBRyxJQUFBLDJCQUFpQixFQUFDLFVBQVUsRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFBLHNCQUFPLEVBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdEcsc0RBQXNEO1lBQ3RELGdFQUFnRTtZQUNoRSwyRUFBMkU7WUFDM0UsbUNBQW1DO1lBRW5DLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxxQkFBcUIsQ0FBQztZQUVuRixNQUFNLFVBQVUsR0FBRyxFQUFxQixDQUFDO1lBRXpDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7Z0JBQy9CLFVBQVUsQ0FBQyxNQUFNLEdBQUc7b0JBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWU7aUJBQ3BDLENBQUM7Z0JBRUYsVUFBVSxDQUFDLGNBQWMsR0FBRztvQkFDMUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCO2lCQUM1QyxDQUFDO2FBQ0g7WUFFRCxNQUFNLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFFckUsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUk7Z0JBQ0osVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtnQkFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU87b0JBQ2pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7b0JBQ2pELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7b0JBRXpFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztvQkFFZixJQUFJLEVBQUUsRUFBRTt3QkFDTixFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUVuQixNQUFNLG9CQUFvQixHQUFHOzRCQUMzQixVQUFVLEVBQUUsaUJBQWlCOzRCQUM3QixLQUFLLEVBQUU7Z0NBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dDQUNyQixHQUFHLEVBQUU7b0NBQ0gsTUFBTSxFQUFFLEVBQUU7aUNBQ1g7NkJBQ0Y7NEJBQ0QsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHOzRCQUNoQixHQUFHLEVBQUU7Z0NBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRztnQ0FDZCxNQUFNO2dDQUNOLGNBQWM7NkJBQ2Y7NEJBQ0QsS0FBSyxFQUFFLENBQUM7NEJBQ1IsVUFBVSxFQUFFLEtBQUs7eUJBQ2xCLENBQUM7d0JBRUYsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFBLGNBQUksRUFBQyxvQkFBb0IsQ0FBQyxDQUFDO3dCQUV6RCxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUFFLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFFNUQsT0FBTyxJQUFJLENBQUM7cUJBQ2I7b0JBRUQsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQzthQUNGLENBQUM7WUFFRixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFFbEUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxJQUFBLDZCQUFtQixFQUN2QixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsQ0FDWDthQUNGLENBQUM7WUFFRixPQUFPO2dCQUNMLEdBQUcsZ0JBQWdCO2dCQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO2FBQ3JCLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRSxHQUFHLGdCQUFnQjtZQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDWixJQUFJLEVBQUUsSUFBQSwwQkFBZ0IsRUFDcEIsS0FBSyxFQUNMLElBQUkseUJBQWUsQ0FBQztvQkFDbEIsSUFBSSxFQUFFLElBQUEsMkJBQWlCLEVBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQy9DLE1BQU0sRUFBRSxJQUFBLHVCQUFhLEVBQUMsS0FBSyxDQUFDO2lCQUM3QixDQUFDLENBQ0g7YUFDRjtTQUNGLENBQUM7UUFDRixRQUFRLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEdBQUcsZ0JBQWdCO1lBQ25CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLHdCQUFjLENBQUMsRUFBRTtTQUNoRSxDQUFDO1FBQ0YsTUFBTSxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBa0IsRUFBRSxFQUFFO1lBQ2pFLE1BQU0sUUFBUSxHQUFHLElBQUEsMkJBQWlCLEVBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUzRCxJQUFJLElBQUksR0FBZ0IsSUFBSSx5QkFBZSxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsSUFBQSx1QkFBYSxFQUFDLEtBQUssQ0FBQzthQUM3QixDQUFDLENBQUM7WUFFSCxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEQsSUFBSSxHQUFHLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXJDLE9BQU87Z0JBQ0wsR0FBRyxnQkFBZ0I7Z0JBQ25CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFO2FBQ3ZCLENBQUM7UUFDSixDQUFDO1FBQ0QsWUFBWSxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBd0IsRUFBRSxFQUFFO1lBQzdFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwyQkFBaUIsRUFBQyxVQUFVLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBQSxzQkFBTyxFQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTVHLElBQUksSUFBSSxDQUFDO1lBQ1QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBRTFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDN0IsY0FBYyxHQUFHLElBQUkseUJBQWUsQ0FBQztvQkFDbkMsSUFBSSxFQUFFLEdBQUcsZ0JBQWdCLGFBQWE7b0JBQ3RDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDbEQsR0FBRyxTQUFTO3dCQUNaLENBQUMsSUFBQSxvQkFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7NEJBQ3RCLEtBQUssRUFBRSxRQUFRO3lCQUNoQjtxQkFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO2lCQUNSLENBQUMsQ0FBQztnQkFFSCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFdkYsSUFBSSxHQUFHLElBQUksMkJBQWlCLENBQUM7b0JBQzNCLElBQUksRUFBRSxHQUFHLGdCQUFnQixlQUFlO29CQUN4QyxNQUFNLEVBQUU7d0JBQ04sVUFBVSxFQUFFOzRCQUNWLElBQUksRUFBRSxjQUFjO3lCQUNyQjt3QkFDRCxLQUFLLEVBQUU7NEJBQ0wsSUFBSSxFQUFFLElBQUksMEJBQWdCLENBQUM7Z0NBQ3pCLElBQUksRUFBRSxnQkFBZ0I7Z0NBQ3RCLEtBQUs7Z0NBQ0wsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUU7b0NBQzdCLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0NBQ2hFLENBQUM7NkJBQ0YsQ0FBQzt5QkFDSDtxQkFDRjtpQkFDRixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDaEU7WUFFRCxzREFBc0Q7WUFDdEQsZ0VBQWdFO1lBQ2hFLDJFQUEyRTtZQUMzRSxtQ0FBbUM7WUFFbkMsSUFBSSxHQUFHLElBQUksSUFBSSxxQkFBcUIsQ0FBQztZQUVyQyxNQUFNLGdCQUFnQixHQU1sQixFQUFFLENBQUM7WUFFUCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUMvQixnQkFBZ0IsQ0FBQyxNQUFNLEdBQUc7b0JBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWU7aUJBQ3BDLENBQUM7Z0JBRUYsZ0JBQWdCLENBQUMsY0FBYyxHQUFHO29CQUNoQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUI7aUJBQzVDLENBQUM7YUFDSDtZQUVELE1BQU0sRUFDSixXQUFXLEdBQ1osR0FBRyxPQUFPLENBQUM7WUFFWixNQUFNLFlBQVksR0FBRztnQkFDbkIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNsRCxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTztvQkFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztvQkFDakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztvQkFDekUsSUFBSSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO29CQUU3QyxJQUFJLGFBQWEsRUFBRTt3QkFDakIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO3dCQUNuQixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7d0JBRTFCLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTs0QkFDdEQsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDOzRCQUNwQixJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDOzRCQUV0QyxJQUFJLDBCQUEwQixFQUFFO2dDQUM5QixjQUFjLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztnQ0FDdkMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7NkJBQ3ZCOzRCQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxjQUFJLEVBQUM7Z0NBQ3hCLFVBQVUsRUFBRSxXQUFXLENBQUMsY0FBd0IsQ0FBQztnQ0FDakQsS0FBSyxFQUFFO29DQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQ0FDckIsR0FBRyxFQUFFO3dDQUNILE1BQU0sRUFBRSxFQUFFO3FDQUNYO2lDQUNGO2dDQUNELEdBQUcsRUFBRTtvQ0FDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO29DQUNkLE1BQU07b0NBQ04sY0FBYztpQ0FDZjtnQ0FDRCxLQUFLLEVBQUUsQ0FBQztnQ0FDUixVQUFVLEVBQUUsS0FBSzs2QkFDbEIsQ0FBQyxDQUFDOzRCQUVILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dDQUM1QixJQUFJLDBCQUEwQixFQUFFO29DQUM5QixPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUc7d0NBQ1gsVUFBVSxFQUFFLGNBQWM7d0NBQzFCLEtBQUssRUFBRTs0Q0FDTCxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRDQUNqQixVQUFVLEVBQUUsY0FBYzt5Q0FDM0I7cUNBQ0YsQ0FBQztpQ0FDSDtxQ0FBTTtvQ0FDTCxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7aUNBQzVCOzZCQUNGO3dCQUNILENBQUMsQ0FBQzt3QkFFRixJQUFJLEtBQUssRUFBRTs0QkFDVCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dDQUM5QixjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUM5RCxDQUFDLENBQUMsQ0FBQzt5QkFDSjt3QkFFRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQ2xDLE9BQU8sT0FBTyxDQUFDO3FCQUNoQjtvQkFFRCxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7b0JBQ2YsSUFBSSwwQkFBMEIsSUFBSSxLQUFLLEVBQUU7d0JBQ3ZDLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO3dCQUNqQixxQkFBcUIsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO3FCQUMxQztvQkFFRCxJQUFJLEVBQUUsRUFBRTt3QkFDTixFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUVuQixNQUFNLG9CQUFvQixHQUFHOzRCQUMzQixVQUFVLEVBQUUsV0FBVyxDQUFDLHFCQUErQixDQUFDOzRCQUN4RCxLQUFLLEVBQUU7Z0NBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dDQUNyQixFQUFFLEVBQUU7b0NBQ0YsTUFBTSxFQUFFLEVBQUU7aUNBQ1g7NkJBQ0Y7NEJBQ0QsR0FBRyxPQUFPOzRCQUNWLEtBQUssRUFBRSxDQUFDO3lCQUNULENBQUM7d0JBRUYsSUFBSSxJQUFJLENBQUMsSUFBSTs0QkFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQzlELElBQUksSUFBSSxDQUFDLEtBQUs7NEJBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO3dCQUVqRSxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUEsY0FBSSxFQUFDLG9CQUFvQixDQUFDLENBQUM7d0JBRXpELElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDM0IsSUFBSSwwQkFBMEIsRUFBRTtnQ0FDOUIsT0FBTztvQ0FDTCxVQUFVLEVBQUUscUJBQXFCO29DQUNqQyxLQUFLLEVBQUU7d0NBQ0wsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3Q0FDMUIsVUFBVSxFQUFFLHFCQUFxQjtxQ0FDbEM7aUNBQ0YsQ0FBQzs2QkFDSDs0QkFFRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2hDO3dCQUVELE9BQU8sSUFBSSxDQUFDO3FCQUNiO29CQUVELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7YUFDRixDQUFDO1lBRUYsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLG9CQUFVLEVBQUUsQ0FBQztnQkFDOUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsb0JBQVUsRUFBRSxDQUFDO2FBQ2hEO1lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM3QixNQUFNLHVCQUF1QixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztvQkFDekUsR0FBRyxTQUFTO29CQUNaLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO2lCQUN2QyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVQLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHO29CQUN4QixJQUFJLEVBQUUsSUFBQSw2QkFBbUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixnQkFBZ0IsQ0FDakI7aUJBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFFbEUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUc7b0JBQ3hCLElBQUksRUFBRSxJQUFBLDZCQUFtQixFQUN2QixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGdCQUFnQixDQUNqQjtpQkFDRixDQUFDO2FBQ0g7WUFFRCxPQUFPO2dCQUNMLEdBQUcsZ0JBQWdCO2dCQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZO2FBQzNCLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBaUIsRUFBRSxFQUFFO1lBQy9ELE1BQU0sUUFBUSxHQUFHLElBQUEsMkJBQWlCLEVBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFBLHNCQUFPLEVBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hILE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDeEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBVyxDQUFDLElBQUEsMEJBQWdCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFakUsT0FBTztnQkFDTCxHQUFHLGdCQUFnQjtnQkFDbkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQ2xDLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsS0FBaUIsRUFBRSxFQUFFO1lBQy9ELE1BQU0sUUFBUSxHQUFHLElBQUEsMkJBQWlCLEVBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFBLHNCQUFPLEVBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hILE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFeEUsT0FBTztnQkFDTCxHQUFHLGdCQUFnQjtnQkFDbkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUU7YUFDdkIsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxLQUFpQixFQUFFLEVBQUU7WUFDaEUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDNUMsSUFBQSx3QkFBYyxFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDL0IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFBLDJCQUFpQixFQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBQSxzQkFBTyxFQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoSCxNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFXLENBQUMsSUFBSSwwQkFBZ0IsQ0FBQztnQkFDaEQsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUk7YUFDckUsQ0FBQyxDQUFDLENBQUM7WUFFSixPQUFPO2dCQUNMLEdBQUcsZ0JBQWdCO2dCQUNuQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRTthQUN2QixDQUFDO1FBQ0osQ0FBQztRQUNELEdBQUcsRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUM1SCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEQsT0FBTyxXQUFXLENBQUMsNkJBQTZCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1FBQ3BCLFdBQVcsRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEtBQXVCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMscUNBQXFDLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDcEosTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BELE9BQU8sV0FBVyxDQUFDLHFDQUFxQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQixJQUFJLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuRyxPQUFPO2dCQUNMLEdBQUcsU0FBUztnQkFDWixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxFQUFFO29CQUNoRCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BELE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxFQUFFLFNBQVMsQ0FBQzthQUNkLENBQUM7UUFDSixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7S0FDckIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHO1FBQ25CLElBQUk7UUFDSixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRCxPQUFPO2dCQUNMLEdBQUcsZ0JBQWdCO2dCQUNuQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7YUFDeEMsQ0FBQztRQUNKLENBQUMsRUFBRSxVQUFVLENBQUM7S0FDZixDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLDJCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWxFLE9BQU8scUJBQXFCLENBQUM7QUFDL0IsQ0FBQztBQUVELGtCQUFlLGVBQWUsQ0FBQyJ9
@@ -51,6 +51,14 @@ const buildFields = (label, fieldsToBuild) => fieldsToBuild.reduce((builtFields,
51
51
  ...subFields,
52
52
  };
53
53
  }
54
+ if (field.type === 'tabs') {
55
+ return field.tabs.reduce((fieldsWithTabFields, tab) => {
56
+ return {
57
+ ...fieldsWithTabFields,
58
+ ...buildFields(label, tab.fields),
59
+ };
60
+ }, { ...builtFields });
61
+ }
54
62
  }
55
63
  return builtFields;
56
64
  }, {});
@@ -117,4 +125,4 @@ function buildPoliciesType(payload) {
117
125
  });
118
126
  }
119
127
  exports.default = buildPoliciesType;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRQb2xpY2llc1R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGhxbC9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx5REFBc0Q7QUFDdEQscUNBQTRFO0FBQzVFLHlFQUFpRDtBQVlqRCxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDeEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDakIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2QsTUFBTSxTQUFTLEdBQUcsSUFBQSxvQkFBVSxFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV6QyxNQUFNLGdCQUFnQixHQUFxQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDakgsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXBGLE9BQU87b0JBQ0wsR0FBRyxVQUFVO29CQUNiLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLElBQUksMkJBQWlCLENBQUM7NEJBQzFCLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxTQUFTLElBQUksb0JBQW9CLEVBQUU7NEJBQ3JELE1BQU0sRUFBRTtnQ0FDTixVQUFVLEVBQUU7b0NBQ1YsSUFBSSxFQUFFLElBQUksd0JBQWMsQ0FBQyx3QkFBYyxDQUFDO2lDQUN6Qzs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO2lCQUNGLENB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
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRQb2xpY2llc1R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGhxbC9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx5REFBc0Q7QUFDdEQscUNBQTRFO0FBQzVFLHlFQUFpRDtBQVlqRCxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDeEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDakIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2QsTUFBTSxTQUFTLEdBQUcsSUFBQSxvQkFBVSxFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV6QyxNQUFNLGdCQUFnQixHQUFxQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsRUFBRTtnQkFDakgsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXBGLE9BQU87b0JBQ0wsR0FBRyxVQUFVO29CQUNiLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLElBQUksMkJBQWlCLENBQUM7NEJBQzFCLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxTQUFTLElBQUksb0JBQW9CLEVBQUU7NEJBQ3JELE1BQU0sRUFBRTtnQ0FDTixVQUFVLEVBQUU7b0NBQ1YsSUFBSSxFQUFFLElBQUksd0JBQWMsQ0FBQyx3QkFBYyxDQUFDO2lDQUN6Qzs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO2lCQUNGLENB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