@payloadcms/ui 3.0.0-alpha.0 → 3.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/dist/@types/assets.d.js +3 -0
  2. package/dist/config.js +13 -0
  3. package/dist/elements/ArrayAction/index.js +120 -0
  4. package/dist/elements/ArrayAction/types.js +6 -0
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +207 -0
  7. package/dist/elements/Autosave/types.js +6 -0
  8. package/dist/elements/Banner/index.js +52 -0
  9. package/dist/elements/Banner/types.js +6 -0
  10. package/dist/elements/Button/index.js +166 -0
  11. package/dist/elements/Button/types.js +6 -0
  12. package/dist/elements/Card/index.js +46 -0
  13. package/dist/elements/Card/types.js +6 -0
  14. package/dist/elements/CodeEditor/CodeEditor.js +53 -0
  15. package/dist/elements/CodeEditor/index.js +68 -0
  16. package/dist/elements/CodeEditor/types.js +6 -0
  17. package/dist/elements/Collapsible/index.js +128 -0
  18. package/dist/elements/Collapsible/provider.js +90 -0
  19. package/dist/elements/Collapsible/types.js +6 -0
  20. package/dist/elements/ColumnSelector/index.js +109 -0
  21. package/dist/elements/ColumnSelector/types.js +6 -0
  22. package/dist/elements/CopyToClipboard/index.js +98 -0
  23. package/dist/elements/CopyToClipboard/types.js +6 -0
  24. package/dist/elements/DatePicker/DatePicker.js +147 -0
  25. package/dist/elements/DatePicker/index.js +63 -0
  26. package/dist/elements/DatePicker/types.js +6 -0
  27. package/dist/elements/DeleteDocument/index.js +178 -0
  28. package/dist/elements/DeleteDocument/types.js +6 -0
  29. package/dist/elements/DeleteMany/index.js +176 -0
  30. package/dist/elements/DeleteMany/types.js +6 -0
  31. package/dist/elements/DocumentControls/index.d.ts +2 -2
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js +159 -0
  34. package/dist/elements/DocumentDrawer/DrawerContent.js +219 -0
  35. package/dist/elements/DocumentDrawer/index.js +185 -0
  36. package/dist/elements/DocumentDrawer/types.js +6 -0
  37. package/dist/elements/DocumentFields/index.js +55 -0
  38. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +23 -0
  39. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +42 -0
  40. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +105 -0
  41. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +48 -0
  42. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +24 -0
  43. package/dist/elements/DocumentHeader/Tabs/index.js +84 -0
  44. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +27 -0
  45. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +75 -0
  46. package/dist/elements/DocumentHeader/index.js +81 -0
  47. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +82 -0
  48. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +6 -0
  49. package/dist/elements/DraggableSortable/index.js +96 -0
  50. package/dist/elements/DraggableSortable/types.js +6 -0
  51. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +32 -0
  52. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +6 -0
  53. package/dist/elements/Drawer/index.js +156 -0
  54. package/dist/elements/Drawer/types.js +6 -0
  55. package/dist/elements/Drawer/useDrawerSlug.js +23 -0
  56. package/dist/elements/Dropzone/index.js +117 -0
  57. package/dist/elements/DuplicateDocument/index.js +217 -0
  58. package/dist/elements/DuplicateDocument/types.js +6 -0
  59. package/dist/elements/EditMany/index.js +274 -0
  60. package/dist/elements/EditMany/types.js +6 -0
  61. package/dist/elements/EditUpload/index.js +390 -0
  62. package/dist/elements/ErrorPill/index.js +37 -0
  63. package/dist/elements/ErrorPill/types.js +6 -0
  64. package/dist/elements/FieldSelect/index.js +138 -0
  65. package/dist/elements/FileDetails/FileMeta/index.js +96 -0
  66. package/dist/elements/FileDetails/FileMeta/types.js +6 -0
  67. package/dist/elements/FileDetails/index.js +59 -0
  68. package/dist/elements/FileDetails/types.js +6 -0
  69. package/dist/elements/GenerateConfirmation/index.js +72 -0
  70. package/dist/elements/GenerateConfirmation/types.js +6 -0
  71. package/dist/elements/GetFilterOptions/index.js +57 -0
  72. package/dist/elements/Gutter/index.js +72 -0
  73. package/dist/elements/Hamburger/index.js +54 -0
  74. package/dist/elements/Header/index.d.ts.map +1 -1
  75. package/dist/elements/Header/index.js +140 -0
  76. package/dist/elements/HydrateClientUser/index.js +28 -0
  77. package/dist/elements/IDLabel/index.js +28 -0
  78. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +21 -0
  79. package/dist/elements/ListControls/index.js +149 -0
  80. package/dist/elements/ListControls/types.js +6 -0
  81. package/dist/elements/ListDrawer/DrawerContent.js +315 -0
  82. package/dist/elements/ListDrawer/index.js +198 -0
  83. package/dist/elements/ListDrawer/types.js +6 -0
  84. package/dist/elements/ListSelection/index.js +83 -0
  85. package/dist/elements/Loading/index.js +103 -0
  86. package/dist/elements/LoadingOverlay/index.js +130 -0
  87. package/dist/elements/LoadingOverlay/reducer.js +49 -0
  88. package/dist/elements/LoadingOverlay/types.js +6 -0
  89. package/dist/elements/Localizer/LocalizerLabel/index.js +43 -0
  90. package/dist/elements/Localizer/index.js +121 -0
  91. package/dist/elements/Logout/index.d.ts.map +1 -1
  92. package/dist/elements/Logout/index.js +49 -0
  93. package/dist/elements/Nav/NavHamburger/index.js +34 -0
  94. package/dist/elements/Nav/NavToggler/index.js +53 -0
  95. package/dist/elements/Nav/NavWrapper/index.js +34 -0
  96. package/dist/elements/Nav/context.js +150 -0
  97. package/dist/elements/Nav/index.d.ts.map +1 -1
  98. package/dist/elements/Nav/index.js +106 -0
  99. package/dist/elements/NavGroup/index.js +129 -0
  100. package/dist/elements/Pagination/ClickableArrow/index.js +36 -0
  101. package/dist/elements/Pagination/ClickableArrow/types.js +6 -0
  102. package/dist/elements/Pagination/Page/index.js +33 -0
  103. package/dist/elements/Pagination/Page/types.js +6 -0
  104. package/dist/elements/Pagination/Separator/index.js +22 -0
  105. package/dist/elements/Pagination/index.js +126 -0
  106. package/dist/elements/Pagination/types.js +6 -0
  107. package/dist/elements/PerPage/index.d.ts.map +1 -1
  108. package/dist/elements/PerPage/index.js +115 -0
  109. package/dist/elements/Pill/index.js +93 -0
  110. package/dist/elements/Pill/types.js +6 -0
  111. package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -2
  112. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  113. package/dist/elements/Popup/PopupButtonList/index.js +118 -0
  114. package/dist/elements/Popup/PopupTrigger/index.js +51 -0
  115. package/dist/elements/Popup/PopupTrigger/types.js +6 -0
  116. package/dist/elements/Popup/index.js +193 -0
  117. package/dist/elements/Popup/types.js +6 -0
  118. package/dist/elements/PreviewButton/index.js +129 -0
  119. package/dist/elements/PreviewSizes/index.js +163 -0
  120. package/dist/elements/Publish/index.js +153 -0
  121. package/dist/elements/PublishMany/index.js +169 -0
  122. package/dist/elements/PublishMany/types.js +6 -0
  123. package/dist/elements/ReactSelect/ClearIndicator/index.js +31 -0
  124. package/dist/elements/ReactSelect/Control/index.js +49 -0
  125. package/dist/elements/ReactSelect/MultiValue/index.js +55 -0
  126. package/dist/elements/ReactSelect/MultiValueLabel/index.js +34 -0
  127. package/dist/elements/ReactSelect/MultiValueRemove/index.js +48 -0
  128. package/dist/elements/ReactSelect/SingleValue/index.js +30 -0
  129. package/dist/elements/ReactSelect/ValueContainer/index.js +29 -0
  130. package/dist/elements/ReactSelect/index.js +177 -0
  131. package/dist/elements/ReactSelect/types.js +6 -0
  132. package/dist/elements/RenderCustomComponent/index.js +28 -0
  133. package/dist/elements/RenderCustomComponent/types.js +6 -0
  134. package/dist/elements/RenderTitle/index.js +42 -0
  135. package/dist/elements/RenderTitle/types.js +6 -0
  136. package/dist/elements/Save/index.js +103 -0
  137. package/dist/elements/SaveDraft/index.js +147 -0
  138. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  139. package/dist/elements/SearchFilter/index.js +139 -0
  140. package/dist/elements/SearchFilter/types.js +6 -0
  141. package/dist/elements/SelectAll/index.js +35 -0
  142. package/dist/elements/SelectRow/index.js +31 -0
  143. package/dist/elements/ShimmerEffect/index.js +96 -0
  144. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  145. package/dist/elements/SortColumn/index.js +139 -0
  146. package/dist/elements/SortColumn/types.js +6 -0
  147. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  148. package/dist/elements/SortComplex/index.js +157 -0
  149. package/dist/elements/SortComplex/types.js +6 -0
  150. package/dist/elements/Status/index.js +202 -0
  151. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  152. package/dist/elements/StayLoggedIn/index.js +57 -0
  153. package/dist/elements/StayLoggedIn/types.js +6 -0
  154. package/dist/elements/StepNav/SetStepNav.js +25 -0
  155. package/dist/elements/StepNav/index.d.ts.map +1 -1
  156. package/dist/elements/StepNav/index.js +127 -0
  157. package/dist/elements/StepNav/types.js +6 -0
  158. package/dist/elements/Table/TableCellProvider/index.js +47 -0
  159. package/dist/elements/Table/index.js +63 -0
  160. package/dist/elements/Table/types.js +6 -0
  161. package/dist/elements/TableColumns/buildColumns.js +77 -0
  162. package/dist/elements/TableColumns/columnReducer.js +47 -0
  163. package/dist/elements/TableColumns/index.js +199 -0
  164. package/dist/elements/Thumbnail/index.js +89 -0
  165. package/dist/elements/Thumbnail/types.js +6 -0
  166. package/dist/elements/ThumbnailCard/index.js +54 -0
  167. package/dist/elements/ThumbnailCard/types.js +6 -0
  168. package/dist/elements/Tooltip/index.js +114 -0
  169. package/dist/elements/Tooltip/types.js +6 -0
  170. package/dist/elements/Translation/index.js +81 -0
  171. package/dist/elements/UnpublishMany/index.js +169 -0
  172. package/dist/elements/UnpublishMany/types.js +6 -0
  173. package/dist/elements/Upload/index.js +250 -0
  174. package/dist/elements/Upload/types.js +6 -0
  175. package/dist/elements/ViewDescription/index.js +38 -0
  176. package/dist/elements/ViewDescription/types.js +21 -0
  177. package/dist/elements/WhereBuilder/Condition/Date/index.js +32 -0
  178. package/dist/elements/WhereBuilder/Condition/Date/types.js +6 -0
  179. package/dist/elements/WhereBuilder/Condition/Number/index.js +33 -0
  180. package/dist/elements/WhereBuilder/Condition/Number/types.js +6 -0
  181. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +337 -0
  182. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +98 -0
  183. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +6 -0
  184. package/dist/elements/WhereBuilder/Condition/Select/index.js +96 -0
  185. package/dist/elements/WhereBuilder/Condition/Select/types.js +6 -0
  186. package/dist/elements/WhereBuilder/Condition/Text/index.js +33 -0
  187. package/dist/elements/WhereBuilder/Condition/Text/types.js +6 -0
  188. package/dist/elements/WhereBuilder/Condition/index.js +203 -0
  189. package/dist/elements/WhereBuilder/Condition/types.js +6 -0
  190. package/dist/elements/WhereBuilder/field-types.js +185 -0
  191. package/dist/elements/WhereBuilder/index.js +235 -0
  192. package/dist/elements/WhereBuilder/reducer.js +88 -0
  193. package/dist/elements/WhereBuilder/transformWhereQuery.js +57 -0
  194. package/dist/elements/WhereBuilder/types.js +6 -0
  195. package/dist/elements/WhereBuilder/validateWhereQuery.js +46 -0
  196. package/dist/exports/assets.js +27 -0
  197. package/dist/exports/elements.js +226 -0
  198. package/dist/exports/forms.js +158 -0
  199. package/dist/exports/graphics.js +27 -0
  200. package/dist/exports/hooks.js +55 -0
  201. package/dist/exports/icons.js +82 -0
  202. package/dist/exports/index.js +28 -0
  203. package/dist/exports/providers.js +116 -0
  204. package/dist/exports/templates.js +22 -0
  205. package/dist/exports/types.js +6 -0
  206. package/dist/exports/utilities.js +62 -0
  207. package/dist/forms/Error/index.js +43 -0
  208. package/dist/forms/FieldDescription/index.js +38 -0
  209. package/dist/forms/FieldDescription/types.js +6 -0
  210. package/dist/forms/FieldPathProvider/index.js +44 -0
  211. package/dist/forms/FieldPathProvider/types.js +6 -0
  212. package/dist/forms/Form/buildFieldSchemaMap.js +54 -0
  213. package/dist/forms/Form/buildInitialState.js +26 -0
  214. package/dist/forms/Form/context.js +84 -0
  215. package/dist/forms/Form/createNestedFieldPath.js +25 -0
  216. package/dist/forms/Form/errorMessages.js +15 -0
  217. package/dist/forms/Form/fieldReducer.js +286 -0
  218. package/dist/forms/Form/getDataByPath.js +29 -0
  219. package/dist/forms/Form/getSiblingData.js +50 -0
  220. package/dist/forms/Form/index.js +565 -0
  221. package/dist/forms/Form/initContextState.js +45 -0
  222. package/dist/forms/Form/mergeServerFormState.js +45 -0
  223. package/dist/forms/Form/reduceFieldsToValues.js +34 -0
  224. package/dist/forms/Form/rows.js +53 -0
  225. package/dist/forms/Form/types.js +6 -0
  226. package/dist/forms/Label/index.js +36 -0
  227. package/dist/forms/NullifyField/index.js +103 -0
  228. package/dist/forms/RenderFields/RenderField.js +30 -0
  229. package/dist/forms/RenderFields/index.js +66 -0
  230. package/dist/forms/RenderFields/types.js +6 -0
  231. package/dist/forms/RowLabel/index.js +50 -0
  232. package/dist/forms/RowLabel/types.js +21 -0
  233. package/dist/forms/Submit/index.js +75 -0
  234. package/dist/forms/WatchChildErrors/buildPathSegments.js +37 -0
  235. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +35 -0
  236. package/dist/forms/WatchChildErrors/getNestedFieldState.js +28 -0
  237. package/dist/forms/WatchChildErrors/index.js +41 -0
  238. package/dist/forms/fields/Array/ArrayRow.js +87 -0
  239. package/dist/forms/fields/Array/index.js +305 -0
  240. package/dist/forms/fields/Array/types.js +6 -0
  241. package/dist/forms/fields/Blocks/BlockRow.js +101 -0
  242. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +37 -0
  243. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +134 -0
  244. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +6 -0
  245. package/dist/forms/fields/Blocks/RowActions.js +52 -0
  246. package/dist/forms/fields/Blocks/SectionTitle/index.js +54 -0
  247. package/dist/forms/fields/Blocks/SectionTitle/types.js +6 -0
  248. package/dist/forms/fields/Blocks/index.js +317 -0
  249. package/dist/forms/fields/Blocks/types.js +6 -0
  250. package/dist/forms/fields/Checkbox/Input.js +56 -0
  251. package/dist/forms/fields/Checkbox/index.js +134 -0
  252. package/dist/forms/fields/Checkbox/types.js +6 -0
  253. package/dist/forms/fields/Code/index.js +115 -0
  254. package/dist/forms/fields/Code/types.js +6 -0
  255. package/dist/forms/fields/Collapsible/index.js +169 -0
  256. package/dist/forms/fields/Collapsible/types.js +6 -0
  257. package/dist/forms/fields/ConfirmPassword/index.js +112 -0
  258. package/dist/forms/fields/ConfirmPassword/types.js +6 -0
  259. package/dist/forms/fields/DateTime/index.js +115 -0
  260. package/dist/forms/fields/DateTime/types.js +6 -0
  261. package/dist/forms/fields/Email/index.js +121 -0
  262. package/dist/forms/fields/Email/types.js +6 -0
  263. package/dist/forms/fields/Group/index.js +127 -0
  264. package/dist/forms/fields/Group/provider.js +74 -0
  265. package/dist/forms/fields/Group/types.js +6 -0
  266. package/dist/forms/fields/HiddenInput/index.js +88 -0
  267. package/dist/forms/fields/HiddenInput/types.js +6 -0
  268. package/dist/forms/fields/JSON/index.js +137 -0
  269. package/dist/forms/fields/JSON/types.js +6 -0
  270. package/dist/forms/fields/Number/index.js +212 -0
  271. package/dist/forms/fields/Number/types.js +6 -0
  272. package/dist/forms/fields/Password/index.js +116 -0
  273. package/dist/forms/fields/Password/types.js +6 -0
  274. package/dist/forms/fields/Point/index.js +147 -0
  275. package/dist/forms/fields/Point/types.js +6 -0
  276. package/dist/forms/fields/RadioGroup/Radio/index.js +45 -0
  277. package/dist/forms/fields/RadioGroup/index.js +147 -0
  278. package/dist/forms/fields/RadioGroup/types.js +6 -0
  279. package/dist/forms/fields/Relationship/AddNew/index.js +216 -0
  280. package/dist/forms/fields/Relationship/AddNew/types.js +6 -0
  281. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +27 -0
  282. package/dist/forms/fields/Relationship/createRelationMap.js +59 -0
  283. package/dist/forms/fields/Relationship/findOptionsByValue.js +45 -0
  284. package/dist/forms/fields/Relationship/index.js +509 -0
  285. package/dist/forms/fields/Relationship/optionsReducer.js +126 -0
  286. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +109 -0
  287. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +108 -0
  288. package/dist/forms/fields/Relationship/types.js +6 -0
  289. package/dist/forms/fields/RichText/index.js +16 -0
  290. package/dist/forms/fields/RichText/types.js +6 -0
  291. package/dist/forms/fields/Row/index.js +42 -0
  292. package/dist/forms/fields/Row/provider.js +74 -0
  293. package/dist/forms/fields/Row/types.js +6 -0
  294. package/dist/forms/fields/Select/index.js +183 -0
  295. package/dist/forms/fields/Select/types.js +6 -0
  296. package/dist/forms/fields/Tabs/Tab/index.js +85 -0
  297. package/dist/forms/fields/Tabs/index.js +167 -0
  298. package/dist/forms/fields/Tabs/provider.js +74 -0
  299. package/dist/forms/fields/Tabs/types.js +6 -0
  300. package/dist/forms/fields/Text/index.js +194 -0
  301. package/dist/forms/fields/Text/types.js +6 -0
  302. package/dist/forms/fields/Textarea/index.js +133 -0
  303. package/dist/forms/fields/Textarea/types.js +6 -0
  304. package/dist/forms/fields/UI/index.js +16 -0
  305. package/dist/forms/fields/Upload/Input.js +3 -0
  306. package/dist/forms/fields/Upload/index.js +210 -0
  307. package/dist/forms/fields/Upload/types.js +6 -0
  308. package/dist/forms/fields/getFilterOptionsQuery.js +39 -0
  309. package/dist/forms/fields/index.js +67 -0
  310. package/dist/forms/fields/shared.js +29 -0
  311. package/dist/forms/useField/index.js +169 -0
  312. package/dist/forms/useField/types.js +6 -0
  313. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +335 -0
  314. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +76 -0
  315. package/dist/forms/utilities/buildStateFromSchema/index.js +35 -0
  316. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +48 -0
  317. package/dist/forms/withCondition/WatchCondition.js +66 -0
  318. package/dist/forms/withCondition/index.js +33 -0
  319. package/dist/graphics/Account/Default/index.js +43 -0
  320. package/dist/graphics/Account/Gravatar/index.js +42 -0
  321. package/dist/graphics/Account/index.js +50 -0
  322. package/dist/graphics/DefaultBlockImage/index.js +84 -0
  323. package/dist/graphics/ExternalLink/index.js +34 -0
  324. package/dist/graphics/File/index.js +36 -0
  325. package/dist/graphics/Icon/index.js +64 -0
  326. package/dist/graphics/Logo/index.js +60 -0
  327. package/dist/graphics/Search/index.js +42 -0
  328. package/dist/hooks/useAdminThumbnail.js +17 -0
  329. package/dist/hooks/useDebounce.js +31 -0
  330. package/dist/hooks/useDebouncedCallback.js +29 -0
  331. package/dist/hooks/useDebouncedEffect.js +32 -0
  332. package/dist/hooks/useDelay.js +82 -0
  333. package/dist/hooks/useDelayedRender.js +97 -0
  334. package/dist/hooks/useHotkey.js +129 -0
  335. package/dist/hooks/useIntersect.js +39 -0
  336. package/dist/hooks/usePayloadAPI.js +94 -0
  337. package/dist/hooks/useResize.js +59 -0
  338. package/dist/hooks/useThrottledEffect.js +31 -0
  339. package/dist/hooks/useThumbnail.js +57 -0
  340. package/dist/hooks/useUseAsTitle.js +19 -0
  341. package/dist/icons/Calendar/index.js +48 -0
  342. package/dist/icons/Check/index.js +34 -0
  343. package/dist/icons/Chevron/index.js +36 -0
  344. package/dist/icons/CloseMenu/index.js +39 -0
  345. package/dist/icons/CodeBlock/index.js +32 -0
  346. package/dist/icons/Copy/index.js +33 -0
  347. package/dist/icons/DragHandle/index.js +57 -0
  348. package/dist/icons/Edit/index.js +37 -0
  349. package/dist/icons/Line/index.js +30 -0
  350. package/dist/icons/Link/index.js +33 -0
  351. package/dist/icons/LogOut/index.js +37 -0
  352. package/dist/icons/Menu/index.js +45 -0
  353. package/dist/icons/MinimizeMaximize/index.js +87 -0
  354. package/dist/icons/More/index.js +42 -0
  355. package/dist/icons/Plus/index.js +36 -0
  356. package/dist/icons/Search/index.js +36 -0
  357. package/dist/icons/Swap/index.js +43 -0
  358. package/dist/icons/X/index.js +41 -0
  359. package/dist/index.js +20 -0
  360. package/dist/providers/ActionsProvider/index.js +89 -0
  361. package/dist/providers/Auth/HydrateClientUser/index.js +28 -0
  362. package/dist/providers/Auth/index.js +373 -0
  363. package/dist/providers/Auth/types.js +6 -0
  364. package/dist/providers/ClientFunction/index.js +65 -0
  365. package/dist/providers/ComponentMapProvider/index.js +98 -0
  366. package/dist/providers/Config/index.js +70 -0
  367. package/dist/providers/CustomProvider/index.js +38 -0
  368. package/dist/providers/DocumentEvents/index.js +77 -0
  369. package/dist/providers/DocumentEvents/types.js +6 -0
  370. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +34 -0
  371. package/dist/providers/DocumentInfo/index.js +353 -0
  372. package/dist/providers/DocumentInfo/types.js +6 -0
  373. package/dist/providers/EditDepth/index.js +71 -0
  374. package/dist/providers/FormQueryParams/index.js +77 -0
  375. package/dist/providers/ListInfo/index.js +78 -0
  376. package/dist/providers/ListInfo/types.js +6 -0
  377. package/dist/providers/Locale/index.js +122 -0
  378. package/dist/providers/OperationProvider/index.js +71 -0
  379. package/dist/providers/Params/index.js +72 -0
  380. package/dist/providers/Portal/index.js +20 -0
  381. package/dist/providers/Preferences/index.js +184 -0
  382. package/dist/providers/Root/index.js +103 -0
  383. package/dist/providers/SearchParams/index.js +119 -0
  384. package/dist/providers/SearchParams/types.js +6 -0
  385. package/dist/providers/SelectionProvider/index.js +218 -0
  386. package/dist/providers/Theme/index.js +123 -0
  387. package/dist/providers/Theme/types.js +6 -0
  388. package/dist/providers/Theme/utilities.js +35 -0
  389. package/dist/providers/Translation/index.js +92 -0
  390. package/dist/templates/Default/NavHamburger/index.js +28 -0
  391. package/dist/templates/Default/Wrapper/index.js +32 -0
  392. package/dist/templates/Default/index.js +88 -0
  393. package/dist/templates/Default/types.js +6 -0
  394. package/dist/templates/Minimal/index.js +34 -0
  395. package/dist/templates/Minimal/types.js +6 -0
  396. package/dist/utilities/api.js +98 -0
  397. package/dist/utilities/arraysHaveSameStrings.js +28 -0
  398. package/dist/utilities/buildComponentMap/index.js +101 -0
  399. package/dist/utilities/buildComponentMap/mapFields.js +318 -0
  400. package/dist/utilities/buildComponentMap/types.js +6 -0
  401. package/dist/utilities/buildFieldSchemaMap/index.js +36 -0
  402. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +94 -0
  403. package/dist/utilities/buildFieldSchemaMap/types.js +6 -0
  404. package/dist/utilities/canUseDOM.js +13 -0
  405. package/dist/utilities/findLocaleFromCode.js +18 -0
  406. package/dist/utilities/formatDate/getSupportedDateLocale.js +21 -0
  407. package/dist/utilities/formatDate/index.js +78 -0
  408. package/dist/utilities/formatDocTitle.js +33 -0
  409. package/dist/utilities/formatFields.js +14 -0
  410. package/dist/utilities/getFormState.js +28 -0
  411. package/dist/utilities/getOffsetTop.js +26 -0
  412. package/dist/utilities/getRequestLanguage.js +17 -0
  413. package/dist/utilities/getSupportedMonacoLocale.js +26 -0
  414. package/dist/utilities/groupNavItems.js +61 -0
  415. package/dist/utilities/scrollToID.js +22 -0
  416. package/dist/utilities/setsAreEqual.js +17 -0
  417. package/dist/utilities/withMergedProps/index.js +27 -0
  418. package/dist/views/Global/RenderCustomView.js +3 -0
  419. package/package.json +5 -5
@@ -0,0 +1,373 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ AuthProvider: function() {
14
+ return AuthProvider;
15
+ },
16
+ useAuth: function() {
17
+ return useAuth;
18
+ }
19
+ });
20
+ const _modal = require("@faceless-ui/modal");
21
+ const _navigation = require("next/navigation");
22
+ const _qs = /*#__PURE__*/ _interop_require_default(require("qs"));
23
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
24
+ const _reacttoastify = require("react-toastify");
25
+ const _useDebounce = /*#__PURE__*/ _interop_require_default(require("../../hooks/useDebounce"));
26
+ const _Translation = require("../../providers/Translation");
27
+ const _api = require("../../utilities/api");
28
+ const _Config = require("../Config");
29
+ const _SearchParams = require("../SearchParams");
30
+ function _interop_require_default(obj) {
31
+ return obj && obj.__esModule ? obj : {
32
+ default: obj
33
+ };
34
+ }
35
+ function _getRequireWildcardCache(nodeInterop) {
36
+ if (typeof WeakMap !== "function") return null;
37
+ var cacheBabelInterop = new WeakMap();
38
+ var cacheNodeInterop = new WeakMap();
39
+ return (_getRequireWildcardCache = function(nodeInterop) {
40
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
41
+ })(nodeInterop);
42
+ }
43
+ function _interop_require_wildcard(obj, nodeInterop) {
44
+ if (!nodeInterop && obj && obj.__esModule) {
45
+ return obj;
46
+ }
47
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
48
+ return {
49
+ default: obj
50
+ };
51
+ }
52
+ var cache = _getRequireWildcardCache(nodeInterop);
53
+ if (cache && cache.has(obj)) {
54
+ return cache.get(obj);
55
+ }
56
+ var newObj = {
57
+ __proto__: null
58
+ };
59
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
60
+ for(var key in obj){
61
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
62
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
63
+ if (desc && (desc.get || desc.set)) {
64
+ Object.defineProperty(newObj, key, desc);
65
+ } else {
66
+ newObj[key] = obj[key];
67
+ }
68
+ }
69
+ }
70
+ newObj.default = obj;
71
+ if (cache) {
72
+ cache.set(obj, newObj);
73
+ }
74
+ return newObj;
75
+ }
76
+ // import { useLocale } from '../Locale'
77
+ const Context = /*#__PURE__*/ (0, _react.createContext)({});
78
+ const maxTimeoutTime = 2147483647;
79
+ const AuthProvider = ({ children })=>{
80
+ const { searchParams } = (0, _SearchParams.useSearchParams)();
81
+ const [user, setUser] = (0, _react.useState)();
82
+ const [tokenInMemory, setTokenInMemory] = (0, _react.useState)();
83
+ const [tokenExpiration, setTokenExpiration] = (0, _react.useState)();
84
+ const pathname = (0, _navigation.usePathname)();
85
+ const { push } = (0, _navigation.useRouter)();
86
+ // const { code } = useLocale()
87
+ const code = 'en' // TODO: re-enable i18n asap
88
+ ;
89
+ const config = (0, _Config.useConfig)();
90
+ const { admin: { autoLogin, inactivityRoute: logoutInactivityRoute, user: userSlug }, routes: { admin, api }, serverURL } = config;
91
+ const [permissions, setPermissions] = (0, _react.useState)();
92
+ const { i18n } = (0, _Translation.useTranslation)();
93
+ const { closeAllModals, openModal } = (0, _modal.useModal)();
94
+ const [lastLocationChange, setLastLocationChange] = (0, _react.useState)(0);
95
+ const debouncedLocationChange = (0, _useDebounce.default)(lastLocationChange, 10000);
96
+ const id = user?.id;
97
+ const redirectToInactivityRoute = (0, _react.useCallback)(()=>{
98
+ if (window.location.pathname.startsWith(admin)) {
99
+ const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname.replace(admin, ''))}`;
100
+ push(`${admin}${logoutInactivityRoute}${redirectParam}`);
101
+ } else {
102
+ push(`${admin}${logoutInactivityRoute}`);
103
+ }
104
+ closeAllModals();
105
+ }, [
106
+ push,
107
+ admin,
108
+ logoutInactivityRoute,
109
+ closeAllModals
110
+ ]);
111
+ const revokeTokenAndExpire = (0, _react.useCallback)(()=>{
112
+ setTokenInMemory(undefined);
113
+ setTokenExpiration(undefined);
114
+ }, []);
115
+ const setTokenAndExpiration = (0, _react.useCallback)((json)=>{
116
+ const token = json?.token || json?.refreshedToken;
117
+ if (token && json?.exp) {
118
+ setTokenInMemory(token);
119
+ setTokenExpiration(json.exp);
120
+ } else {
121
+ revokeTokenAndExpire();
122
+ }
123
+ }, [
124
+ revokeTokenAndExpire
125
+ ]);
126
+ const refreshCookie = (0, _react.useCallback)((forceRefresh)=>{
127
+ const now = Math.round(new Date().getTime() / 1000);
128
+ const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now;
129
+ if (forceRefresh || tokenExpiration && remainingTime < 120) {
130
+ setTimeout(async ()=>{
131
+ try {
132
+ const request = await _api.requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {
133
+ headers: {
134
+ 'Accept-Language': i18n.language
135
+ }
136
+ });
137
+ if (request.status === 200) {
138
+ const json = await request.json();
139
+ setUser(json.user);
140
+ setTokenAndExpiration(json);
141
+ } else {
142
+ setUser(null);
143
+ redirectToInactivityRoute();
144
+ }
145
+ } catch (e) {
146
+ _reacttoastify.toast.error(e.message);
147
+ }
148
+ }, 1000);
149
+ }
150
+ }, [
151
+ tokenExpiration,
152
+ serverURL,
153
+ api,
154
+ userSlug,
155
+ i18n,
156
+ redirectToInactivityRoute,
157
+ setTokenAndExpiration
158
+ ]);
159
+ const refreshCookieAsync = (0, _react.useCallback)(async (skipSetUser)=>{
160
+ try {
161
+ const request = await _api.requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {
162
+ headers: {
163
+ 'Accept-Language': i18n.language
164
+ }
165
+ });
166
+ if (request.status === 200) {
167
+ const json = await request.json();
168
+ if (!skipSetUser) {
169
+ setUser(json.user);
170
+ setTokenAndExpiration(json);
171
+ }
172
+ return json.user;
173
+ }
174
+ setUser(null);
175
+ redirectToInactivityRoute();
176
+ return null;
177
+ } catch (e) {
178
+ _reacttoastify.toast.error(`Refreshing token failed: ${e.message}`);
179
+ return null;
180
+ }
181
+ }, [
182
+ serverURL,
183
+ api,
184
+ userSlug,
185
+ i18n,
186
+ redirectToInactivityRoute,
187
+ setTokenAndExpiration
188
+ ]);
189
+ const logOut = (0, _react.useCallback)(()=>{
190
+ setUser(null);
191
+ revokeTokenAndExpire();
192
+ try {
193
+ _api.requests.post(`${serverURL}${api}/${userSlug}/logout`);
194
+ } catch (e) {
195
+ _reacttoastify.toast.error(`Logging out failed: ${e.message}`);
196
+ }
197
+ }, [
198
+ serverURL,
199
+ api,
200
+ userSlug,
201
+ revokeTokenAndExpire
202
+ ]);
203
+ const refreshPermissions = (0, _react.useCallback)(async ()=>{
204
+ const params = {
205
+ locale: code
206
+ };
207
+ try {
208
+ const request = await _api.requests.get(`${serverURL}${api}/access?${_qs.default.stringify(params)}`, {
209
+ headers: {
210
+ 'Accept-Language': i18n.language
211
+ }
212
+ });
213
+ if (request.status === 200) {
214
+ const json = await request.json();
215
+ setPermissions(json);
216
+ } else {
217
+ throw new Error(`Fetching permissions failed with status code ${request.status}`);
218
+ }
219
+ } catch (e) {
220
+ _reacttoastify.toast.error(`Refreshing permissions failed: ${e.message}`);
221
+ }
222
+ }, [
223
+ serverURL,
224
+ api,
225
+ i18n,
226
+ code
227
+ ]);
228
+ const fetchFullUser = _react.default.useCallback(async ()=>{
229
+ try {
230
+ const request = await _api.requests.get(`${serverURL}${api}/${userSlug}/me`, {
231
+ headers: {
232
+ 'Accept-Language': i18n.language
233
+ }
234
+ });
235
+ if (request.status === 200) {
236
+ const json = await request.json();
237
+ if (json?.user) {
238
+ setUser(json.user);
239
+ if (json?.token) {
240
+ setTokenAndExpiration(json);
241
+ }
242
+ } else if (autoLogin && autoLogin.prefillOnly !== true) {
243
+ // auto log-in with the provided autoLogin credentials. This is used in dev mode
244
+ // so you don't have to log in over and over again
245
+ const autoLoginResult = await _api.requests.post(`${serverURL}${api}/${userSlug}/login`, {
246
+ body: JSON.stringify({
247
+ email: autoLogin.email,
248
+ password: autoLogin.password
249
+ }),
250
+ headers: {
251
+ 'Accept-Language': i18n.language,
252
+ 'Content-Type': 'application/json'
253
+ }
254
+ });
255
+ if (autoLoginResult.status === 200) {
256
+ const autoLoginJson = await autoLoginResult.json();
257
+ setUser(autoLoginJson.user);
258
+ if (autoLoginJson?.token) {
259
+ setTokenAndExpiration(autoLoginJson);
260
+ }
261
+ push(typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin);
262
+ } else {
263
+ setUser(null);
264
+ revokeTokenAndExpire();
265
+ }
266
+ } else {
267
+ setUser(null);
268
+ revokeTokenAndExpire();
269
+ }
270
+ }
271
+ } catch (e) {
272
+ _reacttoastify.toast.error(`Fetching user failed: ${e.message}`);
273
+ }
274
+ }, [
275
+ serverURL,
276
+ api,
277
+ userSlug,
278
+ i18n.language,
279
+ autoLogin,
280
+ setTokenAndExpiration,
281
+ push,
282
+ searchParams,
283
+ admin,
284
+ revokeTokenAndExpire
285
+ ]);
286
+ // On mount, get user and set
287
+ (0, _react.useEffect)(()=>{
288
+ fetchFullUser();
289
+ }, [
290
+ fetchFullUser
291
+ ]);
292
+ // When location changes, refresh cookie
293
+ (0, _react.useEffect)(()=>{
294
+ if (id) {
295
+ refreshCookie();
296
+ }
297
+ }, [
298
+ debouncedLocationChange,
299
+ refreshCookie,
300
+ id
301
+ ]);
302
+ (0, _react.useEffect)(()=>{
303
+ setLastLocationChange(Date.now());
304
+ }, [
305
+ pathname
306
+ ]);
307
+ // When user changes, get new access
308
+ (0, _react.useEffect)(()=>{
309
+ if (id) {
310
+ refreshPermissions();
311
+ }
312
+ }, [
313
+ i18n,
314
+ id,
315
+ api,
316
+ serverURL,
317
+ refreshPermissions
318
+ ]);
319
+ (0, _react.useEffect)(()=>{
320
+ let reminder;
321
+ const now = Math.round(new Date().getTime() / 1000);
322
+ const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
323
+ if (remainingTime > 0) {
324
+ reminder = setTimeout(()=>{
325
+ openModal('stay-logged-in');
326
+ }, Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)));
327
+ }
328
+ return ()=>{
329
+ if (reminder) clearTimeout(reminder);
330
+ };
331
+ }, [
332
+ tokenExpiration,
333
+ openModal
334
+ ]);
335
+ (0, _react.useEffect)(()=>{
336
+ let forceLogOut;
337
+ const now = Math.round(new Date().getTime() / 1000);
338
+ const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0;
339
+ if (remainingTime > 0) {
340
+ forceLogOut = setTimeout(()=>{
341
+ setUser(null);
342
+ revokeTokenAndExpire();
343
+ redirectToInactivityRoute();
344
+ }, Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0));
345
+ }
346
+ return ()=>{
347
+ if (forceLogOut) clearTimeout(forceLogOut);
348
+ };
349
+ }, [
350
+ tokenExpiration,
351
+ closeAllModals,
352
+ i18n,
353
+ redirectToInactivityRoute,
354
+ revokeTokenAndExpire
355
+ ]);
356
+ return /*#__PURE__*/ _react.default.createElement(Context.Provider, {
357
+ value: {
358
+ fetchFullUser,
359
+ logOut,
360
+ permissions,
361
+ refreshCookie,
362
+ refreshCookieAsync,
363
+ refreshPermissions,
364
+ setPermissions,
365
+ setUser,
366
+ token: tokenInMemory,
367
+ user
368
+ }
369
+ }, children);
370
+ };
371
+ const useAuth = ()=>(0, _react.useContext)(Context);
372
+
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQXV0aC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAncGF5bG9hZC9hdXRoJ1xuXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZVBhdGhuYW1lLCB1c2VSb3V0ZXIgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgcXMgZnJvbSAncXMnXG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgQXV0aENvbnRleHQgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2FwaSdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uL0NvbmZpZydcbmltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gJy4uL1NlYXJjaFBhcmFtcydcbi8vIGltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uL0xvY2FsZSdcblxuY29uc3QgQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30gYXMgQXV0aENvbnRleHQpXG5cbmNvbnN0IG1heFRpbWVvdXRUaW1lID0gMjE0NzQ4MzY0N1xuXG5leHBvcnQgY29uc3QgQXV0aFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgc2VhcmNoUGFyYW1zIH0gPSB1c2VTZWFyY2hQYXJhbXMoKVxuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBwYXRobmFtZSA9IHVzZVBhdGhuYW1lKClcbiAgY29uc3QgeyBwdXNoIH0gPSB1c2VSb3V0ZXIoKVxuICAvLyBjb25zdCB7IGNvZGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IGNvZGUgPSAnZW4nIC8vIFRPRE86IHJlLWVuYWJsZSBpMThuIGFzYXBcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICBhZG1pbjogeyBhdXRvTG9naW4sIGluYWN0aXZpdHlSb3V0ZTogbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCB1c2VyOiB1c2VyU2x1ZyB9LFxuICAgIHJvdXRlczogeyBhZG1pbiwgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgW3Blcm1pc3Npb25zLCBzZXRQZXJtaXNzaW9uc10gPSB1c2VTdGF0ZTxQZXJtaXNzaW9ucz4oKVxuXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGNsb3NlQWxsTW9kYWxzLCBvcGVuTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgW2xhc3RMb2NhdGlvbkNoYW5nZSwgc2V0TGFzdExvY2F0aW9uQ2hhbmdlXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IGRlYm91bmNlZExvY2F0aW9uQ2hhbmdlID0gdXNlRGVib3VuY2UobGFzdExvY2F0aW9uQ2hhbmdlLCAxMDAwMClcblxuICBjb25zdCBpZCA9IHVzZXI/LmlkXG5cbiAgY29uc3QgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN0YXJ0c1dpdGgoYWRtaW4pKSB7XG4gICAgICBjb25zdCByZWRpcmVjdFBhcmFtID0gYD9yZWRpcmVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoYWRtaW4sICcnKSxcbiAgICAgICl9YFxuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX0ke3JlZGlyZWN0UGFyYW19YClcbiAgICB9IGVsc2Uge1xuICAgICAgcHVzaChgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX1gKVxuICAgIH1cbiAgICBjbG9zZUFsbE1vZGFscygpXG4gIH0sIFtwdXNoLCBhZG1pbiwgbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCBjbG9zZUFsbE1vZGFsc10pXG5cbiAgY29uc3QgcmV2b2tlVG9rZW5BbmRFeHBpcmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW5Jbk1lbW9yeSh1bmRlZmluZWQpXG4gICAgc2V0VG9rZW5FeHBpcmF0aW9uKHVuZGVmaW5lZClcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0VG9rZW5BbmRFeHBpcmF0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0ganNvbj8udG9rZW4gfHwganNvbj8ucmVmcmVzaGVkVG9rZW5cbiAgICAgIGlmICh0b2tlbiAmJiBqc29uPy5leHApIHtcbiAgICAgICAgc2V0VG9rZW5Jbk1lbW9yeSh0b2tlbilcbiAgICAgICAgc2V0VG9rZW5FeHBpcmF0aW9uKGpzb24uZXhwKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3Jldm9rZVRva2VuQW5kRXhwaXJlXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWUgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9yY2VSZWZyZXNoPzogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgICBjb25zdCByZW1haW5pbmdUaW1lID0gKHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIDogMCkgLSBub3dcblxuICAgICAgaWYgKGZvcmNlUmVmcmVzaCB8fCAodG9rZW5FeHBpcmF0aW9uICYmIHJlbWFpbmluZ1RpbWUgPCAxMjApKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgICAgICBzZXRVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGUubWVzc2FnZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgIF0sXG4gIClcblxuICBjb25zdCByZWZyZXNoQ29va2llQXN5bmMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2tpcFNldFVzZXI/OiBib29sZWFuKTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgIGlmICghc2tpcFNldFVzZXIpIHtcbiAgICAgICAgICAgIHNldFVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBqc29uLnVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHRva2VuIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgdXNlclNsdWcsIGkxOG4sIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsIHNldFRva2VuQW5kRXhwaXJhdGlvbl0sXG4gIClcblxuICBjb25zdCBsb2dPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VXNlcihudWxsKVxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICB0cnkge1xuICAgICAgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L2xvZ291dGApXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYExvZ2dpbmcgb3V0IGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtzZXJ2ZXJVUkwsIGFwaSwgdXNlclNsdWcsIHJldm9rZVRva2VuQW5kRXhwaXJlXSlcblxuICBjb25zdCByZWZyZXNoUGVybWlzc2lvbnMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbG9jYWxlOiBjb2RlLFxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2Vzcz8ke3FzLnN0cmluZ2lmeShwYXJhbXMpfWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgY29uc3QganNvbjogUGVybWlzc2lvbnMgPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGZXRjaGluZyBwZXJtaXNzaW9ucyBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3JlcXVlc3Quc3RhdHVzfWApXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYFJlZnJlc2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW3NlcnZlclVSTCwgYXBpLCBpMThuLCBjb2RlXSlcblxuICBjb25zdCBmZXRjaEZ1bGxVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMuZ2V0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbWVgLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuXG4gICAgICAgIGlmIChqc29uPy51c2VyKSB7XG4gICAgICAgICAgc2V0VXNlcihqc29uLnVzZXIpXG4gICAgICAgICAgaWYgKGpzb24/LnRva2VuKSB7XG4gICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYXV0b0xvZ2luICYmIGF1dG9Mb2dpbi5wcmVmaWxsT25seSAhPT0gdHJ1ZSkge1xuICAgICAgICAgIC8vIGF1dG8gbG9nLWluIHdpdGggdGhlIHByb3ZpZGVkIGF1dG9Mb2dpbiBjcmVkZW50aWFscy4gVGhpcyBpcyB1c2VkIGluIGRldiBtb2RlXG4gICAgICAgICAgLy8gc28geW91IGRvbid0IGhhdmUgdG8gbG9nIGluIG92ZXIgYW5kIG92ZXIgYWdhaW5cbiAgICAgICAgICBjb25zdCBhdXRvTG9naW5SZXN1bHQgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbG9naW5gLCB7XG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIGVtYWlsOiBhdXRvTG9naW4uZW1haWwsXG4gICAgICAgICAgICAgIHBhc3N3b3JkOiBhdXRvTG9naW4ucGFzc3dvcmQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgICAgaWYgKGF1dG9Mb2dpblJlc3VsdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgY29uc3QgYXV0b0xvZ2luSnNvbiA9IGF3YWl0IGF1dG9Mb2dpblJlc3VsdC5qc29uKClcbiAgICAgICAgICAgIHNldFVzZXIoYXV0b0xvZ2luSnNvbi51c2VyKVxuICAgICAgICAgICAgaWYgKGF1dG9Mb2dpbkpzb24/LnRva2VuKSB7XG4gICAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihhdXRvTG9naW5Kc29uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHVzaCh0eXBlb2Ygc2VhcmNoUGFyYW1zWydyZWRpcmVjdCddID09PSAnc3RyaW5nJyA/IHNlYXJjaFBhcmFtc1sncmVkaXJlY3QnXSA6IGFkbWluKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0b2FzdC5lcnJvcihgRmV0Y2hpbmcgdXNlciBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApXG4gICAgfVxuICB9LCBbXG4gICAgc2VydmVyVVJMLFxuICAgIGFwaSxcbiAgICB1c2VyU2x1ZyxcbiAgICBpMThuLmxhbmd1YWdlLFxuICAgIGF1dG9Mb2dpbixcbiAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgcHVzaCxcbiAgICBzZWFyY2hQYXJhbXMsXG4gICAgYWRtaW4sXG4gICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUsXG4gIF0pXG5cbiAgLy8gT24gbW91bnQsIGdldCB1c2VyIGFuZCBzZXRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZXRjaEZ1bGxVc2VyKClcbiAgfSwgW2ZldGNoRnVsbFVzZXJdKVxuXG4gIC8vIFdoZW4gbG9jYXRpb24gY2hhbmdlcywgcmVmcmVzaCBjb29raWVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJlZnJlc2hDb29raWUoKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZExvY2F0aW9uQ2hhbmdlLCByZWZyZXNoQ29va2llLCBpZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMYXN0TG9jYXRpb25DaGFuZ2UoRGF0ZS5ub3coKSlcbiAgfSwgW3BhdGhuYW1lXSlcblxuICAvLyBXaGVuIHVzZXIgY2hhbmdlcywgZ2V0IG5ldyBhY2Nlc3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJlZnJlc2hQZXJtaXNzaW9ucygpXG4gICAgfVxuICB9LCBbaTE4biwgaWQsIGFwaSwgc2VydmVyVVJMLCByZWZyZXNoUGVybWlzc2lvbnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlbWluZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PlxuICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxuICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSB0eXBlb2YgdG9rZW5FeHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IHRva2VuRXhwaXJhdGlvbiAtIG5vdyA6IDBcblxuICAgIGlmIChyZW1haW5pbmdUaW1lID4gMCkge1xuICAgICAgcmVtaW5kZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgb3Blbk1vZGFsKCdzdGF5LWxvZ2dlZC1pbicpXG4gICAgICAgIH0sXG4gICAgICAgIE1hdGgubWF4KE1hdGgubWluKChyZW1haW5pbmdUaW1lIC0gNjApICogMTAwMCwgbWF4VGltZW91dFRpbWUpKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlbWluZGVyKSBjbGVhclRpbWVvdXQocmVtaW5kZXIpXG4gICAgfVxuICB9LCBbdG9rZW5FeHBpcmF0aW9uLCBvcGVuTW9kYWxdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGZvcmNlTG9nT3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PlxuICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxuICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSB0eXBlb2YgdG9rZW5FeHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IHRva2VuRXhwaXJhdGlvbiAtIG5vdyA6IDBcblxuICAgIGlmIChyZW1haW5pbmdUaW1lID4gMCkge1xuICAgICAgZm9yY2VMb2dPdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlKClcbiAgICAgICAgfSxcbiAgICAgICAgTWF0aC5tYXgoTWF0aC5taW4ocmVtYWluaW5nVGltZSAqIDEwMDAsIG1heFRpbWVvdXRUaW1lKSwgMCksXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChmb3JjZUxvZ091dCkgY2xlYXJUaW1lb3V0KGZvcmNlTG9nT3V0KVxuICAgIH1cbiAgfSwgW3Rva2VuRXhwaXJhdGlvbiwgY2xvc2VBbGxNb2RhbHMsIGkxOG4sIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsIHJldm9rZVRva2VuQW5kRXhwaXJlXSlcblxuICByZXR1cm4gKFxuICAgIDxDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17e1xuICAgICAgICBmZXRjaEZ1bGxVc2VyLFxuICAgICAgICBsb2dPdXQsXG4gICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICByZWZyZXNoQ29va2llLFxuICAgICAgICByZWZyZXNoQ29va2llQXN5bmMsXG4gICAgICAgIHJlZnJlc2hQZXJtaXNzaW9ucyxcbiAgICAgICAgc2V0UGVybWlzc2lvbnMsXG4gICAgICAgIHNldFVzZXIsXG4gICAgICAgIHRva2VuOiB0b2tlbkluTWVtb3J5LFxuICAgICAgICB1c2VyLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VBdXRoID0gPFQgPSBVc2VyLD4oKTogQXV0aENvbnRleHQ8VD4gPT4gdXNlQ29udGV4dChDb250ZXh0KSBhcyBBdXRoQ29udGV4dDxUPlxuIl0sIm5hbWVzIjpbIkF1dGhQcm92aWRlciIsInVzZUF1dGgiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIm1heFRpbWVvdXRUaW1lIiwiY2hpbGRyZW4iLCJzZWFyY2hQYXJhbXMiLCJ1c2VTZWFyY2hQYXJhbXMiLCJ1c2VyIiwic2V0VXNlciIsInVzZVN0YXRlIiwidG9rZW5Jbk1lbW9yeSIsInNldFRva2VuSW5NZW1vcnkiLCJ0b2tlbkV4cGlyYXRpb24iLCJzZXRUb2tlbkV4cGlyYXRpb24iLCJwYXRobmFtZSIsInVzZVBhdGhuYW1lIiwicHVzaCIsInVzZVJvdXRlciIsImNvZGUiLCJjb25maWciLCJ1c2VDb25maWciLCJhZG1pbiIsImF1dG9Mb2dpbiIsImluYWN0aXZpdHlSb3V0ZSIsImxvZ291dEluYWN0aXZpdHlSb3V0ZSIsInVzZXJTbHVnIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwicGVybWlzc2lvbnMiLCJzZXRQZXJtaXNzaW9ucyIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImNsb3NlQWxsTW9kYWxzIiwib3Blbk1vZGFsIiwidXNlTW9kYWwiLCJsYXN0TG9jYXRpb25DaGFuZ2UiLCJzZXRMYXN0TG9jYXRpb25DaGFuZ2UiLCJkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSIsInVzZURlYm91bmNlIiwiaWQiLCJyZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlIiwidXNlQ2FsbGJhY2siLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInN0YXJ0c1dpdGgiLCJyZWRpcmVjdFBhcmFtIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInJldm9rZVRva2VuQW5kRXhwaXJlIiwidW5kZWZpbmVkIiwic2V0VG9rZW5BbmRFeHBpcmF0aW9uIiwianNvbiIsInRva2VuIiwicmVmcmVzaGVkVG9rZW4iLCJleHAiLCJyZWZyZXNoQ29va2llIiwiZm9yY2VSZWZyZXNoIiwibm93IiwiTWF0aCIsInJvdW5kIiwiRGF0ZSIsImdldFRpbWUiLCJyZW1haW5pbmdUaW1lIiwic2V0VGltZW91dCIsInJlcXVlc3QiLCJyZXF1ZXN0cyIsInBvc3QiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJlIiwidG9hc3QiLCJlcnJvciIsIm1lc3NhZ2UiLCJyZWZyZXNoQ29va2llQXN5bmMiLCJza2lwU2V0VXNlciIsImxvZ091dCIsInJlZnJlc2hQZXJtaXNzaW9ucyIsInBhcmFtcyIsImxvY2FsZSIsImdldCIsInFzIiwic3RyaW5naWZ5IiwiRXJyb3IiLCJmZXRjaEZ1bGxVc2VyIiwiUmVhY3QiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJ1c2VFZmZlY3QiLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFzQmFBLFlBQVk7ZUFBWkE7O0lBNlNBQyxPQUFPO2VBQVBBOzs7dUJBaFVZOzRCQUNjOzJEQUN4QjsrREFDb0U7K0JBQzdEO29FQUlFOzZCQUNPO3FCQUNOO3dCQUNDOzhCQUNNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNoQyx3Q0FBd0M7QUFFeEMsTUFBTUMsd0JBQVVDLElBQUFBLG9CQUFhLEVBQUMsQ0FBQztBQUUvQixNQUFNQyxpQkFBaUI7QUFFaEIsTUFBTUosZUFBd0QsQ0FBQyxFQUFFSyxRQUFRLEVBQUU7SUFDaEYsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsSUFBQUEsNkJBQWU7SUFDeEMsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdDLElBQUFBLGVBQVE7SUFDaEMsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR0YsSUFBQUEsZUFBUTtJQUNsRCxNQUFNLENBQUNHLGlCQUFpQkMsbUJBQW1CLEdBQUdKLElBQUFBLGVBQVE7SUFDdEQsTUFBTUssV0FBV0MsSUFBQUEsdUJBQVc7SUFDNUIsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsSUFBQUEscUJBQVM7SUFDMUIsK0JBQStCO0lBQy9CLE1BQU1DLE9BQU8sS0FBSyw0QkFBNEI7O0lBRTlDLE1BQU1DLFNBQVNDLElBQUFBLGlCQUFTO0lBRXhCLE1BQU0sRUFDSkMs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
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,65 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ ClientFunctionProvider: function() {
14
+ return ClientFunctionProvider;
15
+ },
16
+ useAddClientFunction: function() {
17
+ return useAddClientFunction;
18
+ },
19
+ useClientFunctions: function() {
20
+ return useClientFunctions;
21
+ }
22
+ });
23
+ const _react = /*#__PURE__*/ _interop_require_default(require("react"));
24
+ function _interop_require_default(obj) {
25
+ return obj && obj.__esModule ? obj : {
26
+ default: obj
27
+ };
28
+ }
29
+ const AddClientFunctionContext = /*#__PURE__*/ _react.default.createContext(()=>null);
30
+ const ClientFunctionsContext = /*#__PURE__*/ _react.default.createContext({});
31
+ const ClientFunctionProvider = ({ children })=>{
32
+ const [clientFunctions, setClientFunctions] = _react.default.useState({});
33
+ const addClientFunction = _react.default.useCallback((args)=>{
34
+ setClientFunctions((state)=>{
35
+ const newState = {
36
+ ...state
37
+ };
38
+ newState[args.key] = args.func;
39
+ return newState;
40
+ });
41
+ }, []);
42
+ return /*#__PURE__*/ _react.default.createElement(AddClientFunctionContext.Provider, {
43
+ value: addClientFunction
44
+ }, /*#__PURE__*/ _react.default.createElement(ClientFunctionsContext.Provider, {
45
+ value: clientFunctions
46
+ }, children));
47
+ };
48
+ const useAddClientFunction = (key, func)=>{
49
+ const addClientFunction = _react.default.useContext(AddClientFunctionContext);
50
+ _react.default.useEffect(()=>{
51
+ addClientFunction({
52
+ func,
53
+ key
54
+ });
55
+ }, [
56
+ func,
57
+ key,
58
+ addClientFunction
59
+ ]);
60
+ };
61
+ const useClientFunctions = ()=>{
62
+ return _react.default.useContext(ClientFunctionsContext);
63
+ };
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQ2xpZW50RnVuY3Rpb24vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG50eXBlIEFkZENsaWVudEZ1bmN0aW9uQ29udGV4dFR5cGUgPSAoZnVuYzogYW55KSA9PiB2b2lkXG50eXBlIENsaWVudEZ1bmN0aW9uc0NvbnRleHRUeXBlID0gUmVjb3JkPHN0cmluZywgYW55PlxuXG5jb25zdCBBZGRDbGllbnRGdW5jdGlvbkNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PEFkZENsaWVudEZ1bmN0aW9uQ29udGV4dFR5cGU+KCgpID0+IG51bGwpXG5jb25zdCBDbGllbnRGdW5jdGlvbnNDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxDbGllbnRGdW5jdGlvbnNDb250ZXh0VHlwZT4oe30pXG5cbnR5cGUgQWRkRnVuY3Rpb25BcmdzID0geyBmdW5jOiBhbnk7IGtleTogc3RyaW5nIH1cblxuZXhwb3J0IGNvbnN0IENsaWVudEZ1bmN0aW9uUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgW2NsaWVudEZ1bmN0aW9ucywgc2V0Q2xpZW50RnVuY3Rpb25zXSA9IFJlYWN0LnVzZVN0YXRlKHt9KVxuXG4gIGNvbnN0IGFkZENsaWVudEZ1bmN0aW9uID0gUmVhY3QudXNlQ2FsbGJhY2soKGFyZ3M6IEFkZEZ1bmN0aW9uQXJncykgPT4ge1xuICAgIHNldENsaWVudEZ1bmN0aW9ucygoc3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0geyAuLi5zdGF0ZSB9XG4gICAgICBuZXdTdGF0ZVthcmdzLmtleV0gPSBhcmdzLmZ1bmNcbiAgICAgIHJldHVybiBuZXdTdGF0ZVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPEFkZENsaWVudEZ1bmN0aW9uQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17YWRkQ2xpZW50RnVuY3Rpb259PlxuICAgICAgPENsaWVudEZ1bmN0aW9uc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NsaWVudEZ1bmN0aW9uc30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ2xpZW50RnVuY3Rpb25zQ29udGV4dC5Qcm92aWRlcj5cbiAgICA8L0FkZENsaWVudEZ1bmN0aW9uQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQWRkQ2xpZW50RnVuY3Rpb24gPSAoa2V5OiBzdHJpbmcsIGZ1bmM6IGFueSkgPT4ge1xuICBjb25zdCBhZGRDbGllbnRGdW5jdGlvbiA9IFJlYWN0LnVzZUNvbnRleHQoQWRkQ2xpZW50RnVuY3Rpb25Db250ZXh0KVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYWRkQ2xpZW50RnVuY3Rpb24oe1xuICAgICAgZnVuYyxcbiAgICAgIGtleSxcbiAgICB9KVxuICB9LCBbZnVuYywga2V5LCBhZGRDbGllbnRGdW5jdGlvbl0pXG59XG5cbmV4cG9ydCBjb25zdCB1c2VDbGllbnRGdW5jdGlvbnMgPSAoKSA9PiB7XG4gIHJldHVybiBSZWFjdC51c2VDb250ZXh0KENsaWVudEZ1bmN0aW9uc0NvbnRleHQpXG59XG4iXSwibmFtZXMiOlsiQ2xpZW50RnVuY3Rpb25Qcm92aWRlciIsInVzZUFkZENsaWVudEZ1bmN0aW9uIiwidXNlQ2xpZW50RnVuY3Rpb25zIiwiQWRkQ2xpZW50RnVuY3Rpb25Db250ZXh0IiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwiQ2xpZW50RnVuY3Rpb25zQ29udGV4dCIsImNoaWxkcmVuIiwiY2xpZW50RnVuY3Rpb25zIiwic2V0Q2xpZW50RnVuY3Rpb25zIiwidXNlU3RhdGUiLCJhZGRDbGllbnRGdW5jdGlvbiIsInVzZUNhbGxiYWNrIiwiYXJncyIsInN0YXRlIiwibmV3U3RhdGUiLCJrZXkiLCJmdW5jIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFXYUEsc0JBQXNCO2VBQXRCQTs7SUFvQkFDLG9CQUFvQjtlQUFwQkE7O0lBV0FDLGtCQUFrQjtlQUFsQkE7Ozs4REF6Q0s7Ozs7OztBQUtsQixNQUFNQyx5Q0FBMkJDLGNBQUssQ0FBQ0MsYUFBYSxDQUErQixJQUFNO0FBQ3pGLE1BQU1DLHVDQUF5QkYsY0FBSyxDQUFDQyxhQUFhLENBQTZCLENBQUM7QUFJekUsTUFBTUwseUJBQWtFLENBQUMsRUFBRU8sUUFBUSxFQUFFO0lBQzFGLE1BQU0sQ0FBQ0MsaUJBQWlCQyxtQkFBbUIsR0FBR0wsY0FBSyxDQUFDTSxRQUFRLENBQUMsQ0FBQztJQUU5RCxNQUFNQyxvQkFBb0JQLGNBQUssQ0FBQ1EsV0FBVyxDQUFDLENBQUNDO1FBQzNDSixtQkFBbUIsQ0FBQ0s7WUFDbEIsTUFBTUMsV0FBVztnQkFBRSxHQUFHRCxLQUFLO1lBQUM7WUFDNUJDLFFBQVEsQ0FBQ0YsS0FBS0csR0FBRyxDQUFDLEdBQUdILEtBQUtJLElBQUk7WUFDOUIsT0FBT0Y7UUFDVDtJQUNGLEdBQUcsRUFBRTtJQUVMLHFCQUNFLDZCQUFDWix5QkFBeUJlLFFBQVE7UUFBQ0MsT0FBT1I7cUJBQ3hDLDZCQUFDTCx1QkFBdUJZLFFBQVE7UUFBQ0MsT0FBT1g7T0FDckNEO0FBSVQ7QUFFTyxNQUFNTix1QkFBdUIsQ0FBQ2UsS0FBYUM7SUFDaEQsTUFBTU4sb0JBQW9CUCxjQUFLLENBQUNnQixVQUFVLENBQUNqQjtJQUUzQ0MsY0FBSyxDQUFDaUIsU0FBUyxDQUFDO1FBQ2RWLGtCQUFrQjtZQUNoQk07WUFDQUQ7UUFDRjtJQUNGLEdBQUc7UUFBQ0M7UUFBTUQ7UUFBS0w7S0FBa0I7QUFDbkM7QUFFTyxNQUFNVCxxQkFBcUI7SUFDaEMsT0FBT0UsY0FBSyxDQUFDZ0IsVUFBVSxDQUFDZDtBQUMxQiJ9
@@ -0,0 +1,98 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ ComponentMapProvider: function() {
14
+ return ComponentMapProvider;
15
+ },
16
+ useComponentMap: function() {
17
+ return useComponentMap;
18
+ }
19
+ });
20
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ const ComponentMapContext = /*#__PURE__*/ (0, _react.createContext)({});
63
+ const ComponentMapProvider = ({ children, componentMap })=>{
64
+ const getMappedFieldByPath = (0, _react.useCallback)(({ collectionSlug, globalSlug, path })=>{
65
+ let fieldMap;
66
+ if (collectionSlug) {
67
+ fieldMap = componentMap.collections[collectionSlug].fieldMap;
68
+ }
69
+ if (globalSlug) {
70
+ fieldMap = componentMap.globals[globalSlug].fieldMap;
71
+ }
72
+ // TODO: better lookup for nested fields, etc.
73
+ return fieldMap.find((field)=>field.name === path);
74
+ }, [
75
+ componentMap
76
+ ]);
77
+ const getFieldMap = (0, _react.useCallback)(({ collectionSlug, globalSlug })=>{
78
+ if (collectionSlug) {
79
+ return componentMap.collections[collectionSlug].fieldMap;
80
+ }
81
+ if (globalSlug) {
82
+ return componentMap.globals[globalSlug].fieldMap;
83
+ }
84
+ return [];
85
+ }, [
86
+ componentMap
87
+ ]);
88
+ return /*#__PURE__*/ _react.default.createElement(ComponentMapContext.Provider, {
89
+ value: {
90
+ componentMap,
91
+ getFieldMap,
92
+ getMappedFieldByPath
93
+ }
94
+ }, children);
95
+ };
96
+ const useComponentMap = ()=>(0, _react.useContext)(ComponentMapContext);
97
+
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQ29tcG9uZW50TWFwUHJvdmlkZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50TWFwLCBGaWVsZE1hcCwgTWFwcGVkRmllbGQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvYnVpbGRDb21wb25lbnRNYXAvdHlwZXMnXG5cbmV4cG9ydCB0eXBlIElDb21wb25lbnRNYXBDb250ZXh0ID0ge1xuICBjb21wb25lbnRNYXA6IENvbXBvbmVudE1hcFxuICBnZXRGaWVsZE1hcDogKGFyZ3M6IHsgY29sbGVjdGlvblNsdWc/OiBzdHJpbmc7IGdsb2JhbFNsdWc/OiBzdHJpbmcgfSkgPT4gW10gfCBGaWVsZE1hcFxuICBnZXRNYXBwZWRGaWVsZEJ5UGF0aDogKGFyZ3M6IHtcbiAgICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICAgIGdsb2JhbFNsdWc/OiBzdHJpbmdcbiAgICBwYXRoOiBzdHJpbmdcbiAgfSkgPT4gTWFwcGVkRmllbGQgfCB1bmRlZmluZWRcbn1cblxuY29uc3QgQ29tcG9uZW50TWFwQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8SUNvbXBvbmVudE1hcENvbnRleHQ+KHt9IGFzIElDb21wb25lbnRNYXBDb250ZXh0KVxuXG5leHBvcnQgY29uc3QgQ29tcG9uZW50TWFwUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjb21wb25lbnRNYXA6IENvbXBvbmVudE1hcFxufT4gPSAoeyBjaGlsZHJlbiwgY29tcG9uZW50TWFwIH0pID0+IHtcbiAgY29uc3QgZ2V0TWFwcGVkRmllbGRCeVBhdGg6IElDb21wb25lbnRNYXBDb250ZXh0WydnZXRNYXBwZWRGaWVsZEJ5UGF0aCddID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgY29sbGVjdGlvblNsdWcsIGdsb2JhbFNsdWcsIHBhdGggfSkgPT4ge1xuICAgICAgbGV0IGZpZWxkTWFwOiBGaWVsZE1hcFxuXG4gICAgICBpZiAoY29sbGVjdGlvblNsdWcpIHtcbiAgICAgICAgZmllbGRNYXAgPSBjb21wb25lbnRNYXAuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddLmZpZWxkTWFwXG4gICAgICB9XG5cbiAgICAgIGlmIChnbG9iYWxTbHVnKSB7XG4gICAgICAgIGZpZWxkTWFwID0gY29tcG9uZW50TWFwLmdsb2JhbHNbZ2xvYmFsU2x1Z10uZmllbGRNYXBcbiAgICAgIH1cblxuICAgICAgLy8gVE9ETzogYmV0dGVyIGxvb2t1cCBmb3IgbmVzdGVkIGZpZWxkcywgZXRjLlxuICAgICAgcmV0dXJuIGZpZWxkTWFwLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBwYXRoKVxuICAgIH0sXG4gICAgW2NvbXBvbmVudE1hcF0sXG4gIClcblxuICBjb25zdCBnZXRGaWVsZE1hcDogSUNvbXBvbmVudE1hcENvbnRleHRbJ2dldEZpZWxkTWFwJ10gPSB1c2VDYWxsYmFjayhcbiAgICAoeyBjb2xsZWN0aW9uU2x1ZywgZ2xvYmFsU2x1ZyB9KSA9PiB7XG4gICAgICBpZiAoY29sbGVjdGlvblNsdWcpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudE1hcC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10uZmllbGRNYXBcbiAgICAgIH1cblxuICAgICAgaWYgKGdsb2JhbFNsdWcpIHtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudE1hcC5nbG9iYWxzW2dsb2JhbFNsdWddLmZpZWxkTWFwXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbXVxuICAgIH0sXG4gICAgW2NvbXBvbmVudE1hcF0sXG4gIClcblxuICByZXR1cm4gKFxuICAgIDxDb21wb25lbnRNYXBDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGNvbXBvbmVudE1hcCwgZ2V0RmllbGRNYXAsIGdldE1hcHBlZEZpZWxkQnlQYXRoIH19PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29tcG9uZW50TWFwQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQ29tcG9uZW50TWFwID0gKCk6IElDb21wb25lbnRNYXBDb250ZXh0ID0+IHVzZUNvbnRleHQoQ29tcG9uZW50TWFwQ29udGV4dClcbiJdLCJuYW1lcyI6WyJDb21wb25lbnRNYXBQcm92aWRlciIsInVzZUNvbXBvbmVudE1hcCIsIkNvbXBvbmVudE1hcENvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiY2hpbGRyZW4iLCJjb21wb25lbnRNYXAiLCJnZXRNYXBwZWRGaWVsZEJ5UGF0aCIsInVzZUNhbGxiYWNrIiwiY29sbGVjdGlvblNsdWciLCJnbG9iYWxTbHVnIiwicGF0aCIsImZpZWxkTWFwIiwiY29sbGVjdGlvbnMiLCJnbG9iYWxzIiwiZmluZCIsImZpZWxkIiwibmFtZSIsImdldEZpZWxkTWFwIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFpQmFBLG9CQUFvQjtlQUFwQkE7O0lBNENBQyxlQUFlO2VBQWZBOzs7K0RBNURpRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYzlELE1BQU1DLG9DQUFzQkMsSUFBQUEsb0JBQWEsRUFBdUIsQ0FBQztBQUUxRCxNQUFNSCx1QkFHUixDQUFDLEVBQUVJLFFBQVEsRUFBRUMsWUFBWSxFQUFFO0lBQzlCLE1BQU1DLHVCQUFxRUMsSUFBQUEsa0JBQVcsRUFDcEYsQ0FBQyxFQUFFQyxjQUFjLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFO1FBQ25DLElBQUlDO1FBRUosSUFBSUgsZ0JBQWdCO1lBQ2xCRyxXQUFXTixhQUFhTyxXQUFXLENBQUNKLGVBQWUsQ0FBQ0csUUFBUTtRQUM5RDtRQUVBLElBQUlGLFlBQVk7WUFDZEUsV0FBV04sYUFBYVEsT0FBTyxDQUFDSixXQUFXLENBQUNFLFFBQVE7UUFDdEQ7UUFFQSw4Q0FBOEM7UUFDOUMsT0FBT0EsU0FBU0csSUFBSSxDQUFDLENBQUNDLFFBQVVBLE1BQU1DLElBQUksS0FBS047SUFDakQsR0FDQTtRQUFDTDtLQUFhO0lBR2hCLE1BQU1ZLGNBQW1EVixJQUFBQSxrQkFBVyxFQUNsRSxDQUFDLEVBQUVDLGNBQWMsRUFBRUMsVUFBVSxFQUFFO1FBQzdCLElBQUlELGdCQUFnQjtZQUNsQixPQUFPSCxhQUFhTyxXQUFXLENBQUNKLGVBQWUsQ0FBQ0csUUFBUTtRQUMxRDtRQUVBLElBQUlGLFlBQVk7WUFDZCxPQUFPSixhQUFhUSxPQUFPLENBQUNKLFdBQVcsQ0FBQ0UsUUFBUTtRQUNsRDtRQUVBLE9BQU8sRUFBRTtJQUNYLEdBQ0E7UUFBQ047S0FBYTtJQUdoQixxQkFDRSw2QkFBQ0gsb0JBQW9CZ0IsUUFBUTtRQUFDQyxPQUFPO1lBQUVkO1lBQWNZO1lBQWFYO1FBQXFCO09BQ3BGRjtBQUdQO0FBRU8sTUFBTUgsa0JBQWtCLElBQTRCbUIsSUFBQUEsaUJBQVUsRUFBQ2xCIn0=
@@ -0,0 +1,70 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ ConfigProvider: function() {
14
+ return ConfigProvider;
15
+ },
16
+ useConfig: function() {
17
+ return useConfig;
18
+ }
19
+ });
20
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ const Context = /*#__PURE__*/ (0, _react.createContext)({});
63
+ const ConfigProvider = ({ children, config })=>{
64
+ return /*#__PURE__*/ _react.default.createElement(Context.Provider, {
65
+ value: config
66
+ }, children);
67
+ };
68
+ const useConfig = ()=>(0, _react.useContext)(Context);
69
+
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQ29uZmlnL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgQ2xpZW50Q29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCdcblxuY29uc3QgQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8Q2xpZW50Q29uZmlnPih7fSBhcyBDbGllbnRDb25maWcpXG5cbmV4cG9ydCBjb25zdCBDb25maWdQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBjb25maWc6IENsaWVudENvbmZpZyB9PiA9ICh7XG4gIGNoaWxkcmVuLFxuICBjb25maWcsXG59KSA9PiB7XG4gIHJldHVybiA8Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29uZmlnfT57Y2hpbGRyZW59PC9Db250ZXh0LlByb3ZpZGVyPlxufVxuXG5leHBvcnQgY29uc3QgdXNlQ29uZmlnID0gKCk6IENsaWVudENvbmZpZyA9PiB1c2VDb250ZXh0KENvbnRleHQpXG4iXSwibmFtZXMiOlsiQ29uZmlnUHJvdmlkZXIiLCJ1c2VDb25maWciLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsImNoaWxkcmVuIiwiY29uZmlnIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFPYUEsY0FBYztlQUFkQTs7SUFPQUMsU0FBUztlQUFUQTs7OytEQVhvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELE1BQU1DLHdCQUFVQyxJQUFBQSxvQkFBYSxFQUFlLENBQUM7QUFFdEMsTUFBTUgsaUJBQWdGLENBQUMsRUFDNUZJLFFBQVEsRUFDUkMsTUFBTSxFQUNQO0lBQ0MscUJBQU8sNkJBQUNILFFBQVFJLFFBQVE7UUFBQ0MsT0FBT0Y7T0FBU0Q7QUFDM0M7QUFFTyxNQUFNSCxZQUFZLElBQW9CTyxJQUFBQSxpQkFBVSxFQUFDTiJ9