payload 0.18.0 → 0.18.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 (1445) hide show
  1. package/CHANGELOG.md +9 -2
  2. package/bin.js +0 -0
  3. package/components/index.js +1 -1
  4. package/dist/admin/api.d.ts +6 -6
  5. package/dist/admin/api.js +39 -39
  6. package/dist/admin/components/Routes.d.ts +3 -3
  7. package/dist/admin/components/Routes.js +174 -174
  8. package/dist/admin/components/elements/Autosave/index.d.ts +5 -5
  9. package/dist/admin/components/elements/Autosave/index.js +116 -116
  10. package/dist/admin/components/elements/Autosave/types.d.ts +8 -8
  11. package/dist/admin/components/elements/Autosave/types.js +1 -1
  12. package/dist/admin/components/elements/Banner/index.d.ts +5 -5
  13. package/dist/admin/components/elements/Banner/index.js +25 -25
  14. package/dist/admin/components/elements/Banner/types.d.ts +18 -18
  15. package/dist/admin/components/elements/Banner/types.js +1 -1
  16. package/dist/admin/components/elements/Button/index.d.ts +5 -5
  17. package/dist/admin/components/elements/Button/index.js +68 -68
  18. package/dist/admin/components/elements/Button/types.d.ts +19 -19
  19. package/dist/admin/components/elements/Button/types.js +1 -1
  20. package/dist/admin/components/elements/Card/index.d.ts +5 -5
  21. package/dist/admin/components/elements/Card/index.js +16 -16
  22. package/dist/admin/components/elements/Card/types.d.ts +6 -6
  23. package/dist/admin/components/elements/Card/types.js +1 -1
  24. package/dist/admin/components/elements/ColumnSelector/index.d.ts +5 -5
  25. package/dist/admin/components/elements/ColumnSelector/index.js +25 -25
  26. package/dist/admin/components/elements/ColumnSelector/types.d.ts +6 -6
  27. package/dist/admin/components/elements/ColumnSelector/types.js +1 -1
  28. package/dist/admin/components/elements/CopyToClipboard/index.d.ts +5 -5
  29. package/dist/admin/components/elements/CopyToClipboard/index.js +40 -40
  30. package/dist/admin/components/elements/CopyToClipboard/types.d.ts +5 -5
  31. package/dist/admin/components/elements/CopyToClipboard/types.js +1 -1
  32. package/dist/admin/components/elements/DatePicker/DatePicker.d.ts +6 -6
  33. package/dist/admin/components/elements/DatePicker/DatePicker.js +49 -49
  34. package/dist/admin/components/elements/DatePicker/index.d.ts +4 -4
  35. package/dist/admin/components/elements/DatePicker/index.js +6 -6
  36. package/dist/admin/components/elements/DatePicker/types.d.ts +29 -29
  37. package/dist/admin/components/elements/DatePicker/types.js +2 -2
  38. package/dist/admin/components/elements/DeleteDocument/index.d.ts +5 -5
  39. package/dist/admin/components/elements/DeleteDocument/index.js +78 -78
  40. package/dist/admin/components/elements/DeleteDocument/types.d.ts +6 -6
  41. package/dist/admin/components/elements/DeleteDocument/types.js +1 -1
  42. package/dist/admin/components/elements/DuplicateDocument/index.d.ts +5 -5
  43. package/dist/admin/components/elements/DuplicateDocument/index.js +23 -23
  44. package/dist/admin/components/elements/DuplicateDocument/types.d.ts +3 -3
  45. package/dist/admin/components/elements/DuplicateDocument/types.js +1 -1
  46. package/dist/admin/components/elements/Eyebrow/index.d.ts +5 -5
  47. package/dist/admin/components/elements/Eyebrow/index.js +8 -8
  48. package/dist/admin/components/elements/Eyebrow/types.d.ts +4 -4
  49. package/dist/admin/components/elements/Eyebrow/types.js +1 -1
  50. package/dist/admin/components/elements/FileDetails/Meta/index.d.ts +5 -5
  51. package/dist/admin/components/elements/FileDetails/Meta/index.js +26 -26
  52. package/dist/admin/components/elements/FileDetails/Meta/types.d.ts +10 -10
  53. package/dist/admin/components/elements/FileDetails/Meta/types.js +1 -1
  54. package/dist/admin/components/elements/FileDetails/index.d.ts +5 -5
  55. package/dist/admin/components/elements/FileDetails/index.js +39 -39
  56. package/dist/admin/components/elements/FileDetails/types.d.ts +6 -6
  57. package/dist/admin/components/elements/FileDetails/types.js +1 -1
  58. package/dist/admin/components/elements/GenerateConfirmation/index.d.ts +5 -5
  59. package/dist/admin/components/elements/GenerateConfirmation/index.js +38 -38
  60. package/dist/admin/components/elements/GenerateConfirmation/types.d.ts +4 -4
  61. package/dist/admin/components/elements/GenerateConfirmation/types.js +1 -1
  62. package/dist/admin/components/elements/IDLabel/index.d.ts +7 -7
  63. package/dist/admin/components/elements/IDLabel/index.js +8 -8
  64. package/dist/admin/components/elements/ListControls/index.d.ts +5 -5
  65. package/dist/admin/components/elements/ListControls/index.js +34 -34
  66. package/dist/admin/components/elements/ListControls/types.d.ts +16 -16
  67. package/dist/admin/components/elements/ListControls/types.js +1 -1
  68. package/dist/admin/components/elements/Loading/index.d.ts +3 -3
  69. package/dist/admin/components/elements/Loading/index.js +3 -3
  70. package/dist/admin/components/elements/Localizer/index.d.ts +5 -5
  71. package/dist/admin/components/elements/Localizer/index.js +39 -39
  72. package/dist/admin/components/elements/Localizer/types.d.ts +1 -1
  73. package/dist/admin/components/elements/Localizer/types.js +1 -1
  74. package/dist/admin/components/elements/Nav/index.d.ts +4 -4
  75. package/dist/admin/components/elements/Nav/index.js +74 -74
  76. package/dist/admin/components/elements/Paginator/ClickableArrow/index.d.ts +5 -5
  77. package/dist/admin/components/elements/Paginator/ClickableArrow/index.js +15 -15
  78. package/dist/admin/components/elements/Paginator/ClickableArrow/types.d.ts +5 -5
  79. package/dist/admin/components/elements/Paginator/ClickableArrow/types.js +1 -1
  80. package/dist/admin/components/elements/Paginator/Page/index.d.ts +4 -4
  81. package/dist/admin/components/elements/Paginator/Page/index.js +12 -12
  82. package/dist/admin/components/elements/Paginator/Page/types.d.ts +7 -7
  83. package/dist/admin/components/elements/Paginator/Page/types.js +1 -1
  84. package/dist/admin/components/elements/Paginator/Separator/index.d.ts +3 -3
  85. package/dist/admin/components/elements/Paginator/Separator/index.js +3 -3
  86. package/dist/admin/components/elements/Paginator/index.d.ts +5 -5
  87. package/dist/admin/components/elements/Paginator/index.js +96 -96
  88. package/dist/admin/components/elements/Paginator/types.d.ts +23 -23
  89. package/dist/admin/components/elements/Paginator/types.js +1 -1
  90. package/dist/admin/components/elements/PerPage/index.d.ts +10 -10
  91. package/dist/admin/components/elements/PerPage/index.js +40 -40
  92. package/dist/admin/components/elements/Pill/index.d.ts +5 -5
  93. package/dist/admin/components/elements/Pill/index.js +25 -25
  94. package/dist/admin/components/elements/Pill/types.d.ts +17 -17
  95. package/dist/admin/components/elements/Pill/types.js +1 -1
  96. package/dist/admin/components/elements/Popup/PopupButton/index.d.ts +5 -5
  97. package/dist/admin/components/elements/Popup/PopupButton/index.js +22 -22
  98. package/dist/admin/components/elements/Popup/PopupButton/types.d.ts +7 -7
  99. package/dist/admin/components/elements/Popup/PopupButton/types.js +1 -1
  100. package/dist/admin/components/elements/Popup/index.d.ts +5 -5
  101. package/dist/admin/components/elements/Popup/index.js +92 -92
  102. package/dist/admin/components/elements/Popup/types.d.ts +19 -19
  103. package/dist/admin/components/elements/Popup/types.js +1 -1
  104. package/dist/admin/components/elements/PreviewButton/index.d.ts +5 -5
  105. package/dist/admin/components/elements/PreviewButton/index.js +31 -31
  106. package/dist/admin/components/elements/PreviewButton/types.d.ts +6 -6
  107. package/dist/admin/components/elements/PreviewButton/types.js +1 -1
  108. package/dist/admin/components/elements/Publish/index.d.ts +4 -4
  109. package/dist/admin/components/elements/Publish/index.js +20 -20
  110. package/dist/admin/components/elements/Publish/types.d.ts +1 -1
  111. package/dist/admin/components/elements/Publish/types.js +1 -1
  112. package/dist/admin/components/elements/ReactSelect/index.d.ts +5 -5
  113. package/dist/admin/components/elements/ReactSelect/index.js +14 -14
  114. package/dist/admin/components/elements/ReactSelect/types.d.ts +21 -21
  115. package/dist/admin/components/elements/ReactSelect/types.js +1 -1
  116. package/dist/admin/components/elements/RenderTitle/index.d.ts +4 -4
  117. package/dist/admin/components/elements/RenderTitle/index.js +23 -23
  118. package/dist/admin/components/elements/RenderTitle/types.d.ts +8 -8
  119. package/dist/admin/components/elements/RenderTitle/types.js +1 -1
  120. package/dist/admin/components/elements/SaveDraft/index.d.ts +4 -4
  121. package/dist/admin/components/elements/SaveDraft/index.js +39 -39
  122. package/dist/admin/components/elements/SearchFilter/index.d.ts +5 -5
  123. package/dist/admin/components/elements/SearchFilter/index.js +44 -44
  124. package/dist/admin/components/elements/SearchFilter/types.d.ts +7 -7
  125. package/dist/admin/components/elements/SearchFilter/types.js +1 -1
  126. package/dist/admin/components/elements/SortColumn/index.d.ts +5 -5
  127. package/dist/admin/components/elements/SortColumn/index.js +38 -38
  128. package/dist/admin/components/elements/SortColumn/types.d.ts +5 -5
  129. package/dist/admin/components/elements/SortColumn/types.js +1 -1
  130. package/dist/admin/components/elements/SortComplex/index.d.ts +5 -5
  131. package/dist/admin/components/elements/SortComplex/index.js +51 -51
  132. package/dist/admin/components/elements/SortComplex/types.d.ts +7 -7
  133. package/dist/admin/components/elements/SortComplex/types.js +1 -1
  134. package/dist/admin/components/elements/Status/index.d.ts +5 -5
  135. package/dist/admin/components/elements/Status/index.js +107 -107
  136. package/dist/admin/components/elements/Status/types.d.ts +1 -1
  137. package/dist/admin/components/elements/Status/types.js +1 -1
  138. package/dist/admin/components/elements/StepNav/index.d.ts +10 -10
  139. package/dist/admin/components/elements/StepNav/index.js +34 -34
  140. package/dist/admin/components/elements/StepNav/types.d.ts +8 -8
  141. package/dist/admin/components/elements/StepNav/types.js +1 -1
  142. package/dist/admin/components/elements/Table/index.d.ts +5 -5
  143. package/dist/admin/components/elements/Table/index.js +14 -14
  144. package/dist/admin/components/elements/Table/types.d.ts +12 -12
  145. package/dist/admin/components/elements/Table/types.js +1 -1
  146. package/dist/admin/components/elements/Thumbnail/index.d.ts +5 -5
  147. package/dist/admin/components/elements/Thumbnail/index.js +17 -17
  148. package/dist/admin/components/elements/Thumbnail/types.d.ts +6 -6
  149. package/dist/admin/components/elements/Thumbnail/types.js +1 -1
  150. package/dist/admin/components/elements/Tooltip/index.d.ts +5 -5
  151. package/dist/admin/components/elements/Tooltip/index.js +13 -13
  152. package/dist/admin/components/elements/Tooltip/types.d.ts +5 -5
  153. package/dist/admin/components/elements/Tooltip/types.js +1 -1
  154. package/dist/admin/components/elements/UploadCard/index.d.ts +5 -5
  155. package/dist/admin/components/elements/UploadCard/index.js +17 -17
  156. package/dist/admin/components/elements/UploadCard/types.d.ts +7 -7
  157. package/dist/admin/components/elements/UploadCard/types.js +1 -1
  158. package/dist/admin/components/elements/UploadGallery/index.d.ts +5 -5
  159. package/dist/admin/components/elements/UploadGallery/index.js +13 -13
  160. package/dist/admin/components/elements/UploadGallery/types.d.ts +6 -6
  161. package/dist/admin/components/elements/UploadGallery/types.js +1 -1
  162. package/dist/admin/components/elements/VersionsCount/index.d.ts +5 -5
  163. package/dist/admin/components/elements/VersionsCount/index.js +42 -42
  164. package/dist/admin/components/elements/VersionsCount/types.d.ts +7 -7
  165. package/dist/admin/components/elements/VersionsCount/types.js +1 -1
  166. package/dist/admin/components/elements/ViewDescription/index.d.ts +5 -5
  167. package/dist/admin/components/elements/ViewDescription/index.js +15 -15
  168. package/dist/admin/components/elements/ViewDescription/types.d.ts +9 -9
  169. package/dist/admin/components/elements/ViewDescription/types.js +4 -4
  170. package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.d.ts +4 -4
  171. package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.js +6 -6
  172. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +4 -4
  173. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.js +1 -1
  174. package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.d.ts +5 -5
  175. package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +5 -5
  176. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +4 -4
  177. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.js +1 -1
  178. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts +5 -5
  179. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +202 -202
  180. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts +3 -3
  181. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +76 -76
  182. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +35 -35
  183. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.js +1 -1
  184. package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.d.ts +5 -5
  185. package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +5 -5
  186. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +4 -4
  187. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.js +1 -1
  188. package/dist/admin/components/elements/WhereBuilder/Condition/index.d.ts +5 -5
  189. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +83 -83
  190. package/dist/admin/components/elements/WhereBuilder/Condition/types.d.ts +9 -9
  191. package/dist/admin/components/elements/WhereBuilder/Condition/types.js +1 -1
  192. package/dist/admin/components/elements/WhereBuilder/field-types.d.ts +87 -87
  193. package/dist/admin/components/elements/WhereBuilder/field-types.js +114 -114
  194. package/dist/admin/components/elements/WhereBuilder/index.d.ts +5 -5
  195. package/dist/admin/components/elements/WhereBuilder/index.js +78 -78
  196. package/dist/admin/components/elements/WhereBuilder/reducer.d.ts +4 -4
  197. package/dist/admin/components/elements/WhereBuilder/reducer.js +65 -65
  198. package/dist/admin/components/elements/WhereBuilder/types.d.ts +43 -43
  199. package/dist/admin/components/elements/WhereBuilder/types.js +1 -1
  200. package/dist/admin/components/elements/WhereBuilder/validateWhereQuery.d.ts +3 -3
  201. package/dist/admin/components/elements/WhereBuilder/validateWhereQuery.js +8 -8
  202. package/dist/admin/components/elements/elements.spec.d.ts +1 -1
  203. package/dist/admin/components/elements/elements.spec.js +12 -12
  204. package/dist/admin/components/forms/DraggableSection/ActionPanel/index.d.ts +5 -5
  205. package/dist/admin/components/forms/DraggableSection/ActionPanel/index.js +22 -22
  206. package/dist/admin/components/forms/DraggableSection/ActionPanel/types.d.ts +11 -11
  207. package/dist/admin/components/forms/DraggableSection/ActionPanel/types.js +1 -1
  208. package/dist/admin/components/forms/DraggableSection/PositionPanel/index.d.ts +5 -5
  209. package/dist/admin/components/forms/DraggableSection/PositionPanel/index.js +18 -18
  210. package/dist/admin/components/forms/DraggableSection/PositionPanel/types.d.ts +6 -6
  211. package/dist/admin/components/forms/DraggableSection/PositionPanel/types.js +1 -1
  212. package/dist/admin/components/forms/DraggableSection/SectionTitle/index.d.ts +5 -5
  213. package/dist/admin/components/forms/DraggableSection/SectionTitle/index.js +16 -16
  214. package/dist/admin/components/forms/DraggableSection/SectionTitle/types.d.ts +5 -5
  215. package/dist/admin/components/forms/DraggableSection/SectionTitle/types.js +1 -1
  216. package/dist/admin/components/forms/DraggableSection/index.d.ts +5 -5
  217. package/dist/admin/components/forms/DraggableSection/index.js +40 -40
  218. package/dist/admin/components/forms/DraggableSection/types.d.ts +24 -24
  219. package/dist/admin/components/forms/DraggableSection/types.js +1 -1
  220. package/dist/admin/components/forms/Error/index.d.ts +5 -5
  221. package/dist/admin/components/forms/Error/index.js +12 -12
  222. package/dist/admin/components/forms/Error/types.d.ts +4 -4
  223. package/dist/admin/components/forms/Error/types.js +1 -1
  224. package/dist/admin/components/forms/FieldDescription/index.d.ts +5 -5
  225. package/dist/admin/components/forms/FieldDescription/index.js +15 -15
  226. package/dist/admin/components/forms/FieldDescription/types.d.ts +11 -11
  227. package/dist/admin/components/forms/FieldDescription/types.js +11 -11
  228. package/dist/admin/components/forms/FieldTypeGutter/context.d.ts +6 -6
  229. package/dist/admin/components/forms/FieldTypeGutter/context.js +9 -9
  230. package/dist/admin/components/forms/FieldTypeGutter/index.d.ts +5 -5
  231. package/dist/admin/components/forms/FieldTypeGutter/index.js +18 -18
  232. package/dist/admin/components/forms/FieldTypeGutter/types.d.ts +9 -9
  233. package/dist/admin/components/forms/FieldTypeGutter/types.js +1 -1
  234. package/dist/admin/components/forms/Form/buildInitialState.d.ts +2 -2
  235. package/dist/admin/components/forms/Form/buildInitialState.js +14 -14
  236. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +18 -18
  237. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +160 -160
  238. package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +14 -14
  239. package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +25 -25
  240. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +18 -18
  241. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +24 -24
  242. package/dist/admin/components/forms/Form/context.d.ts +13 -13
  243. package/dist/admin/components/forms/Form/context.js +24 -24
  244. package/dist/admin/components/forms/Form/errorMessages.d.ts +4 -4
  245. package/dist/admin/components/forms/Form/errorMessages.js +3 -3
  246. package/dist/admin/components/forms/Form/fieldReducer.d.ts +3 -3
  247. package/dist/admin/components/forms/Form/fieldReducer.js +147 -147
  248. package/dist/admin/components/forms/Form/flattenFilters.d.ts +4 -4
  249. package/dist/admin/components/forms/Form/flattenFilters.js +8 -8
  250. package/dist/admin/components/forms/Form/getDataByPath.d.ts +3 -3
  251. package/dist/admin/components/forms/Form/getDataByPath.js +14 -14
  252. package/dist/admin/components/forms/Form/getSiblingData.d.ts +3 -3
  253. package/dist/admin/components/forms/Form/getSiblingData.js +18 -18
  254. package/dist/admin/components/forms/Form/index.d.ts +4 -4
  255. package/dist/admin/components/forms/Form/index.js +308 -308
  256. package/dist/admin/components/forms/Form/initContextState.d.ts +3 -3
  257. package/dist/admin/components/forms/Form/initContextState.js +31 -31
  258. package/dist/admin/components/forms/Form/reduceFieldsToValues.d.ts +3 -3
  259. package/dist/admin/components/forms/Form/reduceFieldsToValues.js +14 -14
  260. package/dist/admin/components/forms/Form/types.d.ts +78 -78
  261. package/dist/admin/components/forms/Form/types.js +2 -2
  262. package/dist/admin/components/forms/Label/index.d.ts +5 -5
  263. package/dist/admin/components/forms/Label/index.js +12 -12
  264. package/dist/admin/components/forms/Label/types.d.ts +6 -6
  265. package/dist/admin/components/forms/Label/types.js +1 -1
  266. package/dist/admin/components/forms/RenderFields/index.d.ts +4 -4
  267. package/dist/admin/components/forms/RenderFields/index.js +77 -77
  268. package/dist/admin/components/forms/RenderFields/types.d.ts +13 -13
  269. package/dist/admin/components/forms/RenderFields/types.js +1 -1
  270. package/dist/admin/components/forms/Submit/index.d.ts +5 -5
  271. package/dist/admin/components/forms/Submit/index.js +13 -13
  272. package/dist/admin/components/forms/field-types/Array/Array.d.ts +5 -5
  273. package/dist/admin/components/forms/field-types/Array/Array.js +116 -116
  274. package/dist/admin/components/forms/field-types/Array/index.d.ts +4 -4
  275. package/dist/admin/components/forms/field-types/Array/index.js +6 -6
  276. package/dist/admin/components/forms/field-types/Array/types.d.ts +9 -9
  277. package/dist/admin/components/forms/field-types/Array/types.js +1 -1
  278. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSearch/index.d.ts +6 -6
  279. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSearch/index.js +14 -14
  280. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/index.d.ts +5 -5
  281. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/index.js +18 -18
  282. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/types.d.ts +7 -7
  283. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlockSelection/types.js +1 -1
  284. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/index.d.ts +5 -5
  285. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/index.js +9 -9
  286. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/types.d.ts +7 -7
  287. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/BlocksContainer/types.js +1 -1
  288. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/index.d.ts +4 -4
  289. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/index.js +26 -26
  290. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/types.d.ts +9 -9
  291. package/dist/admin/components/forms/field-types/Blocks/BlockSelector/types.js +1 -1
  292. package/dist/admin/components/forms/field-types/Blocks/Blocks.d.ts +5 -5
  293. package/dist/admin/components/forms/field-types/Blocks/Blocks.js +162 -162
  294. package/dist/admin/components/forms/field-types/Blocks/index.d.ts +4 -4
  295. package/dist/admin/components/forms/field-types/Blocks/index.js +6 -6
  296. package/dist/admin/components/forms/field-types/Blocks/types.d.ts +8 -8
  297. package/dist/admin/components/forms/field-types/Blocks/types.js +1 -1
  298. package/dist/admin/components/forms/field-types/Checkbox/index.d.ts +5 -5
  299. package/dist/admin/components/forms/field-types/Checkbox/index.js +46 -46
  300. package/dist/admin/components/forms/field-types/Checkbox/types.d.ts +6 -6
  301. package/dist/admin/components/forms/field-types/Checkbox/types.js +1 -1
  302. package/dist/admin/components/forms/field-types/Code/Code.d.ts +7 -7
  303. package/dist/admin/components/forms/field-types/Code/Code.js +53 -53
  304. package/dist/admin/components/forms/field-types/Code/index.d.ts +4 -4
  305. package/dist/admin/components/forms/field-types/Code/index.js +6 -6
  306. package/dist/admin/components/forms/field-types/Code/types.d.ts +4 -4
  307. package/dist/admin/components/forms/field-types/Code/types.js +1 -1
  308. package/dist/admin/components/forms/field-types/ConfirmPassword/index.d.ts +4 -4
  309. package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +32 -32
  310. package/dist/admin/components/forms/field-types/DateTime/index.d.ts +5 -5
  311. package/dist/admin/components/forms/field-types/DateTime/index.js +40 -40
  312. package/dist/admin/components/forms/field-types/DateTime/types.d.ts +4 -4
  313. package/dist/admin/components/forms/field-types/DateTime/types.js +1 -1
  314. package/dist/admin/components/forms/field-types/Email/index.d.ts +5 -5
  315. package/dist/admin/components/forms/field-types/Email/index.js +38 -38
  316. package/dist/admin/components/forms/field-types/Email/types.d.ts +4 -4
  317. package/dist/admin/components/forms/field-types/Email/types.js +1 -1
  318. package/dist/admin/components/forms/field-types/Group/index.d.ts +5 -5
  319. package/dist/admin/components/forms/field-types/Group/index.js +34 -34
  320. package/dist/admin/components/forms/field-types/Group/types.d.ts +8 -8
  321. package/dist/admin/components/forms/field-types/Group/types.js +1 -1
  322. package/dist/admin/components/forms/field-types/HiddenInput/index.d.ts +4 -4
  323. package/dist/admin/components/forms/field-types/HiddenInput/index.js +17 -17
  324. package/dist/admin/components/forms/field-types/HiddenInput/types.d.ts +6 -6
  325. package/dist/admin/components/forms/field-types/HiddenInput/types.js +1 -1
  326. package/dist/admin/components/forms/field-types/Number/index.d.ts +5 -5
  327. package/dist/admin/components/forms/field-types/Number/index.js +46 -46
  328. package/dist/admin/components/forms/field-types/Number/types.d.ts +4 -4
  329. package/dist/admin/components/forms/field-types/Number/types.js +1 -1
  330. package/dist/admin/components/forms/field-types/Password/index.d.ts +5 -5
  331. package/dist/admin/components/forms/field-types/Password/index.js +34 -34
  332. package/dist/admin/components/forms/field-types/Password/types.d.ts +15 -15
  333. package/dist/admin/components/forms/field-types/Password/types.js +1 -1
  334. package/dist/admin/components/forms/field-types/Point/index.d.ts +5 -5
  335. package/dist/admin/components/forms/field-types/Point/index.js +52 -52
  336. package/dist/admin/components/forms/field-types/Point/types.d.ts +4 -4
  337. package/dist/admin/components/forms/field-types/Point/types.js +1 -1
  338. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.d.ts +5 -5
  339. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +17 -17
  340. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +9 -9
  341. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.js +1 -1
  342. package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts +5 -5
  343. package/dist/admin/components/forms/field-types/RadioGroup/index.js +52 -52
  344. package/dist/admin/components/forms/field-types/RadioGroup/types.d.ts +4 -4
  345. package/dist/admin/components/forms/field-types/RadioGroup/types.js +1 -1
  346. package/dist/admin/components/forms/field-types/Relationship/createRelationMap.d.ts +10 -10
  347. package/dist/admin/components/forms/field-types/Relationship/createRelationMap.js +29 -29
  348. package/dist/admin/components/forms/field-types/Relationship/index.d.ts +5 -5
  349. package/dist/admin/components/forms/field-types/Relationship/index.js +273 -273
  350. package/dist/admin/components/forms/field-types/Relationship/optionsReducer.d.ts +3 -3
  351. package/dist/admin/components/forms/field-types/Relationship/optionsReducer.js +85 -85
  352. package/dist/admin/components/forms/field-types/Relationship/types.d.ts +37 -37
  353. package/dist/admin/components/forms/field-types/Relationship/types.js +1 -1
  354. package/dist/admin/components/forms/field-types/RichText/RichText.d.ts +23 -23
  355. package/dist/admin/components/forms/field-types/RichText/RichText.js +199 -199
  356. package/dist/admin/components/forms/field-types/RichText/elements/Button.d.ts +6 -6
  357. package/dist/admin/components/forms/field-types/RichText/elements/Button.js +19 -19
  358. package/dist/admin/components/forms/field-types/RichText/elements/ListButton.d.ts +6 -6
  359. package/dist/admin/components/forms/field-types/RichText/elements/ListButton.js +19 -19
  360. package/dist/admin/components/forms/field-types/RichText/elements/h1/index.d.ts +9 -9
  361. package/dist/admin/components/forms/field-types/RichText/elements/h1/index.js +10 -10
  362. package/dist/admin/components/forms/field-types/RichText/elements/h2/index.d.ts +9 -9
  363. package/dist/admin/components/forms/field-types/RichText/elements/h2/index.js +10 -10
  364. package/dist/admin/components/forms/field-types/RichText/elements/h3/index.d.ts +9 -9
  365. package/dist/admin/components/forms/field-types/RichText/elements/h3/index.js +10 -10
  366. package/dist/admin/components/forms/field-types/RichText/elements/h4/index.d.ts +9 -9
  367. package/dist/admin/components/forms/field-types/RichText/elements/h4/index.js +10 -10
  368. package/dist/admin/components/forms/field-types/RichText/elements/h5/index.d.ts +9 -9
  369. package/dist/admin/components/forms/field-types/RichText/elements/h5/index.js +10 -10
  370. package/dist/admin/components/forms/field-types/RichText/elements/h6/index.d.ts +9 -9
  371. package/dist/admin/components/forms/field-types/RichText/elements/h6/index.js +10 -10
  372. package/dist/admin/components/forms/field-types/RichText/elements/indent/index.d.ts +9 -9
  373. package/dist/admin/components/forms/field-types/RichText/elements/indent/index.js +69 -69
  374. package/dist/admin/components/forms/field-types/RichText/elements/index.d.ts +100 -100
  375. package/dist/admin/components/forms/field-types/RichText/elements/index.js +29 -29
  376. package/dist/admin/components/forms/field-types/RichText/elements/injectVoid.d.ts +2 -2
  377. package/dist/admin/components/forms/field-types/RichText/elements/injectVoid.js +24 -24
  378. package/dist/admin/components/forms/field-types/RichText/elements/isActive.d.ts +2 -2
  379. package/dist/admin/components/forms/field-types/RichText/elements/isActive.js +11 -11
  380. package/dist/admin/components/forms/field-types/RichText/elements/isLastSelectedElementEmpty.d.ts +2 -2
  381. package/dist/admin/components/forms/field-types/RichText/elements/isLastSelectedElementEmpty.js +12 -12
  382. package/dist/admin/components/forms/field-types/RichText/elements/isListActive.d.ts +3 -3
  383. package/dist/admin/components/forms/field-types/RichText/elements/isListActive.js +19 -19
  384. package/dist/admin/components/forms/field-types/RichText/elements/li/index.d.ts +5 -5
  385. package/dist/admin/components/forms/field-types/RichText/elements/li/index.js +11 -11
  386. package/dist/admin/components/forms/field-types/RichText/elements/link/index.d.ts +14 -14
  387. package/dist/admin/components/forms/field-types/RichText/elements/link/index.js +74 -74
  388. package/dist/admin/components/forms/field-types/RichText/elements/link/utilities.d.ts +4 -4
  389. package/dist/admin/components/forms/field-types/RichText/elements/link/utilities.js +42 -42
  390. package/dist/admin/components/forms/field-types/RichText/elements/listTypes.d.ts +2 -2
  391. package/dist/admin/components/forms/field-types/RichText/elements/listTypes.js +1 -1
  392. package/dist/admin/components/forms/field-types/RichText/elements/ol/index.d.ts +9 -9
  393. package/dist/admin/components/forms/field-types/RichText/elements/ol/index.js +10 -10
  394. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/Fields/index.d.ts +3 -3
  395. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/Fields/index.js +33 -33
  396. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.d.ts +6 -6
  397. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js +75 -75
  398. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.d.ts +4 -4
  399. package/dist/admin/components/forms/field-types/RichText/elements/relationship/Element/index.js +33 -33
  400. package/dist/admin/components/forms/field-types/RichText/elements/relationship/index.d.ts +9 -9
  401. package/dist/admin/components/forms/field-types/RichText/elements/relationship/index.js +10 -10
  402. package/dist/admin/components/forms/field-types/RichText/elements/relationship/plugin.d.ts +2 -2
  403. package/dist/admin/components/forms/field-types/RichText/elements/relationship/plugin.js +7 -7
  404. package/dist/admin/components/forms/field-types/RichText/elements/toggle.d.ts +2 -2
  405. package/dist/admin/components/forms/field-types/RichText/elements/toggle.js +30 -30
  406. package/dist/admin/components/forms/field-types/RichText/elements/types.d.ts +7 -7
  407. package/dist/admin/components/forms/field-types/RichText/elements/types.js +1 -1
  408. package/dist/admin/components/forms/field-types/RichText/elements/ul/index.d.ts +9 -9
  409. package/dist/admin/components/forms/field-types/RichText/elements/ul/index.js +10 -10
  410. package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.d.ts +7 -7
  411. package/dist/admin/components/forms/field-types/RichText/elements/upload/Button/index.js +138 -138
  412. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.d.ts +16 -16
  413. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +51 -51
  414. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.d.ts +13 -13
  415. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/SwapUploadModal/index.js +97 -97
  416. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.d.ts +10 -10
  417. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/index.js +73 -73
  418. package/dist/admin/components/forms/field-types/RichText/elements/upload/index.d.ts +15 -15
  419. package/dist/admin/components/forms/field-types/RichText/elements/upload/index.js +10 -10
  420. package/dist/admin/components/forms/field-types/RichText/elements/upload/plugin.d.ts +2 -2
  421. package/dist/admin/components/forms/field-types/RichText/elements/upload/plugin.js +7 -7
  422. package/dist/admin/components/forms/field-types/RichText/enablePlugins.d.ts +2 -2
  423. package/dist/admin/components/forms/field-types/RichText/enablePlugins.js +22 -22
  424. package/dist/admin/components/forms/field-types/RichText/hotkeys.d.ts +7 -7
  425. package/dist/admin/components/forms/field-types/RichText/hotkeys.js +6 -6
  426. package/dist/admin/components/forms/field-types/RichText/index.d.ts +4 -4
  427. package/dist/admin/components/forms/field-types/RichText/index.js +6 -6
  428. package/dist/admin/components/forms/field-types/RichText/leaves/Button.d.ts +7 -7
  429. package/dist/admin/components/forms/field-types/RichText/leaves/Button.js +17 -17
  430. package/dist/admin/components/forms/field-types/RichText/leaves/bold/index.d.ts +9 -9
  431. package/dist/admin/components/forms/field-types/RichText/leaves/bold/index.js +10 -10
  432. package/dist/admin/components/forms/field-types/RichText/leaves/code/index.d.ts +9 -9
  433. package/dist/admin/components/forms/field-types/RichText/leaves/code/index.js +10 -10
  434. package/dist/admin/components/forms/field-types/RichText/leaves/index.d.ts +39 -39
  435. package/dist/admin/components/forms/field-types/RichText/leaves/index.js +12 -12
  436. package/dist/admin/components/forms/field-types/RichText/leaves/isActive.d.ts +2 -2
  437. package/dist/admin/components/forms/field-types/RichText/leaves/isActive.js +6 -6
  438. package/dist/admin/components/forms/field-types/RichText/leaves/italic/index.d.ts +9 -9
  439. package/dist/admin/components/forms/field-types/RichText/leaves/italic/index.js +10 -10
  440. package/dist/admin/components/forms/field-types/RichText/leaves/strikethrough/index.d.ts +9 -9
  441. package/dist/admin/components/forms/field-types/RichText/leaves/strikethrough/index.js +10 -10
  442. package/dist/admin/components/forms/field-types/RichText/leaves/toggle.d.ts +2 -2
  443. package/dist/admin/components/forms/field-types/RichText/leaves/toggle.js +12 -12
  444. package/dist/admin/components/forms/field-types/RichText/leaves/underline/index.d.ts +9 -9
  445. package/dist/admin/components/forms/field-types/RichText/leaves/underline/index.js +10 -10
  446. package/dist/admin/components/forms/field-types/RichText/mergeCustomFunctions.d.ts +2 -2
  447. package/dist/admin/components/forms/field-types/RichText/mergeCustomFunctions.js +21 -21
  448. package/dist/admin/components/forms/field-types/RichText/plugins/withEnterBreakOut.d.ts +2 -2
  449. package/dist/admin/components/forms/field-types/RichText/plugins/withEnterBreakOut.js +7 -7
  450. package/dist/admin/components/forms/field-types/RichText/plugins/withHTML.d.ts +2 -2
  451. package/dist/admin/components/forms/field-types/RichText/plugins/withHTML.js +78 -78
  452. package/dist/admin/components/forms/field-types/RichText/types.d.ts +8 -8
  453. package/dist/admin/components/forms/field-types/RichText/types.js +1 -1
  454. package/dist/admin/components/forms/field-types/Row/index.d.ts +5 -5
  455. package/dist/admin/components/forms/field-types/Row/index.js +18 -18
  456. package/dist/admin/components/forms/field-types/Row/types.d.ts +8 -8
  457. package/dist/admin/components/forms/field-types/Row/types.js +1 -1
  458. package/dist/admin/components/forms/field-types/Select/Input.d.ts +22 -22
  459. package/dist/admin/components/forms/field-types/Select/Input.js +33 -33
  460. package/dist/admin/components/forms/field-types/Select/index.d.ts +4 -4
  461. package/dist/admin/components/forms/field-types/Select/index.js +53 -53
  462. package/dist/admin/components/forms/field-types/Select/types.d.ts +4 -4
  463. package/dist/admin/components/forms/field-types/Select/types.js +1 -1
  464. package/dist/admin/components/forms/field-types/Text/Input.d.ts +20 -20
  465. package/dist/admin/components/forms/field-types/Text/Input.js +25 -25
  466. package/dist/admin/components/forms/field-types/Text/index.d.ts +4 -4
  467. package/dist/admin/components/forms/field-types/Text/index.js +23 -23
  468. package/dist/admin/components/forms/field-types/Text/types.d.ts +4 -4
  469. package/dist/admin/components/forms/field-types/Text/types.js +1 -1
  470. package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +21 -21
  471. package/dist/admin/components/forms/field-types/Textarea/Input.js +24 -24
  472. package/dist/admin/components/forms/field-types/Textarea/index.d.ts +5 -5
  473. package/dist/admin/components/forms/field-types/Textarea/index.js +23 -23
  474. package/dist/admin/components/forms/field-types/Textarea/types.d.ts +4 -4
  475. package/dist/admin/components/forms/field-types/Textarea/types.js +1 -1
  476. package/dist/admin/components/forms/field-types/UI/index.d.ts +4 -4
  477. package/dist/admin/components/forms/field-types/UI/index.js +10 -10
  478. package/dist/admin/components/forms/field-types/Upload/Add/index.d.ts +5 -5
  479. package/dist/admin/components/forms/field-types/Upload/Add/index.js +46 -46
  480. package/dist/admin/components/forms/field-types/Upload/Add/types.d.ts +10 -10
  481. package/dist/admin/components/forms/field-types/Upload/Add/types.js +1 -1
  482. package/dist/admin/components/forms/field-types/Upload/Input.d.ts +27 -27
  483. package/dist/admin/components/forms/field-types/Upload/Input.js +86 -86
  484. package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.d.ts +5 -5
  485. package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.js +99 -99
  486. package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.d.ts +11 -11
  487. package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.js +1 -1
  488. package/dist/admin/components/forms/field-types/Upload/index.d.ts +5 -5
  489. package/dist/admin/components/forms/field-types/Upload/index.js +32 -32
  490. package/dist/admin/components/forms/field-types/Upload/types.d.ts +6 -6
  491. package/dist/admin/components/forms/field-types/Upload/types.js +1 -1
  492. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts +5 -5
  493. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.js +11 -11
  494. package/dist/admin/components/forms/field-types/index.d.ts +26 -26
  495. package/dist/admin/components/forms/field-types/index.js +45 -45
  496. package/dist/admin/components/forms/field-types/rowReducer.d.ts +2 -2
  497. package/dist/admin/components/forms/field-types/rowReducer.js +50 -50
  498. package/dist/admin/components/forms/useField/index.d.ts +3 -3
  499. package/dist/admin/components/forms/useField/index.js +127 -127
  500. package/dist/admin/components/forms/useField/types.d.ts +18 -18
  501. package/dist/admin/components/forms/useField/types.js +1 -1
  502. package/dist/admin/components/forms/withCondition/index.d.ts +3 -3
  503. package/dist/admin/components/forms/withCondition/index.js +63 -63
  504. package/dist/admin/components/graphics/Account/index.d.ts +3 -3
  505. package/dist/admin/components/graphics/Account/index.js +6 -6
  506. package/dist/admin/components/graphics/DefaultBlockImage/index.d.ts +3 -3
  507. package/dist/admin/components/graphics/DefaultBlockImage/index.js +13 -13
  508. package/dist/admin/components/graphics/File/index.d.ts +3 -3
  509. package/dist/admin/components/graphics/File/index.js +6 -6
  510. package/dist/admin/components/graphics/Icon/index.d.ts +3 -3
  511. package/dist/admin/components/graphics/Icon/index.js +13 -13
  512. package/dist/admin/components/graphics/Logo/index.d.ts +3 -3
  513. package/dist/admin/components/graphics/Logo/index.js +20 -20
  514. package/dist/admin/components/graphics/Search/index.d.ts +3 -3
  515. package/dist/admin/components/graphics/Search/index.js +5 -5
  516. package/dist/admin/components/icons/Blockquote/index.d.ts +3 -3
  517. package/dist/admin/components/icons/Blockquote/index.js +5 -5
  518. package/dist/admin/components/icons/Bold/index.d.ts +3 -3
  519. package/dist/admin/components/icons/Bold/index.js +5 -5
  520. package/dist/admin/components/icons/Calendar/index.d.ts +4 -4
  521. package/dist/admin/components/icons/Calendar/index.js +8 -8
  522. package/dist/admin/components/icons/Check/index.d.ts +4 -4
  523. package/dist/admin/components/icons/Check/index.js +6 -6
  524. package/dist/admin/components/icons/Chevron/index.d.ts +6 -6
  525. package/dist/admin/components/icons/Chevron/index.js +8 -8
  526. package/dist/admin/components/icons/CloseMenu/index.d.ts +4 -4
  527. package/dist/admin/components/icons/CloseMenu/index.js +6 -6
  528. package/dist/admin/components/icons/Code/index.d.ts +3 -3
  529. package/dist/admin/components/icons/Code/index.js +4 -4
  530. package/dist/admin/components/icons/CodeBlock/index.d.ts +3 -3
  531. package/dist/admin/components/icons/CodeBlock/index.js +5 -5
  532. package/dist/admin/components/icons/Copy/index.d.ts +4 -4
  533. package/dist/admin/components/icons/Copy/index.js +6 -6
  534. package/dist/admin/components/icons/Edit/index.d.ts +4 -4
  535. package/dist/admin/components/icons/Edit/index.js +7 -7
  536. package/dist/admin/components/icons/IndentLeft/index.d.ts +4 -4
  537. package/dist/admin/components/icons/IndentLeft/index.js +8 -8
  538. package/dist/admin/components/icons/IndentRight/index.d.ts +4 -4
  539. package/dist/admin/components/icons/IndentRight/index.js +8 -8
  540. package/dist/admin/components/icons/Italic/index.d.ts +3 -3
  541. package/dist/admin/components/icons/Italic/index.js +5 -5
  542. package/dist/admin/components/icons/Link/index.d.ts +3 -3
  543. package/dist/admin/components/icons/Link/index.js +5 -5
  544. package/dist/admin/components/icons/LogOut/index.d.ts +4 -4
  545. package/dist/admin/components/icons/LogOut/index.js +8 -8
  546. package/dist/admin/components/icons/Menu/index.d.ts +3 -3
  547. package/dist/admin/components/icons/Menu/index.js +6 -6
  548. package/dist/admin/components/icons/OrderedList/index.d.ts +3 -3
  549. package/dist/admin/components/icons/OrderedList/index.js +5 -5
  550. package/dist/admin/components/icons/Plus/index.d.ts +4 -4
  551. package/dist/admin/components/icons/Plus/index.js +6 -6
  552. package/dist/admin/components/icons/Relationship/index.d.ts +4 -4
  553. package/dist/admin/components/icons/Relationship/index.js +7 -7
  554. package/dist/admin/components/icons/Search/index.d.ts +3 -3
  555. package/dist/admin/components/icons/Search/index.js +5 -5
  556. package/dist/admin/components/icons/Strikethrough/index.d.ts +3 -3
  557. package/dist/admin/components/icons/Strikethrough/index.js +5 -5
  558. package/dist/admin/components/icons/Swap/index.d.ts +4 -4
  559. package/dist/admin/components/icons/Swap/index.js +8 -8
  560. package/dist/admin/components/icons/Underline/index.d.ts +3 -3
  561. package/dist/admin/components/icons/Underline/index.js +5 -5
  562. package/dist/admin/components/icons/UnorderedList/index.d.ts +3 -3
  563. package/dist/admin/components/icons/UnorderedList/index.js +5 -5
  564. package/dist/admin/components/icons/Upload/index.d.ts +4 -4
  565. package/dist/admin/components/icons/Upload/index.js +6 -6
  566. package/dist/admin/components/icons/X/index.d.ts +4 -4
  567. package/dist/admin/components/icons/X/index.js +6 -6
  568. package/dist/admin/components/icons/headings/H1/index.d.ts +3 -3
  569. package/dist/admin/components/icons/headings/H1/index.js +5 -5
  570. package/dist/admin/components/icons/headings/H2/index.d.ts +3 -3
  571. package/dist/admin/components/icons/headings/H2/index.js +5 -5
  572. package/dist/admin/components/icons/headings/H3/index.d.ts +3 -3
  573. package/dist/admin/components/icons/headings/H3/index.js +5 -5
  574. package/dist/admin/components/icons/headings/H4/index.d.ts +3 -3
  575. package/dist/admin/components/icons/headings/H4/index.js +5 -5
  576. package/dist/admin/components/icons/headings/H5/index.d.ts +3 -3
  577. package/dist/admin/components/icons/headings/H5/index.js +5 -5
  578. package/dist/admin/components/icons/headings/H6/index.d.ts +3 -3
  579. package/dist/admin/components/icons/headings/H6/index.js +5 -5
  580. package/dist/admin/components/icons/headings/index.d.ts +10 -10
  581. package/dist/admin/components/icons/headings/index.js +14 -14
  582. package/dist/admin/components/index.d.ts +10 -10
  583. package/dist/admin/components/index.js +10 -10
  584. package/dist/admin/components/modals/LeaveWithoutSaving/index.d.ts +4 -4
  585. package/dist/admin/components/modals/LeaveWithoutSaving/index.js +19 -19
  586. package/dist/admin/components/modals/StayLoggedIn/index.d.ts +5 -5
  587. package/dist/admin/components/modals/StayLoggedIn/index.js +28 -28
  588. package/dist/admin/components/modals/StayLoggedIn/types.d.ts +3 -3
  589. package/dist/admin/components/modals/StayLoggedIn/types.js +1 -1
  590. package/dist/admin/components/templates/Default/index.d.ts +5 -5
  591. package/dist/admin/components/templates/Default/index.js +21 -21
  592. package/dist/admin/components/templates/Default/types.d.ts +5 -5
  593. package/dist/admin/components/templates/Default/types.js +1 -1
  594. package/dist/admin/components/templates/Minimal/index.d.ts +5 -5
  595. package/dist/admin/components/templates/Minimal/index.js +14 -14
  596. package/dist/admin/components/templates/Minimal/types.d.ts +7 -7
  597. package/dist/admin/components/templates/Minimal/types.js +1 -1
  598. package/dist/admin/components/utilities/Auth/index.d.ts +6 -6
  599. package/dist/admin/components/utilities/Auth/index.js +124 -124
  600. package/dist/admin/components/utilities/Auth/types.d.ts +9 -9
  601. package/dist/admin/components/utilities/Auth/types.js +1 -1
  602. package/dist/admin/components/utilities/Config/index.d.ts +7 -7
  603. package/dist/admin/components/utilities/Config/index.js +4 -4
  604. package/dist/admin/components/utilities/CustomProvider/index.d.ts +4 -4
  605. package/dist/admin/components/utilities/CustomProvider/index.js +18 -18
  606. package/dist/admin/components/utilities/DocumentInfo/index.d.ts +6 -6
  607. package/dist/admin/components/utilities/DocumentInfo/index.js +136 -136
  608. package/dist/admin/components/utilities/DocumentInfo/types.d.ts +25 -25
  609. package/dist/admin/components/utilities/DocumentInfo/types.js +1 -1
  610. package/dist/admin/components/utilities/Locale/index.d.ts +7 -7
  611. package/dist/admin/components/utilities/Locale/index.js +45 -45
  612. package/dist/admin/components/utilities/Meta/index.d.ts +4 -4
  613. package/dist/admin/components/utilities/Meta/index.js +59 -59
  614. package/dist/admin/components/utilities/Meta/types.d.ts +12 -12
  615. package/dist/admin/components/utilities/Meta/types.js +1 -1
  616. package/dist/admin/components/utilities/OperationProvider/index.d.ts +4 -4
  617. package/dist/admin/components/utilities/OperationProvider/index.js +3 -3
  618. package/dist/admin/components/utilities/Portal/index.d.ts +5 -5
  619. package/dist/admin/components/utilities/Portal/index.js +3 -3
  620. package/dist/admin/components/utilities/Preferences/index.d.ts +10 -10
  621. package/dist/admin/components/utilities/Preferences/index.js +50 -50
  622. package/dist/admin/components/utilities/RenderCustomComponent/index.d.ts +4 -4
  623. package/dist/admin/components/utilities/RenderCustomComponent/index.js +9 -9
  624. package/dist/admin/components/utilities/RenderCustomComponent/types.d.ts +6 -6
  625. package/dist/admin/components/utilities/RenderCustomComponent/types.js +1 -1
  626. package/dist/admin/components/utilities/SearchParams/index.d.ts +6 -6
  627. package/dist/admin/components/utilities/SearchParams/index.js +10 -10
  628. package/dist/admin/components/views/Account/Default.d.ts +5 -5
  629. package/dist/admin/components/views/Account/Default.js +71 -71
  630. package/dist/admin/components/views/Account/index.d.ts +3 -3
  631. package/dist/admin/components/views/Account/index.js +59 -59
  632. package/dist/admin/components/views/Account/types.d.ts +13 -13
  633. package/dist/admin/components/views/Account/types.js +1 -1
  634. package/dist/admin/components/views/CreateFirstUser/index.d.ts +5 -5
  635. package/dist/admin/components/views/CreateFirstUser/index.js +55 -55
  636. package/dist/admin/components/views/CreateFirstUser/types.d.ts +3 -3
  637. package/dist/admin/components/views/CreateFirstUser/types.js +1 -1
  638. package/dist/admin/components/views/Dashboard/Default.d.ts +5 -5
  639. package/dist/admin/components/views/Dashboard/Default.js +30 -30
  640. package/dist/admin/components/views/Dashboard/index.d.ts +3 -3
  641. package/dist/admin/components/views/Dashboard/index.js +26 -26
  642. package/dist/admin/components/views/Dashboard/types.d.ts +8 -8
  643. package/dist/admin/components/views/Dashboard/types.js +1 -1
  644. package/dist/admin/components/views/ForgotPassword/index.d.ts +4 -4
  645. package/dist/admin/components/views/ForgotPassword/index.js +52 -52
  646. package/dist/admin/components/views/Global/Default.d.ts +5 -5
  647. package/dist/admin/components/views/Global/Default.js +78 -78
  648. package/dist/admin/components/views/Global/index.d.ts +4 -4
  649. package/dist/admin/components/views/Global/index.js +57 -57
  650. package/dist/admin/components/views/Global/types.d.ts +18 -18
  651. package/dist/admin/components/views/Global/types.js +1 -1
  652. package/dist/admin/components/views/Login/index.d.ts +4 -4
  653. package/dist/admin/components/views/Login/index.js +51 -51
  654. package/dist/admin/components/views/Logout/index.d.ts +6 -6
  655. package/dist/admin/components/views/Logout/index.js +24 -24
  656. package/dist/admin/components/views/NotFound/index.d.ts +4 -4
  657. package/dist/admin/components/views/NotFound/index.js +25 -25
  658. package/dist/admin/components/views/ResetPassword/index.d.ts +4 -4
  659. package/dist/admin/components/views/ResetPassword/index.js +49 -49
  660. package/dist/admin/components/views/Unauthorized/index.d.ts +3 -3
  661. package/dist/admin/components/views/Unauthorized/index.js +15 -15
  662. package/dist/admin/components/views/Verify/index.d.ts +7 -7
  663. package/dist/admin/components/views/Verify/index.js +43 -43
  664. package/dist/admin/components/views/Version/Compare/index.d.ts +5 -5
  665. package/dist/admin/components/views/Version/Compare/index.js +79 -79
  666. package/dist/admin/components/views/Version/Compare/types.d.ts +26 -26
  667. package/dist/admin/components/views/Version/Compare/types.js +1 -1
  668. package/dist/admin/components/views/Version/RenderFieldsToDiff/Label/index.d.ts +6 -6
  669. package/dist/admin/components/views/Version/RenderFieldsToDiff/Label/index.js +5 -5
  670. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +8 -8
  671. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +57 -57
  672. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +8 -8
  673. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Nested/index.js +15 -15
  674. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +8 -8
  675. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +68 -68
  676. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +5 -5
  677. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.js +25 -25
  678. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/richTextToHTML.d.ts +1 -1
  679. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/richTextToHTML.js +82 -82
  680. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/stringifyRichText.d.ts +1 -1
  681. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/stringifyRichText.js +52 -52
  682. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +6 -6
  683. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/diffMethods.js +6 -6
  684. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.d.ts +33 -33
  685. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.js +23 -23
  686. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.d.ts +16 -16
  687. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.js +1 -1
  688. package/dist/admin/components/views/Version/RenderFieldsToDiff/index.d.ts +5 -5
  689. package/dist/admin/components/views/Version/RenderFieldsToDiff/index.js +39 -39
  690. package/dist/admin/components/views/Version/RenderFieldsToDiff/types.d.ts +11 -11
  691. package/dist/admin/components/views/Version/RenderFieldsToDiff/types.js +1 -1
  692. package/dist/admin/components/views/Version/Restore/index.d.ts +5 -5
  693. package/dist/admin/components/views/Version/Restore/index.js +50 -50
  694. package/dist/admin/components/views/Version/Restore/types.d.ts +10 -10
  695. package/dist/admin/components/views/Version/Restore/types.js +1 -1
  696. package/dist/admin/components/views/Version/SelectLocales/index.d.ts +5 -5
  697. package/dist/admin/components/views/Version/SelectLocales/index.js +8 -8
  698. package/dist/admin/components/views/Version/SelectLocales/types.d.ts +6 -6
  699. package/dist/admin/components/views/Version/SelectLocales/types.js +1 -1
  700. package/dist/admin/components/views/Version/Version.d.ts +5 -5
  701. package/dist/admin/components/views/Version/Version.js +159 -159
  702. package/dist/admin/components/views/Version/index.d.ts +4 -4
  703. package/dist/admin/components/views/Version/index.js +6 -6
  704. package/dist/admin/components/views/Version/shared.d.ts +8 -8
  705. package/dist/admin/components/views/Version/shared.js +8 -8
  706. package/dist/admin/components/views/Version/types.d.ts +16 -16
  707. package/dist/admin/components/views/Version/types.js +1 -1
  708. package/dist/admin/components/views/Versions/columns.d.ts +4 -4
  709. package/dist/admin/components/views/Versions/columns.js +47 -47
  710. package/dist/admin/components/views/Versions/index.d.ts +5 -5
  711. package/dist/admin/components/views/Versions/index.js +178 -178
  712. package/dist/admin/components/views/Versions/types.d.ts +6 -6
  713. package/dist/admin/components/views/Versions/types.js +1 -1
  714. package/dist/admin/components/views/collections/Edit/Auth/APIKey.d.ts +3 -3
  715. package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +60 -60
  716. package/dist/admin/components/views/collections/Edit/Auth/index.d.ts +5 -5
  717. package/dist/admin/components/views/collections/Edit/Auth/index.js +56 -56
  718. package/dist/admin/components/views/collections/Edit/Auth/types.d.ts +10 -10
  719. package/dist/admin/components/views/collections/Edit/Auth/types.js +1 -1
  720. package/dist/admin/components/views/collections/Edit/Default.d.ts +5 -5
  721. package/dist/admin/components/views/collections/Edit/Default.js +98 -98
  722. package/dist/admin/components/views/collections/Edit/Upload/index.d.ts +5 -5
  723. package/dist/admin/components/views/collections/Edit/Upload/index.js +118 -118
  724. package/dist/admin/components/views/collections/Edit/Upload/types.d.ts +12 -12
  725. package/dist/admin/components/views/collections/Edit/Upload/types.js +1 -1
  726. package/dist/admin/components/views/collections/Edit/formatFields.d.ts +4 -4
  727. package/dist/admin/components/views/collections/Edit/formatFields.js +5 -5
  728. package/dist/admin/components/views/collections/Edit/index.d.ts +4 -4
  729. package/dist/admin/components/views/collections/Edit/index.js +104 -104
  730. package/dist/admin/components/views/collections/Edit/types.d.ts +19 -19
  731. package/dist/admin/components/views/collections/Edit/types.js +1 -1
  732. package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.d.ts +1 -1
  733. package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.js +138 -138
  734. package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.d.ts +8 -8
  735. package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.js +8 -8
  736. package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.d.ts +6 -6
  737. package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.js +21 -21
  738. package/dist/admin/components/views/collections/List/Cell/field-types/Checkbox/index.d.ts +6 -6
  739. package/dist/admin/components/views/collections/List/Cell/field-types/Checkbox/index.js +6 -6
  740. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.d.ts +6 -6
  741. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.js +8 -8
  742. package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.d.ts +5 -5
  743. package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.js +8 -8
  744. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.d.ts +3 -3
  745. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.js +36 -36
  746. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.d.ts +5 -5
  747. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +7 -7
  748. package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.d.ts +7 -7
  749. package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.js +23 -23
  750. package/dist/admin/components/views/collections/List/Cell/field-types/Textarea/index.d.ts +5 -5
  751. package/dist/admin/components/views/collections/List/Cell/field-types/Textarea/index.js +6 -6
  752. package/dist/admin/components/views/collections/List/Cell/field-types/Upload/index.d.ts +5 -5
  753. package/dist/admin/components/views/collections/List/Cell/field-types/Upload/index.js +4 -4
  754. package/dist/admin/components/views/collections/List/Cell/field-types/index.d.ts +35 -35
  755. package/dist/admin/components/views/collections/List/Cell/field-types/index.js +22 -22
  756. package/dist/admin/components/views/collections/List/Cell/index.d.ts +4 -4
  757. package/dist/admin/components/views/collections/List/Cell/index.js +36 -36
  758. package/dist/admin/components/views/collections/List/Cell/types.d.ts +11 -11
  759. package/dist/admin/components/views/collections/List/Cell/types.js +1 -1
  760. package/dist/admin/components/views/collections/List/Default.d.ts +5 -5
  761. package/dist/admin/components/views/collections/List/Default.js +63 -63
  762. package/dist/admin/components/views/collections/List/buildColumns.d.ts +4 -4
  763. package/dist/admin/components/views/collections/List/buildColumns.js +52 -52
  764. package/dist/admin/components/views/collections/List/formatFields.d.ts +4 -4
  765. package/dist/admin/components/views/collections/List/formatFields.js +38 -38
  766. package/dist/admin/components/views/collections/List/getInitialColumns.d.ts +3 -3
  767. package/dist/admin/components/views/collections/List/getInitialColumns.js +37 -37
  768. package/dist/admin/components/views/collections/List/index.d.ts +4 -4
  769. package/dist/admin/components/views/collections/List/index.js +117 -117
  770. package/dist/admin/components/views/collections/List/types.d.ts +24 -24
  771. package/dist/admin/components/views/collections/List/types.js +1 -1
  772. package/dist/admin/hooks/useDebounce.d.ts +1 -1
  773. package/dist/admin/hooks/useDebounce.js +15 -15
  774. package/dist/admin/hooks/useDebouncedCallback.d.ts +7 -7
  775. package/dist/admin/hooks/useDebouncedCallback.js +20 -20
  776. package/dist/admin/hooks/useIntersect.d.ts +11 -11
  777. package/dist/admin/hooks/useIntersect.js +20 -20
  778. package/dist/admin/hooks/useMountEffect.d.ts +2 -2
  779. package/dist/admin/hooks/useMountEffect.js +3 -3
  780. package/dist/admin/hooks/usePayloadAPI.d.ts +18 -18
  781. package/dist/admin/hooks/usePayloadAPI.js +44 -44
  782. package/dist/admin/hooks/useThrottledEffect.d.ts +4 -4
  783. package/dist/admin/hooks/useThrottledEffect.js +17 -17
  784. package/dist/admin/hooks/useThumbnail.d.ts +3 -3
  785. package/dist/admin/hooks/useThumbnail.js +27 -27
  786. package/dist/admin/hooks/useTitle.d.ts +2 -2
  787. package/dist/admin/hooks/useTitle.js +7 -7
  788. package/dist/admin/index.d.ts +1 -1
  789. package/dist/admin/index.js +46 -46
  790. package/dist/admin/utilities/getOffsetTop.d.ts +2 -2
  791. package/dist/admin/utilities/getOffsetTop.js +14 -14
  792. package/dist/auth/auth.spec.d.ts +1 -1
  793. package/dist/auth/auth.spec.js +197 -197
  794. package/dist/auth/baseFields/accountLock.d.ts +3 -3
  795. package/dist/auth/baseFields/accountLock.js +15 -15
  796. package/dist/auth/baseFields/apiKey.d.ts +3 -3
  797. package/dist/auth/baseFields/apiKey.js +62 -62
  798. package/dist/auth/baseFields/auth.d.ts +3 -3
  799. package/dist/auth/baseFields/auth.js +27 -27
  800. package/dist/auth/baseFields/verification.d.ts +3 -3
  801. package/dist/auth/baseFields/verification.js +40 -40
  802. package/dist/auth/crypto.d.ts +2 -2
  803. package/dist/auth/crypto.js +25 -25
  804. package/dist/auth/defaultAccess.d.ts +5 -5
  805. package/dist/auth/defaultAccess.js +3 -3
  806. package/dist/auth/defaultUser.d.ts +3 -3
  807. package/dist/auth/defaultUser.js +17 -17
  808. package/dist/auth/executeAccess.d.ts +3 -3
  809. package/dist/auth/executeAccess.js +20 -20
  810. package/dist/auth/getExecuteStaticAccess.d.ts +7 -7
  811. package/dist/auth/getExecuteStaticAccess.js +55 -55
  812. package/dist/auth/getExtractJWT.d.ts +4 -4
  813. package/dist/auth/getExtractJWT.js +24 -24
  814. package/dist/auth/graphql/resolvers/access.d.ts +3 -3
  815. package/dist/auth/graphql/resolvers/access.js +29 -29
  816. package/dist/auth/graphql/resolvers/forgotPassword.d.ts +3 -3
  817. package/dist/auth/graphql/resolvers/forgotPassword.js +23 -23
  818. package/dist/auth/graphql/resolvers/init.d.ts +3 -3
  819. package/dist/auth/graphql/resolvers/init.js +18 -18
  820. package/dist/auth/graphql/resolvers/login.d.ts +5 -5
  821. package/dist/auth/graphql/resolvers/login.js +23 -23
  822. package/dist/auth/graphql/resolvers/logout.d.ts +3 -3
  823. package/dist/auth/graphql/resolvers/logout.js +19 -19
  824. package/dist/auth/graphql/resolvers/me.d.ts +3 -3
  825. package/dist/auth/graphql/resolvers/me.js +17 -17
  826. package/dist/auth/graphql/resolvers/refresh.d.ts +3 -3
  827. package/dist/auth/graphql/resolvers/refresh.js +27 -27
  828. package/dist/auth/graphql/resolvers/resetPassword.d.ts +3 -3
  829. package/dist/auth/graphql/resolvers/resetPassword.js +25 -25
  830. package/dist/auth/graphql/resolvers/unlock.d.ts +3 -3
  831. package/dist/auth/graphql/resolvers/unlock.js +19 -19
  832. package/dist/auth/graphql/resolvers/verifyEmail.d.ts +3 -3
  833. package/dist/auth/graphql/resolvers/verifyEmail.js +25 -25
  834. package/dist/auth/index.d.ts +1 -1
  835. package/dist/auth/index.js +17 -17
  836. package/dist/auth/init.d.ts +3 -3
  837. package/dist/auth/init.js +13 -13
  838. package/dist/auth/isLocked.d.ts +2 -2
  839. package/dist/auth/isLocked.js +4 -4
  840. package/dist/auth/operations/access.d.ts +7 -7
  841. package/dist/auth/operations/access.js +104 -104
  842. package/dist/auth/operations/forgotPassword.d.ts +15 -15
  843. package/dist/auth/operations/forgotPassword.js +69 -69
  844. package/dist/auth/operations/init.d.ts +5 -5
  845. package/dist/auth/operations/init.js +8 -8
  846. package/dist/auth/operations/local/forgotPassword.d.ts +14 -14
  847. package/dist/auth/operations/local/forgotPassword.js +21 -21
  848. package/dist/auth/operations/local/index.d.ts +13 -13
  849. package/dist/auth/operations/local/index.js +17 -17
  850. package/dist/auth/operations/local/login.d.ts +23 -23
  851. package/dist/auth/operations/local/login.js +31 -31
  852. package/dist/auth/operations/local/resetPassword.d.ts +14 -14
  853. package/dist/auth/operations/local/resetPassword.js +21 -21
  854. package/dist/auth/operations/local/unlock.d.ts +12 -12
  855. package/dist/auth/operations/local/unlock.js +21 -21
  856. package/dist/auth/operations/local/verifyEmail.d.ts +7 -7
  857. package/dist/auth/operations/local/verifyEmail.js +15 -15
  858. package/dist/auth/operations/login.d.ts +25 -25
  859. package/dist/auth/operations/login.js +140 -140
  860. package/dist/auth/operations/logout.d.ts +10 -10
  861. package/dist/auth/operations/logout.js +26 -26
  862. package/dist/auth/operations/me.d.ts +15 -15
  863. package/dist/auth/operations/me.js +35 -35
  864. package/dist/auth/operations/refresh.d.ts +17 -17
  865. package/dist/auth/operations/refresh.js +56 -56
  866. package/dist/auth/operations/registerFirstUser.d.ts +19 -19
  867. package/dist/auth/operations/registerFirstUser.js +44 -44
  868. package/dist/auth/operations/resetPassword.d.ts +20 -20
  869. package/dist/auth/operations/resetPassword.js +62 -69
  870. package/dist/auth/operations/unlock.d.ts +12 -12
  871. package/dist/auth/operations/unlock.js +30 -30
  872. package/dist/auth/operations/verifyEmail.d.ts +7 -7
  873. package/dist/auth/operations/verifyEmail.js +24 -24
  874. package/dist/auth/requestHandlers/access.d.ts +4 -4
  875. package/dist/auth/requestHandlers/access.js +20 -20
  876. package/dist/auth/requestHandlers/forgotPassword.d.ts +3 -3
  877. package/dist/auth/requestHandlers/forgotPassword.js +26 -26
  878. package/dist/auth/requestHandlers/init.d.ts +3 -3
  879. package/dist/auth/requestHandlers/init.js +16 -16
  880. package/dist/auth/requestHandlers/login.d.ts +6 -6
  881. package/dist/auth/requestHandlers/login.js +29 -29
  882. package/dist/auth/requestHandlers/logout.d.ts +5 -5
  883. package/dist/auth/requestHandlers/logout.js +21 -21
  884. package/dist/auth/requestHandlers/me.d.ts +3 -3
  885. package/dist/auth/requestHandlers/me.js +19 -19
  886. package/dist/auth/requestHandlers/refresh.d.ts +3 -3
  887. package/dist/auth/requestHandlers/refresh.js +31 -31
  888. package/dist/auth/requestHandlers/registerFirstUser.d.ts +3 -3
  889. package/dist/auth/requestHandlers/registerFirstUser.js +21 -21
  890. package/dist/auth/requestHandlers/resetPassword.d.ts +4 -4
  891. package/dist/auth/requestHandlers/resetPassword.js +27 -27
  892. package/dist/auth/requestHandlers/unlock.d.ts +3 -3
  893. package/dist/auth/requestHandlers/unlock.js +24 -24
  894. package/dist/auth/requestHandlers/verifyEmail.d.ts +4 -4
  895. package/dist/auth/requestHandlers/verifyEmail.js +23 -23
  896. package/dist/auth/sendVerificationEmail.d.ts +17 -17
  897. package/dist/auth/sendVerificationEmail.js +35 -35
  898. package/dist/auth/strategies/apiKey.d.ts +7 -7
  899. package/dist/auth/strategies/apiKey.js +64 -64
  900. package/dist/auth/strategies/jwt.d.ts +4 -4
  901. package/dist/auth/strategies/jwt.js +59 -59
  902. package/dist/auth/types.d.ts +107 -107
  903. package/dist/auth/types.js +7 -7
  904. package/dist/babel.config.d.ts +4 -4
  905. package/dist/babel.config.js +21 -21
  906. package/dist/bin/build.d.ts +1 -1
  907. package/dist/bin/build.js +48 -48
  908. package/dist/bin/generateTypes.d.ts +1 -1
  909. package/dist/bin/generateTypes.js +349 -349
  910. package/dist/bin/index.d.ts +1 -1
  911. package/dist/bin/index.js +30 -30
  912. package/dist/collections/bindCollection.d.ts +7 -7
  913. package/dist/collections/bindCollection.js +7 -7
  914. package/dist/collections/buildEndpoints.d.ts +4 -4
  915. package/dist/collections/buildEndpoints.js +131 -131
  916. package/dist/collections/buildSchema.d.ts +5 -5
  917. package/dist/collections/buildSchema.js +17 -17
  918. package/dist/collections/config/build.d.ts +3 -3
  919. package/dist/collections/config/build.js +4 -4
  920. package/dist/collections/config/defaults.d.ts +58 -58
  921. package/dist/collections/config/defaults.js +55 -55
  922. package/dist/collections/config/sanitize.d.ts +4 -4
  923. package/dist/collections/config/sanitize.js +92 -92
  924. package/dist/collections/config/schema.d.ts +3 -3
  925. package/dist/collections/config/schema.js +106 -106
  926. package/dist/collections/config/types.d.ts +234 -234
  927. package/dist/collections/config/types.js +2 -2
  928. package/dist/collections/graphql/init.d.ts +3 -3
  929. package/dist/collections/graphql/init.js +343 -343
  930. package/dist/collections/graphql/resolvers/create.d.ts +12 -12
  931. package/dist/collections/graphql/resolvers/create.js +22 -22
  932. package/dist/collections/graphql/resolvers/delete.d.ts +11 -11
  933. package/dist/collections/graphql/resolvers/delete.js +23 -23
  934. package/dist/collections/graphql/resolvers/find.d.ts +18 -18
  935. package/dist/collections/graphql/resolvers/find.js +26 -26
  936. package/dist/collections/graphql/resolvers/findByID.d.ts +12 -12
  937. package/dist/collections/graphql/resolvers/findByID.js +24 -24
  938. package/dist/collections/graphql/resolvers/findVersionByID.d.ts +13 -13
  939. package/dist/collections/graphql/resolvers/findVersionByID.js +23 -23
  940. package/dist/collections/graphql/resolvers/findVersions.d.ts +17 -17
  941. package/dist/collections/graphql/resolvers/findVersions.js +27 -27
  942. package/dist/collections/graphql/resolvers/resolvers.spec.d.ts +1 -1
  943. package/dist/collections/graphql/resolvers/resolvers.spec.js +192 -192
  944. package/dist/collections/graphql/resolvers/restoreVersion.d.ts +10 -10
  945. package/dist/collections/graphql/resolvers/restoreVersion.js +19 -19
  946. package/dist/collections/graphql/resolvers/update.d.ts +14 -14
  947. package/dist/collections/graphql/resolvers/update.js +27 -27
  948. package/dist/collections/graphql/types.d.ts +12 -12
  949. package/dist/collections/graphql/types.js +2 -2
  950. package/dist/collections/init.d.ts +2 -2
  951. package/dist/collections/init.js +92 -92
  952. package/dist/collections/operations/create.d.ts +16 -16
  953. package/dist/collections/operations/create.js +207 -207
  954. package/dist/collections/operations/delete.d.ts +13 -13
  955. package/dist/collections/operations/delete.js +143 -143
  956. package/dist/collections/operations/find.d.ts +19 -19
  957. package/dist/collections/operations/find.js +147 -147
  958. package/dist/collections/operations/findByID.d.ts +15 -15
  959. package/dist/collections/operations/findByID.js +129 -129
  960. package/dist/collections/operations/findVersionByID.d.ts +15 -15
  961. package/dist/collections/operations/findVersionByID.js +99 -99
  962. package/dist/collections/operations/findVersions.d.ts +18 -18
  963. package/dist/collections/operations/findVersions.js +122 -122
  964. package/dist/collections/operations/local/create.d.ts +19 -19
  965. package/dist/collections/operations/local/create.js +34 -34
  966. package/dist/collections/operations/local/delete.d.ts +14 -14
  967. package/dist/collections/operations/local/delete.js +26 -26
  968. package/dist/collections/operations/local/find.d.ts +20 -20
  969. package/dist/collections/operations/local/find.js +32 -32
  970. package/dist/collections/operations/local/findByID.d.ts +19 -19
  971. package/dist/collections/operations/local/findByID.js +34 -34
  972. package/dist/collections/operations/local/findVersionByID.d.ts +17 -17
  973. package/dist/collections/operations/local/findVersionByID.js +27 -27
  974. package/dist/collections/operations/local/findVersions.d.ts +18 -18
  975. package/dist/collections/operations/local/findVersions.js +29 -29
  976. package/dist/collections/operations/local/index.d.ts +26 -26
  977. package/dist/collections/operations/local/index.js +25 -25
  978. package/dist/collections/operations/local/local.spec.d.ts +1 -1
  979. package/dist/collections/operations/local/local.spec.js +174 -174
  980. package/dist/collections/operations/local/restoreVersion.d.ts +15 -15
  981. package/dist/collections/operations/local/restoreVersion.js +29 -29
  982. package/dist/collections/operations/local/update.d.ts +18 -18
  983. package/dist/collections/operations/local/update.js +36 -36
  984. package/dist/collections/operations/restoreVersion.d.ts +14 -14
  985. package/dist/collections/operations/restoreVersion.js +113 -113
  986. package/dist/collections/operations/update.d.ts +18 -18
  987. package/dist/collections/operations/update.js +248 -248
  988. package/dist/collections/requestHandlers/create.d.ts +8 -8
  989. package/dist/collections/requestHandlers/create.js +27 -27
  990. package/dist/collections/requestHandlers/delete.d.ts +8 -8
  991. package/dist/collections/requestHandlers/delete.js +26 -26
  992. package/dist/collections/requestHandlers/find.d.ts +5 -5
  993. package/dist/collections/requestHandlers/find.js +34 -34
  994. package/dist/collections/requestHandlers/findByID.d.ts +8 -8
  995. package/dist/collections/requestHandlers/findByID.js +22 -22
  996. package/dist/collections/requestHandlers/findVersionByID.d.ts +8 -8
  997. package/dist/collections/requestHandlers/findVersionByID.js +23 -23
  998. package/dist/collections/requestHandlers/findVersions.d.ts +5 -5
  999. package/dist/collections/requestHandlers/findVersions.js +34 -34
  1000. package/dist/collections/requestHandlers/restoreVersion.d.ts +8 -8
  1001. package/dist/collections/requestHandlers/restoreVersion.js +28 -28
  1002. package/dist/collections/requestHandlers/update.d.ts +7 -7
  1003. package/dist/collections/requestHandlers/update.js +36 -36
  1004. package/dist/collections/tests/collections.spec.d.ts +1 -1
  1005. package/dist/collections/tests/collections.spec.js +733 -733
  1006. package/dist/collections/tests/defaultValue.spec.d.ts +1 -1
  1007. package/dist/collections/tests/defaultValue.spec.js +94 -94
  1008. package/dist/collections/tests/endpoints.spec.d.ts +1 -1
  1009. package/dist/collections/tests/endpoints.spec.js +70 -70
  1010. package/dist/collections/tests/hooks.spec.d.ts +1 -1
  1011. package/dist/collections/tests/hooks.spec.js +155 -155
  1012. package/dist/collections/tests/pointField.spec.d.ts +1 -1
  1013. package/dist/collections/tests/pointField.spec.js +164 -164
  1014. package/dist/collections/tests/relationships.spec.d.ts +1 -1
  1015. package/dist/collections/tests/relationships.spec.js +193 -193
  1016. package/dist/collections/tests/uploads.spec.d.ts +1 -1
  1017. package/dist/collections/tests/uploads.spec.js +320 -320
  1018. package/dist/config/build.d.ts +7 -7
  1019. package/dist/config/build.js +21 -21
  1020. package/dist/config/defaults.d.ts +46 -46
  1021. package/dist/config/defaults.js +53 -53
  1022. package/dist/config/find.d.ts +2 -2
  1023. package/dist/config/find.js +32 -32
  1024. package/dist/config/load.d.ts +5 -5
  1025. package/dist/config/load.js +48 -48
  1026. package/dist/config/sanitize.d.ts +3 -3
  1027. package/dist/config/sanitize.js +36 -36
  1028. package/dist/config/schema.d.ts +3 -3
  1029. package/dist/config/schema.js +126 -126
  1030. package/dist/config/types.d.ts +180 -180
  1031. package/dist/config/types.js +19 -19
  1032. package/dist/config/validate.d.ts +4 -4
  1033. package/dist/config/validate.js +107 -107
  1034. package/dist/email/build.d.ts +4 -4
  1035. package/dist/email/build.js +56 -56
  1036. package/dist/email/mockHandler.d.ts +4 -4
  1037. package/dist/email/mockHandler.js +26 -26
  1038. package/dist/email/sendEmail.d.ts +2 -2
  1039. package/dist/email/sendEmail.js +19 -19
  1040. package/dist/email/types.d.ts +19 -19
  1041. package/dist/email/types.js +2 -2
  1042. package/dist/errors/APIError.d.ts +29 -29
  1043. package/dist/errors/APIError.js +41 -41
  1044. package/dist/errors/AuthenticationError.d.ts +5 -5
  1045. package/dist/errors/AuthenticationError.js +13 -13
  1046. package/dist/errors/DuplicateCollection.d.ts +5 -5
  1047. package/dist/errors/DuplicateCollection.js +12 -12
  1048. package/dist/errors/DuplicateGlobal.d.ts +6 -6
  1049. package/dist/errors/DuplicateGlobal.js +12 -12
  1050. package/dist/errors/ErrorDeletingFile.d.ts +5 -5
  1051. package/dist/errors/ErrorDeletingFile.js +13 -13
  1052. package/dist/errors/FileUploadError.d.ts +5 -5
  1053. package/dist/errors/FileUploadError.js +13 -13
  1054. package/dist/errors/Forbidden.d.ts +5 -5
  1055. package/dist/errors/Forbidden.js +13 -13
  1056. package/dist/errors/InvalidConfiguration.d.ts +5 -5
  1057. package/dist/errors/InvalidConfiguration.js +13 -13
  1058. package/dist/errors/InvalidFieldRelationship.d.ts +6 -6
  1059. package/dist/errors/InvalidFieldRelationship.js +12 -12
  1060. package/dist/errors/InvalidSchema.d.ts +5 -5
  1061. package/dist/errors/InvalidSchema.js +13 -13
  1062. package/dist/errors/LockedAuth.d.ts +5 -5
  1063. package/dist/errors/LockedAuth.js +13 -13
  1064. package/dist/errors/MissingCollectionLabel.d.ts +5 -5
  1065. package/dist/errors/MissingCollectionLabel.js +12 -12
  1066. package/dist/errors/MissingFieldInputOptions.d.ts +6 -6
  1067. package/dist/errors/MissingFieldInputOptions.js +12 -12
  1068. package/dist/errors/MissingFieldType.d.ts +6 -6
  1069. package/dist/errors/MissingFieldType.js +13 -13
  1070. package/dist/errors/MissingFile.d.ts +5 -5
  1071. package/dist/errors/MissingFile.js +13 -13
  1072. package/dist/errors/NotFound.d.ts +5 -5
  1073. package/dist/errors/NotFound.js +13 -13
  1074. package/dist/errors/TimestampsRequired.d.ts +6 -6
  1075. package/dist/errors/TimestampsRequired.js +12 -12
  1076. package/dist/errors/UnathorizedError.d.ts +5 -5
  1077. package/dist/errors/UnathorizedError.js +13 -13
  1078. package/dist/errors/ValidationError.d.ts +8 -8
  1079. package/dist/errors/ValidationError.js +13 -13
  1080. package/dist/errors/errors.spec.d.ts +1 -1
  1081. package/dist/errors/errors.spec.js +28 -28
  1082. package/dist/errors/index.d.ts +17 -17
  1083. package/dist/errors/index.js +40 -40
  1084. package/dist/errors/types.d.ts +1 -1
  1085. package/dist/errors/types.js +17 -17
  1086. package/dist/express/admin.d.ts +3 -3
  1087. package/dist/express/admin.js +35 -35
  1088. package/dist/express/middleware/authenticate.d.ts +5 -5
  1089. package/dist/express/middleware/authenticate.js +18 -18
  1090. package/dist/express/middleware/convertPayload.d.ts +3 -3
  1091. package/dist/express/middleware/convertPayload.js +14 -14
  1092. package/dist/express/middleware/corsHeaders.d.ts +4 -4
  1093. package/dist/express/middleware/corsHeaders.js +16 -16
  1094. package/dist/express/middleware/errorHandler.d.ts +9 -9
  1095. package/dist/express/middleware/errorHandler.js +25 -25
  1096. package/dist/express/middleware/errorHandler.spec.d.ts +1 -1
  1097. package/dist/express/middleware/errorHandler.spec.js +90 -90
  1098. package/dist/express/middleware/identifyAPI.d.ts +2 -2
  1099. package/dist/express/middleware/identifyAPI.js +9 -9
  1100. package/dist/express/middleware/index.d.ts +3 -3
  1101. package/dist/express/middleware/index.js +46 -46
  1102. package/dist/express/mountEndpoints.d.ts +4 -4
  1103. package/dist/express/mountEndpoints.js +8 -8
  1104. package/dist/express/responses/formatError.d.ts +10 -10
  1105. package/dist/express/responses/formatError.js +54 -54
  1106. package/dist/express/responses/formatSuccess.d.ts +2 -2
  1107. package/dist/express/responses/formatSuccess.js +13 -13
  1108. package/dist/express/static.d.ts +3 -3
  1109. package/dist/express/static.js +27 -27
  1110. package/dist/express/types.d.ts +22 -22
  1111. package/dist/express/types.js +2 -2
  1112. package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
  1113. package/dist/fields/baseFields/baseBlockFields.js +16 -16
  1114. package/dist/fields/baseFields/baseIDField.d.ts +2 -2
  1115. package/dist/fields/baseFields/baseIDField.js +21 -21
  1116. package/dist/fields/config/sanitize.d.ts +3 -3
  1117. package/dist/fields/config/sanitize.js +81 -81
  1118. package/dist/fields/config/sanitize.spec.d.ts +1 -1
  1119. package/dist/fields/config/sanitize.spec.js +239 -239
  1120. package/dist/fields/config/schema.d.ts +24 -24
  1121. package/dist/fields/config/schema.js +269 -269
  1122. package/dist/fields/config/types.d.ts +287 -287
  1123. package/dist/fields/config/types.js +47 -47
  1124. package/dist/fields/getDefaultValue.d.ts +9 -9
  1125. package/dist/fields/getDefaultValue.js +13 -13
  1126. package/dist/fields/hooks/afterChange/index.d.ts +12 -12
  1127. package/dist/fields/hooks/afterChange/index.js +25 -25
  1128. package/dist/fields/hooks/afterChange/promise.d.ts +14 -14
  1129. package/dist/fields/hooks/afterChange/promise.js +103 -103
  1130. package/dist/fields/hooks/afterChange/traverseFields.d.ts +14 -14
  1131. package/dist/fields/hooks/afterChange/traverseFields.js +19 -19
  1132. package/dist/fields/hooks/afterRead/index.d.ts +16 -16
  1133. package/dist/fields/hooks/afterRead/index.js +39 -39
  1134. package/dist/fields/hooks/afterRead/promise.d.ts +18 -18
  1135. package/dist/fields/hooks/afterRead/promise.js +224 -224
  1136. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +13 -13
  1137. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +83 -83
  1138. package/dist/fields/hooks/afterRead/traverseFields.d.ts +18 -18
  1139. package/dist/fields/hooks/afterRead/traverseFields.js +23 -23
  1140. package/dist/fields/hooks/beforeChange/index.d.ts +16 -16
  1141. package/dist/fields/hooks/beforeChange/index.js +39 -39
  1142. package/dist/fields/hooks/beforeChange/promise.d.ts +25 -25
  1143. package/dist/fields/hooks/beforeChange/promise.js +235 -235
  1144. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +25 -25
  1145. package/dist/fields/hooks/beforeChange/traverseFields.js +26 -26
  1146. package/dist/fields/hooks/beforeValidate/index.d.ts +14 -14
  1147. package/dist/fields/hooks/beforeValidate/index.js +27 -27
  1148. package/dist/fields/hooks/beforeValidate/promise.d.ts +16 -16
  1149. package/dist/fields/hooks/beforeValidate/promise.js +228 -228
  1150. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +16 -16
  1151. package/dist/fields/hooks/beforeValidate/traverseFields.js +21 -21
  1152. package/dist/fields/mergeBaseFields.d.ts +2 -2
  1153. package/dist/fields/mergeBaseFields.js +39 -39
  1154. package/dist/fields/richText/defaultValue.d.ts +6 -6
  1155. package/dist/fields/richText/defaultValue.js +5 -5
  1156. package/dist/fields/richText/populate.d.ts +19 -19
  1157. package/dist/fields/richText/populate.js +23 -23
  1158. package/dist/fields/richText/recurseNestedFields.d.ts +14 -14
  1159. package/dist/fields/richText/recurseNestedFields.js +162 -162
  1160. package/dist/fields/richText/relationshipPromise.d.ts +24 -24
  1161. package/dist/fields/richText/relationshipPromise.js +70 -70
  1162. package/dist/fields/sortableFieldTypes.d.ts +2 -2
  1163. package/dist/fields/sortableFieldTypes.js +12 -12
  1164. package/dist/fields/validations.d.ts +36 -36
  1165. package/dist/fields/validations.js +263 -263
  1166. package/dist/fields/validations.spec.d.ts +1 -1
  1167. package/dist/fields/validations.spec.js +310 -310
  1168. package/dist/globals/buildEndpoints.d.ts +4 -4
  1169. package/dist/globals/buildEndpoints.js +46 -46
  1170. package/dist/globals/buildModel.d.ts +4 -4
  1171. package/dist/globals/buildModel.js +22 -22
  1172. package/dist/globals/config/sanitize.d.ts +4 -4
  1173. package/dist/globals/config/sanitize.js +70 -70
  1174. package/dist/globals/config/schema.d.ts +3 -3
  1175. package/dist/globals/config/schema.js +42 -42
  1176. package/dist/globals/config/types.d.ts +77 -77
  1177. package/dist/globals/config/types.js +2 -2
  1178. package/dist/globals/graphql/init.d.ts +3 -3
  1179. package/dist/globals/graphql/init.js +104 -104
  1180. package/dist/globals/graphql/resolvers/findOne.d.ts +3 -3
  1181. package/dist/globals/graphql/resolvers/findOne.js +26 -26
  1182. package/dist/globals/graphql/resolvers/findVersionByID.d.ts +14 -14
  1183. package/dist/globals/graphql/resolvers/findVersionByID.js +24 -24
  1184. package/dist/globals/graphql/resolvers/findVersions.d.ts +16 -16
  1185. package/dist/globals/graphql/resolvers/findVersions.js +21 -21
  1186. package/dist/globals/graphql/resolvers/index.d.ts +6 -6
  1187. package/dist/globals/graphql/resolvers/index.js +16 -16
  1188. package/dist/globals/graphql/resolvers/restoreVersion.d.ts +11 -11
  1189. package/dist/globals/graphql/resolvers/restoreVersion.js +19 -19
  1190. package/dist/globals/graphql/resolvers/update.d.ts +13 -13
  1191. package/dist/globals/graphql/resolvers/update.js +27 -27
  1192. package/dist/globals/init.d.ts +2 -2
  1193. package/dist/globals/init.js +48 -48
  1194. package/dist/globals/operations/findOne.d.ts +14 -14
  1195. package/dist/globals/operations/findOne.js +99 -99
  1196. package/dist/globals/operations/findVersionByID.d.ts +15 -15
  1197. package/dist/globals/operations/findVersionByID.js +93 -93
  1198. package/dist/globals/operations/findVersions.d.ts +18 -18
  1199. package/dist/globals/operations/findVersions.js +107 -107
  1200. package/dist/globals/operations/local/findOne.d.ts +14 -14
  1201. package/dist/globals/operations/local/findOne.js +27 -27
  1202. package/dist/globals/operations/local/findVersionByID.d.ts +15 -15
  1203. package/dist/globals/operations/local/findVersionByID.js +27 -27
  1204. package/dist/globals/operations/local/findVersions.d.ts +18 -18
  1205. package/dist/globals/operations/local/findVersions.js +29 -29
  1206. package/dist/globals/operations/local/index.d.ts +13 -13
  1207. package/dist/globals/operations/local/index.js +17 -17
  1208. package/dist/globals/operations/local/restoreVersion.d.ts +12 -12
  1209. package/dist/globals/operations/local/restoreVersion.js +23 -23
  1210. package/dist/globals/operations/local/update.d.ts +15 -15
  1211. package/dist/globals/operations/local/update.js +28 -28
  1212. package/dist/globals/operations/restoreVersion.d.ts +13 -13
  1213. package/dist/globals/operations/restoreVersion.js +91 -91
  1214. package/dist/globals/operations/update.d.ts +15 -15
  1215. package/dist/globals/operations/update.js +206 -206
  1216. package/dist/globals/requestHandlers/findOne.d.ts +7 -7
  1217. package/dist/globals/requestHandlers/findOne.js +26 -26
  1218. package/dist/globals/requestHandlers/findVersionByID.d.ts +3 -3
  1219. package/dist/globals/requestHandlers/findVersionByID.js +24 -24
  1220. package/dist/globals/requestHandlers/findVersions.d.ts +6 -6
  1221. package/dist/globals/requestHandlers/findVersions.js +35 -35
  1222. package/dist/globals/requestHandlers/globals.spec.d.ts +4 -4
  1223. package/dist/globals/requestHandlers/globals.spec.js +173 -173
  1224. package/dist/globals/requestHandlers/restoreVersion.d.ts +5 -5
  1225. package/dist/globals/requestHandlers/restoreVersion.js +29 -29
  1226. package/dist/globals/requestHandlers/update.d.ts +7 -7
  1227. package/dist/globals/requestHandlers/update.js +35 -35
  1228. package/dist/graphql/errorHandler.d.ts +10 -10
  1229. package/dist/graphql/errorHandler.js +33 -33
  1230. package/dist/graphql/index.d.ts +7 -7
  1231. package/dist/graphql/index.js +130 -130
  1232. package/dist/graphql/initPlayground.d.ts +3 -3
  1233. package/dist/graphql/initPlayground.js +19 -19
  1234. package/dist/graphql/schema/buildBlockType.d.ts +4 -4
  1235. package/dist/graphql/schema/buildBlockType.js +21 -21
  1236. package/dist/graphql/schema/buildFallbackLocaleInputType.d.ts +4 -4
  1237. package/dist/graphql/schema/buildFallbackLocaleInputType.js +13 -13
  1238. package/dist/graphql/schema/buildLocaleInputType.d.ts +4 -4
  1239. package/dist/graphql/schema/buildLocaleInputType.js +13 -13
  1240. package/dist/graphql/schema/buildMutationInputType.d.ts +7 -7
  1241. package/dist/graphql/schema/buildMutationInputType.js +168 -168
  1242. package/dist/graphql/schema/buildObjectType.d.ts +6 -6
  1243. package/dist/graphql/schema/buildObjectType.js +362 -362
  1244. package/dist/graphql/schema/buildPaginatedListType.d.ts +3 -3
  1245. package/dist/graphql/schema/buildPaginatedListType.js +22 -22
  1246. package/dist/graphql/schema/buildPoliciesType.d.ts +3 -3
  1247. package/dist/graphql/schema/buildPoliciesType.js +119 -119
  1248. package/dist/graphql/schema/buildWhereInputType.d.ts +4 -4
  1249. package/dist/graphql/schema/buildWhereInputType.js +70 -70
  1250. package/dist/graphql/schema/fieldToWhereInputSchemaMap.d.ts +2 -2
  1251. package/dist/graphql/schema/fieldToWhereInputSchemaMap.js +163 -163
  1252. package/dist/graphql/schema/operators.d.ts +7 -7
  1253. package/dist/graphql/schema/operators.js +9 -9
  1254. package/dist/graphql/schema/recursivelyBuildNestedPaths.d.ts +3 -3
  1255. package/dist/graphql/schema/recursivelyBuildNestedPaths.js +37 -37
  1256. package/dist/graphql/schema/withNullableType.d.ts +4 -4
  1257. package/dist/graphql/schema/withNullableType.js +12 -12
  1258. package/dist/graphql/schema/withOperators.d.ts +4 -4
  1259. package/dist/graphql/schema/withOperators.js +35 -35
  1260. package/dist/graphql/utilities/combineParentName.d.ts +2 -2
  1261. package/dist/graphql/utilities/combineParentName.js +8 -8
  1262. package/dist/graphql/utilities/formatName.d.ts +2 -2
  1263. package/dist/graphql/utilities/formatName.js +21 -21
  1264. package/dist/graphql/utilities/formatOptions.d.ts +3 -3
  1265. package/dist/graphql/utilities/formatOptions.js +26 -26
  1266. package/dist/graphql/utilities/getCheckIfLocaleObject.d.ts +4 -4
  1267. package/dist/graphql/utilities/getCheckIfLocaleObject.js +4 -4
  1268. package/dist/graphql/utilities/uppercase.d.ts +2 -2
  1269. package/dist/graphql/utilities/uppercase.js +11 -11
  1270. package/dist/index.d.ts +164 -164
  1271. package/dist/index.js +236 -236
  1272. package/dist/localization/middleware.d.ts +7 -7
  1273. package/dist/localization/middleware.js +37 -37
  1274. package/dist/localization/sanitizeFallbackLocale.d.ts +2 -2
  1275. package/dist/localization/sanitizeFallbackLocale.js +9 -9
  1276. package/dist/mongoose/buildQuery.d.ts +2 -2
  1277. package/dist/mongoose/buildQuery.js +287 -287
  1278. package/dist/mongoose/buildSchema.d.ts +11 -11
  1279. package/dist/mongoose/buildSchema.js +356 -356
  1280. package/dist/mongoose/buildSortParam.d.ts +1 -1
  1281. package/dist/mongoose/buildSortParam.js +26 -26
  1282. package/dist/mongoose/connect.d.ts +4 -4
  1283. package/dist/mongoose/connect.js +43 -43
  1284. package/dist/mongoose/createArrayFromCommaDelineated.d.ts +1 -1
  1285. package/dist/mongoose/createArrayFromCommaDelineated.js +12 -12
  1286. package/dist/mongoose/getSchemaTypeOptions.d.ts +4 -4
  1287. package/dist/mongoose/getSchemaTypeOptions.js +10 -10
  1288. package/dist/mongoose/operatorMap.d.ts +13 -13
  1289. package/dist/mongoose/operatorMap.js +16 -16
  1290. package/dist/mongoose/sanitizeFormattedValue.d.ts +2 -2
  1291. package/dist/mongoose/sanitizeFormattedValue.js +102 -102
  1292. package/dist/mongoose/testCredentials.d.ts +7 -7
  1293. package/dist/mongoose/testCredentials.js +10 -10
  1294. package/dist/mongoose/types.d.ts +12 -12
  1295. package/dist/mongoose/types.js +2 -2
  1296. package/dist/preferences/graphql/init.d.ts +3 -3
  1297. package/dist/preferences/graphql/init.js +58 -58
  1298. package/dist/preferences/graphql/resolvers.spec.d.ts +1 -1
  1299. package/dist/preferences/graphql/resolvers.spec.js +76 -76
  1300. package/dist/preferences/init.d.ts +2 -2
  1301. package/dist/preferences/init.js +23 -23
  1302. package/dist/preferences/model.d.ts +4 -4
  1303. package/dist/preferences/model.js +37 -37
  1304. package/dist/preferences/operations/delete.d.ts +4 -4
  1305. package/dist/preferences/operations/delete.js +25 -25
  1306. package/dist/preferences/operations/findOne.d.ts +3 -3
  1307. package/dist/preferences/operations/findOne.js +27 -27
  1308. package/dist/preferences/operations/update.d.ts +3 -3
  1309. package/dist/preferences/operations/update.js +22 -22
  1310. package/dist/preferences/requestHandlers/delete.d.ts +3 -3
  1311. package/dist/preferences/requestHandlers/delete.js +24 -24
  1312. package/dist/preferences/requestHandlers/findOne.d.ts +4 -4
  1313. package/dist/preferences/requestHandlers/findOne.js +21 -21
  1314. package/dist/preferences/requestHandlers/update.d.ts +5 -5
  1315. package/dist/preferences/requestHandlers/update.js +26 -26
  1316. package/dist/preferences/types.d.ts +34 -34
  1317. package/dist/preferences/types.js +2 -2
  1318. package/dist/types/index.d.ts +20 -20
  1319. package/dist/types/index.js +7 -7
  1320. package/dist/uploads/docWithFilenameExists.d.ts +3 -3
  1321. package/dist/uploads/docWithFilenameExists.js +9 -9
  1322. package/dist/uploads/fileExists.d.ts +2 -2
  1323. package/dist/uploads/fileExists.js +18 -18
  1324. package/dist/uploads/formatFilesize.d.ts +1 -1
  1325. package/dist/uploads/formatFilesize.js +12 -12
  1326. package/dist/uploads/getBaseFields.d.ts +9 -9
  1327. package/dist/uploads/getBaseFields.js +129 -129
  1328. package/dist/uploads/getFileByPath.d.ts +3 -3
  1329. package/dist/uploads/getFileByPath.js +24 -24
  1330. package/dist/uploads/getImageSize.d.ts +8 -8
  1331. package/dist/uploads/getImageSize.js +10 -10
  1332. package/dist/uploads/getSafeFilename.d.ts +3 -3
  1333. package/dist/uploads/getSafeFilename.js +35 -35
  1334. package/dist/uploads/imageResizer.d.ts +24 -24
  1335. package/dist/uploads/imageResizer.js +72 -72
  1336. package/dist/uploads/isImage.d.ts +1 -1
  1337. package/dist/uploads/isImage.js +6 -6
  1338. package/dist/uploads/mimeTypeValidator.d.ts +2 -2
  1339. package/dist/uploads/mimeTypeValidator.js +13 -13
  1340. package/dist/uploads/mimeTypeValidator.spec.d.ts +1 -1
  1341. package/dist/uploads/mimeTypeValidator.spec.js +55 -55
  1342. package/dist/uploads/saveBufferToFile.d.ts +8 -8
  1343. package/dist/uploads/saveBufferToFile.js +24 -24
  1344. package/dist/uploads/types.d.ts +56 -56
  1345. package/dist/uploads/types.js +2 -2
  1346. package/dist/uploads/uploadFile.d.ts +13 -13
  1347. package/dist/uploads/uploadFile.js +70 -70
  1348. package/dist/utilities/canUseDOM.d.ts +2 -2
  1349. package/dist/utilities/canUseDOM.js +4 -4
  1350. package/dist/utilities/checkDuplicateCollections.d.ts +3 -3
  1351. package/dist/utilities/checkDuplicateCollections.js +15 -15
  1352. package/dist/utilities/combineMerge.d.ts +1 -1
  1353. package/dist/utilities/combineMerge.js +23 -23
  1354. package/dist/utilities/componentSchema.d.ts +2 -2
  1355. package/dist/utilities/componentSchema.js +8 -8
  1356. package/dist/utilities/convertData.d.ts +4 -4
  1357. package/dist/utilities/convertData.js +19 -19
  1358. package/dist/utilities/deepCopyObject.d.ts +2 -2
  1359. package/dist/utilities/deepCopyObject.js +18 -18
  1360. package/dist/utilities/flattenTopLevelFields.d.ts +2 -2
  1361. package/dist/utilities/flattenTopLevelFields.js +15 -15
  1362. package/dist/utilities/flattenWhereConstraints.d.ts +3 -3
  1363. package/dist/utilities/flattenWhereConstraints.js +17 -17
  1364. package/dist/utilities/formatLabels.d.ts +7 -7
  1365. package/dist/utilities/formatLabels.js +57 -57
  1366. package/dist/utilities/formatLabels.spec.d.ts +1 -1
  1367. package/dist/utilities/formatLabels.spec.js +37 -37
  1368. package/dist/utilities/getCSSVariable.d.ts +2 -2
  1369. package/dist/utilities/getCSSVariable.js +3 -3
  1370. package/dist/utilities/getCookieExpiration.d.ts +2 -2
  1371. package/dist/utilities/getCookieExpiration.js +8 -8
  1372. package/dist/utilities/getUniqueListBy.d.ts +1 -1
  1373. package/dist/utilities/getUniqueListBy.js +6 -6
  1374. package/dist/utilities/logger.d.ts +4 -4
  1375. package/dist/utilities/logger.js +20 -20
  1376. package/dist/utilities/overwriteMerge.d.ts +2 -2
  1377. package/dist/utilities/overwriteMerge.js +4 -4
  1378. package/dist/utilities/parseCookies.d.ts +4 -4
  1379. package/dist/utilities/parseCookies.js +14 -14
  1380. package/dist/utilities/sanitizeInternalFields.d.ts +3 -3
  1381. package/dist/utilities/sanitizeInternalFields.js +19 -19
  1382. package/dist/utilities/toKebabCase.d.ts +2 -2
  1383. package/dist/utilities/toKebabCase.js +4 -4
  1384. package/dist/utilities/wait.d.ts +2 -2
  1385. package/dist/utilities/wait.js +8 -8
  1386. package/dist/versions/baseFields.d.ts +7 -7
  1387. package/dist/versions/baseFields.js +28 -28
  1388. package/dist/versions/buildCollectionFields.d.ts +3 -3
  1389. package/dist/versions/buildCollectionFields.js +28 -28
  1390. package/dist/versions/buildGlobalFields.d.ts +3 -3
  1391. package/dist/versions/buildGlobalFields.js +22 -22
  1392. package/dist/versions/cleanUpFailedVersion.d.ts +11 -11
  1393. package/dist/versions/cleanUpFailedVersion.js +10 -10
  1394. package/dist/versions/defaults.d.ts +3 -3
  1395. package/dist/versions/defaults.js +18 -18
  1396. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +2 -2
  1397. package/dist/versions/drafts/appendVersionToQueryKey.js +21 -21
  1398. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +13 -13
  1399. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +65 -65
  1400. package/dist/versions/drafts/saveCollectionDraft.d.ts +13 -13
  1401. package/dist/versions/drafts/saveCollectionDraft.js +53 -53
  1402. package/dist/versions/drafts/saveGlobalDraft.d.ts +10 -10
  1403. package/dist/versions/drafts/saveGlobalDraft.js +48 -48
  1404. package/dist/versions/enforceMaxVersions.d.ts +12 -12
  1405. package/dist/versions/enforceMaxVersions.js +24 -24
  1406. package/dist/versions/ensurePublishedCollectionVersion.d.ts +12 -12
  1407. package/dist/versions/ensurePublishedCollectionVersion.js +59 -59
  1408. package/dist/versions/ensurePublishedGlobalVersion.d.ts +11 -11
  1409. package/dist/versions/ensurePublishedGlobalVersion.js +54 -54
  1410. package/dist/versions/getVersionsModelName.d.ts +3 -3
  1411. package/dist/versions/getVersionsModelName.js +5 -5
  1412. package/dist/versions/saveCollectionVersion.d.ts +12 -12
  1413. package/dist/versions/saveCollectionVersion.js +80 -80
  1414. package/dist/versions/saveGlobalVersion.d.ts +11 -11
  1415. package/dist/versions/saveGlobalVersion.js +75 -75
  1416. package/dist/versions/shouldIncrementVersionCount.d.ts +14 -14
  1417. package/dist/versions/shouldIncrementVersionCount.js +9 -9
  1418. package/dist/versions/tests/collections-graphql.spec.d.ts +1 -1
  1419. package/dist/versions/tests/collections-graphql.spec.js +83 -83
  1420. package/dist/versions/tests/collections-rest.spec.d.ts +1 -1
  1421. package/dist/versions/tests/collections-rest.spec.js +147 -147
  1422. package/dist/versions/tests/globals-graphql.spec.d.ts +1 -1
  1423. package/dist/versions/tests/globals-graphql.spec.js +86 -86
  1424. package/dist/versions/tests/globals-rest.spec.d.ts +1 -1
  1425. package/dist/versions/tests/globals-rest.spec.js +150 -150
  1426. package/dist/versions/types.d.ts +34 -34
  1427. package/dist/versions/types.js +2 -2
  1428. package/dist/webpack/components.config.d.ts +79 -79
  1429. package/dist/webpack/components.config.js +91 -91
  1430. package/dist/webpack/getBaseConfig.d.ts +4 -4
  1431. package/dist/webpack/getBaseConfig.js +81 -81
  1432. package/dist/webpack/getDevConfig.d.ts +4 -4
  1433. package/dist/webpack/getDevConfig.js +59 -59
  1434. package/dist/webpack/getProdConfig.d.ts +4 -4
  1435. package/dist/webpack/getProdConfig.js +69 -69
  1436. package/dist/webpack/init.d.ts +4 -4
  1437. package/dist/webpack/init.js +21 -21
  1438. package/dist/webpack/mocks/dotENV.d.ts +4 -4
  1439. package/dist/webpack/mocks/dotENV.js +5 -5
  1440. package/dist/webpack/mocks/emptyModule.d.ts +2 -2
  1441. package/dist/webpack/mocks/emptyModule.js +3 -3
  1442. package/dist/webpack/mocks/fileMock.d.ts +2 -2
  1443. package/dist/webpack/mocks/fileMock.js +3 -3
  1444. package/docs/authentication/using-middleware.mdx +1 -1
  1445. package/package.json +1 -1
@@ -1,734 +1,734 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const uuid_1 = require("uuid");
7
- const load_1 = __importDefault(require("../../config/load"));
8
- const testCredentials_1 = require("../../mongoose/testCredentials");
9
- require('isomorphic-fetch');
10
- const { serverURL: url } = (0, load_1.default)();
11
- let token = null;
12
- let headers = null;
13
- let localizedPostID;
14
- let relationshipBID;
15
- const localizedPostTitle = 'title';
16
- const englishPostDesc = 'english description';
17
- const spanishPostDesc = 'spanish description';
18
- describe('Collections - REST', () => {
19
- beforeAll(async (done) => {
20
- const response = await fetch(`${url}/api/admins/login`, {
21
- body: JSON.stringify({
22
- email: testCredentials_1.email,
23
- password: testCredentials_1.password,
24
- }),
25
- headers: {
26
- 'Content-Type': 'application/json',
27
- },
28
- method: 'post',
29
- });
30
- const data = await response.json();
31
- ({ token } = data);
32
- headers = {
33
- Authorization: `JWT ${token}`,
34
- 'Content-Type': 'application/json',
35
- };
36
- done();
37
- });
38
- describe('Create', () => {
39
- let response;
40
- let data;
41
- beforeAll(async () => {
42
- response = await fetch(`${url}/api/localized-posts`, {
43
- body: JSON.stringify({
44
- title: localizedPostTitle,
45
- description: englishPostDesc,
46
- priority: 1,
47
- nonLocalizedGroup: {
48
- text: 'english',
49
- },
50
- localizedGroup: {
51
- text: 'english',
52
- },
53
- nonLocalizedArray: [
54
- {
55
- localizedEmbeddedText: 'english',
56
- },
57
- ],
58
- richTextBlocks: [
59
- {
60
- blockType: 'richTextBlock',
61
- blockName: 'Test Block Name',
62
- content: [
63
- {
64
- children: [{ text: 'english' }],
65
- },
66
- ],
67
- },
68
- ],
69
- }),
70
- headers,
71
- method: 'post',
72
- });
73
- data = await response.json();
74
- });
75
- it('should allow a localized post to be created', async () => {
76
- expect(response.status).toBe(201);
77
- expect(data.doc.title).toBeDefined();
78
- expect(data.doc.id).toBeDefined();
79
- expect(data.doc.nonLocalizedGroup.text).toStrictEqual('english');
80
- expect(data.doc.localizedGroup.text).toStrictEqual('english');
81
- expect(data.doc.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
82
- expect(data.doc.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
83
- const timestampRegex = /^(\d{4})(?:-?W(\d+)(?:-?(\d+)D?)?|(?:-(\d+))?-(\d+))(?:[T ](\d+):(\d+)(?::(\d+)(?:\.(\d+))?)?)?(?:Z(-?\d*))?$/;
84
- expect(data.doc.createdAt).toStrictEqual(expect.stringMatching(timestampRegex));
85
- expect(data.doc.updatedAt).toStrictEqual(expect.stringMatching(timestampRegex));
86
- localizedPostID = data.doc.id;
87
- });
88
- it('should add id to array items', async () => {
89
- expect(data.doc.nonLocalizedArray[0].id).toBeDefined();
90
- });
91
- it('should add id to block items', async () => {
92
- expect(data.doc.richTextBlocks[0].id).toBeDefined();
93
- });
94
- });
95
- describe('Update', () => {
96
- it('should allow updating an existing post', async () => {
97
- const createResponse = await fetch(`${url}/api/localized-posts`, {
98
- body: JSON.stringify({
99
- title: 'newTitle',
100
- description: 'original description',
101
- richText: [
102
- {
103
- children: [{ text: 'english' }],
104
- },
105
- ],
106
- priority: 1,
107
- }),
108
- headers,
109
- method: 'post',
110
- });
111
- expect(createResponse.status).toBe(201);
112
- const createData = await createResponse.json();
113
- const { id } = createData.doc;
114
- const updatedDesc = 'updated description';
115
- const updatedRichText = [
116
- {
117
- children: [{ text: 'english update' }],
118
- },
119
- ];
120
- const updatedNonLocalizedArray = [
121
- {
122
- localizedEmbeddedText: 'english',
123
- },
124
- {
125
- localizedEmbeddedText: 'english update',
126
- },
127
- ];
128
- const response = await fetch(`${url}/api/localized-posts/${id}`, {
129
- body: JSON.stringify({
130
- title: 'newTitle',
131
- description: updatedDesc,
132
- richText: updatedRichText,
133
- nonLocalizedArray: updatedNonLocalizedArray,
134
- priority: '',
135
- }),
136
- headers,
137
- method: 'put',
138
- });
139
- const data = await response.json();
140
- expect(response.status).toBe(200);
141
- expect(data.doc.description).toBe(updatedDesc);
142
- expect(data.doc.priority).not.toStrictEqual(1);
143
- expect(data.doc.nonLocalizedArray).toHaveLength(2);
144
- expect(data.doc.richText[0].children[0].text).toBe('english update');
145
- // make certain the stored object is exactly the same as the returned object
146
- const stored = await (await fetch(`${url}/api/localized-posts/${id}`, {
147
- method: 'get',
148
- headers,
149
- })).json();
150
- expect(data.doc).toMatchObject(stored);
151
- });
152
- it('should allow a Spanish locale to be added to an existing post', async () => {
153
- const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=es`, {
154
- body: JSON.stringify({
155
- title: 'title in spanish',
156
- description: spanishPostDesc,
157
- priority: 1,
158
- nonLocalizedGroup: {
159
- text: 'spanish',
160
- },
161
- localizedGroup: {
162
- text: 'spanish',
163
- },
164
- nonLocalizedArray: [
165
- {
166
- localizedEmbeddedText: 'spanish',
167
- },
168
- ],
169
- richTextBlocks: [
170
- {
171
- blockType: 'richTextBlock',
172
- blockName: 'Test Block Name',
173
- content: [
174
- {
175
- children: [{ text: 'spanish' }],
176
- },
177
- ],
178
- },
179
- ],
180
- }),
181
- headers,
182
- method: 'put',
183
- });
184
- const data = await response.json();
185
- expect(response.status).toBe(200);
186
- expect(data.doc.description).toBe(spanishPostDesc);
187
- expect(data.doc.nonLocalizedGroup.text).toStrictEqual('spanish');
188
- expect(data.doc.localizedGroup.text).toStrictEqual('spanish');
189
- expect(data.doc.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('spanish');
190
- expect(data.doc.richTextBlocks[0].content[0].children[0].text).toStrictEqual('spanish');
191
- });
192
- });
193
- describe('Read', () => {
194
- describe('Localized', () => {
195
- it('should allow a localized post to be retrieved in unspecified locale, defaulting to English', async () => {
196
- const response = await fetch(`${url}/api/localized-posts/${localizedPostID}`);
197
- const data = await response.json();
198
- expect(response.status).toBe(200);
199
- expect(data.description).toBe(englishPostDesc);
200
- expect(data.nonLocalizedGroup.text).toStrictEqual('english');
201
- expect(data.localizedGroup.text).toStrictEqual('english');
202
- expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
203
- expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
204
- });
205
- it('should allow a localized post to be retrieved in specified English locale', async () => {
206
- const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=en`);
207
- const data = await response.json();
208
- expect(response.status).toBe(200);
209
- expect(data.description).toBe(englishPostDesc);
210
- expect(data.nonLocalizedGroup.text).toStrictEqual('english');
211
- expect(data.localizedGroup.text).toStrictEqual('english');
212
- expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
213
- expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
214
- });
215
- it('should allow a localized post to be retrieved in Spanish', async () => {
216
- const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=es`);
217
- const data = await response.json();
218
- expect(response.status).toBe(200);
219
- expect(data.description).toBe(spanishPostDesc);
220
- expect(data.nonLocalizedGroup.text).toStrictEqual('spanish');
221
- expect(data.localizedGroup.text).toStrictEqual('spanish');
222
- expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('spanish');
223
- expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('spanish');
224
- });
225
- it('should allow a localized post to be retrieved in all locales', async () => {
226
- const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=all`);
227
- const data = await response.json();
228
- expect(response.status).toBe(200);
229
- expect(data.description.es).toBe(spanishPostDesc);
230
- expect(data.description.en).toBe(englishPostDesc);
231
- });
232
- });
233
- it('should allow querying by id', async () => {
234
- const response = await fetch(`${url}/api/localized-posts`, {
235
- body: JSON.stringify({
236
- title: 'another title',
237
- description: 'description',
238
- priority: 1,
239
- }),
240
- headers,
241
- method: 'post',
242
- });
243
- expect(response.status).toBe(201);
244
- const data = await response.json();
245
- const getResponse = await fetch(`${url}/api/localized-posts/${data.doc.id}`);
246
- expect(getResponse.status).toBe(200);
247
- const getData = await getResponse.json();
248
- expect(getData.id).toBeDefined();
249
- });
250
- it('should allow querying on a field', async () => {
251
- const desc = 'query test';
252
- const response = await fetch(`${url}/api/localized-posts`, {
253
- body: JSON.stringify({
254
- title: 'unique title here',
255
- description: desc,
256
- priority: 1,
257
- nonLocalizedGroup: {
258
- text: 'sample content',
259
- },
260
- }),
261
- headers,
262
- method: 'post',
263
- });
264
- expect(response.status).toBe(201);
265
- const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`);
266
- const data = await getResponse.json();
267
- expect(getResponse.status).toBe(200);
268
- expect(data.docs[0].description).toBe(desc);
269
- expect(data.docs).toHaveLength(1);
270
- const getResponse2 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=sample content`);
271
- const data2 = await getResponse2.json();
272
- expect(getResponse2.status).toBe(200);
273
- expect(data2.docs[0].description).toBe(desc);
274
- expect(data2.docs).toHaveLength(1);
275
- });
276
- it('should allow querying with OR', async () => {
277
- const title1 = 'Or1';
278
- const title2 = 'Or2';
279
- const response = await fetch(`${url}/api/localized-posts`, {
280
- body: JSON.stringify({
281
- title: title1,
282
- description: 'desc',
283
- priority: 1,
284
- }),
285
- headers,
286
- method: 'post',
287
- });
288
- const response2 = await fetch(`${url}/api/localized-posts`, {
289
- body: JSON.stringify({
290
- title: title2,
291
- description: 'desc',
292
- priority: 1,
293
- }),
294
- headers,
295
- method: 'post',
296
- });
297
- expect(response.status).toBe(201);
298
- expect(response2.status).toBe(201);
299
- const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=${title2}`);
300
- const data = await queryResponse.json();
301
- expect(queryResponse.status).toBe(200);
302
- expect(data.docs).toHaveLength(2);
303
- expect(data.docs).toContainEqual(expect.objectContaining({ title: title1 }));
304
- expect(data.docs).toContainEqual(expect.objectContaining({ title: title2 }));
305
- });
306
- it('should allow querying with OR, 1 result', async () => {
307
- const title1 = 'OrNegative1';
308
- const title2 = 'OrNegative2';
309
- const response = await fetch(`${url}/api/localized-posts`, {
310
- body: JSON.stringify({
311
- title: title1,
312
- description: 'desc',
313
- priority: 1,
314
- }),
315
- headers,
316
- method: 'post',
317
- });
318
- const response2 = await fetch(`${url}/api/localized-posts`, {
319
- body: JSON.stringify({
320
- title: title2,
321
- description: 'desc',
322
- priority: 1,
323
- }),
324
- headers,
325
- method: 'post',
326
- });
327
- expect(response.status).toBe(201);
328
- expect(response2.status).toBe(201);
329
- const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=nonexistent`);
330
- const data = await queryResponse.json();
331
- expect(queryResponse.status).toBe(200);
332
- expect(data.docs).toHaveLength(1);
333
- expect(data.docs[0].title).toBe(title1);
334
- });
335
- it('should allow querying by a non-localized nested relationship property', async () => {
336
- const relationshipBTitle = 'test';
337
- const relationshipBRes = await fetch(`${url}/api/relationship-b?depth=0`, {
338
- body: JSON.stringify({
339
- title: relationshipBTitle,
340
- }),
341
- headers,
342
- method: 'post',
343
- });
344
- const relationshipBData = await relationshipBRes.json();
345
- const res = await fetch(`${url}/api/relationship-a?depth=0`, {
346
- body: JSON.stringify({
347
- post: relationshipBData.doc.id,
348
- }),
349
- headers,
350
- method: 'post',
351
- });
352
- const additionalRelationshipARes = await fetch(`${url}/api/relationship-a?depth=0`, {
353
- body: JSON.stringify({
354
- postLocalizedMultiple: [
355
- {
356
- relationTo: 'localized-posts',
357
- value: localizedPostID,
358
- },
359
- ],
360
- }),
361
- headers,
362
- method: 'post',
363
- });
364
- const relationshipAData = await res.json();
365
- expect(res.status).toBe(201);
366
- expect(additionalRelationshipARes.status).toBe(201);
367
- expect(relationshipAData.doc.post).toBe(relationshipBData.doc.id);
368
- const queryRes = await fetch(`${url}/api/relationship-a?where[post.title][equals]=${relationshipBTitle}`);
369
- const data = await queryRes.json();
370
- expect(data.docs).toHaveLength(1);
371
- });
372
- it('should allow querying by a localized nested relationship property', async () => {
373
- const res = await fetch(`${url}/api/relationship-a`, {
374
- body: JSON.stringify({
375
- LocalizedPost: [localizedPostID],
376
- }),
377
- headers,
378
- method: 'post',
379
- });
380
- expect(res.status).toBe(201);
381
- const queryRes1 = await fetch(`${url}/api/relationship-a?where[LocalizedPost.title][in]=${localizedPostTitle}`);
382
- const data1 = await queryRes1.json();
383
- expect(data1.docs).toHaveLength(1);
384
- });
385
- it('should allow querying by a localized nested relationship with many relationTos', async () => {
386
- const relationshipBTitle = 'lawleifjawelifjew';
387
- const relationshipB = await fetch(`${url}/api/relationship-b?depth=0`, {
388
- body: JSON.stringify({
389
- title: relationshipBTitle,
390
- }),
391
- headers,
392
- method: 'post',
393
- }).then((res) => res.json());
394
- expect(relationshipB.doc.id).toBeDefined();
395
- const res = await fetch(`${url}/api/relationship-a`, {
396
- body: JSON.stringify({
397
- postManyRelationships: {
398
- value: relationshipB.doc.id,
399
- relationTo: 'relationship-b',
400
- },
401
- }),
402
- headers,
403
- method: 'post',
404
- });
405
- expect(res.status).toBe(201);
406
- const queryRes = await fetch(`${url}/api/relationship-a?where[postManyRelationships.value][equals]=${relationshipB.doc.id}`);
407
- const data = await queryRes.json();
408
- expect(data.docs).toHaveLength(1);
409
- });
410
- it('should allow querying by a non-localized relationship with many relationTos', async () => {
411
- const relationshipB = await fetch(`${url}/api/relationship-b?depth=0`, {
412
- body: JSON.stringify({
413
- title: 'awefjlaiwejfalweiijfaew',
414
- nonLocalizedRelationToMany: {
415
- relationTo: 'localized-posts',
416
- value: localizedPostID,
417
- },
418
- }),
419
- headers,
420
- method: 'post',
421
- }).then((res) => res.json());
422
- expect(relationshipB.doc.id).toBeDefined();
423
- relationshipBID = relationshipB.doc.id;
424
- const queryRes = await fetch(`${url}/api/relationship-b?where[nonLocalizedRelationToMany.value][equals]=${localizedPostID}`);
425
- const data = await queryRes.json();
426
- expect(data.docs).toHaveLength(1);
427
- });
428
- it('should propagate locale through populated documents', async () => {
429
- const relationshipB = await fetch(`${url}/api/relationship-b/${relationshipBID}?locale=es`, {
430
- headers,
431
- });
432
- const data = await relationshipB.json();
433
- expect(data.nonLocalizedRelationToMany.value.description).toBe(spanishPostDesc);
434
- });
435
- it('should allow querying by a numeric custom ID', async () => {
436
- const customID = 1988;
437
- const customIDResult = await fetch(`${url}/api/custom-id?depth=0`, {
438
- body: JSON.stringify({
439
- id: customID,
440
- name: 'woohoo',
441
- }),
442
- headers,
443
- method: 'post',
444
- }).then((res) => res.json());
445
- expect(customIDResult.doc.id).toStrictEqual(customID);
446
- await fetch(`${url}/api/custom-id?depth=0`, {
447
- body: JSON.stringify({
448
- id: 2343452,
449
- name: 'another post',
450
- }),
451
- headers,
452
- method: 'post',
453
- }).then((res) => res.json());
454
- const queryRes1 = await fetch(`${url}/api/custom-id?where[id][equals]=${customID}`, {
455
- headers,
456
- });
457
- const data1 = await queryRes1.json();
458
- expect(data1.docs).toHaveLength(1);
459
- const queryByIDRes = await fetch(`${url}/api/custom-id/${customID}`, {
460
- headers,
461
- });
462
- const queryByIDData = await queryByIDRes.json();
463
- expect(queryByIDData.id).toStrictEqual(customID);
464
- });
465
- it('should allow querying by a field within a group', async () => {
466
- const text = 'laiwjefliajwe';
467
- await fetch(`${url}/api/localized-posts`, {
468
- body: JSON.stringify({
469
- title: 'super great title',
470
- description: 'desc',
471
- priority: 1,
472
- nonLocalizedGroup: {
473
- text,
474
- },
475
- localizedGroup: {
476
- text,
477
- },
478
- }),
479
- headers,
480
- method: 'post',
481
- });
482
- const queryRes1 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=${text}`);
483
- const data1 = await queryRes1.json();
484
- expect(data1.docs).toHaveLength(1);
485
- const queryRes2 = await fetch(`${url}/api/localized-posts?where[localizedGroup.text][equals]=${text}`);
486
- const data2 = await queryRes2.json();
487
- expect(queryRes2.status).toBe(200);
488
- expect(data2.docs).toHaveLength(1);
489
- });
490
- });
491
- describe('Delete', () => {
492
- it('should allow a post to be deleted', async () => {
493
- const response = await fetch(`${url}/api/localized-posts`, {
494
- body: JSON.stringify({
495
- title: 'title to be deleted',
496
- description: englishPostDesc,
497
- priority: 1,
498
- }),
499
- headers,
500
- method: 'post',
501
- });
502
- const data = await response.json();
503
- const docId = data.doc.id;
504
- expect(response.status).toBe(201);
505
- expect(docId).toBeDefined();
506
- const deleteResponse = await fetch(`${url}/api/localized-posts/${docId}`, {
507
- headers,
508
- method: 'delete',
509
- });
510
- const deleteData = await deleteResponse.json();
511
- expect(deleteResponse.status).toBe(200);
512
- expect(deleteData.id).toBe(docId);
513
- });
514
- });
515
- describe('Metadata', () => {
516
- async function createPost(title, description) {
517
- await fetch(`${url}/api/localized-posts`, {
518
- body: JSON.stringify({
519
- title: title || (0, uuid_1.v4)(),
520
- description,
521
- priority: 1,
522
- }),
523
- headers,
524
- method: 'post',
525
- });
526
- }
527
- it('should include metadata', async () => {
528
- const desc = 'metadataDesc';
529
- for (let i = 0; i < 12; i += 1) {
530
- // eslint-disable-next-line no-await-in-loop
531
- await createPost(null, desc);
532
- }
533
- const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`);
534
- const data = await getResponse.json();
535
- expect(getResponse.status).toBe(200);
536
- // TODO: Assert exact length once query bug is fixed
537
- expect(data.docs.length).toBeGreaterThan(0);
538
- expect(data.totalDocs).toBeGreaterThan(0);
539
- expect(data.limit).toBe(10);
540
- expect(data.page).toBe(1);
541
- expect(data.pagingCounter).toBe(1);
542
- expect(data.hasPrevPage).toBe(false);
543
- expect(data.hasNextPage).toBe(true);
544
- expect(data.prevPage).toBeNull();
545
- expect(data.nextPage).toBe(2);
546
- });
547
- it('should sort the results', async () => {
548
- const desc = 'sort';
549
- // Create 2 posts with different titles, same desc
550
- const req1 = await fetch(`${url}/api/localized-posts`, {
551
- body: JSON.stringify({
552
- title: 'aaa',
553
- description: desc,
554
- priority: 1,
555
- }),
556
- headers,
557
- method: 'post',
558
- });
559
- const req2 = await fetch(`${url}/api/localized-posts`, {
560
- body: JSON.stringify({
561
- title: 'zzz',
562
- description: desc,
563
- priority: 1,
564
- }),
565
- headers,
566
- method: 'post',
567
- });
568
- const req1data = await req1.json();
569
- const req2data = await req2.json();
570
- const id1 = req1data.doc.id;
571
- const id2 = req2data.doc.id;
572
- // Query on shared desc and sort ascending
573
- const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=title`);
574
- const data = await getResponse.json();
575
- expect(getResponse.status).toBe(200);
576
- expect(data.docs).toHaveLength(2);
577
- expect(data.docs[0].id).toStrictEqual(id1);
578
- expect(data.docs[1].id).toStrictEqual(id2);
579
- // Query on shared desc and sort descending
580
- const getResponseSorted = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=-title`);
581
- const sortedData = await getResponseSorted.json();
582
- expect(getResponse.status).toBe(200);
583
- expect(sortedData.docs).toHaveLength(2);
584
- // Opposite order from first request
585
- expect(sortedData.docs[0].id).toStrictEqual(id2);
586
- expect(sortedData.docs[1].id).toStrictEqual(id1);
587
- });
588
- });
589
- describe('Field Access', () => {
590
- it('should properly prevent / allow public users from reading a restricted field', async () => {
591
- const firstArrayText1 = 'test 1';
592
- const firstArrayText2 = 'test 2';
593
- const response = await fetch(`${url}/api/localized-arrays`, {
594
- body: JSON.stringify({
595
- array: [
596
- {
597
- arrayText1: firstArrayText1,
598
- arrayText2: 'test 2',
599
- arrayText3: 'test 3',
600
- allowPublicReadability: true,
601
- },
602
- {
603
- arrayText1: firstArrayText2,
604
- arrayText2: 'test 2',
605
- arrayText3: 'test 3',
606
- allowPublicReadability: false,
607
- },
608
- ],
609
- }),
610
- headers,
611
- method: 'post',
612
- });
613
- const data = await response.json();
614
- const docId = data.doc.id;
615
- expect(response.status).toBe(201);
616
- expect(data.doc.array[1].arrayText1).toStrictEqual(firstArrayText2);
617
- const unauthenticatedResponse = await fetch(`${url}/api/localized-arrays/${docId}`, {
618
- headers: {
619
- 'Content-Type': 'application/json',
620
- },
621
- });
622
- expect(unauthenticatedResponse.status).toBe(200);
623
- const unauthenticatedData = await unauthenticatedResponse.json();
624
- // This string should be allowed to come back
625
- expect(unauthenticatedData.array[0].arrayText1).toBe(firstArrayText1);
626
- // This string should be prevented from coming back
627
- expect(unauthenticatedData.array[1].arrayText1).toBeUndefined();
628
- const authenticatedResponse = await fetch(`${url}/api/localized-arrays/${docId}`, {
629
- headers,
630
- });
631
- const authenticatedData = await authenticatedResponse.json();
632
- // If logged in, we should get this field back
633
- expect(authenticatedData.array[1].arrayText1).toStrictEqual(firstArrayText2);
634
- });
635
- });
636
- describe('Unique', () => {
637
- it('should prevent unique fields from duplicating data', async () => {
638
- const nonUniqueTitle = 'title';
639
- const response = await fetch(`${url}/api/uniques`, {
640
- body: JSON.stringify({
641
- title: nonUniqueTitle,
642
- }),
643
- headers,
644
- method: 'post',
645
- });
646
- const data = await response.json();
647
- expect(response.status).toBe(201);
648
- expect(data.doc.title).toStrictEqual(nonUniqueTitle);
649
- const failedResponse = await fetch(`${url}/api/uniques`, {
650
- body: JSON.stringify({
651
- title: nonUniqueTitle,
652
- }),
653
- headers,
654
- method: 'post',
655
- });
656
- expect(failedResponse.status).toStrictEqual(500);
657
- });
658
- });
659
- describe('Custom ID', () => {
660
- const document = {
661
- id: 1,
662
- name: 'name',
663
- };
664
- let data;
665
- beforeAll(async (done) => {
666
- // create document
667
- const create = await fetch(`${url}/api/custom-id`, {
668
- body: JSON.stringify(document),
669
- headers,
670
- method: 'post',
671
- });
672
- data = await create.json();
673
- done();
674
- });
675
- it('should create collections with custom ID', async () => {
676
- expect(data.doc.id).toBe(document.id);
677
- });
678
- it('should read collections by custom ID', async () => {
679
- const response = await fetch(`${url}/api/custom-id/${document.id}`, {
680
- headers,
681
- method: 'get',
682
- });
683
- const result = await response.json();
684
- expect(result.id).toStrictEqual(document.id);
685
- expect(result.name).toStrictEqual(document.name);
686
- });
687
- it('should update collection by custom ID', async () => {
688
- const updatedDoc = { id: 'cannot-update-id', name: 'updated' };
689
- const response = await fetch(`${url}/api/custom-id/${document.id}`, {
690
- headers,
691
- body: JSON.stringify(updatedDoc),
692
- method: 'put',
693
- });
694
- const result = await response.json();
695
- expect(result.doc.id).not.toStrictEqual(updatedDoc.id);
696
- expect(result.doc.name).not.toStrictEqual(document.name);
697
- expect(result.doc.name).toStrictEqual(updatedDoc.name);
698
- });
699
- it('should delete collection by custom ID', async () => {
700
- const doc = {
701
- id: 2,
702
- name: 'delete me',
703
- };
704
- const createResponse = await fetch(`${url}/api/custom-id`, {
705
- body: JSON.stringify(doc),
706
- headers,
707
- method: 'post',
708
- });
709
- const result = await createResponse.json();
710
- const response = await fetch(`${url}/api/custom-id/${result.doc.id}`, {
711
- headers,
712
- method: 'delete',
713
- });
714
- expect(response.status).toBe(200);
715
- const deleteData = await response.json();
716
- expect(deleteData.id).toBe(doc.id);
717
- });
718
- it('should allow querying by custom ID', async () => {
719
- const response = await fetch(`${url}/api/custom-id?where[id][equals]=${document.id}`, {
720
- headers,
721
- method: 'get',
722
- });
723
- const emptyResponse = await fetch(`${url}/api/custom-id?where[id][equals]=900`, {
724
- headers,
725
- method: 'get',
726
- });
727
- const result = await response.json();
728
- const emptyResult = await emptyResponse.json();
729
- expect(result.docs).toHaveLength(1);
730
- expect(emptyResult.docs).toHaveLength(0);
731
- });
732
- });
733
- });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const uuid_1 = require("uuid");
7
+ const load_1 = __importDefault(require("../../config/load"));
8
+ const testCredentials_1 = require("../../mongoose/testCredentials");
9
+ require('isomorphic-fetch');
10
+ const { serverURL: url } = (0, load_1.default)();
11
+ let token = null;
12
+ let headers = null;
13
+ let localizedPostID;
14
+ let relationshipBID;
15
+ const localizedPostTitle = 'title';
16
+ const englishPostDesc = 'english description';
17
+ const spanishPostDesc = 'spanish description';
18
+ describe('Collections - REST', () => {
19
+ beforeAll(async (done) => {
20
+ const response = await fetch(`${url}/api/admins/login`, {
21
+ body: JSON.stringify({
22
+ email: testCredentials_1.email,
23
+ password: testCredentials_1.password,
24
+ }),
25
+ headers: {
26
+ 'Content-Type': 'application/json',
27
+ },
28
+ method: 'post',
29
+ });
30
+ const data = await response.json();
31
+ ({ token } = data);
32
+ headers = {
33
+ Authorization: `JWT ${token}`,
34
+ 'Content-Type': 'application/json',
35
+ };
36
+ done();
37
+ });
38
+ describe('Create', () => {
39
+ let response;
40
+ let data;
41
+ beforeAll(async () => {
42
+ response = await fetch(`${url}/api/localized-posts`, {
43
+ body: JSON.stringify({
44
+ title: localizedPostTitle,
45
+ description: englishPostDesc,
46
+ priority: 1,
47
+ nonLocalizedGroup: {
48
+ text: 'english',
49
+ },
50
+ localizedGroup: {
51
+ text: 'english',
52
+ },
53
+ nonLocalizedArray: [
54
+ {
55
+ localizedEmbeddedText: 'english',
56
+ },
57
+ ],
58
+ richTextBlocks: [
59
+ {
60
+ blockType: 'richTextBlock',
61
+ blockName: 'Test Block Name',
62
+ content: [
63
+ {
64
+ children: [{ text: 'english' }],
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ }),
70
+ headers,
71
+ method: 'post',
72
+ });
73
+ data = await response.json();
74
+ });
75
+ it('should allow a localized post to be created', async () => {
76
+ expect(response.status).toBe(201);
77
+ expect(data.doc.title).toBeDefined();
78
+ expect(data.doc.id).toBeDefined();
79
+ expect(data.doc.nonLocalizedGroup.text).toStrictEqual('english');
80
+ expect(data.doc.localizedGroup.text).toStrictEqual('english');
81
+ expect(data.doc.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
82
+ expect(data.doc.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
83
+ const timestampRegex = /^(\d{4})(?:-?W(\d+)(?:-?(\d+)D?)?|(?:-(\d+))?-(\d+))(?:[T ](\d+):(\d+)(?::(\d+)(?:\.(\d+))?)?)?(?:Z(-?\d*))?$/;
84
+ expect(data.doc.createdAt).toStrictEqual(expect.stringMatching(timestampRegex));
85
+ expect(data.doc.updatedAt).toStrictEqual(expect.stringMatching(timestampRegex));
86
+ localizedPostID = data.doc.id;
87
+ });
88
+ it('should add id to array items', async () => {
89
+ expect(data.doc.nonLocalizedArray[0].id).toBeDefined();
90
+ });
91
+ it('should add id to block items', async () => {
92
+ expect(data.doc.richTextBlocks[0].id).toBeDefined();
93
+ });
94
+ });
95
+ describe('Update', () => {
96
+ it('should allow updating an existing post', async () => {
97
+ const createResponse = await fetch(`${url}/api/localized-posts`, {
98
+ body: JSON.stringify({
99
+ title: 'newTitle',
100
+ description: 'original description',
101
+ richText: [
102
+ {
103
+ children: [{ text: 'english' }],
104
+ },
105
+ ],
106
+ priority: 1,
107
+ }),
108
+ headers,
109
+ method: 'post',
110
+ });
111
+ expect(createResponse.status).toBe(201);
112
+ const createData = await createResponse.json();
113
+ const { id } = createData.doc;
114
+ const updatedDesc = 'updated description';
115
+ const updatedRichText = [
116
+ {
117
+ children: [{ text: 'english update' }],
118
+ },
119
+ ];
120
+ const updatedNonLocalizedArray = [
121
+ {
122
+ localizedEmbeddedText: 'english',
123
+ },
124
+ {
125
+ localizedEmbeddedText: 'english update',
126
+ },
127
+ ];
128
+ const response = await fetch(`${url}/api/localized-posts/${id}`, {
129
+ body: JSON.stringify({
130
+ title: 'newTitle',
131
+ description: updatedDesc,
132
+ richText: updatedRichText,
133
+ nonLocalizedArray: updatedNonLocalizedArray,
134
+ priority: '',
135
+ }),
136
+ headers,
137
+ method: 'put',
138
+ });
139
+ const data = await response.json();
140
+ expect(response.status).toBe(200);
141
+ expect(data.doc.description).toBe(updatedDesc);
142
+ expect(data.doc.priority).not.toStrictEqual(1);
143
+ expect(data.doc.nonLocalizedArray).toHaveLength(2);
144
+ expect(data.doc.richText[0].children[0].text).toBe('english update');
145
+ // make certain the stored object is exactly the same as the returned object
146
+ const stored = await (await fetch(`${url}/api/localized-posts/${id}`, {
147
+ method: 'get',
148
+ headers,
149
+ })).json();
150
+ expect(data.doc).toMatchObject(stored);
151
+ });
152
+ it('should allow a Spanish locale to be added to an existing post', async () => {
153
+ const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=es`, {
154
+ body: JSON.stringify({
155
+ title: 'title in spanish',
156
+ description: spanishPostDesc,
157
+ priority: 1,
158
+ nonLocalizedGroup: {
159
+ text: 'spanish',
160
+ },
161
+ localizedGroup: {
162
+ text: 'spanish',
163
+ },
164
+ nonLocalizedArray: [
165
+ {
166
+ localizedEmbeddedText: 'spanish',
167
+ },
168
+ ],
169
+ richTextBlocks: [
170
+ {
171
+ blockType: 'richTextBlock',
172
+ blockName: 'Test Block Name',
173
+ content: [
174
+ {
175
+ children: [{ text: 'spanish' }],
176
+ },
177
+ ],
178
+ },
179
+ ],
180
+ }),
181
+ headers,
182
+ method: 'put',
183
+ });
184
+ const data = await response.json();
185
+ expect(response.status).toBe(200);
186
+ expect(data.doc.description).toBe(spanishPostDesc);
187
+ expect(data.doc.nonLocalizedGroup.text).toStrictEqual('spanish');
188
+ expect(data.doc.localizedGroup.text).toStrictEqual('spanish');
189
+ expect(data.doc.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('spanish');
190
+ expect(data.doc.richTextBlocks[0].content[0].children[0].text).toStrictEqual('spanish');
191
+ });
192
+ });
193
+ describe('Read', () => {
194
+ describe('Localized', () => {
195
+ it('should allow a localized post to be retrieved in unspecified locale, defaulting to English', async () => {
196
+ const response = await fetch(`${url}/api/localized-posts/${localizedPostID}`);
197
+ const data = await response.json();
198
+ expect(response.status).toBe(200);
199
+ expect(data.description).toBe(englishPostDesc);
200
+ expect(data.nonLocalizedGroup.text).toStrictEqual('english');
201
+ expect(data.localizedGroup.text).toStrictEqual('english');
202
+ expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
203
+ expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
204
+ });
205
+ it('should allow a localized post to be retrieved in specified English locale', async () => {
206
+ const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=en`);
207
+ const data = await response.json();
208
+ expect(response.status).toBe(200);
209
+ expect(data.description).toBe(englishPostDesc);
210
+ expect(data.nonLocalizedGroup.text).toStrictEqual('english');
211
+ expect(data.localizedGroup.text).toStrictEqual('english');
212
+ expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('english');
213
+ expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('english');
214
+ });
215
+ it('should allow a localized post to be retrieved in Spanish', async () => {
216
+ const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=es`);
217
+ const data = await response.json();
218
+ expect(response.status).toBe(200);
219
+ expect(data.description).toBe(spanishPostDesc);
220
+ expect(data.nonLocalizedGroup.text).toStrictEqual('spanish');
221
+ expect(data.localizedGroup.text).toStrictEqual('spanish');
222
+ expect(data.nonLocalizedArray[0].localizedEmbeddedText).toStrictEqual('spanish');
223
+ expect(data.richTextBlocks[0].content[0].children[0].text).toStrictEqual('spanish');
224
+ });
225
+ it('should allow a localized post to be retrieved in all locales', async () => {
226
+ const response = await fetch(`${url}/api/localized-posts/${localizedPostID}?locale=all`);
227
+ const data = await response.json();
228
+ expect(response.status).toBe(200);
229
+ expect(data.description.es).toBe(spanishPostDesc);
230
+ expect(data.description.en).toBe(englishPostDesc);
231
+ });
232
+ });
233
+ it('should allow querying by id', async () => {
234
+ const response = await fetch(`${url}/api/localized-posts`, {
235
+ body: JSON.stringify({
236
+ title: 'another title',
237
+ description: 'description',
238
+ priority: 1,
239
+ }),
240
+ headers,
241
+ method: 'post',
242
+ });
243
+ expect(response.status).toBe(201);
244
+ const data = await response.json();
245
+ const getResponse = await fetch(`${url}/api/localized-posts/${data.doc.id}`);
246
+ expect(getResponse.status).toBe(200);
247
+ const getData = await getResponse.json();
248
+ expect(getData.id).toBeDefined();
249
+ });
250
+ it('should allow querying on a field', async () => {
251
+ const desc = 'query test';
252
+ const response = await fetch(`${url}/api/localized-posts`, {
253
+ body: JSON.stringify({
254
+ title: 'unique title here',
255
+ description: desc,
256
+ priority: 1,
257
+ nonLocalizedGroup: {
258
+ text: 'sample content',
259
+ },
260
+ }),
261
+ headers,
262
+ method: 'post',
263
+ });
264
+ expect(response.status).toBe(201);
265
+ const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`);
266
+ const data = await getResponse.json();
267
+ expect(getResponse.status).toBe(200);
268
+ expect(data.docs[0].description).toBe(desc);
269
+ expect(data.docs).toHaveLength(1);
270
+ const getResponse2 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=sample content`);
271
+ const data2 = await getResponse2.json();
272
+ expect(getResponse2.status).toBe(200);
273
+ expect(data2.docs[0].description).toBe(desc);
274
+ expect(data2.docs).toHaveLength(1);
275
+ });
276
+ it('should allow querying with OR', async () => {
277
+ const title1 = 'Or1';
278
+ const title2 = 'Or2';
279
+ const response = await fetch(`${url}/api/localized-posts`, {
280
+ body: JSON.stringify({
281
+ title: title1,
282
+ description: 'desc',
283
+ priority: 1,
284
+ }),
285
+ headers,
286
+ method: 'post',
287
+ });
288
+ const response2 = await fetch(`${url}/api/localized-posts`, {
289
+ body: JSON.stringify({
290
+ title: title2,
291
+ description: 'desc',
292
+ priority: 1,
293
+ }),
294
+ headers,
295
+ method: 'post',
296
+ });
297
+ expect(response.status).toBe(201);
298
+ expect(response2.status).toBe(201);
299
+ const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=${title2}`);
300
+ const data = await queryResponse.json();
301
+ expect(queryResponse.status).toBe(200);
302
+ expect(data.docs).toHaveLength(2);
303
+ expect(data.docs).toContainEqual(expect.objectContaining({ title: title1 }));
304
+ expect(data.docs).toContainEqual(expect.objectContaining({ title: title2 }));
305
+ });
306
+ it('should allow querying with OR, 1 result', async () => {
307
+ const title1 = 'OrNegative1';
308
+ const title2 = 'OrNegative2';
309
+ const response = await fetch(`${url}/api/localized-posts`, {
310
+ body: JSON.stringify({
311
+ title: title1,
312
+ description: 'desc',
313
+ priority: 1,
314
+ }),
315
+ headers,
316
+ method: 'post',
317
+ });
318
+ const response2 = await fetch(`${url}/api/localized-posts`, {
319
+ body: JSON.stringify({
320
+ title: title2,
321
+ description: 'desc',
322
+ priority: 1,
323
+ }),
324
+ headers,
325
+ method: 'post',
326
+ });
327
+ expect(response.status).toBe(201);
328
+ expect(response2.status).toBe(201);
329
+ const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=nonexistent`);
330
+ const data = await queryResponse.json();
331
+ expect(queryResponse.status).toBe(200);
332
+ expect(data.docs).toHaveLength(1);
333
+ expect(data.docs[0].title).toBe(title1);
334
+ });
335
+ it('should allow querying by a non-localized nested relationship property', async () => {
336
+ const relationshipBTitle = 'test';
337
+ const relationshipBRes = await fetch(`${url}/api/relationship-b?depth=0`, {
338
+ body: JSON.stringify({
339
+ title: relationshipBTitle,
340
+ }),
341
+ headers,
342
+ method: 'post',
343
+ });
344
+ const relationshipBData = await relationshipBRes.json();
345
+ const res = await fetch(`${url}/api/relationship-a?depth=0`, {
346
+ body: JSON.stringify({
347
+ post: relationshipBData.doc.id,
348
+ }),
349
+ headers,
350
+ method: 'post',
351
+ });
352
+ const additionalRelationshipARes = await fetch(`${url}/api/relationship-a?depth=0`, {
353
+ body: JSON.stringify({
354
+ postLocalizedMultiple: [
355
+ {
356
+ relationTo: 'localized-posts',
357
+ value: localizedPostID,
358
+ },
359
+ ],
360
+ }),
361
+ headers,
362
+ method: 'post',
363
+ });
364
+ const relationshipAData = await res.json();
365
+ expect(res.status).toBe(201);
366
+ expect(additionalRelationshipARes.status).toBe(201);
367
+ expect(relationshipAData.doc.post).toBe(relationshipBData.doc.id);
368
+ const queryRes = await fetch(`${url}/api/relationship-a?where[post.title][equals]=${relationshipBTitle}`);
369
+ const data = await queryRes.json();
370
+ expect(data.docs).toHaveLength(1);
371
+ });
372
+ it('should allow querying by a localized nested relationship property', async () => {
373
+ const res = await fetch(`${url}/api/relationship-a`, {
374
+ body: JSON.stringify({
375
+ LocalizedPost: [localizedPostID],
376
+ }),
377
+ headers,
378
+ method: 'post',
379
+ });
380
+ expect(res.status).toBe(201);
381
+ const queryRes1 = await fetch(`${url}/api/relationship-a?where[LocalizedPost.title][in]=${localizedPostTitle}`);
382
+ const data1 = await queryRes1.json();
383
+ expect(data1.docs).toHaveLength(1);
384
+ });
385
+ it('should allow querying by a localized nested relationship with many relationTos', async () => {
386
+ const relationshipBTitle = 'lawleifjawelifjew';
387
+ const relationshipB = await fetch(`${url}/api/relationship-b?depth=0`, {
388
+ body: JSON.stringify({
389
+ title: relationshipBTitle,
390
+ }),
391
+ headers,
392
+ method: 'post',
393
+ }).then((res) => res.json());
394
+ expect(relationshipB.doc.id).toBeDefined();
395
+ const res = await fetch(`${url}/api/relationship-a`, {
396
+ body: JSON.stringify({
397
+ postManyRelationships: {
398
+ value: relationshipB.doc.id,
399
+ relationTo: 'relationship-b',
400
+ },
401
+ }),
402
+ headers,
403
+ method: 'post',
404
+ });
405
+ expect(res.status).toBe(201);
406
+ const queryRes = await fetch(`${url}/api/relationship-a?where[postManyRelationships.value][equals]=${relationshipB.doc.id}`);
407
+ const data = await queryRes.json();
408
+ expect(data.docs).toHaveLength(1);
409
+ });
410
+ it('should allow querying by a non-localized relationship with many relationTos', async () => {
411
+ const relationshipB = await fetch(`${url}/api/relationship-b?depth=0`, {
412
+ body: JSON.stringify({
413
+ title: 'awefjlaiwejfalweiijfaew',
414
+ nonLocalizedRelationToMany: {
415
+ relationTo: 'localized-posts',
416
+ value: localizedPostID,
417
+ },
418
+ }),
419
+ headers,
420
+ method: 'post',
421
+ }).then((res) => res.json());
422
+ expect(relationshipB.doc.id).toBeDefined();
423
+ relationshipBID = relationshipB.doc.id;
424
+ const queryRes = await fetch(`${url}/api/relationship-b?where[nonLocalizedRelationToMany.value][equals]=${localizedPostID}`);
425
+ const data = await queryRes.json();
426
+ expect(data.docs).toHaveLength(1);
427
+ });
428
+ it('should propagate locale through populated documents', async () => {
429
+ const relationshipB = await fetch(`${url}/api/relationship-b/${relationshipBID}?locale=es`, {
430
+ headers,
431
+ });
432
+ const data = await relationshipB.json();
433
+ expect(data.nonLocalizedRelationToMany.value.description).toBe(spanishPostDesc);
434
+ });
435
+ it('should allow querying by a numeric custom ID', async () => {
436
+ const customID = 1988;
437
+ const customIDResult = await fetch(`${url}/api/custom-id?depth=0`, {
438
+ body: JSON.stringify({
439
+ id: customID,
440
+ name: 'woohoo',
441
+ }),
442
+ headers,
443
+ method: 'post',
444
+ }).then((res) => res.json());
445
+ expect(customIDResult.doc.id).toStrictEqual(customID);
446
+ await fetch(`${url}/api/custom-id?depth=0`, {
447
+ body: JSON.stringify({
448
+ id: 2343452,
449
+ name: 'another post',
450
+ }),
451
+ headers,
452
+ method: 'post',
453
+ }).then((res) => res.json());
454
+ const queryRes1 = await fetch(`${url}/api/custom-id?where[id][equals]=${customID}`, {
455
+ headers,
456
+ });
457
+ const data1 = await queryRes1.json();
458
+ expect(data1.docs).toHaveLength(1);
459
+ const queryByIDRes = await fetch(`${url}/api/custom-id/${customID}`, {
460
+ headers,
461
+ });
462
+ const queryByIDData = await queryByIDRes.json();
463
+ expect(queryByIDData.id).toStrictEqual(customID);
464
+ });
465
+ it('should allow querying by a field within a group', async () => {
466
+ const text = 'laiwjefliajwe';
467
+ await fetch(`${url}/api/localized-posts`, {
468
+ body: JSON.stringify({
469
+ title: 'super great title',
470
+ description: 'desc',
471
+ priority: 1,
472
+ nonLocalizedGroup: {
473
+ text,
474
+ },
475
+ localizedGroup: {
476
+ text,
477
+ },
478
+ }),
479
+ headers,
480
+ method: 'post',
481
+ });
482
+ const queryRes1 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=${text}`);
483
+ const data1 = await queryRes1.json();
484
+ expect(data1.docs).toHaveLength(1);
485
+ const queryRes2 = await fetch(`${url}/api/localized-posts?where[localizedGroup.text][equals]=${text}`);
486
+ const data2 = await queryRes2.json();
487
+ expect(queryRes2.status).toBe(200);
488
+ expect(data2.docs).toHaveLength(1);
489
+ });
490
+ });
491
+ describe('Delete', () => {
492
+ it('should allow a post to be deleted', async () => {
493
+ const response = await fetch(`${url}/api/localized-posts`, {
494
+ body: JSON.stringify({
495
+ title: 'title to be deleted',
496
+ description: englishPostDesc,
497
+ priority: 1,
498
+ }),
499
+ headers,
500
+ method: 'post',
501
+ });
502
+ const data = await response.json();
503
+ const docId = data.doc.id;
504
+ expect(response.status).toBe(201);
505
+ expect(docId).toBeDefined();
506
+ const deleteResponse = await fetch(`${url}/api/localized-posts/${docId}`, {
507
+ headers,
508
+ method: 'delete',
509
+ });
510
+ const deleteData = await deleteResponse.json();
511
+ expect(deleteResponse.status).toBe(200);
512
+ expect(deleteData.id).toBe(docId);
513
+ });
514
+ });
515
+ describe('Metadata', () => {
516
+ async function createPost(title, description) {
517
+ await fetch(`${url}/api/localized-posts`, {
518
+ body: JSON.stringify({
519
+ title: title || (0, uuid_1.v4)(),
520
+ description,
521
+ priority: 1,
522
+ }),
523
+ headers,
524
+ method: 'post',
525
+ });
526
+ }
527
+ it('should include metadata', async () => {
528
+ const desc = 'metadataDesc';
529
+ for (let i = 0; i < 12; i += 1) {
530
+ // eslint-disable-next-line no-await-in-loop
531
+ await createPost(null, desc);
532
+ }
533
+ const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`);
534
+ const data = await getResponse.json();
535
+ expect(getResponse.status).toBe(200);
536
+ // TODO: Assert exact length once query bug is fixed
537
+ expect(data.docs.length).toBeGreaterThan(0);
538
+ expect(data.totalDocs).toBeGreaterThan(0);
539
+ expect(data.limit).toBe(10);
540
+ expect(data.page).toBe(1);
541
+ expect(data.pagingCounter).toBe(1);
542
+ expect(data.hasPrevPage).toBe(false);
543
+ expect(data.hasNextPage).toBe(true);
544
+ expect(data.prevPage).toBeNull();
545
+ expect(data.nextPage).toBe(2);
546
+ });
547
+ it('should sort the results', async () => {
548
+ const desc = 'sort';
549
+ // Create 2 posts with different titles, same desc
550
+ const req1 = await fetch(`${url}/api/localized-posts`, {
551
+ body: JSON.stringify({
552
+ title: 'aaa',
553
+ description: desc,
554
+ priority: 1,
555
+ }),
556
+ headers,
557
+ method: 'post',
558
+ });
559
+ const req2 = await fetch(`${url}/api/localized-posts`, {
560
+ body: JSON.stringify({
561
+ title: 'zzz',
562
+ description: desc,
563
+ priority: 1,
564
+ }),
565
+ headers,
566
+ method: 'post',
567
+ });
568
+ const req1data = await req1.json();
569
+ const req2data = await req2.json();
570
+ const id1 = req1data.doc.id;
571
+ const id2 = req2data.doc.id;
572
+ // Query on shared desc and sort ascending
573
+ const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=title`);
574
+ const data = await getResponse.json();
575
+ expect(getResponse.status).toBe(200);
576
+ expect(data.docs).toHaveLength(2);
577
+ expect(data.docs[0].id).toStrictEqual(id1);
578
+ expect(data.docs[1].id).toStrictEqual(id2);
579
+ // Query on shared desc and sort descending
580
+ const getResponseSorted = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=-title`);
581
+ const sortedData = await getResponseSorted.json();
582
+ expect(getResponse.status).toBe(200);
583
+ expect(sortedData.docs).toHaveLength(2);
584
+ // Opposite order from first request
585
+ expect(sortedData.docs[0].id).toStrictEqual(id2);
586
+ expect(sortedData.docs[1].id).toStrictEqual(id1);
587
+ });
588
+ });
589
+ describe('Field Access', () => {
590
+ it('should properly prevent / allow public users from reading a restricted field', async () => {
591
+ const firstArrayText1 = 'test 1';
592
+ const firstArrayText2 = 'test 2';
593
+ const response = await fetch(`${url}/api/localized-arrays`, {
594
+ body: JSON.stringify({
595
+ array: [
596
+ {
597
+ arrayText1: firstArrayText1,
598
+ arrayText2: 'test 2',
599
+ arrayText3: 'test 3',
600
+ allowPublicReadability: true,
601
+ },
602
+ {
603
+ arrayText1: firstArrayText2,
604
+ arrayText2: 'test 2',
605
+ arrayText3: 'test 3',
606
+ allowPublicReadability: false,
607
+ },
608
+ ],
609
+ }),
610
+ headers,
611
+ method: 'post',
612
+ });
613
+ const data = await response.json();
614
+ const docId = data.doc.id;
615
+ expect(response.status).toBe(201);
616
+ expect(data.doc.array[1].arrayText1).toStrictEqual(firstArrayText2);
617
+ const unauthenticatedResponse = await fetch(`${url}/api/localized-arrays/${docId}`, {
618
+ headers: {
619
+ 'Content-Type': 'application/json',
620
+ },
621
+ });
622
+ expect(unauthenticatedResponse.status).toBe(200);
623
+ const unauthenticatedData = await unauthenticatedResponse.json();
624
+ // This string should be allowed to come back
625
+ expect(unauthenticatedData.array[0].arrayText1).toBe(firstArrayText1);
626
+ // This string should be prevented from coming back
627
+ expect(unauthenticatedData.array[1].arrayText1).toBeUndefined();
628
+ const authenticatedResponse = await fetch(`${url}/api/localized-arrays/${docId}`, {
629
+ headers,
630
+ });
631
+ const authenticatedData = await authenticatedResponse.json();
632
+ // If logged in, we should get this field back
633
+ expect(authenticatedData.array[1].arrayText1).toStrictEqual(firstArrayText2);
634
+ });
635
+ });
636
+ describe('Unique', () => {
637
+ it('should prevent unique fields from duplicating data', async () => {
638
+ const nonUniqueTitle = 'title';
639
+ const response = await fetch(`${url}/api/uniques`, {
640
+ body: JSON.stringify({
641
+ title: nonUniqueTitle,
642
+ }),
643
+ headers,
644
+ method: 'post',
645
+ });
646
+ const data = await response.json();
647
+ expect(response.status).toBe(201);
648
+ expect(data.doc.title).toStrictEqual(nonUniqueTitle);
649
+ const failedResponse = await fetch(`${url}/api/uniques`, {
650
+ body: JSON.stringify({
651
+ title: nonUniqueTitle,
652
+ }),
653
+ headers,
654
+ method: 'post',
655
+ });
656
+ expect(failedResponse.status).toStrictEqual(500);
657
+ });
658
+ });
659
+ describe('Custom ID', () => {
660
+ const document = {
661
+ id: 1,
662
+ name: 'name',
663
+ };
664
+ let data;
665
+ beforeAll(async (done) => {
666
+ // create document
667
+ const create = await fetch(`${url}/api/custom-id`, {
668
+ body: JSON.stringify(document),
669
+ headers,
670
+ method: 'post',
671
+ });
672
+ data = await create.json();
673
+ done();
674
+ });
675
+ it('should create collections with custom ID', async () => {
676
+ expect(data.doc.id).toBe(document.id);
677
+ });
678
+ it('should read collections by custom ID', async () => {
679
+ const response = await fetch(`${url}/api/custom-id/${document.id}`, {
680
+ headers,
681
+ method: 'get',
682
+ });
683
+ const result = await response.json();
684
+ expect(result.id).toStrictEqual(document.id);
685
+ expect(result.name).toStrictEqual(document.name);
686
+ });
687
+ it('should update collection by custom ID', async () => {
688
+ const updatedDoc = { id: 'cannot-update-id', name: 'updated' };
689
+ const response = await fetch(`${url}/api/custom-id/${document.id}`, {
690
+ headers,
691
+ body: JSON.stringify(updatedDoc),
692
+ method: 'put',
693
+ });
694
+ const result = await response.json();
695
+ expect(result.doc.id).not.toStrictEqual(updatedDoc.id);
696
+ expect(result.doc.name).not.toStrictEqual(document.name);
697
+ expect(result.doc.name).toStrictEqual(updatedDoc.name);
698
+ });
699
+ it('should delete collection by custom ID', async () => {
700
+ const doc = {
701
+ id: 2,
702
+ name: 'delete me',
703
+ };
704
+ const createResponse = await fetch(`${url}/api/custom-id`, {
705
+ body: JSON.stringify(doc),
706
+ headers,
707
+ method: 'post',
708
+ });
709
+ const result = await createResponse.json();
710
+ const response = await fetch(`${url}/api/custom-id/${result.doc.id}`, {
711
+ headers,
712
+ method: 'delete',
713
+ });
714
+ expect(response.status).toBe(200);
715
+ const deleteData = await response.json();
716
+ expect(deleteData.id).toBe(doc.id);
717
+ });
718
+ it('should allow querying by custom ID', async () => {
719
+ const response = await fetch(`${url}/api/custom-id?where[id][equals]=${document.id}`, {
720
+ headers,
721
+ method: 'get',
722
+ });
723
+ const emptyResponse = await fetch(`${url}/api/custom-id?where[id][equals]=900`, {
724
+ headers,
725
+ method: 'get',
726
+ });
727
+ const result = await response.json();
728
+ const emptyResult = await emptyResponse.json();
729
+ expect(result.docs).toHaveLength(1);
730
+ expect(emptyResult.docs).toHaveLength(0);
731
+ });
732
+ });
733
+ });
734
734
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy90ZXN0cy9jb2xsZWN0aW9ucy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQWtDO0FBQ2xDLDZEQUEwQztBQUMxQyxvRUFBaUU7QUFFakUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFNUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFBLGNBQVMsR0FBRSxDQUFDO0FBRXZDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztBQUNqQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFFbkIsSUFBSSxlQUFlLENBQUM7QUFDcEIsSUFBSSxlQUFlLENBQUM7QUFDcEIsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUM7QUFDbkMsTUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFDOUMsTUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFFOUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtJQUNsQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxtQkFBbUIsRUFBRTtZQUN0RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsS0FBSyxFQUFMLHVCQUFLO2dCQUNMLFFBQVEsRUFBUiwwQkFBUTthQUNULENBQUM7WUFDRixPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjthQUNuQztZQUNELE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25CLE9BQU8s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