@payloadcms/ui 3.0.0-alpha.4 → 3.0.0-alpha.41

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 (889) hide show
  1. package/dist/@types/assets.d.js +0 -1
  2. package/dist/config.js +2 -12
  3. package/dist/elements/ArrayAction/index.d.ts +1 -1
  4. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  5. package/dist/elements/ArrayAction/index.js +25 -81
  6. package/dist/elements/ArrayAction/types.js +2 -5
  7. package/dist/elements/Autosave/index.d.ts +1 -1
  8. package/dist/elements/Autosave/index.d.ts.map +1 -1
  9. package/dist/elements/Autosave/index.js +37 -92
  10. package/dist/elements/Autosave/types.js +2 -5
  11. package/dist/elements/Banner/index.d.ts +1 -1
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js +11 -34
  14. package/dist/elements/Banner/types.js +2 -5
  15. package/dist/elements/Button/index.d.ts +1 -1
  16. package/dist/elements/Button/index.d.ts.map +1 -1
  17. package/dist/elements/Button/index.js +34 -93
  18. package/dist/elements/Button/types.d.ts +1 -1
  19. package/dist/elements/Button/types.d.ts.map +1 -1
  20. package/dist/elements/Button/types.js +2 -5
  21. package/dist/elements/Card/index.d.ts +1 -1
  22. package/dist/elements/Card/index.d.ts.map +1 -1
  23. package/dist/elements/Card/index.js +9 -24
  24. package/dist/elements/Card/types.js +2 -5
  25. package/dist/elements/CodeEditor/CodeEditor.d.ts +1 -1
  26. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  27. package/dist/elements/CodeEditor/CodeEditor.js +11 -25
  28. package/dist/elements/CodeEditor/index.d.ts +1 -1
  29. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  30. package/dist/elements/CodeEditor/index.js +8 -60
  31. package/dist/elements/CodeEditor/types.js +2 -5
  32. package/dist/elements/Collapsible/index.d.ts +1 -1
  33. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  34. package/dist/elements/Collapsible/index.js +27 -82
  35. package/dist/elements/Collapsible/provider.js +7 -66
  36. package/dist/elements/Collapsible/types.d.ts +1 -1
  37. package/dist/elements/Collapsible/types.d.ts.map +1 -1
  38. package/dist/elements/Collapsible/types.js +2 -5
  39. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  40. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  41. package/dist/elements/ColumnSelector/index.js +20 -76
  42. package/dist/elements/ColumnSelector/types.js +2 -5
  43. package/dist/elements/CopyToClipboard/index.d.ts +1 -1
  44. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  45. package/dist/elements/CopyToClipboard/index.js +14 -65
  46. package/dist/elements/CopyToClipboard/types.js +2 -5
  47. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  48. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  49. package/dist/elements/DatePicker/DatePicker.js +21 -81
  50. package/dist/elements/DatePicker/index.d.ts +2 -3
  51. package/dist/elements/DatePicker/index.d.ts.map +1 -1
  52. package/dist/elements/DatePicker/index.js +7 -60
  53. package/dist/elements/DatePicker/index.scss +3 -0
  54. package/dist/elements/DatePicker/types.js +2 -5
  55. package/dist/elements/DeleteDocument/index.d.ts +1 -1
  56. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  57. package/dist/elements/DeleteDocument/index.js +67 -117
  58. package/dist/elements/DeleteDocument/types.js +2 -5
  59. package/dist/elements/DeleteMany/index.d.ts +1 -1
  60. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  61. package/dist/elements/DeleteMany/index.js +47 -108
  62. package/dist/elements/DeleteMany/types.js +2 -5
  63. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  64. package/dist/elements/DocumentControls/index.js +50 -105
  65. package/dist/elements/DocumentDrawer/DrawerContent.d.ts +1 -1
  66. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  67. package/dist/elements/DocumentDrawer/DrawerContent.js +66 -117
  68. package/dist/elements/DocumentDrawer/index.d.ts +1 -1
  69. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  70. package/dist/elements/DocumentDrawer/index.js +34 -98
  71. package/dist/elements/DocumentDrawer/types.d.ts +2 -2
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js +2 -5
  74. package/dist/elements/DocumentFields/index.d.ts +1 -1
  75. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  76. package/dist/elements/DocumentFields/index.js +16 -31
  77. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +4 -14
  78. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  79. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +18 -26
  80. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +9 -68
  81. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +5 -15
  82. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -12
  83. package/dist/elements/DocumentHeader/Tabs/index.js +18 -33
  84. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +8 -23
  85. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +5 -23
  86. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  87. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  88. package/dist/elements/DocumentHeader/index.js +12 -71
  89. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +1 -1
  90. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  91. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -66
  92. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
  93. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  94. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -5
  95. package/dist/elements/DraggableSortable/index.d.ts +1 -1
  96. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  97. package/dist/elements/DraggableSortable/index.js +15 -66
  98. package/dist/elements/DraggableSortable/types.js +2 -5
  99. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts +1 -1
  100. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  101. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +4 -14
  102. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -5
  103. package/dist/elements/Drawer/index.d.ts +1 -1
  104. package/dist/elements/Drawer/index.d.ts.map +1 -1
  105. package/dist/elements/Drawer/index.js +34 -94
  106. package/dist/elements/Drawer/types.js +2 -5
  107. package/dist/elements/Drawer/useDrawerSlug.js +10 -20
  108. package/dist/elements/Dropzone/index.js +20 -35
  109. package/dist/elements/DuplicateDocument/index.d.ts +1 -1
  110. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  111. package/dist/elements/DuplicateDocument/index.js +35 -84
  112. package/dist/elements/DuplicateDocument/types.js +2 -5
  113. package/dist/elements/EditMany/index.d.ts +1 -1
  114. package/dist/elements/EditMany/index.d.ts.map +1 -1
  115. package/dist/elements/EditMany/index.js +77 -132
  116. package/dist/elements/EditMany/types.js +2 -5
  117. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  118. package/dist/elements/EditUpload/index.js +74 -127
  119. package/dist/elements/ErrorPill/index.d.ts +1 -1
  120. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  121. package/dist/elements/ErrorPill/index.js +7 -22
  122. package/dist/elements/ErrorPill/types.js +2 -5
  123. package/dist/elements/FieldSelect/index.js +23 -79
  124. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  125. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.js +19 -75
  127. package/dist/elements/FileDetails/FileMeta/types.js +2 -5
  128. package/dist/elements/FileDetails/index.d.ts +1 -1
  129. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  130. package/dist/elements/FileDetails/index.js +15 -30
  131. package/dist/elements/FileDetails/types.js +2 -5
  132. package/dist/elements/GenerateConfirmation/index.d.ts +1 -1
  133. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  134. package/dist/elements/GenerateConfirmation/index.js +23 -37
  135. package/dist/elements/GenerateConfirmation/types.js +2 -5
  136. package/dist/elements/GetFilterOptions/index.d.ts +1 -1
  137. package/dist/elements/GetFilterOptions/index.d.ts.map +1 -1
  138. package/dist/elements/GetFilterOptions/index.js +18 -33
  139. package/dist/elements/Gutter/index.js +5 -56
  140. package/dist/elements/Hamburger/index.js +18 -33
  141. package/dist/elements/Header/index.d.ts.map +1 -1
  142. package/dist/elements/Header/index.js +40 -95
  143. package/dist/elements/HydrateClientUser/index.d.ts +1 -1
  144. package/dist/elements/HydrateClientUser/index.js +6 -16
  145. package/dist/elements/IDLabel/index.js +5 -20
  146. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +6 -16
  147. package/dist/elements/ListControls/index.d.ts +1 -1
  148. package/dist/elements/ListControls/index.d.ts.map +1 -1
  149. package/dist/elements/ListControls/index.js +54 -104
  150. package/dist/elements/ListControls/types.d.ts +1 -1
  151. package/dist/elements/ListControls/types.d.ts.map +1 -1
  152. package/dist/elements/ListControls/types.js +2 -5
  153. package/dist/elements/ListDrawer/DrawerContent.d.ts +1 -1
  154. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  155. package/dist/elements/ListDrawer/DrawerContent.js +74 -129
  156. package/dist/elements/ListDrawer/index.d.ts +1 -1
  157. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  158. package/dist/elements/ListDrawer/index.js +33 -100
  159. package/dist/elements/ListDrawer/types.d.ts +1 -1
  160. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  161. package/dist/elements/ListDrawer/types.js +2 -5
  162. package/dist/elements/ListSelection/index.js +11 -62
  163. package/dist/elements/Loading/index.d.ts +1 -1
  164. package/dist/elements/Loading/index.d.ts.map +1 -1
  165. package/dist/elements/Loading/index.js +29 -55
  166. package/dist/elements/LoadingOverlay/index.d.ts +1 -1
  167. package/dist/elements/LoadingOverlay/index.d.ts.map +1 -1
  168. package/dist/elements/LoadingOverlay/index.js +25 -87
  169. package/dist/elements/LoadingOverlay/reducer.d.ts +1 -1
  170. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  171. package/dist/elements/LoadingOverlay/reducer.js +6 -24
  172. package/dist/elements/LoadingOverlay/types.js +2 -5
  173. package/dist/elements/Localizer/LocalizerLabel/index.js +15 -30
  174. package/dist/elements/Localizer/index.d.ts.map +1 -1
  175. package/dist/elements/Localizer/index.js +35 -101
  176. package/dist/elements/Logout/index.d.ts +1 -0
  177. package/dist/elements/Logout/index.d.ts.map +1 -1
  178. package/dist/elements/Logout/index.js +19 -36
  179. package/dist/elements/Nav/NavHamburger/index.js +8 -23
  180. package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
  181. package/dist/elements/Nav/NavToggler/index.js +14 -28
  182. package/dist/elements/Nav/NavWrapper/index.js +8 -23
  183. package/dist/elements/Nav/context.d.ts.map +1 -1
  184. package/dist/elements/Nav/context.js +21 -82
  185. package/dist/elements/Nav/index.d.ts.map +1 -1
  186. package/dist/elements/Nav/index.js +37 -51
  187. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  188. package/dist/elements/NavGroup/index.js +24 -79
  189. package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -1
  190. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  191. package/dist/elements/Pagination/ClickableArrow/index.js +7 -22
  192. package/dist/elements/Pagination/ClickableArrow/types.js +2 -5
  193. package/dist/elements/Pagination/Page/index.d.ts +1 -1
  194. package/dist/elements/Pagination/Page/index.d.ts.map +1 -1
  195. package/dist/elements/Pagination/Page/index.js +4 -19
  196. package/dist/elements/Pagination/Page/types.js +2 -5
  197. package/dist/elements/Pagination/Separator/index.js +4 -19
  198. package/dist/elements/Pagination/index.d.ts +1 -1
  199. package/dist/elements/Pagination/index.d.ts.map +1 -1
  200. package/dist/elements/Pagination/index.js +28 -43
  201. package/dist/elements/Pagination/types.js +2 -5
  202. package/dist/elements/PerPage/index.js +28 -83
  203. package/dist/elements/Pill/index.d.ts +1 -1
  204. package/dist/elements/Pill/index.d.ts.map +1 -1
  205. package/dist/elements/Pill/index.js +17 -40
  206. package/dist/elements/Pill/types.js +2 -5
  207. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  208. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  209. package/dist/elements/Popup/PopupButtonList/index.js +11 -75
  210. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -1
  211. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  212. package/dist/elements/Popup/PopupTrigger/index.js +6 -21
  213. package/dist/elements/Popup/PopupTrigger/types.d.ts +1 -1
  214. package/dist/elements/Popup/PopupTrigger/types.js +2 -5
  215. package/dist/elements/Popup/index.d.ts +1 -1
  216. package/dist/elements/Popup/index.d.ts.map +1 -1
  217. package/dist/elements/Popup/index.js +30 -80
  218. package/dist/elements/Popup/types.js +2 -5
  219. package/dist/elements/PreviewButton/index.js +22 -73
  220. package/dist/elements/PreviewSizes/index.js +24 -80
  221. package/dist/elements/Publish/index.js +23 -79
  222. package/dist/elements/PublishMany/index.d.ts +1 -1
  223. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  224. package/dist/elements/PublishMany/index.js +44 -98
  225. package/dist/elements/PublishMany/types.js +2 -5
  226. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts +1 -1
  227. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  228. package/dist/elements/ReactSelect/ClearIndicator/index.js +7 -22
  229. package/dist/elements/ReactSelect/Control/index.d.ts +1 -1
  230. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  231. package/dist/elements/ReactSelect/Control/index.js +6 -22
  232. package/dist/elements/ReactSelect/MultiValue/index.d.ts +1 -1
  233. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  234. package/dist/elements/ReactSelect/MultiValue/index.js +8 -23
  235. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts +1 -1
  236. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  237. package/dist/elements/ReactSelect/MultiValueLabel/index.js +8 -23
  238. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +1 -1
  239. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  240. package/dist/elements/ReactSelect/MultiValueRemove/index.js +12 -27
  241. package/dist/elements/ReactSelect/SingleValue/index.d.ts +1 -1
  242. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  243. package/dist/elements/ReactSelect/SingleValue/index.js +5 -20
  244. package/dist/elements/ReactSelect/ValueContainer/index.d.ts +1 -1
  245. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  246. package/dist/elements/ReactSelect/ValueContainer/index.js +8 -23
  247. package/dist/elements/ReactSelect/index.d.ts +1 -1
  248. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  249. package/dist/elements/ReactSelect/index.js +45 -60
  250. package/dist/elements/ReactSelect/types.d.ts +2 -2
  251. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  252. package/dist/elements/ReactSelect/types.js +2 -5
  253. package/dist/elements/RenderCustomComponent/index.js +5 -20
  254. package/dist/elements/RenderCustomComponent/types.js +2 -5
  255. package/dist/elements/RenderTitle/index.d.ts +1 -1
  256. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  257. package/dist/elements/RenderTitle/index.js +12 -26
  258. package/dist/elements/RenderTitle/types.d.ts +1 -3
  259. package/dist/elements/RenderTitle/types.d.ts.map +1 -1
  260. package/dist/elements/RenderTitle/types.js +2 -5
  261. package/dist/elements/Save/index.js +16 -72
  262. package/dist/elements/SaveDraft/index.js +24 -80
  263. package/dist/elements/SearchFilter/index.d.ts +1 -1
  264. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  265. package/dist/elements/SearchFilter/index.js +31 -86
  266. package/dist/elements/SearchFilter/types.js +2 -5
  267. package/dist/elements/SelectAll/index.js +13 -28
  268. package/dist/elements/SelectRow/index.js +10 -25
  269. package/dist/elements/ShimmerEffect/index.js +12 -71
  270. package/dist/elements/SortColumn/index.d.ts +1 -1
  271. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  272. package/dist/elements/SortColumn/index.js +27 -90
  273. package/dist/elements/SortColumn/types.js +2 -5
  274. package/dist/elements/SortComplex/index.d.ts +1 -1
  275. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  276. package/dist/elements/SortComplex/index.js +35 -90
  277. package/dist/elements/SortComplex/types.js +2 -5
  278. package/dist/elements/Status/index.d.ts.map +1 -1
  279. package/dist/elements/Status/index.js +56 -110
  280. package/dist/elements/StayLoggedIn/index.d.ts +1 -1
  281. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  282. package/dist/elements/StayLoggedIn/index.js +21 -34
  283. package/dist/elements/StayLoggedIn/types.js +2 -5
  284. package/dist/elements/StepNav/SetStepNav.d.ts +2 -2
  285. package/dist/elements/StepNav/SetStepNav.d.ts.map +1 -1
  286. package/dist/elements/StepNav/SetStepNav.js +6 -16
  287. package/dist/elements/StepNav/index.d.ts +1 -1
  288. package/dist/elements/StepNav/index.d.ts.map +1 -1
  289. package/dist/elements/StepNav/index.js +27 -93
  290. package/dist/elements/StepNav/types.js +2 -5
  291. package/dist/elements/Table/TableCellProvider/index.js +9 -32
  292. package/dist/elements/Table/index.d.ts +1 -1
  293. package/dist/elements/Table/index.d.ts.map +1 -1
  294. package/dist/elements/Table/index.js +15 -38
  295. package/dist/elements/Table/types.js +2 -5
  296. package/dist/elements/TableColumns/buildColumns.d.ts +3 -3
  297. package/dist/elements/TableColumns/buildColumns.d.ts.map +1 -1
  298. package/dist/elements/TableColumns/buildColumns.js +7 -16
  299. package/dist/elements/TableColumns/columnReducer.d.ts +1 -1
  300. package/dist/elements/TableColumns/columnReducer.d.ts.map +1 -1
  301. package/dist/elements/TableColumns/columnReducer.js +2 -12
  302. package/dist/elements/TableColumns/index.d.ts +3 -3
  303. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  304. package/dist/elements/TableColumns/index.js +24 -86
  305. package/dist/elements/Thumbnail/index.d.ts +1 -1
  306. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  307. package/dist/elements/Thumbnail/index.js +12 -68
  308. package/dist/elements/Thumbnail/types.js +2 -5
  309. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  310. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  311. package/dist/elements/ThumbnailCard/index.js +13 -28
  312. package/dist/elements/ThumbnailCard/types.d.ts +1 -1
  313. package/dist/elements/ThumbnailCard/types.js +2 -5
  314. package/dist/elements/Tooltip/index.d.ts +1 -1
  315. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  316. package/dist/elements/Tooltip/index.js +14 -65
  317. package/dist/elements/Tooltip/types.d.ts +1 -1
  318. package/dist/elements/Tooltip/types.js +2 -5
  319. package/dist/elements/Translation/index.js +7 -58
  320. package/dist/elements/UnpublishMany/index.d.ts +1 -1
  321. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  322. package/dist/elements/UnpublishMany/index.js +45 -99
  323. package/dist/elements/UnpublishMany/types.js +2 -5
  324. package/dist/elements/Upload/index.d.ts +1 -1
  325. package/dist/elements/Upload/index.d.ts.map +1 -1
  326. package/dist/elements/Upload/index.js +55 -127
  327. package/dist/elements/Upload/types.d.ts +1 -2
  328. package/dist/elements/Upload/types.d.ts.map +1 -1
  329. package/dist/elements/Upload/types.js +2 -5
  330. package/dist/elements/ViewDescription/index.d.ts +1 -1
  331. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  332. package/dist/elements/ViewDescription/index.js +12 -27
  333. package/dist/elements/ViewDescription/types.js +4 -19
  334. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts +2 -3
  335. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  336. package/dist/elements/WhereBuilder/Condition/Date/index.js +6 -22
  337. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts +1 -1
  338. package/dist/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
  339. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -5
  340. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts +1 -1
  341. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  342. package/dist/elements/WhereBuilder/Condition/Number/index.js +7 -22
  343. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -5
  344. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts +1 -1
  345. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  346. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +32 -88
  347. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts +1 -1
  348. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +5 -15
  350. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -5
  351. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts +1 -1
  352. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  353. package/dist/elements/WhereBuilder/Condition/Select/index.js +15 -30
  354. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -5
  355. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -1
  356. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  357. package/dist/elements/WhereBuilder/Condition/Text/index.js +7 -22
  358. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -5
  359. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -1
  360. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  361. package/dist/elements/WhereBuilder/Condition/index.js +47 -103
  362. package/dist/elements/WhereBuilder/Condition/types.d.ts +1 -1
  363. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  364. package/dist/elements/WhereBuilder/Condition/types.js +2 -5
  365. package/dist/elements/WhereBuilder/field-types.js +2 -12
  366. package/dist/elements/WhereBuilder/index.d.ts +1 -1
  367. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  368. package/dist/elements/WhereBuilder/index.js +43 -98
  369. package/dist/elements/WhereBuilder/reducer.d.ts +1 -1
  370. package/dist/elements/WhereBuilder/reducer.d.ts.map +1 -1
  371. package/dist/elements/WhereBuilder/reducer.js +2 -12
  372. package/dist/elements/WhereBuilder/transformWhereQuery.js +6 -12
  373. package/dist/elements/WhereBuilder/types.js +2 -5
  374. package/dist/elements/WhereBuilder/validateWhereQuery.js +4 -14
  375. package/dist/exports/assets.js +3 -26
  376. package/dist/exports/elements.d.ts +55 -48
  377. package/dist/exports/elements.d.ts.map +1 -1
  378. package/dist/exports/elements.js +52 -245
  379. package/dist/exports/forms.d.ts +40 -39
  380. package/dist/exports/forms.d.ts.map +1 -1
  381. package/dist/exports/forms.js +36 -157
  382. package/dist/exports/graphics.d.ts +2 -2
  383. package/dist/exports/graphics.d.ts.map +1 -1
  384. package/dist/exports/graphics.js +3 -26
  385. package/dist/exports/hooks.d.ts +11 -9
  386. package/dist/exports/hooks.d.ts.map +1 -1
  387. package/dist/exports/hooks.js +18 -54
  388. package/dist/exports/icons.d.ts +17 -17
  389. package/dist/exports/icons.d.ts.map +1 -1
  390. package/dist/exports/icons.js +18 -81
  391. package/dist/exports/index.d.ts +9 -9
  392. package/dist/exports/index.d.ts.map +1 -1
  393. package/dist/exports/index.js +10 -27
  394. package/dist/exports/providers.d.ts +25 -26
  395. package/dist/exports/providers.d.ts.map +1 -1
  396. package/dist/exports/providers.js +22 -115
  397. package/dist/exports/templates.d.ts +2 -2
  398. package/dist/exports/templates.d.ts.map +1 -1
  399. package/dist/exports/templates.js +3 -21
  400. package/dist/exports/types.d.ts +2 -1
  401. package/dist/exports/types.d.ts.map +1 -1
  402. package/dist/exports/types.js +2 -5
  403. package/dist/exports/utilities.d.ts +13 -13
  404. package/dist/exports/utilities.d.ts.map +1 -1
  405. package/dist/exports/utilities.js +11 -61
  406. package/dist/forms/Error/index.js +11 -26
  407. package/dist/forms/FieldDescription/index.d.ts +1 -1
  408. package/dist/forms/FieldDescription/index.d.ts.map +1 -1
  409. package/dist/forms/FieldDescription/index.js +9 -24
  410. package/dist/forms/FieldDescription/types.js +2 -5
  411. package/dist/forms/FieldPathProvider/index.d.ts.map +1 -1
  412. package/dist/forms/FieldPathProvider/index.js +7 -30
  413. package/dist/forms/Form/buildFieldSchemaMap.js +14 -14
  414. package/dist/forms/Form/context.d.ts +2 -2
  415. package/dist/forms/Form/context.d.ts.map +1 -1
  416. package/dist/forms/Form/context.js +17 -67
  417. package/dist/forms/Form/createNestedFieldPath.js +5 -15
  418. package/dist/forms/Form/errorMessages.js +2 -12
  419. package/dist/forms/Form/fieldReducer.d.ts +2 -1
  420. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  421. package/dist/forms/Form/fieldReducer.js +26 -38
  422. package/dist/forms/Form/getDataByPath.d.ts +1 -1
  423. package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
  424. package/dist/forms/Form/getDataByPath.js +5 -14
  425. package/dist/forms/Form/getSiblingData.d.ts +1 -2
  426. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  427. package/dist/forms/Form/getSiblingData.js +7 -21
  428. package/dist/forms/Form/index.d.ts +1 -1
  429. package/dist/forms/Form/index.d.ts.map +1 -1
  430. package/dist/forms/Form/index.js +123 -177
  431. package/dist/forms/Form/initContextState.d.ts +1 -1
  432. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  433. package/dist/forms/Form/initContextState.js +2 -12
  434. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  435. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  436. package/dist/forms/Form/mergeServerFormState.js +5 -15
  437. package/dist/forms/Form/reduceFieldsToValues.d.ts +1 -2
  438. package/dist/forms/Form/reduceFieldsToValues.d.ts.map +1 -1
  439. package/dist/forms/Form/reduceFieldsToValues.js +5 -14
  440. package/dist/forms/Form/rows.d.ts +1 -1
  441. package/dist/forms/Form/rows.d.ts.map +1 -1
  442. package/dist/forms/Form/rows.js +3 -21
  443. package/dist/forms/Form/types.d.ts +2 -23
  444. package/dist/forms/Form/types.d.ts.map +1 -1
  445. package/dist/forms/Form/types.js +2 -5
  446. package/dist/forms/Label/index.js +9 -24
  447. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  448. package/dist/forms/NullifyField/index.js +16 -72
  449. package/dist/forms/ReadOnlyProvider/index.d.ts +7 -0
  450. package/dist/forms/ReadOnlyProvider/index.d.ts.map +1 -0
  451. package/dist/forms/ReadOnlyProvider/index.js +15 -0
  452. package/dist/forms/RenderFields/RenderField.d.ts +3 -0
  453. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  454. package/dist/forms/RenderFields/RenderField.js +27 -23
  455. package/dist/forms/RenderFields/index.d.ts +1 -1
  456. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  457. package/dist/forms/RenderFields/index.js +16 -29
  458. package/dist/forms/RenderFields/types.d.ts +3 -1
  459. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  460. package/dist/forms/RenderFields/types.js +2 -5
  461. package/dist/forms/RowLabel/index.d.ts +1 -1
  462. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  463. package/dist/forms/RowLabel/index.js +13 -28
  464. package/dist/forms/RowLabel/types.d.ts +1 -2
  465. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  466. package/dist/forms/RowLabel/types.js +4 -19
  467. package/dist/forms/Submit/index.d.ts +1 -1
  468. package/dist/forms/Submit/index.d.ts.map +1 -1
  469. package/dist/forms/Submit/index.js +11 -62
  470. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  471. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  472. package/dist/forms/WatchChildErrors/buildPathSegments.js +2 -12
  473. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts +1 -1
  474. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +2 -12
  475. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts +1 -2
  476. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
  477. package/dist/forms/WatchChildErrors/getNestedFieldState.js +5 -14
  478. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  479. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  480. package/dist/forms/WatchChildErrors/index.js +11 -26
  481. package/dist/forms/fields/Array/ArrayRow.d.ts +3 -4
  482. package/dist/forms/fields/Array/ArrayRow.d.ts.map +1 -1
  483. package/dist/forms/fields/Array/ArrayRow.js +24 -39
  484. package/dist/forms/fields/Array/index.d.ts +1 -1
  485. package/dist/forms/fields/Array/index.d.ts.map +1 -1
  486. package/dist/forms/fields/Array/index.js +59 -115
  487. package/dist/forms/fields/Array/types.d.ts +1 -1
  488. package/dist/forms/fields/Array/types.d.ts.map +1 -1
  489. package/dist/forms/fields/Array/types.js +2 -5
  490. package/dist/forms/fields/Blocks/BlockRow.d.ts +3 -4
  491. package/dist/forms/fields/Blocks/BlockRow.d.ts.map +1 -1
  492. package/dist/forms/fields/Blocks/BlockRow.js +27 -42
  493. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +10 -25
  494. package/dist/forms/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  495. package/dist/forms/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  496. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +30 -85
  497. package/dist/forms/fields/Blocks/BlocksDrawer/types.d.ts +1 -1
  498. package/dist/forms/fields/Blocks/BlocksDrawer/types.d.ts.map +1 -1
  499. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +2 -5
  500. package/dist/forms/fields/Blocks/RowActions.d.ts +1 -1
  501. package/dist/forms/fields/Blocks/RowActions.d.ts.map +1 -1
  502. package/dist/forms/fields/Blocks/RowActions.js +13 -27
  503. package/dist/forms/fields/Blocks/SectionTitle/index.d.ts +1 -1
  504. package/dist/forms/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  505. package/dist/forms/fields/Blocks/SectionTitle/index.js +10 -25
  506. package/dist/forms/fields/Blocks/SectionTitle/types.d.ts +1 -1
  507. package/dist/forms/fields/Blocks/SectionTitle/types.js +2 -5
  508. package/dist/forms/fields/Blocks/index.d.ts +1 -1
  509. package/dist/forms/fields/Blocks/index.d.ts.map +1 -1
  510. package/dist/forms/fields/Blocks/index.js +78 -133
  511. package/dist/forms/fields/Blocks/types.d.ts +1 -1
  512. package/dist/forms/fields/Blocks/types.d.ts.map +1 -1
  513. package/dist/forms/fields/Blocks/types.js +2 -5
  514. package/dist/forms/fields/Checkbox/Input.js +11 -34
  515. package/dist/forms/fields/Checkbox/index.d.ts +1 -1
  516. package/dist/forms/fields/Checkbox/index.d.ts.map +1 -1
  517. package/dist/forms/fields/Checkbox/index.js +19 -75
  518. package/dist/forms/fields/Checkbox/types.d.ts +1 -1
  519. package/dist/forms/fields/Checkbox/types.d.ts.map +1 -1
  520. package/dist/forms/fields/Checkbox/types.js +2 -5
  521. package/dist/forms/fields/Code/index.d.ts +1 -1
  522. package/dist/forms/fields/Code/index.d.ts.map +1 -1
  523. package/dist/forms/fields/Code/index.js +15 -71
  524. package/dist/forms/fields/Code/types.d.ts +1 -1
  525. package/dist/forms/fields/Code/types.d.ts.map +1 -1
  526. package/dist/forms/fields/Code/types.js +2 -5
  527. package/dist/forms/fields/Collapsible/index.d.ts +1 -1
  528. package/dist/forms/fields/Collapsible/index.d.ts.map +1 -1
  529. package/dist/forms/fields/Collapsible/index.js +31 -87
  530. package/dist/forms/fields/Collapsible/types.d.ts +1 -1
  531. package/dist/forms/fields/Collapsible/types.d.ts.map +1 -1
  532. package/dist/forms/fields/Collapsible/types.js +2 -5
  533. package/dist/forms/fields/ConfirmPassword/index.d.ts +1 -1
  534. package/dist/forms/fields/ConfirmPassword/index.d.ts.map +1 -1
  535. package/dist/forms/fields/ConfirmPassword/index.js +19 -75
  536. package/dist/forms/fields/ConfirmPassword/types.js +2 -5
  537. package/dist/forms/fields/DateTime/index.d.ts +1 -1
  538. package/dist/forms/fields/DateTime/index.d.ts.map +1 -1
  539. package/dist/forms/fields/DateTime/index.js +18 -74
  540. package/dist/forms/fields/DateTime/types.d.ts +1 -1
  541. package/dist/forms/fields/DateTime/types.d.ts.map +1 -1
  542. package/dist/forms/fields/DateTime/types.js +2 -5
  543. package/dist/forms/fields/Email/index.d.ts +1 -1
  544. package/dist/forms/fields/Email/index.d.ts.map +1 -1
  545. package/dist/forms/fields/Email/index.js +19 -83
  546. package/dist/forms/fields/Email/types.d.ts +1 -1
  547. package/dist/forms/fields/Email/types.d.ts.map +1 -1
  548. package/dist/forms/fields/Email/types.js +2 -5
  549. package/dist/forms/fields/Group/index.d.ts +1 -1
  550. package/dist/forms/fields/Group/index.d.ts.map +1 -1
  551. package/dist/forms/fields/Group/index.js +32 -88
  552. package/dist/forms/fields/Group/provider.js +7 -69
  553. package/dist/forms/fields/Group/types.d.ts +1 -1
  554. package/dist/forms/fields/Group/types.d.ts.map +1 -1
  555. package/dist/forms/fields/Group/types.js +2 -5
  556. package/dist/forms/fields/HiddenInput/index.d.ts +1 -1
  557. package/dist/forms/fields/HiddenInput/index.d.ts.map +1 -1
  558. package/dist/forms/fields/HiddenInput/index.js +8 -64
  559. package/dist/forms/fields/HiddenInput/types.js +2 -5
  560. package/dist/forms/fields/JSON/index.d.ts +1 -1
  561. package/dist/forms/fields/JSON/index.d.ts.map +1 -1
  562. package/dist/forms/fields/JSON/index.js +20 -76
  563. package/dist/forms/fields/JSON/types.d.ts +1 -1
  564. package/dist/forms/fields/JSON/types.d.ts.map +1 -1
  565. package/dist/forms/fields/JSON/types.js +2 -5
  566. package/dist/forms/fields/Number/index.d.ts +1 -1
  567. package/dist/forms/fields/Number/index.d.ts.map +1 -1
  568. package/dist/forms/fields/Number/index.js +26 -82
  569. package/dist/forms/fields/Number/types.d.ts +1 -1
  570. package/dist/forms/fields/Number/types.d.ts.map +1 -1
  571. package/dist/forms/fields/Number/types.js +2 -5
  572. package/dist/forms/fields/Password/index.d.ts +1 -1
  573. package/dist/forms/fields/Password/index.d.ts.map +1 -1
  574. package/dist/forms/fields/Password/index.js +15 -79
  575. package/dist/forms/fields/Password/types.d.ts +1 -1
  576. package/dist/forms/fields/Password/types.d.ts.map +1 -1
  577. package/dist/forms/fields/Password/types.js +2 -5
  578. package/dist/forms/fields/Point/index.d.ts +1 -1
  579. package/dist/forms/fields/Point/index.d.ts.map +1 -1
  580. package/dist/forms/fields/Point/index.js +24 -80
  581. package/dist/forms/fields/Point/types.d.ts +1 -1
  582. package/dist/forms/fields/Point/types.d.ts.map +1 -1
  583. package/dist/forms/fields/Point/types.js +2 -5
  584. package/dist/forms/fields/RadioGroup/Radio/index.d.ts +1 -1
  585. package/dist/forms/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  586. package/dist/forms/fields/RadioGroup/Radio/index.js +13 -28
  587. package/dist/forms/fields/RadioGroup/index.d.ts +1 -1
  588. package/dist/forms/fields/RadioGroup/index.d.ts.map +1 -1
  589. package/dist/forms/fields/RadioGroup/index.js +23 -79
  590. package/dist/forms/fields/RadioGroup/types.d.ts +1 -1
  591. package/dist/forms/fields/RadioGroup/types.d.ts.map +1 -1
  592. package/dist/forms/fields/RadioGroup/types.js +2 -5
  593. package/dist/forms/fields/Relationship/AddNew/index.d.ts +1 -1
  594. package/dist/forms/fields/Relationship/AddNew/index.d.ts.map +1 -1
  595. package/dist/forms/fields/Relationship/AddNew/index.js +43 -99
  596. package/dist/forms/fields/Relationship/AddNew/types.d.ts +1 -1
  597. package/dist/forms/fields/Relationship/AddNew/types.d.ts.map +1 -1
  598. package/dist/forms/fields/Relationship/AddNew/types.js +2 -5
  599. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +6 -16
  600. package/dist/forms/fields/Relationship/createRelationMap.d.ts +1 -1
  601. package/dist/forms/fields/Relationship/createRelationMap.d.ts.map +1 -1
  602. package/dist/forms/fields/Relationship/createRelationMap.js +2 -12
  603. package/dist/forms/fields/Relationship/findOptionsByValue.d.ts +2 -2
  604. package/dist/forms/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  605. package/dist/forms/fields/Relationship/findOptionsByValue.js +2 -12
  606. package/dist/forms/fields/Relationship/index.d.ts +1 -1
  607. package/dist/forms/fields/Relationship/index.d.ts.map +1 -1
  608. package/dist/forms/fields/Relationship/index.js +64 -120
  609. package/dist/forms/fields/Relationship/optionsReducer.d.ts +1 -1
  610. package/dist/forms/fields/Relationship/optionsReducer.d.ts.map +1 -1
  611. package/dist/forms/fields/Relationship/optionsReducer.js +7 -17
  612. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.d.ts +1 -1
  613. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  614. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +21 -72
  615. package/dist/forms/fields/Relationship/select-components/SingleValue/index.d.ts +1 -1
  616. package/dist/forms/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  617. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +22 -73
  618. package/dist/forms/fields/Relationship/types.d.ts +1 -1
  619. package/dist/forms/fields/Relationship/types.d.ts.map +1 -1
  620. package/dist/forms/fields/Relationship/types.js +2 -5
  621. package/dist/forms/fields/RichText/index.d.ts +1 -1
  622. package/dist/forms/fields/RichText/index.d.ts.map +1 -1
  623. package/dist/forms/fields/RichText/index.js +2 -12
  624. package/dist/forms/fields/RichText/types.d.ts +1 -1
  625. package/dist/forms/fields/RichText/types.d.ts.map +1 -1
  626. package/dist/forms/fields/RichText/types.js +2 -5
  627. package/dist/forms/fields/Row/index.d.ts +1 -1
  628. package/dist/forms/fields/Row/index.d.ts.map +1 -1
  629. package/dist/forms/fields/Row/index.js +11 -26
  630. package/dist/forms/fields/Row/provider.js +7 -69
  631. package/dist/forms/fields/Row/types.d.ts +1 -1
  632. package/dist/forms/fields/Row/types.d.ts.map +1 -1
  633. package/dist/forms/fields/Row/types.js +2 -5
  634. package/dist/forms/fields/Select/index.d.ts +1 -1
  635. package/dist/forms/fields/Select/index.d.ts.map +1 -1
  636. package/dist/forms/fields/Select/index.js +24 -88
  637. package/dist/forms/fields/Select/types.d.ts +1 -1
  638. package/dist/forms/fields/Select/types.d.ts.map +1 -1
  639. package/dist/forms/fields/Select/types.js +2 -5
  640. package/dist/forms/fields/Tabs/Tab/index.d.ts +1 -1
  641. package/dist/forms/fields/Tabs/Tab/index.d.ts.map +1 -1
  642. package/dist/forms/fields/Tabs/Tab/index.js +13 -64
  643. package/dist/forms/fields/Tabs/index.d.ts +1 -1
  644. package/dist/forms/fields/Tabs/index.d.ts.map +1 -1
  645. package/dist/forms/fields/Tabs/index.js +35 -91
  646. package/dist/forms/fields/Tabs/provider.js +7 -69
  647. package/dist/forms/fields/Tabs/types.d.ts +1 -1
  648. package/dist/forms/fields/Tabs/types.d.ts.map +1 -1
  649. package/dist/forms/fields/Tabs/types.js +2 -5
  650. package/dist/forms/fields/Text/Input.d.ts +18 -0
  651. package/dist/forms/fields/Text/Input.d.ts.map +1 -0
  652. package/dist/forms/fields/Text/Input.js +62 -0
  653. package/dist/forms/fields/Text/index.d.ts +1 -1
  654. package/dist/forms/fields/Text/index.d.ts.map +1 -1
  655. package/dist/forms/fields/Text/index.js +44 -129
  656. package/dist/forms/fields/Text/types.d.ts +4 -4
  657. package/dist/forms/fields/Text/types.d.ts.map +1 -1
  658. package/dist/forms/fields/Text/types.js +2 -5
  659. package/dist/forms/fields/Textarea/Input.d.ts +11 -0
  660. package/dist/forms/fields/Textarea/Input.d.ts.map +1 -0
  661. package/dist/forms/fields/Textarea/Input.js +43 -0
  662. package/dist/forms/fields/Textarea/index.d.ts +1 -1
  663. package/dist/forms/fields/Textarea/index.d.ts.map +1 -1
  664. package/dist/forms/fields/Textarea/index.js +39 -104
  665. package/dist/forms/fields/Textarea/types.d.ts +1 -1
  666. package/dist/forms/fields/Textarea/types.d.ts.map +1 -1
  667. package/dist/forms/fields/Textarea/types.js +2 -5
  668. package/dist/forms/fields/UI/index.js +2 -12
  669. package/dist/forms/fields/Upload/Input.d.ts +15 -1
  670. package/dist/forms/fields/Upload/Input.d.ts.map +1 -1
  671. package/dist/forms/fields/Upload/Input.js +127 -2
  672. package/dist/forms/fields/Upload/index.d.ts +1 -1
  673. package/dist/forms/fields/Upload/index.d.ts.map +1 -1
  674. package/dist/forms/fields/Upload/index.js +32 -180
  675. package/dist/forms/fields/Upload/types.d.ts +1 -1
  676. package/dist/forms/fields/Upload/types.d.ts.map +1 -1
  677. package/dist/forms/fields/Upload/types.js +2 -5
  678. package/dist/forms/fields/getFilterOptionsQuery.js +2 -12
  679. package/dist/forms/fields/index.js +50 -65
  680. package/dist/forms/fields/shared.d.ts +5 -5
  681. package/dist/forms/fields/shared.d.ts.map +1 -1
  682. package/dist/forms/fields/shared.js +7 -21
  683. package/dist/forms/useField/index.d.ts +1 -1
  684. package/dist/forms/useField/index.d.ts.map +1 -1
  685. package/dist/forms/useField/index.js +30 -41
  686. package/dist/forms/useField/types.d.ts +2 -2
  687. package/dist/forms/useField/types.d.ts.map +1 -1
  688. package/dist/forms/useField/types.js +2 -5
  689. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.d.ts +1 -2
  690. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  691. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +22 -33
  692. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +11 -20
  693. package/dist/forms/utilities/buildStateFromSchema/index.d.ts +1 -2
  694. package/dist/forms/utilities/buildStateFromSchema/index.d.ts.map +1 -1
  695. package/dist/forms/utilities/buildStateFromSchema/index.js +4 -14
  696. package/dist/forms/utilities/buildStateFromSchema/iterateFields.d.ts +2 -3
  697. package/dist/forms/utilities/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  698. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +8 -16
  699. package/dist/forms/withCondition/WatchCondition.js +7 -57
  700. package/dist/forms/withCondition/index.js +8 -23
  701. package/dist/graphics/Account/Default/index.js +7 -22
  702. package/dist/graphics/Account/Gravatar/index.js +10 -25
  703. package/dist/graphics/Account/index.js +15 -30
  704. package/dist/graphics/DefaultBlockImage/index.js +11 -62
  705. package/dist/graphics/ExternalLink/index.js +5 -20
  706. package/dist/graphics/File/index.js +7 -22
  707. package/dist/graphics/Icon/index.d.ts.map +1 -1
  708. package/dist/graphics/Icon/index.js +15 -33
  709. package/dist/graphics/Logo/index.js +15 -30
  710. package/dist/graphics/Search/index.js +6 -21
  711. package/dist/hooks/useAdminThumbnail.d.ts.map +1 -1
  712. package/dist/hooks/useAdminThumbnail.js +6 -15
  713. package/dist/hooks/useDebounce.js +6 -16
  714. package/dist/hooks/useDebouncedCallback.js +10 -15
  715. package/dist/hooks/useDebouncedEffect.js +6 -16
  716. package/dist/hooks/useDelay.js +7 -58
  717. package/dist/hooks/useDelayedRender.js +11 -62
  718. package/dist/hooks/useHotkey.d.ts.map +1 -1
  719. package/dist/hooks/useHotkey.js +11 -20
  720. package/dist/hooks/useIntersect.d.ts +1 -1
  721. package/dist/hooks/useIntersect.js +7 -17
  722. package/dist/hooks/usePayloadAPI.d.ts +1 -1
  723. package/dist/hooks/usePayloadAPI.js +17 -32
  724. package/dist/hooks/useResize.js +5 -15
  725. package/dist/hooks/useThrottledEffect.d.ts +1 -1
  726. package/dist/hooks/useThrottledEffect.js +5 -15
  727. package/dist/hooks/useThumbnail.js +8 -18
  728. package/dist/hooks/useUseAsTitle.js +6 -16
  729. package/dist/icons/Calendar/index.js +8 -23
  730. package/dist/icons/Check/index.js +6 -21
  731. package/dist/icons/Chevron/index.js +5 -20
  732. package/dist/icons/CloseMenu/index.js +6 -21
  733. package/dist/icons/CodeBlock/index.js +5 -20
  734. package/dist/icons/Copy/index.js +6 -21
  735. package/dist/icons/DragHandle/index.js +10 -25
  736. package/dist/icons/Edit/index.js +7 -22
  737. package/dist/icons/Line/index.js +5 -20
  738. package/dist/icons/Link/index.js +6 -21
  739. package/dist/icons/LogOut/index.js +7 -22
  740. package/dist/icons/Menu/index.js +7 -22
  741. package/dist/icons/MinimizeMaximize/index.js +12 -63
  742. package/dist/icons/More/index.js +7 -22
  743. package/dist/icons/Plus/index.js +6 -21
  744. package/dist/icons/Search/index.js +6 -21
  745. package/dist/icons/Swap/index.js +8 -23
  746. package/dist/icons/X/index.js +6 -21
  747. package/dist/index.d.ts +1 -1
  748. package/dist/index.d.ts.map +1 -1
  749. package/dist/index.js +2 -19
  750. package/dist/providers/ActionsProvider/SetViewActions/index.d.ts +6 -0
  751. package/dist/providers/ActionsProvider/SetViewActions/index.d.ts.map +1 -0
  752. package/dist/providers/ActionsProvider/SetViewActions/index.js +18 -0
  753. package/dist/providers/ActionsProvider/index.d.ts +3 -2
  754. package/dist/providers/ActionsProvider/index.d.ts.map +1 -1
  755. package/dist/providers/ActionsProvider/index.js +15 -74
  756. package/dist/providers/Auth/index.d.ts +1 -1
  757. package/dist/providers/Auth/index.d.ts.map +1 -1
  758. package/dist/providers/Auth/index.js +58 -133
  759. package/dist/providers/Auth/types.js +2 -5
  760. package/dist/providers/ClientFunction/index.js +14 -40
  761. package/dist/providers/ComponentMapProvider/index.d.ts +5 -1
  762. package/dist/providers/ComponentMapProvider/index.d.ts.map +1 -1
  763. package/dist/providers/ComponentMapProvider/index.js +20 -67
  764. package/dist/providers/Config/index.js +6 -65
  765. package/dist/providers/DocumentEvents/index.d.ts +1 -1
  766. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  767. package/dist/providers/DocumentEvents/index.js +7 -66
  768. package/dist/providers/DocumentEvents/types.d.ts +1 -1
  769. package/dist/providers/DocumentEvents/types.d.ts.map +1 -1
  770. package/dist/providers/DocumentEvents/types.js +2 -5
  771. package/dist/providers/DocumentInfo/index.d.ts +1 -8
  772. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  773. package/dist/providers/DocumentInfo/index.js +48 -130
  774. package/dist/providers/DocumentInfo/types.d.ts +5 -5
  775. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  776. package/dist/providers/DocumentInfo/types.js +2 -5
  777. package/dist/providers/EditDepth/index.js +5 -67
  778. package/dist/providers/FormQueryParams/index.d.ts +6 -15
  779. package/dist/providers/FormQueryParams/index.d.ts.map +1 -1
  780. package/dist/providers/FormQueryParams/index.js +41 -69
  781. package/dist/providers/FormQueryParams/types.d.ts +16 -0
  782. package/dist/providers/FormQueryParams/types.d.ts.map +1 -0
  783. package/dist/providers/FormQueryParams/types.js +3 -0
  784. package/dist/providers/ListInfo/index.d.ts +1 -1
  785. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  786. package/dist/providers/ListInfo/index.js +9 -68
  787. package/dist/providers/ListInfo/types.d.ts +1 -1
  788. package/dist/providers/ListInfo/types.d.ts.map +1 -1
  789. package/dist/providers/ListInfo/types.js +2 -5
  790. package/dist/providers/Locale/index.d.ts.map +1 -1
  791. package/dist/providers/Locale/index.js +53 -103
  792. package/dist/providers/OperationProvider/index.js +5 -67
  793. package/dist/providers/Params/index.d.ts +1 -1
  794. package/dist/providers/Params/index.d.ts.map +1 -1
  795. package/dist/providers/Params/index.js +9 -67
  796. package/dist/providers/Portal/index.js +4 -19
  797. package/dist/providers/Preferences/index.d.ts.map +1 -1
  798. package/dist/providers/Preferences/index.js +25 -89
  799. package/dist/providers/Root/index.d.ts +3 -2
  800. package/dist/providers/Root/index.d.ts.map +1 -1
  801. package/dist/providers/Root/index.js +38 -81
  802. package/dist/providers/SearchParams/index.d.ts +1 -1
  803. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  804. package/dist/providers/SearchParams/index.js +34 -106
  805. package/dist/providers/SearchParams/types.d.ts +4 -17
  806. package/dist/providers/SearchParams/types.d.ts.map +1 -1
  807. package/dist/providers/SearchParams/types.js +2 -5
  808. package/dist/providers/SelectionProvider/index.js +23 -90
  809. package/dist/providers/Theme/index.d.ts.map +1 -1
  810. package/dist/providers/Theme/index.js +11 -73
  811. package/dist/providers/Theme/types.js +2 -5
  812. package/dist/providers/Theme/utilities.d.ts +1 -1
  813. package/dist/providers/Theme/utilities.d.ts.map +1 -1
  814. package/dist/providers/Theme/utilities.js +3 -21
  815. package/dist/providers/Translation/index.d.ts +1 -6
  816. package/dist/providers/Translation/index.d.ts.map +1 -1
  817. package/dist/providers/Translation/index.js +12 -69
  818. package/dist/templates/Default/NavHamburger/index.js +7 -22
  819. package/dist/templates/Default/Wrapper/index.js +7 -22
  820. package/dist/templates/Default/index.d.ts +1 -1
  821. package/dist/templates/Default/index.d.ts.map +1 -1
  822. package/dist/templates/Default/index.js +17 -68
  823. package/dist/templates/Default/types.js +2 -5
  824. package/dist/templates/Minimal/index.d.ts +1 -1
  825. package/dist/templates/Minimal/index.d.ts.map +1 -1
  826. package/dist/templates/Minimal/index.js +6 -21
  827. package/dist/templates/Minimal/types.js +2 -5
  828. package/dist/utilities/api.js +4 -19
  829. package/dist/utilities/arraysHaveSameStrings.js +2 -12
  830. package/dist/utilities/buildComponentMap/index.d.ts +9 -9
  831. package/dist/utilities/buildComponentMap/index.d.ts.map +1 -1
  832. package/dist/utilities/buildComponentMap/index.js +59 -47
  833. package/dist/utilities/buildComponentMap/mapActions.d.ts +7 -0
  834. package/dist/utilities/buildComponentMap/mapActions.d.ts.map +1 -0
  835. package/dist/utilities/buildComponentMap/mapActions.js +39 -0
  836. package/dist/utilities/buildComponentMap/mapFields.d.ts +3 -6
  837. package/dist/utilities/buildComponentMap/mapFields.d.ts.map +1 -1
  838. package/dist/utilities/buildComponentMap/mapFields.js +48 -118
  839. package/dist/utilities/buildComponentMap/types.d.ts +15 -2
  840. package/dist/utilities/buildComponentMap/types.d.ts.map +1 -1
  841. package/dist/utilities/buildComponentMap/types.js +2 -5
  842. package/dist/utilities/buildFieldSchemaMap/index.d.ts +1 -1
  843. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  844. package/dist/utilities/buildFieldSchemaMap/index.js +5 -15
  845. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -1
  846. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  847. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +9 -19
  848. package/dist/utilities/buildFieldSchemaMap/types.js +2 -5
  849. package/dist/utilities/canUseDOM.js +2 -12
  850. package/dist/utilities/findLocaleFromCode.js +4 -12
  851. package/dist/utilities/formatDate/getSupportedDateLocale.js +2 -12
  852. package/dist/utilities/formatDate/index.js +10 -69
  853. package/dist/utilities/formatDocTitle.d.ts +1 -2
  854. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  855. package/dist/utilities/formatDocTitle.js +6 -16
  856. package/dist/utilities/formatFields.js +3 -13
  857. package/dist/utilities/getFormState.d.ts +2 -3
  858. package/dist/utilities/getFormState.d.ts.map +1 -1
  859. package/dist/utilities/getFormState.js +2 -12
  860. package/dist/utilities/getOffsetTop.js +2 -12
  861. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  862. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  863. package/dist/utilities/getRequestLanguage.js +2 -12
  864. package/dist/utilities/getSupportedMonacoLocale.js +2 -12
  865. package/dist/utilities/groupNavItems.js +7 -25
  866. package/dist/utilities/scrollToID.js +2 -12
  867. package/dist/utilities/setsAreEqual.js +2 -12
  868. package/dist/utilities/withMergedProps/index.js +23 -21
  869. package/package.json +10 -8
  870. package/src/index.ts +1 -1
  871. package/dist/forms/FieldPathProvider/index.scss +0 -12
  872. package/dist/forms/FieldPathProvider/types.d.ts +0 -7
  873. package/dist/forms/FieldPathProvider/types.d.ts.map +0 -1
  874. package/dist/forms/FieldPathProvider/types.js +0 -6
  875. package/dist/forms/Form/buildInitialState.d.ts +0 -3
  876. package/dist/forms/Form/buildInitialState.d.ts.map +0 -1
  877. package/dist/forms/Form/buildInitialState.js +0 -26
  878. package/dist/providers/Auth/HydrateClientUser/index.d.ts +0 -7
  879. package/dist/providers/Auth/HydrateClientUser/index.d.ts.map +0 -1
  880. package/dist/providers/Auth/HydrateClientUser/index.js +0 -28
  881. package/dist/providers/CustomProvider/index.d.ts +0 -5
  882. package/dist/providers/CustomProvider/index.d.ts.map +0 -1
  883. package/dist/providers/CustomProvider/index.js +0 -38
  884. package/dist/providers/DocumentInfo/SetDocumentInfo/index.d.ts +0 -4
  885. package/dist/providers/DocumentInfo/SetDocumentInfo/index.d.ts.map +0 -1
  886. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +0 -34
  887. package/dist/views/Global/RenderCustomView.d.ts +0 -2
  888. package/dist/views/Global/RenderCustomView.d.ts.map +0 -1
  889. package/dist/views/Global/RenderCustomView.js +0 -3
@@ -1,101 +1,46 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "EditUpload", {
7
- enumerable: true,
8
- get: function() {
9
- return EditUpload;
10
- }
11
- });
12
- const _modal = require("@faceless-ui/modal");
13
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
- const _reactimagecrop = /*#__PURE__*/ _interop_require_default(require("react-image-crop"));
15
- require("react-image-crop/dist/ReactCrop.css");
16
- const _Upload = require("../../elements/Upload");
17
- const _Plus = require("../../icons/Plus");
18
- const _FormQueryParams = require("../../providers/FormQueryParams");
19
- const _Translation = require("../../providers/Translation");
20
- const _Button = require("../Button");
21
- require("./index.scss");
22
- function _interop_require_default(obj) {
23
- return obj && obj.__esModule ? obj : {
24
- default: obj
25
- };
26
- }
27
- function _getRequireWildcardCache(nodeInterop) {
28
- if (typeof WeakMap !== "function") return null;
29
- var cacheBabelInterop = new WeakMap();
30
- var cacheNodeInterop = new WeakMap();
31
- return (_getRequireWildcardCache = function(nodeInterop) {
32
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
33
- })(nodeInterop);
34
- }
35
- function _interop_require_wildcard(obj, nodeInterop) {
36
- if (!nodeInterop && obj && obj.__esModule) {
37
- return obj;
38
- }
39
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
40
- return {
41
- default: obj
42
- };
43
- }
44
- var cache = _getRequireWildcardCache(nodeInterop);
45
- if (cache && cache.has(obj)) {
46
- return cache.get(obj);
47
- }
48
- var newObj = {
49
- __proto__: null
50
- };
51
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
- for(var key in obj){
53
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
- if (desc && (desc.get || desc.set)) {
56
- Object.defineProperty(newObj, key, desc);
57
- } else {
58
- newObj[key] = obj[key];
59
- }
60
- }
61
- }
62
- newObj.default = obj;
63
- if (cache) {
64
- cache.set(obj, newObj);
65
- }
66
- return newObj;
67
- }
2
+ import * as facelessUIImport from '@faceless-ui/modal';
3
+ import React, { useRef, useState } from 'react';
4
+ import ReactCrop from 'react-image-crop';
5
+ import 'react-image-crop/dist/ReactCrop.css';
6
+ import { editDrawerSlug } from '../../elements/Upload/index.js';
7
+ import { Plus } from '../../icons/Plus/index.js';
8
+ import { useFormQueryParams } from '../../providers/FormQueryParams/index.js';
9
+ import { useTranslation } from '../../providers/Translation/index.js';
10
+ import { Button } from '../Button/index.js';
11
+ import './index.scss';
68
12
  const baseClass = 'edit-upload';
69
- const Input = ({ name, onChange, value })=>/*#__PURE__*/ _react.default.createElement("div", {
13
+ const Input = ({ name, onChange, value })=>/*#__PURE__*/ React.createElement("div", {
70
14
  className: `${baseClass}__input`
71
- }, name, /*#__PURE__*/ _react.default.createElement("input", {
15
+ }, name, /*#__PURE__*/ React.createElement("input", {
72
16
  name: name,
73
17
  onChange: (e)=>onChange(e.target.value),
74
18
  type: "number",
75
19
  value: value
76
20
  }));
77
- const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint })=>{
78
- const { closeModal } = (0, _modal.useModal)();
79
- const { t } = (0, _Translation.useTranslation)();
80
- const { formQueryParams, setFormQueryParams } = (0, _FormQueryParams.useFormQueryParams)();
21
+ export const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint })=>{
22
+ const { Modal, useModal } = facelessUIImport;
23
+ const { closeModal } = useModal();
24
+ const { t } = useTranslation();
25
+ const { dispatchFormQueryParams, formQueryParams } = useFormQueryParams();
81
26
  const { uploadEdits } = formQueryParams || {};
82
- const [crop, setCrop] = (0, _react.useState)({
27
+ const [crop, setCrop] = useState({
83
28
  height: uploadEdits?.crop?.height || 100,
84
29
  unit: '%',
85
30
  width: uploadEdits?.crop?.width || 100,
86
31
  x: uploadEdits?.crop?.x || 0,
87
32
  y: uploadEdits?.crop?.y || 0
88
33
  });
89
- const [pointPosition, setPointPosition] = (0, _react.useState)({
34
+ const [pointPosition, setPointPosition] = useState({
90
35
  x: uploadEdits?.focalPoint?.x || 50,
91
36
  y: uploadEdits?.focalPoint?.y || 50
92
37
  });
93
- const [checkBounds, setCheckBounds] = (0, _react.useState)(false);
94
- const [originalHeight, setOriginalHeight] = (0, _react.useState)(0);
95
- const [originalWidth, setOriginalWidth] = (0, _react.useState)(0);
96
- const focalWrapRef = (0, _react.useRef)();
97
- const imageRef = (0, _react.useRef)();
98
- const cropRef = (0, _react.useRef)();
38
+ const [checkBounds, setCheckBounds] = useState(false);
39
+ const [originalHeight, setOriginalHeight] = useState(0);
40
+ const [originalWidth, setOriginalWidth] = useState(0);
41
+ const focalWrapRef = useRef();
42
+ const imageRef = useRef();
43
+ const cropRef = useRef();
99
44
  const fineTuneCrop = ({ dimension, value })=>{
100
45
  const intValue = parseInt(value);
101
46
  if (dimension === 'width' && intValue >= originalWidth) return null;
@@ -117,16 +62,18 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
117
62
  }
118
63
  };
119
64
  const saveEdits = ()=>{
120
- setFormQueryParams({
121
- ...formQueryParams,
122
- uploadEdits: {
123
- crop: crop || undefined,
124
- focalPoint: pointPosition ? pointPosition : undefined
65
+ dispatchFormQueryParams({
66
+ type: 'SET',
67
+ params: {
68
+ uploadEdits: crop || pointPosition ? {
69
+ crop: crop || null,
70
+ focalPoint: pointPosition ? pointPosition : null
71
+ } : null
125
72
  }
126
73
  });
127
- closeModal(_Upload.editDrawerSlug);
74
+ closeModal(editDrawerSlug);
128
75
  };
129
- const onDragEnd = _react.default.useCallback(({ x, y })=>{
76
+ const onDragEnd = React.useCallback(({ x, y })=>{
130
77
  setPointPosition({
131
78
  x,
132
79
  y
@@ -144,46 +91,46 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
144
91
  });
145
92
  };
146
93
  const fileSrcToUse = imageCacheTag ? `${fileSrc}?${imageCacheTag}` : fileSrc;
147
- return /*#__PURE__*/ _react.default.createElement("div", {
94
+ return /*#__PURE__*/ React.createElement("div", {
148
95
  className: baseClass
149
- }, /*#__PURE__*/ _react.default.createElement("div", {
96
+ }, /*#__PURE__*/ React.createElement("div", {
150
97
  className: `${baseClass}__header`
151
- }, /*#__PURE__*/ _react.default.createElement("h2", {
98
+ }, /*#__PURE__*/ React.createElement("h2", {
152
99
  title: `${t('general:editing')} ${fileName}`
153
- }, t('general:editing'), " ", fileName), /*#__PURE__*/ _react.default.createElement("div", {
100
+ }, t('general:editing'), " ", fileName), /*#__PURE__*/ React.createElement("div", {
154
101
  className: `${baseClass}__actions`
155
- }, /*#__PURE__*/ _react.default.createElement(_Button.Button, {
102
+ }, /*#__PURE__*/ React.createElement(Button, {
156
103
  "aria-label": t('general:cancel'),
157
104
  buttonStyle: "secondary",
158
105
  className: `${baseClass}__cancel`,
159
- onClick: ()=>closeModal(_Upload.editDrawerSlug)
160
- }, t('general:cancel')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
106
+ onClick: ()=>closeModal(editDrawerSlug)
107
+ }, t('general:cancel')), /*#__PURE__*/ React.createElement(Button, {
161
108
  "aria-label": t('general:applyChanges'),
162
109
  buttonStyle: "primary",
163
110
  className: `${baseClass}__save`,
164
111
  onClick: ()=>saveEdits()
165
- }, t('general:applyChanges')))), /*#__PURE__*/ _react.default.createElement("div", {
112
+ }, t('general:applyChanges')))), /*#__PURE__*/ React.createElement("div", {
166
113
  className: `${baseClass}__toolWrap`
167
- }, /*#__PURE__*/ _react.default.createElement("div", {
114
+ }, /*#__PURE__*/ React.createElement("div", {
168
115
  className: `${baseClass}__crop`
169
- }, /*#__PURE__*/ _react.default.createElement("div", {
116
+ }, /*#__PURE__*/ React.createElement("div", {
170
117
  className: `${baseClass}__focal-wrapper`,
171
118
  ref: focalWrapRef,
172
119
  style: {
173
120
  aspectRatio: `${originalWidth / originalHeight}`
174
121
  }
175
- }, showCrop ? /*#__PURE__*/ _react.default.createElement(_reactimagecrop.default, {
122
+ }, showCrop ? /*#__PURE__*/ React.createElement(ReactCrop, {
176
123
  className: `${baseClass}__reactCrop`,
177
124
  crop: crop,
178
125
  onChange: (_, c)=>setCrop(c),
179
126
  onComplete: ()=>setCheckBounds(true),
180
127
  renderSelectionAddon: ()=>{
181
- return /*#__PURE__*/ _react.default.createElement("div", {
128
+ return /*#__PURE__*/ React.createElement("div", {
182
129
  className: `${baseClass}__crop-window`,
183
130
  ref: cropRef
184
131
  });
185
132
  }
186
- }, /*#__PURE__*/ _react.default.createElement("img", {
133
+ }, /*#__PURE__*/ React.createElement("img", {
187
134
  alt: t('upload:setCropArea'),
188
135
  onLoad: (e)=>{
189
136
  setOriginalHeight(e.currentTarget.naturalHeight);
@@ -191,7 +138,7 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
191
138
  },
192
139
  ref: imageRef,
193
140
  src: fileSrcToUse
194
- })) : /*#__PURE__*/ _react.default.createElement("img", {
141
+ })) : /*#__PURE__*/ React.createElement("img", {
195
142
  alt: t('upload:setFocalPoint'),
196
143
  onLoad: (e)=>{
197
144
  setOriginalHeight(e.currentTarget.naturalHeight);
@@ -199,7 +146,7 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
199
146
  },
200
147
  ref: imageRef,
201
148
  src: fileSrcToUse
202
- }), showFocalPoint && /*#__PURE__*/ _react.default.createElement(DraggableElement, {
149
+ }), showFocalPoint && /*#__PURE__*/ React.createElement(DraggableElement, {
203
150
  boundsRef: showCrop ? cropRef : imageRef,
204
151
  checkBounds: showCrop ? checkBounds : false,
205
152
  className: `${baseClass}__focalPoint`,
@@ -207,13 +154,13 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
207
154
  initialPosition: pointPosition,
208
155
  onDragEnd: onDragEnd,
209
156
  setCheckBounds: showCrop ? setCheckBounds : false
210
- }, /*#__PURE__*/ _react.default.createElement(_Plus.Plus, null)))), (showCrop || showFocalPoint) && /*#__PURE__*/ _react.default.createElement("div", {
157
+ }, /*#__PURE__*/ React.createElement(Plus, null)))), (showCrop || showFocalPoint) && /*#__PURE__*/ React.createElement("div", {
211
158
  className: `${baseClass}__sidebar`
212
- }, showCrop && /*#__PURE__*/ _react.default.createElement("div", {
159
+ }, showCrop && /*#__PURE__*/ React.createElement("div", {
213
160
  className: `${baseClass}__groupWrap`
214
- }, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", {
161
+ }, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", {
215
162
  className: `${baseClass}__titleWrap`
216
- }, /*#__PURE__*/ _react.default.createElement("h3", null, t('upload:crop')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
163
+ }, /*#__PURE__*/ React.createElement("h3", null, t('upload:crop')), /*#__PURE__*/ React.createElement(Button, {
217
164
  buttonStyle: "none",
218
165
  className: `${baseClass}__reset`,
219
166
  onClick: ()=>setCrop({
@@ -223,44 +170,44 @@ const EditUpload = ({ fileName, fileSrc, imageCacheTag, showCrop, showFocalPoint
223
170
  x: 0,
224
171
  y: 0
225
172
  })
226
- }, t('general:reset')))), /*#__PURE__*/ _react.default.createElement("span", {
173
+ }, t('general:reset')))), /*#__PURE__*/ React.createElement("span", {
227
174
  className: `${baseClass}__description`
228
- }, t('upload:cropToolDescription')), /*#__PURE__*/ _react.default.createElement("div", {
175
+ }, t('upload:cropToolDescription')), /*#__PURE__*/ React.createElement("div", {
229
176
  className: `${baseClass}__inputsWrap`
230
- }, /*#__PURE__*/ _react.default.createElement(Input, {
177
+ }, /*#__PURE__*/ React.createElement(Input, {
231
178
  name: `${t('upload:width')} (px)`,
232
179
  onChange: (value)=>fineTuneCrop({
233
180
  dimension: 'width',
234
181
  value
235
182
  }),
236
183
  value: (crop.width / 100 * originalWidth).toFixed(0)
237
- }), /*#__PURE__*/ _react.default.createElement(Input, {
184
+ }), /*#__PURE__*/ React.createElement(Input, {
238
185
  name: `${t('upload:height')} (px)`,
239
186
  onChange: (value)=>fineTuneCrop({
240
187
  dimension: 'height',
241
188
  value
242
189
  }),
243
190
  value: (crop.height / 100 * originalHeight).toFixed(0)
244
- }))), showFocalPoint && /*#__PURE__*/ _react.default.createElement("div", {
191
+ }))), showFocalPoint && /*#__PURE__*/ React.createElement("div", {
245
192
  className: `${baseClass}__groupWrap`
246
- }, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", {
193
+ }, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", {
247
194
  className: `${baseClass}__titleWrap`
248
- }, /*#__PURE__*/ _react.default.createElement("h3", null, t('upload:focalPoint')), /*#__PURE__*/ _react.default.createElement(_Button.Button, {
195
+ }, /*#__PURE__*/ React.createElement("h3", null, t('upload:focalPoint')), /*#__PURE__*/ React.createElement(Button, {
249
196
  buttonStyle: "none",
250
197
  className: `${baseClass}__reset`,
251
198
  onClick: centerFocalPoint
252
- }, t('general:reset')))), /*#__PURE__*/ _react.default.createElement("span", {
199
+ }, t('general:reset')))), /*#__PURE__*/ React.createElement("span", {
253
200
  className: `${baseClass}__description`
254
- }, t('upload:focalPointDescription')), /*#__PURE__*/ _react.default.createElement("div", {
201
+ }, t('upload:focalPointDescription')), /*#__PURE__*/ React.createElement("div", {
255
202
  className: `${baseClass}__inputsWrap`
256
- }, /*#__PURE__*/ _react.default.createElement(Input, {
203
+ }, /*#__PURE__*/ React.createElement(Input, {
257
204
  name: "X %",
258
205
  onChange: (value)=>fineTuneFocalPoint({
259
206
  coordinate: 'x',
260
207
  value
261
208
  }),
262
209
  value: pointPosition.x.toFixed(0)
263
- }), /*#__PURE__*/ _react.default.createElement(Input, {
210
+ }), /*#__PURE__*/ React.createElement(Input, {
264
211
  name: "Y %",
265
212
  onChange: (value)=>fineTuneFocalPoint({
266
213
  coordinate: 'y',
@@ -273,13 +220,13 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
273
220
  x: 50,
274
221
  y: 50
275
222
  }, onDragEnd, setCheckBounds })=>{
276
- const [position, setPosition] = (0, _react.useState)({
223
+ const [position, setPosition] = useState({
277
224
  x: initialPosition.x,
278
225
  y: initialPosition.y
279
226
  });
280
- const [isDragging, setIsDragging] = (0, _react.useState)(false);
281
- const dragRef = (0, _react.useRef)();
282
- const getCoordinates = _react.default.useCallback((mouseXArg, mouseYArg, recenter)=>{
227
+ const [isDragging, setIsDragging] = useState(false);
228
+ const dragRef = useRef();
229
+ const getCoordinates = React.useCallback((mouseXArg, mouseYArg, recenter)=>{
283
230
  const containerRect = containerRef.current.getBoundingClientRect();
284
231
  const boundsRect = boundsRef.current.getBoundingClientRect();
285
232
  const mouseX = mouseXArg ?? boundsRect.left;
@@ -331,7 +278,7 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
331
278
  setIsDragging(false);
332
279
  onDragEnd(position);
333
280
  };
334
- _react.default.useEffect(()=>{
281
+ React.useEffect(()=>{
335
282
  if (isDragging || !dragRef.current) return;
336
283
  if (checkBounds) {
337
284
  const { height, left, top, width } = dragRef.current.getBoundingClientRect();
@@ -356,7 +303,7 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
356
303
  position.y,
357
304
  onDragEnd
358
305
  ]);
359
- _react.default.useEffect(()=>{
306
+ React.useEffect(()=>{
360
307
  setPosition({
361
308
  x: initialPosition.x,
362
309
  y: initialPosition.y
@@ -365,13 +312,13 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
365
312
  initialPosition.x,
366
313
  initialPosition.y
367
314
  ]);
368
- return /*#__PURE__*/ _react.default.createElement("div", {
315
+ return /*#__PURE__*/ React.createElement("div", {
369
316
  className: [
370
317
  `${baseClass}__draggable-container`,
371
318
  isDragging && `${baseClass}__draggable-container--dragging`
372
319
  ].filter(Boolean).join(' '),
373
320
  onMouseMove: handleMouseMove
374
- }, /*#__PURE__*/ _react.default.createElement("button", {
321
+ }, /*#__PURE__*/ React.createElement("button", {
375
322
  className: [
376
323
  `${baseClass}__draggable`,
377
324
  className
@@ -384,7 +331,7 @@ const DraggableElement = ({ boundsRef, checkBounds, children, className, contain
384
331
  top: `${position.y}%`
385
332
  },
386
333
  type: "button"
387
- }, children), /*#__PURE__*/ _react.default.createElement("div", null));
334
+ }, children), /*#__PURE__*/ React.createElement("div", null));
388
335
  };
389
336
 
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0VXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdENyb3AsIHsgdHlwZSBDcm9wIGFzIENyb3BUeXBlIH0gZnJvbSAncmVhY3QtaW1hZ2UtY3JvcCdcbmltcG9ydCAncmVhY3QtaW1hZ2UtY3JvcC9kaXN0L1JlYWN0Q3JvcC5jc3MnXG5cbmltcG9ydCB7IGVkaXREcmF3ZXJTbHVnIH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvVXBsb2FkJ1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gJy4uLy4uL2ljb25zL1BsdXMnXG5pbXBvcnQgeyB1c2VGb3JtUXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvRm9ybVF1ZXJ5UGFyYW1zJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRpb24nXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2VkaXQtdXBsb2FkJ1xuXG5jb25zdCBJbnB1dDogUmVhY3QuRkM8eyBuYW1lOiBzdHJpbmc7IG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDsgdmFsdWU6IHN0cmluZyB9PiA9ICh7XG4gIG5hbWUsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbn0pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0YH0+XG4gICAge25hbWV9XG4gICAgPGlucHV0IG5hbWU9e25hbWV9IG9uQ2hhbmdlPXsoZSkgPT4gb25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfSB0eXBlPVwibnVtYmVyXCIgdmFsdWU9e3ZhbHVlfSAvPlxuICA8L2Rpdj5cbilcblxuZXhwb3J0IGNvbnN0IEVkaXRVcGxvYWQ6IFJlYWN0LkZDPHtcbiAgZG9jPzogRGF0YVxuICBmaWxlTmFtZTogc3RyaW5nXG4gIGZpbGVTcmM6IHN0cmluZ1xuICBpbWFnZUNhY2hlVGFnPzogc3RyaW5nXG4gIHNob3dDcm9wPzogYm9vbGVhblxuICBzaG93Rm9jYWxQb2ludD86IGJvb2xlYW5cbn0+ID0gKHsgZmlsZU5hbWUsIGZpbGVTcmMsIGltYWdlQ2FjaGVUYWcsIHNob3dDcm9wLCBzaG93Rm9jYWxQb2ludCB9KSA9PiB7XG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBmb3JtUXVlcnlQYXJhbXMsIHNldEZvcm1RdWVyeVBhcmFtcyB9ID0gdXNlRm9ybVF1ZXJ5UGFyYW1zKClcbiAgY29uc3QgeyB1cGxvYWRFZGl0cyB9ID0gZm9ybVF1ZXJ5UGFyYW1zIHx8IHt9XG4gIGNvbnN0IFtjcm9wLCBzZXRDcm9wXSA9IHVzZVN0YXRlPENyb3BUeXBlPih7XG4gICAgaGVpZ2h0OiB1cGxvYWRFZGl0cz8uY3JvcD8uaGVpZ2h0IHx8IDEwMCxcbiAgICB1bml0OiAnJScsXG4gICAgd2lkdGg6IHVwbG9hZEVkaXRzPy5jcm9wPy53aWR0aCB8fCAxMDAsXG4gICAgeDogdXBsb2FkRWRpdHM/LmNyb3A/LnggfHwgMCxcbiAgICB5OiB1cGxvYWRFZGl0cz8uY3JvcD8ueSB8fCAwLFxuICB9KVxuXG4gIGNvbnN0IFtwb2ludFBvc2l0aW9uLCBzZXRQb2ludFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oe1xuICAgIHg6IHVwbG9hZEVkaXRzPy5mb2NhbFBvaW50Py54IHx8IDUwLFxuICAgIHk6IHVwbG9hZEVkaXRzPy5mb2NhbFBvaW50Py55IHx8IDUwLFxuICB9KVxuICBjb25zdCBbY2hlY2tCb3VuZHMsIHNldENoZWNrQm91bmRzXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbb3JpZ2luYWxIZWlnaHQsIHNldE9yaWdpbmFsSGVpZ2h0XSA9IHVzZVN0YXRlPG51bWJlcj4oMClcbiAgY29uc3QgW29yaWdpbmFsV2lkdGgsIHNldE9yaWdpbmFsV2lkdGhdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuXG4gIGNvbnN0IGZvY2FsV3JhcFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZD4oKVxuICBjb25zdCBpbWFnZVJlZiA9IHVzZVJlZjxIVE1MSW1hZ2VFbGVtZW50IHwgdW5kZWZpbmVkPigpXG4gIGNvbnN0IGNyb3BSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcblxuICBjb25zdCBmaW5lVHVuZUNyb3AgPSAoeyBkaW1lbnNpb24sIHZhbHVlIH06IHsgZGltZW5zaW9uOiAnaGVpZ2h0JyB8ICd3aWR0aCc7IHZhbHVlOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IGludFZhbHVlID0gcGFyc2VJbnQodmFsdWUpXG4gICAgaWYgKGRpbWVuc2lvbiA9PT0gJ3dpZHRoJyAmJiBpbnRWYWx1ZSA+PSBvcmlnaW5hbFdpZHRoKSByZXR1cm4gbnVsbFxuICAgIGlmIChkaW1lbnNpb24gPT09ICdoZWlnaHQnICYmIGludFZhbHVlID49IG9yaWdpbmFsSGVpZ2h0KSByZXR1cm4gbnVsbFxuXG4gICAgY29uc3QgcGVyY2VudGFnZSA9IDEwMCAqIChpbnRWYWx1ZSAvIChkaW1lbnNpb24gPT09ICd3aWR0aCcgPyBvcmlnaW5hbFdpZHRoIDogb3JpZ2luYWxIZWlnaHQpKVxuXG4gICAgaWYgKHBlcmNlbnRhZ2UgPT09IDEwMCB8fCBwZXJjZW50YWdlID09PSAwKSByZXR1cm4gbnVsbFxuXG4gICAgc2V0Q3JvcCh7XG4gICAgICAuLi5jcm9wLFxuICAgICAgW2RpbWVuc2lvbl06IHBlcmNlbnRhZ2UsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbmVUdW5lRm9jYWxQb2ludCA9ICh7IGNvb3JkaW5hdGUsIHZhbHVlIH06IHsgY29vcmRpbmF0ZTogJ3gnIHwgJ3knOyB2YWx1ZTogc3RyaW5nIH0pID0+IHtcbiAgICBjb25zdCBpbnRWYWx1ZSA9IHBhcnNlSW50KHZhbHVlKVxuICAgIGlmIChpbnRWYWx1ZSA+PSAwICYmIGludFZhbHVlIDw9IDEwMCkge1xuICAgICAgc2V0UG9pbnRQb3NpdGlvbigocHJldlBvc2l0aW9uKSA9PiAoeyAuLi5wcmV2UG9zaXRpb24sIFtjb29yZGluYXRlXTogaW50VmFsdWUgfSkpXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc2F2ZUVkaXRzID0gKCkgPT4ge1xuICAgIHNldEZvcm1RdWVyeVBhcmFtcyh7XG4gICAgICAuLi5mb3JtUXVlcnlQYXJhbXMsXG4gICAgICB1cGxvYWRFZGl0czoge1xuICAgICAgICBjcm9wOiBjcm9wIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZm9jYWxQb2ludDogcG9pbnRQb3NpdGlvbiA/IHBvaW50UG9zaXRpb24gOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH0pXG4gICAgY2xvc2VNb2RhbChlZGl0RHJhd2VyU2x1ZylcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ0VuZCA9IFJlYWN0LnVzZUNhbGxiYWNrKCh7IHgsIHkgfSkgPT4ge1xuICAgIHNldFBvaW50UG9zaXRpb24oeyB4LCB5IH0pXG4gICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNlbnRlckZvY2FsUG9pbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGZvY2FsV3JhcFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgY29uc3QgYm91bmRzUmVjdCA9IHNob3dDcm9wXG4gICAgICA/IGNyb3BSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgOiBpbWFnZVJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgY29uc3QgeENlbnRlciA9XG4gICAgICAoKGJvdW5kc1JlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIGJvdW5kc1JlY3Qud2lkdGggLyAyKSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAoKGJvdW5kc1JlY3QudG9wIC0gY29udGFpbmVyUmVjdC50b3AgKyBib3VuZHNSZWN0LmhlaWdodCAvIDIpIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgc2V0UG9pbnRQb3NpdGlvbih7IHg6IHhDZW50ZXIsIHk6IHlDZW50ZXIgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbGVTcmNUb1VzZSA9IGltYWdlQ2FjaGVUYWcgPyBgJHtmaWxlU3JjfT8ke2ltYWdlQ2FjaGVUYWd9YCA6IGZpbGVTcmNcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcmB9PlxuICAgICAgICA8aDIgdGl0bGU9e2Ake3QoJ2dlbmVyYWw6ZWRpdGluZycpfSAke2ZpbGVOYW1lfWB9PlxuICAgICAgICAgIHt0KCdnZW5lcmFsOmVkaXRpbmcnKX0ge2ZpbGVOYW1lfVxuICAgICAgICA8L2gyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9uc2B9PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2dlbmVyYWw6Y2FuY2VsJyl9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NhbmNlbGB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmFwcGx5Q2hhbmdlcycpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2F2ZWB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzYXZlRWRpdHMoKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDphcHBseUNoYW5nZXMnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b29sV3JhcGB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY3JvcGB9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZm9jYWwtd3JhcHBlcmB9XG4gICAgICAgICAgICByZWY9e2ZvY2FsV3JhcFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGFzcGVjdFJhdGlvOiBgJHtvcmlnaW5hbFdpZHRoIC8gb3JpZ2luYWxIZWlnaHR9YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3Nob3dDcm9wID8gKFxuICAgICAgICAgICAgICA8UmVhY3RDcm9wXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZWFjdENyb3BgfVxuICAgICAgICAgICAgICAgIGNyb3A9e2Nyb3B9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhfLCBjKSA9PiBzZXRDcm9wKGMpfVxuICAgICAgICAgICAgICAgIG9uQ29tcGxldGU9eygpID0+IHNldENoZWNrQm91bmRzKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlbmRlclNlbGVjdGlvbkFkZG9uPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nyb3Atd2luZG93YH0gcmVmPXtjcm9wUmVmfSAvPlxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBhbHQ9e3QoJ3VwbG9hZDpzZXRDcm9wQXJlYScpfVxuICAgICAgICAgICAgICAgICAgb25Mb2FkPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRPcmlnaW5hbEhlaWdodChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgc2V0T3JpZ2luYWxXaWR0aChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbFdpZHRoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17aW1hZ2VSZWZ9XG4gICAgICAgICAgICAgICAgICBzcmM9e2ZpbGVTcmNUb1VzZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1JlYWN0Q3JvcD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9e3QoJ3VwbG9hZDpzZXRGb2NhbFBvaW50Jyl9XG4gICAgICAgICAgICAgICAgb25Mb2FkPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgc2V0T3JpZ2luYWxIZWlnaHQoZS5jdXJyZW50VGFyZ2V0Lm5hdHVyYWxIZWlnaHQpXG4gICAgICAgICAgICAgICAgICBzZXRPcmlnaW5hbFdpZHRoKGUuY3VycmVudFRhcmdldC5uYXR1cmFsV2lkdGgpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICByZWY9e2ltYWdlUmVmfVxuICAgICAgICAgICAgICAgIHNyYz17ZmlsZVNyY1RvVXNlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtzaG93Rm9jYWxQb2ludCAmJiAoXG4gICAgICAgICAgICAgIDxEcmFnZ2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgYm91bmRzUmVmPXtzaG93Q3JvcCA/IGNyb3BSZWYgOiBpbWFnZVJlZn1cbiAgICAgICAgICAgICAgICBjaGVja0JvdW5kcz17c2hvd0Nyb3AgPyBjaGVja0JvdW5kcyA6IGZhbHNlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZm9jYWxQb2ludGB9XG4gICAgICAgICAgICAgICAgY29udGFpbmVyUmVmPXtmb2NhbFdyYXBSZWZ9XG4gICAgICAgICAgICAgICAgaW5pdGlhbFBvc2l0aW9uPXtwb2ludFBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIG9uRHJhZ0VuZD17b25EcmFnRW5kfVxuICAgICAgICAgICAgICAgIHNldENoZWNrQm91bmRzPXtzaG93Q3JvcCA/IHNldENoZWNrQm91bmRzIDogZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGx1cyAvPlxuICAgICAgICAgICAgICA8L0RyYWdnYWJsZUVsZW1lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgeyhzaG93Q3JvcCB8fCBzaG93Rm9jYWxQb2ludCkgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyYH0+XG4gICAgICAgICAgICB7c2hvd0Nyb3AgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Y3JvcCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRDcm9wKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQ6ICclJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6cmVzZXQnKX1cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Rlc2NyaXB0aW9uYH0+XG4gICAgICAgICAgICAgICAgICB7dCgndXBsb2FkOmNyb3BUb29sRGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0c1dyYXBgfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtgJHt0KCd1cGxvYWQ6d2lkdGgnKX0gKHB4KWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lQ3JvcCh7IGRpbWVuc2lvbjogJ3dpZHRoJywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3Aud2lkdGggLyAxMDApICogb3JpZ2luYWxXaWR0aCkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17YCR7dCgndXBsb2FkOmhlaWdodCcpfSAocHgpYH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gZmluZVR1bmVDcm9wKHsgZGltZW5zaW9uOiAnaGVpZ2h0JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3AuaGVpZ2h0IC8gMTAwKSAqIG9yaWdpbmFsSGVpZ2h0KS50b0ZpeGVkKDApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Zm9jYWxQb2ludCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NlbnRlckZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpyZXNldCcpfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGVzY3JpcHRpb25gfT5cbiAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6Zm9jYWxQb2ludERlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNXcmFwYH0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlggJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb2ludCh7IGNvb3JkaW5hdGU6ICd4JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwb2ludFBvc2l0aW9uLngudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlkgJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb2ludCh7IGNvb3JkaW5hdGU6ICd5JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwb2ludFBvc2l0aW9uLnkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyYWdnYWJsZUVsZW1lbnQgPSAoe1xuICBib3VuZHNSZWYsXG4gIGNoZWNrQm91bmRzLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjb250YWluZXJSZWYsXG4gIGluaXRpYWxQb3NpdGlvbiA9IHsgeDogNTAsIHk6IDUwIH0sXG4gIG9uRHJhZ0VuZCxcbiAgc2V0Q2hlY2tCb3VuZHMsXG59KSA9PiB7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgY29uc3QgW2lzRHJhZ2dpbmcsIHNldElzRHJhZ2dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGRyYWdSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcblxuICBjb25zdCBnZXRDb29yZGluYXRlcyA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChtb3VzZVhBcmc/OiBudW1iZXIsIG1vdXNlWUFyZz86IG51bWJlciwgcmVjZW50ZXI/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGJvdW5kc1JlY3QgPSBib3VuZHNSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbW91c2VYID0gbW91c2VYQXJnID8/IGJvdW5kc1JlY3QubGVmdFxuICAgICAgY29uc3QgbW91c2VZID0gbW91c2VZQXJnID8/IGJvdW5kc1JlY3QudG9wXG5cbiAgICAgIGNvbnN0IHhPdXRPZkJvdW5kcyA9IG1vdXNlWCA8IGJvdW5kc1JlY3QubGVmdCB8fCBtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0XG4gICAgICBjb25zdCB5T3V0T2ZCb3VuZHMgPSBtb3VzZVkgPCBib3VuZHNSZWN0LnRvcCB8fCBtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbVxuXG4gICAgICBsZXQgeCA9ICgobW91c2VYIC0gY29udGFpbmVyUmVjdC5sZWZ0KSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgICBsZXQgeSA9ICgobW91c2VZIC0gY29udGFpbmVyUmVjdC50b3ApIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICAgKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBib3VuZHNSZWN0LndpZHRoIC8gMikgLyBjb250YWluZXJSZWN0LndpZHRoKSAqIDEwMFxuICAgICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgIGlmICh4T3V0T2ZCb3VuZHMgfHwgeU91dE9mQm91bmRzKSB7XG4gICAgICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgICAgIGlmIChtb3VzZVggPCBib3VuZHNSZWN0LmxlZnQpIHtcbiAgICAgICAgICB4ID0gKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgeCA9XG4gICAgICAgICAgICAoKGNvbnRhaW5lclJlY3Qud2lkdGggLSAoY29udGFpbmVyUmVjdC5yaWdodCAtIGJvdW5kc1JlY3QucmlnaHQpKSAvXG4gICAgICAgICAgICAgIGNvbnRhaW5lclJlY3Qud2lkdGgpICpcbiAgICAgICAgICAgIDEwMFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vdXNlWSA8IGJvdW5kc1JlY3QudG9wKSB7XG4gICAgICAgICAgeSA9ICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCkgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbSkge1xuICAgICAgICAgIHkgPVxuICAgICAgICAgICAgKChjb250YWluZXJSZWN0LmhlaWdodCAtIChjb250YWluZXJSZWN0LmJvdHRvbSAtIGJvdW5kc1JlY3QuYm90dG9tKSkgL1xuICAgICAgICAgICAgICBjb250YWluZXJSZWN0LmhlaWdodCkgKlxuICAgICAgICAgICAgMTAwXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjZW50ZXIpIHtcbiAgICAgICAgICB4ID0geE91dE9mQm91bmRzID8geENlbnRlciA6IHhcbiAgICAgICAgICB5ID0geU91dE9mQm91bmRzID8geUNlbnRlciA6IHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4geyB4LCB5IH1cbiAgICB9LFxuICAgIFtib3VuZHNSZWYsIGNvbnRhaW5lclJlZl0sXG4gIClcblxuICBjb25zdCBoYW5kbGVNb3VzZURvd24gPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0SXNEcmFnZ2luZyh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcblxuICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICB9XG5cbiAgY29uc3Qgb25Ecm9wID0gKCkgPT4ge1xuICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgb25EcmFnRW5kKHBvc2l0aW9uKVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcmFnZ2luZyB8fCAhZHJhZ1JlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoY2hlY2tCb3VuZHMpIHtcbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBsZWZ0LCB0b3AsIHdpZHRoIH0gPSBkcmFnUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMobGVmdCArIHdpZHRoIC8gMiwgdG9wICsgaGVpZ2h0IC8gMiwgdHJ1ZSlcbiAgICAgIG9uRHJhZ0VuZCh7IHgsIHkgfSlcbiAgICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICAgICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0sIFtnZXRDb29yZGluYXRlcywgaXNEcmFnZ2luZywgY2hlY2tCb3VuZHMsIHNldENoZWNrQm91bmRzLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBvbkRyYWdFbmRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb24oeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgfSwgW2luaXRpYWxQb3NpdGlvbi54LCBpbml0aWFsUG9zaXRpb24ueV0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lcmAsXG4gICAgICAgIGlzRHJhZ2dpbmcgJiYgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lci0tZHJhZ2dpbmdgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBvbk1vdXNlTW92ZT17aGFuZGxlTW91c2VNb3ZlfVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlYCwgY2xhc3NOYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlTW91c2VEb3dufVxuICAgICAgICBvbk1vdXNlVXA9e29uRHJvcH1cbiAgICAgICAgcmVmPXtkcmFnUmVmfVxuICAgICAgICBzdHlsZT17eyBsZWZ0OiBgJHtwb3NpdGlvbi54fSVgLCB0b3A6IGAke3Bvc2l0aW9uLnl9JWAgfX1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRWRpdFVwbG9hZCIsImJhc2VDbGFzcyIsIklucHV0IiwibmFtZSIsIm9uQ2hhbmdlIiwidmFsdWUiLCJkaXYiLCJjbGFzc05hbWUiLCJpbnB1dCIsImUiLCJ0YXJnZXQiLCJ0eXBlIiwiZmlsZU5hbWUiLCJmaWxlU3JjIiwiaW1hZ2VDYWNoZVRhZyIsInNob3dDcm9wIiwic2hvd0ZvY2FsUG9pbnQiLCJjbG9zZU1vZGFsIiwidXNlTW9kYWwiLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJmb3JtUXVlcnlQYXJhbXMiLCJzZXRGb3JtUXVlcnlQYXJhbXMiLCJ1c2VGb3JtUXVlcnlQYXJhbXMiLCJ1cGxvYWRFZGl0cyIsImNyb3AiLCJzZXRDcm9wIiwidXNlU3RhdGUiLCJoZWlnaHQiLCJ1bml0Iiwid2lkdGgiLCJ4IiwieSIsInBvaW50UG9zaXRpb24iLCJzZXRQb2ludFBvc2l0aW9uIiwiZm9jYWxQb2ludCIsImNoZWNrQm91bmRzIiwic2V0Q2hlY2tCb3VuZHMiLCJvcmlnaW5hbEhlaWdodCIsInNldE9yaWdpbmFsSGVpZ2h0Iiwib3JpZ2luYWxXaWR0aCIsInNldE9yaWdpbmFsV2lkdGgiLCJmb2NhbFdyYXBSZWYiLCJ1c2VSZWYiLCJpbWFnZVJlZiIsImNyb3BSZWYiLCJmaW5lVHVuZUNyb3AiLCJkaW1lbnNpb24iLCJpbnRWYWx1ZSIsInBhcnNlSW50IiwicGVyY2VudGFnZSIsImZpbmVUdW5lRm9jYWxQb2ludCIsImNvb3JkaW5hdGUiLCJwcmV2UG9zaXRpb24iLCJzYXZlRWRpdHMiLCJ1bmRlZmluZWQiLCJlZGl0RHJhd2VyU2x1ZyIsIm9uRHJhZ0VuZCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJjZW50ZXJGb2NhbFBvaW50IiwiY29udGFpbmVyUmVjdCIsImN1cnJlbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZHNSZWN0IiwieENlbnRlciIsImxlZnQiLCJ5Q2VudGVyIiwidG9wIiwiZmlsZVNyY1RvVXNlIiwiaDIiLCJ0aXRsZSIsIkJ1dHRvbiIsImFyaWEtbGFiZWwiLCJidXR0b25TdHlsZSIsIm9uQ2xpY2siLCJyZWYiLCJzdHlsZSIsImFzcGVjdFJhdGlvIiwiUmVhY3RDcm9wIiwiXyIsImMiLCJvbkNvbXBsZXRlIiwicmVuZGVyU2VsZWN0aW9uQWRkb24iLCJpbWciLCJhbHQiLCJvbkxvYWQiLCJjdXJyZW50VGFyZ2V0IiwibmF0dXJhbEhlaWdodCIsIm5hdHVyYWxXaWR0aCIsInNyYyIsIkRyYWdnYWJsZUVsZW1lbnQiLCJib3VuZHNSZWYiLCJjb250YWluZXJSZWYiLCJpbml0aWFsUG9zaXRpb24iLCJQbHVzIiwiaDMiLCJzcGFuIiwidG9GaXhlZCIsImNoaWxkcmVuIiwicG9zaXRpb24iLCJzZXRQb3NpdGlvbiIsImlzRHJhZ2dpbmciLCJzZXRJc0RyYWdnaW5nIiwiZHJhZ1JlZiIsImdldENvb3JkaW5hdGVzIiwibW91c2VYQXJnIiwibW91c2VZQXJnIiwicmVjZW50ZXIiLCJtb3VzZVgiLCJtb3VzZVkiLCJ4T3V0T2ZCb3VuZHMiLCJyaWdodCIsInlPdXRPZkJvdW5kcyIsImJvdHRvbSIsImhhbmRsZU1vdXNlRG93biIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVNb3VzZU1vdmUiLCJjbGllbnRYIiwiY2xpZW50WSIsIm9uRHJvcCIsInVzZUVmZmVjdCIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwib25Nb3VzZU1vdmUiLCJidXR0b24iLCJvbk1vdXNlRG93biIsIm9uTW91c2VVcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OytCQTRCYUE7OztlQUFBQTs7O3VCQXpCWTsrREFDZTt1RUFDUztRQUMxQzt3QkFFd0I7c0JBQ1Y7aUNBQ2M7NkJBQ0o7d0JBQ1I7UUFDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxRQUFzRixDQUFDLEVBQzNGQyxJQUFJLEVBQ0pDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLGlCQUNDLDZCQUFDQztRQUFJQyxXQUFXLENBQUMsRUFBRU4sVUFBVSxPQUFPLENBQUM7T0FDbENFLG9CQUNELDZCQUFDSztRQUFNTCxNQUFNQTtRQUFNQyxVQUFVLENBQUNLLElBQU1MLFNBQVNLLEVBQUVDLE1BQU0sQ0FBQ0wsS0FBSztRQUFHTSxNQUFLO1FBQVNOLE9BQU9BOztBQUloRixNQUFNTCxhQU9SLENBQUMsRUFBRVksUUFBUSxFQUFFQyxPQUFPLEVBQUVDLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxjQUFjLEVBQUU7SUFDbEUsTUFBTSxFQUFFQyxVQUFVLEVBQUUsR0FBR0MsSUFBQUEsZUFBUTtJQUMvQixNQUFNLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSwyQkFBYztJQUM1QixNQUFNLEVBQUVDLGVBQWUsRUFBRUMsa0JBQWtCLEVBQUUsR0FBR0MsSUFBQUEsbUNBQWtCO0lBQ2xFLE1BQU0sRUFBRUMsV0FBVyxFQUFFLEdBQUdILG1CQUFtQixDQUFDO0lBQzVDLE1BQU0sQ0FBQ0ksTUFBTUMsUUFBUSxHQUFHQyxJQUFBQSxlQUFRLEVBQVc7UUFDekNDLFFBQVFKLGFBQWFDLE1BQU1HLFVBQVU7UUFDckNDLE1BQU07UUFDTkMsT0FBT04sYUFBYUMsTUFB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
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0VXBsb2FkL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSBDcm9wVHlwZSBmcm9tICdyZWFjdC1pbWFnZS1jcm9wJ1xuXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBSZWFjdCwgeyB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RDcm9wIGZyb20gJ3JlYWN0LWltYWdlLWNyb3AnXG5pbXBvcnQgJ3JlYWN0LWltYWdlLWNyb3AvZGlzdC9SZWFjdENyb3AuY3NzJ1xuXG5pbXBvcnQgeyBlZGl0RHJhd2VyU2x1ZyB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1VwbG9hZC9pbmRleC5qcydcbmltcG9ydCB7IFBsdXMgfSBmcm9tICcuLi8uLi9pY29ucy9QbHVzL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlRm9ybVF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0Zvcm1RdWVyeVBhcmFtcy9pbmRleC5qcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RyYW5zbGF0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uL2luZGV4LmpzJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdlZGl0LXVwbG9hZCdcblxuY29uc3QgSW5wdXQ6IFJlYWN0LkZDPHsgbmFtZTogc3RyaW5nOyBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7IHZhbHVlOiBzdHJpbmcgfT4gPSAoe1xuICBuYW1lLFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG59KSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dGB9PlxuICAgIHtuYW1lfVxuICAgIDxpbnB1dCBuYW1lPXtuYW1lfSBvbkNoYW5nZT17KGUpID0+IG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlKX0gdHlwZT1cIm51bWJlclwiIHZhbHVlPXt2YWx1ZX0gLz5cbiAgPC9kaXY+XG4pXG5cbmV4cG9ydCBjb25zdCBFZGl0VXBsb2FkOiBSZWFjdC5GQzx7XG4gIGRvYz86IERhdGFcbiAgZmlsZU5hbWU6IHN0cmluZ1xuICBmaWxlU3JjOiBzdHJpbmdcbiAgaW1hZ2VDYWNoZVRhZz86IHN0cmluZ1xuICBzaG93Q3JvcD86IGJvb2xlYW5cbiAgc2hvd0ZvY2FsUG9pbnQ/OiBib29sZWFuXG59PiA9ICh7IGZpbGVOYW1lLCBmaWxlU3JjLCBpbWFnZUNhY2hlVGFnLCBzaG93Q3JvcCwgc2hvd0ZvY2FsUG9pbnQgfSkgPT4ge1xuICBjb25zdCB7IE1vZGFsLCB1c2VNb2RhbCB9ID0gZmFjZWxlc3NVSUltcG9ydFxuXG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBkaXNwYXRjaEZvcm1RdWVyeVBhcmFtcywgZm9ybVF1ZXJ5UGFyYW1zIH0gPSB1c2VGb3JtUXVlcnlQYXJhbXMoKVxuICBjb25zdCB7IHVwbG9hZEVkaXRzIH0gPSBmb3JtUXVlcnlQYXJhbXMgfHwge31cbiAgY29uc3QgW2Nyb3AsIHNldENyb3BdID0gdXNlU3RhdGU8Q3JvcFR5cGU+KHtcbiAgICBoZWlnaHQ6IHVwbG9hZEVkaXRzPy5jcm9wPy5oZWlnaHQgfHwgMTAwLFxuICAgIHVuaXQ6ICclJyxcbiAgICB3aWR0aDogdXBsb2FkRWRpdHM/LmNyb3A/LndpZHRoIHx8IDEwMCxcbiAgICB4OiB1cGxvYWRFZGl0cz8uY3JvcD8ueCB8fCAwLFxuICAgIHk6IHVwbG9hZEVkaXRzPy5jcm9wPy55IHx8IDAsXG4gIH0pXG5cbiAgY29uc3QgW3BvaW50UG9zaXRpb24sIHNldFBvaW50UG9zaXRpb25dID0gdXNlU3RhdGU8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pih7XG4gICAgeDogdXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQ/LnggfHwgNTAsXG4gICAgeTogdXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQ/LnkgfHwgNTAsXG4gIH0pXG4gIGNvbnN0IFtjaGVja0JvdW5kcywgc2V0Q2hlY2tCb3VuZHNdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtvcmlnaW5hbEhlaWdodCwgc2V0T3JpZ2luYWxIZWlnaHRdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuICBjb25zdCBbb3JpZ2luYWxXaWR0aCwgc2V0T3JpZ2luYWxXaWR0aF0gPSB1c2VTdGF0ZTxudW1iZXI+KDApXG5cbiAgY29uc3QgZm9jYWxXcmFwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkPigpXG4gIGNvbnN0IGltYWdlUmVmID0gdXNlUmVmPEhUTUxJbWFnZUVsZW1lbnQgfCB1bmRlZmluZWQ+KClcbiAgY29uc3QgY3JvcFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZD4oKVxuXG4gIGNvbnN0IGZpbmVUdW5lQ3JvcCA9ICh7IGRpbWVuc2lvbiwgdmFsdWUgfTogeyBkaW1lbnNpb246ICdoZWlnaHQnIHwgJ3dpZHRoJzsgdmFsdWU6IHN0cmluZyB9KSA9PiB7XG4gICAgY29uc3QgaW50VmFsdWUgPSBwYXJzZUludCh2YWx1ZSlcbiAgICBpZiAoZGltZW5zaW9uID09PSAnd2lkdGgnICYmIGludFZhbHVlID49IG9yaWdpbmFsV2lkdGgpIHJldHVybiBudWxsXG4gICAgaWYgKGRpbWVuc2lvbiA9PT0gJ2hlaWdodCcgJiYgaW50VmFsdWUgPj0gb3JpZ2luYWxIZWlnaHQpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBwZXJjZW50YWdlID0gMTAwICogKGludFZhbHVlIC8gKGRpbWVuc2lvbiA9PT0gJ3dpZHRoJyA/IG9yaWdpbmFsV2lkdGggOiBvcmlnaW5hbEhlaWdodCkpXG5cbiAgICBpZiAocGVyY2VudGFnZSA9PT0gMTAwIHx8IHBlcmNlbnRhZ2UgPT09IDApIHJldHVybiBudWxsXG5cbiAgICBzZXRDcm9wKHtcbiAgICAgIC4uLmNyb3AsXG4gICAgICBbZGltZW5zaW9uXTogcGVyY2VudGFnZSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgZmluZVR1bmVGb2NhbFBvaW50ID0gKHsgY29vcmRpbmF0ZSwgdmFsdWUgfTogeyBjb29yZGluYXRlOiAneCcgfCAneSc7IHZhbHVlOiBzdHJpbmcgfSkgPT4ge1xuICAgIGNvbnN0IGludFZhbHVlID0gcGFyc2VJbnQodmFsdWUpXG4gICAgaWYgKGludFZhbHVlID49IDAgJiYgaW50VmFsdWUgPD0gMTAwKSB7XG4gICAgICBzZXRQb2ludFBvc2l0aW9uKChwcmV2UG9zaXRpb24pID0+ICh7IC4uLnByZXZQb3NpdGlvbiwgW2Nvb3JkaW5hdGVdOiBpbnRWYWx1ZSB9KSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBzYXZlRWRpdHMgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2hGb3JtUXVlcnlQYXJhbXMoe1xuICAgICAgdHlwZTogJ1NFVCcsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgdXBsb2FkRWRpdHM6XG4gICAgICAgICAgY3JvcCB8fCBwb2ludFBvc2l0aW9uXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBjcm9wOiBjcm9wIHx8IG51bGwsXG4gICAgICAgICAgICAgICAgZm9jYWxQb2ludDogcG9pbnRQb3NpdGlvbiA/IHBvaW50UG9zaXRpb24gOiBudWxsLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IG51bGwsXG4gICAgICB9LFxuICAgIH0pXG4gICAgY2xvc2VNb2RhbChlZGl0RHJhd2VyU2x1ZylcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ0VuZCA9IFJlYWN0LnVzZUNhbGxiYWNrKCh7IHgsIHkgfSkgPT4ge1xuICAgIHNldFBvaW50UG9zaXRpb24oeyB4LCB5IH0pXG4gICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNlbnRlckZvY2FsUG9pbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGZvY2FsV3JhcFJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgY29uc3QgYm91bmRzUmVjdCA9IHNob3dDcm9wXG4gICAgICA/IGNyb3BSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgOiBpbWFnZVJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgY29uc3QgeENlbnRlciA9XG4gICAgICAoKGJvdW5kc1JlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIGJvdW5kc1JlY3Qud2lkdGggLyAyKSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAoKGJvdW5kc1JlY3QudG9wIC0gY29udGFpbmVyUmVjdC50b3AgKyBib3VuZHNSZWN0LmhlaWdodCAvIDIpIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgc2V0UG9pbnRQb3NpdGlvbih7IHg6IHhDZW50ZXIsIHk6IHlDZW50ZXIgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbGVTcmNUb1VzZSA9IGltYWdlQ2FjaGVUYWcgPyBgJHtmaWxlU3JjfT8ke2ltYWdlQ2FjaGVUYWd9YCA6IGZpbGVTcmNcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcmB9PlxuICAgICAgICA8aDIgdGl0bGU9e2Ake3QoJ2dlbmVyYWw6ZWRpdGluZycpfSAke2ZpbGVOYW1lfWB9PlxuICAgICAgICAgIHt0KCdnZW5lcmFsOmVkaXRpbmcnKX0ge2ZpbGVOYW1lfVxuICAgICAgICA8L2gyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9uc2B9PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ2dlbmVyYWw6Y2FuY2VsJyl9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NhbmNlbGB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGVkaXREcmF3ZXJTbHVnKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDpjYW5jZWwnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmFwcGx5Q2hhbmdlcycpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2F2ZWB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzYXZlRWRpdHMoKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dCgnZ2VuZXJhbDphcHBseUNoYW5nZXMnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b29sV3JhcGB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY3JvcGB9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZm9jYWwtd3JhcHBlcmB9XG4gICAgICAgICAgICByZWY9e2ZvY2FsV3JhcFJlZn1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGFzcGVjdFJhdGlvOiBgJHtvcmlnaW5hbFdpZHRoIC8gb3JpZ2luYWxIZWlnaHR9YCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3Nob3dDcm9wID8gKFxuICAgICAgICAgICAgICA8UmVhY3RDcm9wXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZWFjdENyb3BgfVxuICAgICAgICAgICAgICAgIGNyb3A9e2Nyb3B9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhfLCBjKSA9PiBzZXRDcm9wKGMpfVxuICAgICAgICAgICAgICAgIG9uQ29tcGxldGU9eygpID0+IHNldENoZWNrQm91bmRzKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlbmRlclNlbGVjdGlvbkFkZG9uPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nyb3Atd2luZG93YH0gcmVmPXtjcm9wUmVmfSAvPlxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBhbHQ9e3QoJ3VwbG9hZDpzZXRDcm9wQXJlYScpfVxuICAgICAgICAgICAgICAgICAgb25Mb2FkPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRPcmlnaW5hbEhlaWdodChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgc2V0T3JpZ2luYWxXaWR0aChlLmN1cnJlbnRUYXJnZXQubmF0dXJhbFdpZHRoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHJlZj17aW1hZ2VSZWZ9XG4gICAgICAgICAgICAgICAgICBzcmM9e2ZpbGVTcmNUb1VzZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1JlYWN0Q3JvcD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9e3QoJ3VwbG9hZDpzZXRGb2NhbFBvaW50Jyl9XG4gICAgICAgICAgICAgICAgb25Mb2FkPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgc2V0T3JpZ2luYWxIZWlnaHQoZS5jdXJyZW50VGFyZ2V0Lm5hdHVyYWxIZWlnaHQpXG4gICAgICAgICAgICAgICAgICBzZXRPcmlnaW5hbFdpZHRoKGUuY3VycmVudFRhcmdldC5uYXR1cmFsV2lkdGgpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICByZWY9e2ltYWdlUmVmfVxuICAgICAgICAgICAgICAgIHNyYz17ZmlsZVNyY1RvVXNlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtzaG93Rm9jYWxQb2ludCAmJiAoXG4gICAgICAgICAgICAgIDxEcmFnZ2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgYm91bmRzUmVmPXtzaG93Q3JvcCA/IGNyb3BSZWYgOiBpbWFnZVJlZn1cbiAgICAgICAgICAgICAgICBjaGVja0JvdW5kcz17c2hvd0Nyb3AgPyBjaGVja0JvdW5kcyA6IGZhbHNlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZm9jYWxQb2ludGB9XG4gICAgICAgICAgICAgICAgY29udGFpbmVyUmVmPXtmb2NhbFdyYXBSZWZ9XG4gICAgICAgICAgICAgICAgaW5pdGlhbFBvc2l0aW9uPXtwb2ludFBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIG9uRHJhZ0VuZD17b25EcmFnRW5kfVxuICAgICAgICAgICAgICAgIHNldENoZWNrQm91bmRzPXtzaG93Q3JvcCA/IHNldENoZWNrQm91bmRzIDogZmFsc2V9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGx1cyAvPlxuICAgICAgICAgICAgICA8L0RyYWdnYWJsZUVsZW1lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgeyhzaG93Q3JvcCB8fCBzaG93Rm9jYWxQb2ludCkgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyYH0+XG4gICAgICAgICAgICB7c2hvd0Nyb3AgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Y3JvcCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRDcm9wKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQ6ICclJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6cmVzZXQnKX1cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Rlc2NyaXB0aW9uYH0+XG4gICAgICAgICAgICAgICAgICB7dCgndXBsb2FkOmNyb3BUb29sRGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2lucHV0c1dyYXBgfT5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtgJHt0KCd1cGxvYWQ6d2lkdGgnKX0gKHB4KWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lQ3JvcCh7IGRpbWVuc2lvbjogJ3dpZHRoJywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3Aud2lkdGggLyAxMDApICogb3JpZ2luYWxXaWR0aCkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17YCR7dCgndXBsb2FkOmhlaWdodCcpfSAocHgpYH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gZmluZVR1bmVDcm9wKHsgZGltZW5zaW9uOiAnaGVpZ2h0JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXsoKGNyb3AuaGVpZ2h0IC8gMTAwKSAqIG9yaWdpbmFsSGVpZ2h0KS50b0ZpeGVkKDApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7c2hvd0ZvY2FsUG9pbnQgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZ3JvdXBXcmFwYH0+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190aXRsZVdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGgzPnt0KCd1cGxvYWQ6Zm9jYWxQb2ludCcpfTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcmVzZXRgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NlbnRlckZvY2FsUG9pbnR9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpyZXNldCcpfVxuICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZGVzY3JpcHRpb25gfT5cbiAgICAgICAgICAgICAgICAgIHt0KCd1cGxvYWQ6Zm9jYWxQb2ludERlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNXcmFwYH0+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlggJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb2ludCh7IGNvb3JkaW5hdGU6ICd4JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwb2ludFBvc2l0aW9uLngudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cIlkgJVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IGZpbmVUdW5lRm9jYWxQb2ludCh7IGNvb3JkaW5hdGU6ICd5JywgdmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwb2ludFBvc2l0aW9uLnkudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmNvbnN0IERyYWdnYWJsZUVsZW1lbnQgPSAoe1xuICBib3VuZHNSZWYsXG4gIGNoZWNrQm91bmRzLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBjb250YWluZXJSZWYsXG4gIGluaXRpYWxQb3NpdGlvbiA9IHsgeDogNTAsIHk6IDUwIH0sXG4gIG9uRHJhZ0VuZCxcbiAgc2V0Q2hlY2tCb3VuZHMsXG59KSA9PiB7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgY29uc3QgW2lzRHJhZ2dpbmcsIHNldElzRHJhZ2dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGRyYWdSZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQ+KClcblxuICBjb25zdCBnZXRDb29yZGluYXRlcyA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChtb3VzZVhBcmc/OiBudW1iZXIsIG1vdXNlWUFyZz86IG51bWJlciwgcmVjZW50ZXI/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IGJvdW5kc1JlY3QgPSBib3VuZHNSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbW91c2VYID0gbW91c2VYQXJnID8/IGJvdW5kc1JlY3QubGVmdFxuICAgICAgY29uc3QgbW91c2VZID0gbW91c2VZQXJnID8/IGJvdW5kc1JlY3QudG9wXG5cbiAgICAgIGNvbnN0IHhPdXRPZkJvdW5kcyA9IG1vdXNlWCA8IGJvdW5kc1JlY3QubGVmdCB8fCBtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0XG4gICAgICBjb25zdCB5T3V0T2ZCb3VuZHMgPSBtb3VzZVkgPCBib3VuZHNSZWN0LnRvcCB8fCBtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbVxuXG4gICAgICBsZXQgeCA9ICgobW91c2VYIC0gY29udGFpbmVyUmVjdC5sZWZ0KSAvIGNvbnRhaW5lclJlY3Qud2lkdGgpICogMTAwXG4gICAgICBsZXQgeSA9ICgobW91c2VZIC0gY29udGFpbmVyUmVjdC50b3ApIC8gY29udGFpbmVyUmVjdC5oZWlnaHQpICogMTAwXG4gICAgICBjb25zdCB4Q2VudGVyID1cbiAgICAgICAgKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQgKyBib3VuZHNSZWN0LndpZHRoIC8gMikgLyBjb250YWluZXJSZWN0LndpZHRoKSAqIDEwMFxuICAgICAgY29uc3QgeUNlbnRlciA9XG4gICAgICAgICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCArIGJvdW5kc1JlY3QuaGVpZ2h0IC8gMikgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgIGlmICh4T3V0T2ZCb3VuZHMgfHwgeU91dE9mQm91bmRzKSB7XG4gICAgICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgICAgIGlmIChtb3VzZVggPCBib3VuZHNSZWN0LmxlZnQpIHtcbiAgICAgICAgICB4ID0gKChib3VuZHNSZWN0LmxlZnQgLSBjb250YWluZXJSZWN0LmxlZnQpIC8gY29udGFpbmVyUmVjdC53aWR0aCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVggPiBib3VuZHNSZWN0LnJpZ2h0KSB7XG4gICAgICAgICAgeCA9XG4gICAgICAgICAgICAoKGNvbnRhaW5lclJlY3Qud2lkdGggLSAoY29udGFpbmVyUmVjdC5yaWdodCAtIGJvdW5kc1JlY3QucmlnaHQpKSAvXG4gICAgICAgICAgICAgIGNvbnRhaW5lclJlY3Qud2lkdGgpICpcbiAgICAgICAgICAgIDEwMFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vdXNlWSA8IGJvdW5kc1JlY3QudG9wKSB7XG4gICAgICAgICAgeSA9ICgoYm91bmRzUmVjdC50b3AgLSBjb250YWluZXJSZWN0LnRvcCkgLyBjb250YWluZXJSZWN0LmhlaWdodCkgKiAxMDBcbiAgICAgICAgfSBlbHNlIGlmIChtb3VzZVkgPiBib3VuZHNSZWN0LmJvdHRvbSkge1xuICAgICAgICAgIHkgPVxuICAgICAgICAgICAgKChjb250YWluZXJSZWN0LmhlaWdodCAtIChjb250YWluZXJSZWN0LmJvdHRvbSAtIGJvdW5kc1JlY3QuYm90dG9tKSkgL1xuICAgICAgICAgICAgICBjb250YWluZXJSZWN0LmhlaWdodCkgKlxuICAgICAgICAgICAgMTAwXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVjZW50ZXIpIHtcbiAgICAgICAgICB4ID0geE91dE9mQm91bmRzID8geENlbnRlciA6IHhcbiAgICAgICAgICB5ID0geU91dE9mQm91bmRzID8geUNlbnRlciA6IHlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4geyB4LCB5IH1cbiAgICB9LFxuICAgIFtib3VuZHNSZWYsIGNvbnRhaW5lclJlZl0sXG4gIClcblxuICBjb25zdCBoYW5kbGVNb3VzZURvd24gPSAoZXZlbnQpID0+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0SXNEcmFnZ2luZyh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm4gbnVsbFxuICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSlcblxuICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICB9XG5cbiAgY29uc3Qgb25Ecm9wID0gKCkgPT4ge1xuICAgIHNldElzRHJhZ2dpbmcoZmFsc2UpXG4gICAgb25EcmFnRW5kKHBvc2l0aW9uKVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNEcmFnZ2luZyB8fCAhZHJhZ1JlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoY2hlY2tCb3VuZHMpIHtcbiAgICAgIGNvbnN0IHsgaGVpZ2h0LCBsZWZ0LCB0b3AsIHdpZHRoIH0gPSBkcmFnUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gZ2V0Q29vcmRpbmF0ZXMobGVmdCArIHdpZHRoIC8gMiwgdG9wICsgaGVpZ2h0IC8gMiwgdHJ1ZSlcbiAgICAgIG9uRHJhZ0VuZCh7IHgsIHkgfSlcbiAgICAgIHNldFBvc2l0aW9uKHsgeCwgeSB9KVxuICAgICAgc2V0Q2hlY2tCb3VuZHMoZmFsc2UpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0sIFtnZXRDb29yZGluYXRlcywgaXNEcmFnZ2luZywgY2hlY2tCb3VuZHMsIHNldENoZWNrQm91bmRzLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBvbkRyYWdFbmRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb24oeyB4OiBpbml0aWFsUG9zaXRpb24ueCwgeTogaW5pdGlhbFBvc2l0aW9uLnkgfSlcbiAgfSwgW2luaXRpYWxQb3NpdGlvbi54LCBpbml0aWFsUG9zaXRpb24ueV0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lcmAsXG4gICAgICAgIGlzRHJhZ2dpbmcgJiYgYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlLWNvbnRhaW5lci0tZHJhZ2dpbmdgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBvbk1vdXNlTW92ZT17aGFuZGxlTW91c2VNb3ZlfVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtbYCR7YmFzZUNsYXNzfV9fZHJhZ2dhYmxlYCwgY2xhc3NOYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpfVxuICAgICAgICBvbk1vdXNlRG93bj17aGFuZGxlTW91c2VEb3dufVxuICAgICAgICBvbk1vdXNlVXA9e29uRHJvcH1cbiAgICAgICAgcmVmPXtkcmFnUmVmfVxuICAgICAgICBzdHlsZT17eyBsZWZ0OiBgJHtwb3NpdGlvbi54fSVgLCB0b3A6IGAke3Bvc2l0aW9uLnl9JWAgfX1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiAvPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiZmFjZWxlc3NVSUltcG9ydCIsIlJlYWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJSZWFjdENyb3AiLCJlZGl0RHJhd2VyU2x1ZyIsIlBsdXMiLCJ1c2VGb3JtUXVlcnlQYXJhbXMiLCJ1c2VUcmFuc2xhdGlvbiIsIkJ1dHRvbiIsImJhc2VDbGFzcyIsIklucHV0IiwibmFtZSIsIm9uQ2hhbmdlIiwidmFsdWUiLCJkaXYiLCJjbGFzc05hbWUiLCJpbnB1dCIsImUiLCJ0YXJnZXQiLCJ0eXBlIiwiRWRpdFVwbG9hZCIsImZpbGVOYW1lIiwiZmlsZVNyYyIsImltYWdlQ2FjaGVUYWciLCJzaG93Q3JvcCIsInNob3dGb2NhbFBvaW50IiwiTW9kYWwiLCJ1c2VNb2RhbCIsImNsb3NlTW9kYWwiLCJ0IiwiZGlzcGF0Y2hGb3JtUXVlcnlQYXJhbXMiLCJmb3JtUXVlcnlQYXJhbXMiLCJ1cGxvYWRFZGl0cyIsImNyb3AiLCJzZXRDcm9wIiwiaGVpZ2h0IiwidW5pdCIsIndpZHRoIiwieCIsInkiLCJwb2ludFBvc2l0aW9uIiwic2V0UG9pbnRQb3NpdGlvbiIsImZvY2FsUG9pbnQiLCJjaGVja0JvdW5kcyIsInNldENoZWNrQm91bmRzIiwib3JpZ2luYWxIZWlnaHQiLCJzZXRPcmlnaW5hbEhlaWdodCIsIm9yaWdpbmFsV2lkdGgiLCJzZXRPcmlnaW5hbFdpZHRoIiwiZm9jYWxXcmFwUmVmIiwiaW1hZ2VSZWYiLCJjcm9wUmVmIiwiZmluZVR1bmVDcm9wIiwiZGltZW5zaW9uIiwiaW50VmFsdWUiLCJwYXJzZUludCIsInBlcmNlbnRhZ2UiLCJmaW5lVHVuZUZvY2FsUG9pbnQiLCJjb29yZGluYXRlIiwicHJldlBvc2l0aW9uIiwic2F2ZUVkaXRzIiwicGFyYW1zIiwib25EcmFnRW5kIiwidXNlQ2FsbGJhY2siLCJjZW50ZXJGb2NhbFBvaW50IiwiY29udGFpbmVyUmVjdCIsImN1cnJlbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZHNSZWN0IiwieENlbnRlciIsImxlZnQiLCJ5Q2VudGVyIiwidG9wIiwiZmlsZVNyY1RvVXNlIiwiaDIiLCJ0aXRsZSIsImFyaWEtbGFiZWwiLCJidXR0b25TdHlsZSIsIm9uQ2xpY2siLCJyZWYiLCJzdHlsZSIsImFzcGVjdFJhdGlvIiwiXyIsImMiLCJvbkNvbXBsZXRlIiwicmVuZGVyU2VsZWN0aW9uQWRkb24iLCJpbWciLCJhbHQiLCJvbkxvYWQiLCJjdXJyZW50VGFyZ2V0IiwibmF0dXJhbEhlaWdodCIsIm5hdHVyYWxXaWR0aCIsInNyYyIsIkRyYWdnYWJsZUVsZW1lbnQiLCJib3VuZHNSZWYiLCJjb250YWluZXJSZWYiLCJpbml0aWFsUG9zaXRpb24iLCJoMyIsInNwYW4iLCJ0b0ZpeGVkIiwiY2hpbGRyZW4iLCJwb3NpdGlvbiIsInNldFBvc2l0aW9uIiwiaXNEcmFnZ2luZyIsInNldElzRHJhZ2dpbmciLCJkcmFnUmVmIiwiZ2V0Q29vcmRpbmF0ZXMiLCJtb3VzZVhBcmciLCJtb3VzZVlBcmciLCJyZWNlbnRlciIsIm1vdXNlWCIsIm1vdXNlWSIsInhPdXRPZkJvdW5kcyIsInJpZ2h0IiwieU91dE9mQm91bmRzIiwiYm90dG9tIiwiaGFuZGxlTW91c2VEb3duIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZU1vdXNlTW92ZSIsImNsaWVudFgiLCJjbGllbnRZIiwib25Ecm9wIiwidXNlRWZmZWN0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJvbk1vdXNlTW92ZSIsImJ1dHRvbiIsIm9uTW91c2VEb3duIiwib25Nb3VzZVVwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFlBQVlBLHNCQUFzQixxQkFBb0I7QUFDdEQsT0FBT0MsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsUUFBTztBQUMvQyxPQUFPQyxlQUFlLG1CQUFrQjtBQUN4QyxPQUFPLHNDQUFxQztBQUU1QyxTQUFTQyxjQUFjLFFBQVEsaUNBQWdDO0FBQy9ELFNBQVNDLElBQUksUUFBUSw0QkFBMkI7QUFDaEQsU0FBU0Msa0JBQWtCLFFBQVEsMkNBQTBDO0FBQzdFLFNBQVNDLGNBQWMsUUFBUSx1Q0FBc0M7QUFDckUsU0FBU0MsTUFBTSxRQUFRLHFCQUFvQjtBQUMzQyxPQUFPLGVBQWM7QUFFckIsTUFBTUMsWUFBWTtBQUVsQixNQUFNQyxRQUFzRixDQUFDLEVBQzNGQyxJQUFJLEVBQ0pDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLGlCQUNDLG9CQUFDQztRQUFJQyxXQUFXLENBQUMsRUFBRU4sVUFBVSxPQUFPLENBQUM7T0FDbENFLG9CQUNELG9CQUFDSztRQUFNTCxNQUFNQTtRQUFNQyxVQUFVLENBQUNLLElBQU1MLFNBQVNLLEVBQUVDLE1BQU0sQ0FBQ0wsS0FBSztR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
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { Props } from './types';
2
+ import type { Props } from './types.js';
3
3
  import './index.scss';
4
4
  export declare const ErrorPill: React.FC<Props>;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ErrorPill/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkBrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ErrorPill/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkBrC,CAAA"}
@@ -1,22 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "ErrorPill", {
6
- enumerable: true,
7
- get: function() {
8
- return ErrorPill;
9
- }
10
- });
11
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
- require("./index.scss");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
1
+ import React from 'react';
2
+ import './index.scss';
18
3
  const baseClass = 'error-pill';
19
- const ErrorPill = (props)=>{
4
+ export const ErrorPill = (props)=>{
20
5
  const { className, count, i18n, withMessage } = props;
21
6
  const lessThan3Chars = !withMessage && count < 99;
22
7
  const classes = [
@@ -25,13 +10,13 @@ const ErrorPill = (props)=>{
25
10
  className && className
26
11
  ].filter(Boolean).join(' ');
27
12
  if (count === 0) return null;
28
- return /*#__PURE__*/ _react.default.createElement("div", {
13
+ return /*#__PURE__*/ React.createElement("div", {
29
14
  className: classes
30
- }, /*#__PURE__*/ _react.default.createElement("div", {
15
+ }, /*#__PURE__*/ React.createElement("div", {
31
16
  className: `${baseClass}__content`
32
- }, /*#__PURE__*/ _react.default.createElement("span", {
17
+ }, /*#__PURE__*/ React.createElement("span", {
33
18
  className: `${baseClass}__count`
34
19
  }, count), withMessage && ` ${count > 1 ? i18n.t('general:errors') : i18n.t('general:error')}`));
35
20
  };
36
21
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FcnJvclBpbGwvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZXJyb3ItcGlsbCdcblxuZXhwb3J0IGNvbnN0IEVycm9yUGlsbDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjb3VudCwgaTE4biwgd2l0aE1lc3NhZ2UgfSA9IHByb3BzXG4gIGNvbnN0IGxlc3NUaGFuM0NoYXJzID0gIXdpdGhNZXNzYWdlICYmIGNvdW50IDwgOTlcblxuICBjb25zdCBjbGFzc2VzID0gW2Jhc2VDbGFzcywgbGVzc1RoYW4zQ2hhcnMgJiYgYCR7YmFzZUNsYXNzfS0tZml4ZWQtd2lkdGhgLCBjbGFzc05hbWUgJiYgY2xhc3NOYW1lXVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuam9pbignICcpXG5cbiAgaWYgKGNvdW50ID09PSAwKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXN9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRlbnRgfT5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb3VudGB9Pntjb3VudH08L3NwYW4+XG4gICAgICAgIHt3aXRoTWVzc2FnZSAmJiBgICR7Y291bnQgPiAxID8gaTE4bi50KCdnZW5lcmFsOmVycm9ycycpIDogaTE4bi50KCdnZW5lcmFsOmVycm9yJyl9YH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRXJyb3JQaWxsIiwiYmFzZUNsYXNzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJjb3VudCIsImkxOG4iLCJ3aXRoTWVzc2FnZSIsImxlc3NUaGFuM0NoYXJzIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiZGl2Iiwic3BhbiIsInQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozs4REFSSztRQUlYOzs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRVgsTUFBTUQsWUFBNkIsQ0FBQ0U7SUFDekMsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxXQUFXLEVBQUUsR0FBR0o7SUFDaEQsTUFBTUssaUJBQWlCLENBQUNELGVBQWVGLFFBQVE7SUFFL0MsTUFBTUksVUFBVTtRQUFDUDtRQUFXTSxrQkFBa0IsQ0FBQyxFQUFFTixVQUFVLGFBQWEsQ0FBQztRQUFFRSxhQUFhQTtLQUFVLENBQy9GTSxNQUFNLENBQUNDLFNBQ1BDLElBQUksQ0FBQztJQUVSLElBQUlQLFVBQVUsR0FBRyxPQUFPO0lBRXhCLHFCQUNFLDZCQUFDUTtRQUFJVCxXQUFXSztxQkFDZCw2QkFBQ0k7UUFBSVQsV0FBVyxDQUFDLEVBQUVGLFVBQVUsU0FBUyxDQUFDO3FCQUNyQyw2QkFBQ1k7UUFBS1YsV0FBVyxDQUFDLEVBQUVGLFVBQVUsT0FBTyxDQUFDO09BQUdHLFFBQ3hDRSxlQUFlLENBQUMsQ0FBQyxFQUFFRixRQUFRLElBQUlDLEtBQUtTLENBQUMsQ0FBQyxvQkFBb0JULEtBQUtTLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUk1RiJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FcnJvclBpbGwvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZXJyb3ItcGlsbCdcblxuZXhwb3J0IGNvbnN0IEVycm9yUGlsbDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjb3VudCwgaTE4biwgd2l0aE1lc3NhZ2UgfSA9IHByb3BzXG4gIGNvbnN0IGxlc3NUaGFuM0NoYXJzID0gIXdpdGhNZXNzYWdlICYmIGNvdW50IDwgOTlcblxuICBjb25zdCBjbGFzc2VzID0gW2Jhc2VDbGFzcywgbGVzc1RoYW4zQ2hhcnMgJiYgYCR7YmFzZUNsYXNzfS0tZml4ZWQtd2lkdGhgLCBjbGFzc05hbWUgJiYgY2xhc3NOYW1lXVxuICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAuam9pbignICcpXG5cbiAgaWYgKGNvdW50ID09PSAwKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXN9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRlbnRgfT5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb3VudGB9Pntjb3VudH08L3NwYW4+XG4gICAgICAgIHt3aXRoTWVzc2FnZSAmJiBgICR7Y291bnQgPiAxID8gaTE4bi50KCdnZW5lcmFsOmVycm9ycycpIDogaTE4bi50KCdnZW5lcmFsOmVycm9yJyl9YH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJiYXNlQ2xhc3MiLCJFcnJvclBpbGwiLCJwcm9wcyIsImNsYXNzTmFtZSIsImNvdW50IiwiaTE4biIsIndpdGhNZXNzYWdlIiwibGVzc1RoYW4zQ2hhcnMiLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJkaXYiLCJzcGFuIiwidCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsV0FBVyxRQUFPO0FBSXpCLE9BQU8sZUFBYztBQUVyQixNQUFNQyxZQUFZO0FBRWxCLE9BQU8sTUFBTUMsWUFBNkIsQ0FBQ0M7SUFDekMsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxXQUFXLEVBQUUsR0FBR0o7SUFDaEQsTUFBTUssaUJBQWlCLENBQUNELGVBQWVGLFFBQVE7SUFFL0MsTUFBTUksVUFBVTtRQUFDUjtRQUFXTyxrQkFBa0IsQ0FBQyxFQUFFUCxVQUFVLGFBQWEsQ0FBQztRQUFFRyxhQUFhQTtLQUFVLENBQy9GTSxNQUFNLENBQUNDLFNBQ1BDLElBQUksQ0FBQztJQUVSLElBQUlQLFVBQVUsR0FBRyxPQUFPO0lBRXhCLHFCQUNFLG9CQUFDUTtRQUFJVCxXQUFXSztxQkFDZCxvQkFBQ0k7UUFBSVQsV0FBVyxDQUFDLEVBQUVILFVBQVUsU0FBUyxDQUFDO3FCQUNyQyxvQkFBQ2E7UUFBS1YsV0FBVyxDQUFDLEVBQUVILFVBQVUsT0FBTyxDQUFDO09BQUdJLFFBQ3hDRSxlQUFlLENBQUMsQ0FBQyxFQUFFRixRQUFRLElBQUlDLEtBQUtTLENBQUMsQ0FBQyxvQkFBb0JULEtBQUtTLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUk1RixFQUFDIn0=
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FcnJvclBpbGwvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJMThuIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb3VudDogbnVtYmVyXG4gIGkxOG46IEkxOG5cbiAgd2l0aE1lc3NhZ2U/OiBib29sZWFuXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsV0FLQyJ9