payload 0.15.13 → 0.16.0

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