@payloadcms/ui 3.71.0-internal-debug.e053082 → 3.71.0-internal.49c4f67

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 (1201) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +0 -1
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +273 -218
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +1 -2
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +73 -84
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +68 -71
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +101 -171
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +118 -186
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +181 -162
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +32 -52
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +173 -169
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +51 -84
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +94 -85
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +56 -30
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +27 -19
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +169 -179
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +1 -2
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +172 -221
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +57 -56
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +316 -395
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +32 -33
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +473 -503
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +90 -100
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +15 -27
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +271 -204
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +160 -227
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +1 -14
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +33 -53
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +36 -43
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +35 -29
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +43 -33
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +83 -110
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +71 -64
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +93 -75
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +1 -2
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +20 -25
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +43 -17
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +97 -82
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +14 -15
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +10 -22
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +1 -4
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +141 -151
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +30 -32
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +54 -54
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +84 -114
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +129 -116
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +272 -213
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +70 -47
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +136 -130
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +10 -11
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +11 -23
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +1 -2
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +131 -97
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +141 -170
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +332 -371
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +274 -494
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +122 -141
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +103 -96
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +18 -24
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +210 -134
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +1 -12
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +69 -106
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +179 -154
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +113 -97
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +60 -26
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  132. package/dist/elements/DraggableSortable/index.js +124 -72
  133. package/dist/elements/DraggableSortable/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/types.js +1 -2
  135. package/dist/elements/DraggableSortable/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +85 -25
  137. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
  139. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  140. package/dist/elements/Drawer/index.js +192 -166
  141. package/dist/elements/Drawer/index.js.map +1 -1
  142. package/dist/elements/Drawer/types.js +1 -2
  143. package/dist/elements/Drawer/types.js.map +1 -1
  144. package/dist/elements/Drawer/useDrawerSlug.js +19 -7
  145. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  146. package/dist/elements/DrawerActionHeader/index.js +61 -59
  147. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  148. package/dist/elements/DrawerContentContainer/index.js +9 -14
  149. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  150. package/dist/elements/Dropzone/index.js +75 -90
  151. package/dist/elements/Dropzone/index.js.map +1 -1
  152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +87 -145
  153. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/index.js +145 -155
  155. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  156. package/dist/elements/EditMany/DrawerContent.js +392 -398
  157. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  158. package/dist/elements/EditMany/index.js +131 -79
  159. package/dist/elements/EditMany/index.js.map +1 -1
  160. package/dist/elements/EditUpload/index.js +395 -572
  161. package/dist/elements/EditUpload/index.js.map +1 -1
  162. package/dist/elements/EmailAndUsername/index.js +77 -96
  163. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  164. package/dist/elements/ErrorPill/index.js +24 -38
  165. package/dist/elements/ErrorPill/index.js.map +1 -1
  166. package/dist/elements/FieldDiffContainer/index.js +34 -50
  167. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  168. package/dist/elements/FieldDiffLabel/index.js +7 -10
  169. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  170. package/dist/elements/FieldSelect/index.js +75 -45
  171. package/dist/elements/FieldSelect/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/reduceFieldOptions.js +67 -69
  173. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  174. package/dist/elements/FileDetails/DraggableFileDetails/index.js +105 -113
  175. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  176. package/dist/elements/FileDetails/FileMeta/index.js +33 -72
  177. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  178. package/dist/elements/FileDetails/StaticFileDetails/index.js +58 -76
  179. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  180. package/dist/elements/FileDetails/index.js +14 -20
  181. package/dist/elements/FileDetails/index.js.map +1 -1
  182. package/dist/elements/FolderView/Breadcrumbs/index.js +86 -59
  183. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  184. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  185. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  186. package/dist/elements/FolderView/Cell/index.client.js +87 -88
  187. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.server.js +14 -19
  189. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  190. package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -9
  191. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  192. package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -174
  193. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  194. package/dist/elements/FolderView/DragOverlaySelection/index.js +51 -70
  195. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  196. package/dist/elements/FolderView/DraggableTableRow/index.js +54 -71
  197. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableWithClick/index.js +79 -75
  199. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  200. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +33 -35
  201. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +565 -497
  203. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  204. package/dist/elements/FolderView/FilterFolderTypePill/index.js +89 -61
  205. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  206. package/dist/elements/FolderView/FolderField/index.server.js +10 -15
  207. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  208. package/dist/elements/FolderView/FolderFileCard/index.js +188 -218
  209. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileTable/index.js +264 -203
  211. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderTypeField/index.js +114 -93
  213. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  214. package/dist/elements/FolderView/ItemCardGrid/index.js +27 -35
  215. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  216. package/dist/elements/FolderView/MoveDocToFolder/index.js +264 -142
  217. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  218. package/dist/elements/FolderView/SimpleTable/index.js +83 -105
  219. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  220. package/dist/elements/FolderView/SortByPill/index.js +100 -162
  221. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  222. package/dist/elements/FolderView/ToggleViewButtons/index.js +24 -47
  223. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  224. package/dist/elements/FullscreenModal/index.js +22 -16
  225. package/dist/elements/FullscreenModal/index.js.map +1 -1
  226. package/dist/elements/GenerateConfirmation/index.js +83 -63
  227. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  228. package/dist/elements/GroupByBuilder/index.js +100 -142
  229. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  230. package/dist/elements/Gutter/index.js +19 -22
  231. package/dist/elements/Gutter/index.js.map +1 -1
  232. package/dist/elements/HTMLDiff/diff/index.js +500 -522
  233. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/index.js +26 -31
  235. package/dist/elements/HTMLDiff/index.js.map +1 -1
  236. package/dist/elements/Hamburger/index.js +40 -51
  237. package/dist/elements/Hamburger/index.js.map +1 -1
  238. package/dist/elements/HydrateAuthProvider/index.js +27 -15
  239. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  240. package/dist/elements/IDLabel/index.js +57 -31
  241. package/dist/elements/IDLabel/index.js.map +1 -1
  242. package/dist/elements/ItemsDrawer/ItemSearch/index.js +48 -43
  243. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  244. package/dist/elements/ItemsDrawer/index.js +168 -219
  245. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  246. package/dist/elements/LeaveWithoutSaving/index.js +142 -73
  247. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  248. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +129 -113
  249. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  250. package/dist/elements/Link/formatUrl.js +56 -53
  251. package/dist/elements/Link/formatUrl.js.map +1 -1
  252. package/dist/elements/Link/index.js +54 -50
  253. package/dist/elements/Link/index.js.map +1 -1
  254. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  255. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  256. package/dist/elements/ListControls/index.js +168 -253
  257. package/dist/elements/ListControls/index.js.map +1 -1
  258. package/dist/elements/ListControls/types.js +1 -8
  259. package/dist/elements/ListControls/types.js.map +1 -1
  260. package/dist/elements/ListDrawer/DrawerContent.js +168 -183
  261. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  262. package/dist/elements/ListDrawer/Provider.js +19 -28
  263. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  264. package/dist/elements/ListDrawer/index.js +229 -149
  265. package/dist/elements/ListDrawer/index.js.map +1 -1
  266. package/dist/elements/ListDrawer/types.js +1 -6
  267. package/dist/elements/ListDrawer/types.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +84 -43
  269. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +33 -23
  271. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  272. package/dist/elements/ListHeader/DrawerTitleActions/index.js +0 -1
  273. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +73 -49
  275. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +40 -22
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +162 -130
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +148 -169
  281. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  282. package/dist/elements/ListHeader/TitleActions/index.js +0 -1
  283. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  284. package/dist/elements/ListHeader/index.js +24 -65
  285. package/dist/elements/ListHeader/index.js.map +1 -1
  286. package/dist/elements/ListSelection/index.js +58 -93
  287. package/dist/elements/ListSelection/index.js.map +1 -1
  288. package/dist/elements/LivePreview/Device/index.js +83 -83
  289. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  290. package/dist/elements/LivePreview/DeviceContainer/index.js +49 -29
  291. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  292. package/dist/elements/LivePreview/IFrame/index.js +44 -20
  293. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toggler/index.js +26 -32
  295. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/Controls/index.js +141 -210
  297. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +92 -62
  299. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  301. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  302. package/dist/elements/LivePreview/ToolbarArea/index.js +33 -15
  303. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  304. package/dist/elements/LivePreview/Window/index.js +166 -132
  305. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  306. package/dist/elements/Loading/index.js +144 -112
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/index.js +67 -68
  309. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/reducer.js +29 -27
  311. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  312. package/dist/elements/LoadingOverlay/types.js +1 -2
  313. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  314. package/dist/elements/Localizer/LocalizerLabel/index.js +51 -55
  315. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  316. package/dist/elements/Localizer/index.js +117 -99
  317. package/dist/elements/Localizer/index.js.map +1 -1
  318. package/dist/elements/Locked/index.js +59 -38
  319. package/dist/elements/Locked/index.js.map +1 -1
  320. package/dist/elements/Logout/index.js +51 -30
  321. package/dist/elements/Logout/index.js.map +1 -1
  322. package/dist/elements/Modal/index.js +1 -1
  323. package/dist/elements/Modal/index.js.map +1 -1
  324. package/dist/elements/Nav/NavToggler/index.js +80 -34
  325. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  326. package/dist/elements/Nav/context.js +103 -107
  327. package/dist/elements/Nav/context.js.map +1 -1
  328. package/dist/elements/NavGroup/index.js +122 -98
  329. package/dist/elements/NavGroup/index.js.map +1 -1
  330. package/dist/elements/NoListResults/index.js +14 -27
  331. package/dist/elements/NoListResults/index.js.map +1 -1
  332. package/dist/elements/PageControls/GroupByPageControls.js +71 -40
  333. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  334. package/dist/elements/PageControls/index.js +107 -77
  335. package/dist/elements/PageControls/index.js.map +1 -1
  336. package/dist/elements/Pagination/ClickableArrow/index.js +16 -24
  337. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  338. package/dist/elements/Pagination/Page/index.js +16 -19
  339. package/dist/elements/Pagination/Page/index.js.map +1 -1
  340. package/dist/elements/Pagination/Separator/index.js +6 -10
  341. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  342. package/dist/elements/Pagination/index.js +99 -102
  343. package/dist/elements/Pagination/index.js.map +1 -1
  344. package/dist/elements/PerPage/index.js +80 -93
  345. package/dist/elements/PerPage/index.js.map +1 -1
  346. package/dist/elements/PermanentlyDeleteButton/index.js +133 -150
  347. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  348. package/dist/elements/Pill/index.js +121 -103
  349. package/dist/elements/Pill/index.js.map +1 -1
  350. package/dist/elements/PillSelector/index.js +56 -79
  351. package/dist/elements/PillSelector/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupButtonList/index.js +52 -65
  353. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupDivider/index.js +5 -10
  355. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupGroupLabel/index.js +8 -11
  357. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/index.js +44 -50
  359. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  361. package/dist/elements/Popup/index.js +282 -339
  362. package/dist/elements/Popup/index.js.map +1 -1
  363. package/dist/elements/PreviewButton/index.js +31 -24
  364. package/dist/elements/PreviewButton/index.js.map +1 -1
  365. package/dist/elements/PreviewSizes/index.js +132 -206
  366. package/dist/elements/PreviewSizes/index.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +110 -154
  368. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/index.js +309 -461
  370. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/types.js +1 -2
  372. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  373. package/dist/elements/PublishButton/index.js +195 -234
  374. package/dist/elements/PublishButton/index.js.map +1 -1
  375. package/dist/elements/PublishMany/DrawerContent.js +134 -137
  376. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  377. package/dist/elements/PublishMany/index.js +109 -58
  378. package/dist/elements/PublishMany/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetBar/index.js +267 -344
  380. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +87 -80
  382. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/AccessCell/index.js +21 -47
  384. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +19 -26
  386. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +48 -61
  388. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/WhereCell/index.js +27 -29
  390. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +47 -42
  392. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/GroupByField/index.js +74 -96
  394. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/fields/WhereField/index.js +98 -149
  396. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -29
  398. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/Control/index.js +41 -40
  400. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/DropdownIndicator/index.js +23 -26
  402. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/Input/index.js +13 -20
  404. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValue/index.js +126 -48
  406. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueLabel/index.js +32 -29
  408. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/MultiValueRemove/index.js +86 -49
  410. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/SingleValue/index.js +14 -22
  412. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/ValueContainer/index.js +29 -38
  414. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/index.js +198 -211
  416. package/dist/elements/ReactSelect/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/types.js +1 -9
  418. package/dist/elements/ReactSelect/types.js.map +1 -1
  419. package/dist/elements/RelationshipTable/AddNewButton.js +58 -68
  420. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  421. package/dist/elements/RelationshipTable/Pagination.js +48 -21
  422. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  423. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +34 -39
  424. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  425. package/dist/elements/RelationshipTable/index.js +258 -374
  426. package/dist/elements/RelationshipTable/index.js.map +1 -1
  427. package/dist/elements/RenderComponent/index.js +20 -29
  428. package/dist/elements/RenderComponent/index.js.map +1 -1
  429. package/dist/elements/RenderCustomComponent/index.js +5 -3
  430. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  431. package/dist/elements/RenderIfInViewport/index.js +58 -27
  432. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  433. package/dist/elements/RenderServerComponent/index.js +56 -57
  434. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  435. package/dist/elements/RenderTitle/index.js +59 -44
  436. package/dist/elements/RenderTitle/index.js.map +1 -1
  437. package/dist/elements/RestoreButton/index.js +154 -187
  438. package/dist/elements/RestoreButton/index.js.map +1 -1
  439. package/dist/elements/RestoreMany/index.js +170 -177
  440. package/dist/elements/RestoreMany/index.js.map +1 -1
  441. package/dist/elements/SaveButton/index.js +49 -46
  442. package/dist/elements/SaveButton/index.js.map +1 -1
  443. package/dist/elements/SaveDraftButton/index.js +88 -84
  444. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  445. package/dist/elements/SearchBar/index.js +19 -37
  446. package/dist/elements/SearchBar/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/index.js +54 -60
  448. package/dist/elements/SearchFilter/index.js.map +1 -1
  449. package/dist/elements/SearchFilter/types.js +1 -20
  450. package/dist/elements/SearchFilter/types.js.map +1 -1
  451. package/dist/elements/SelectAll/index.js +46 -21
  452. package/dist/elements/SelectAll/index.js.map +1 -1
  453. package/dist/elements/SelectMany/index.js +25 -27
  454. package/dist/elements/SelectMany/index.js.map +1 -1
  455. package/dist/elements/SelectRow/index.js +79 -27
  456. package/dist/elements/SelectRow/index.js.map +1 -1
  457. package/dist/elements/ShimmerEffect/index.js +73 -58
  458. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  459. package/dist/elements/SortColumn/index.js +106 -98
  460. package/dist/elements/SortColumn/index.js.map +1 -1
  461. package/dist/elements/SortComplex/index.js +163 -142
  462. package/dist/elements/SortComplex/index.js.map +1 -1
  463. package/dist/elements/SortHeader/index.js +87 -54
  464. package/dist/elements/SortHeader/index.js.map +1 -1
  465. package/dist/elements/SortRow/index.js +27 -21
  466. package/dist/elements/SortRow/index.js.map +1 -1
  467. package/dist/elements/Status/index.js +161 -203
  468. package/dist/elements/Status/index.js.map +1 -1
  469. package/dist/elements/StayLoggedIn/index.js +76 -38
  470. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  471. package/dist/elements/StepNav/SetStepNav.js +27 -10
  472. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  473. package/dist/elements/StepNav/context.js +41 -24
  474. package/dist/elements/StepNav/context.js.map +1 -1
  475. package/dist/elements/StepNav/index.js +92 -148
  476. package/dist/elements/StepNav/index.js.map +1 -1
  477. package/dist/elements/StepNav/types.js +1 -2
  478. package/dist/elements/StepNav/types.js.map +1 -1
  479. package/dist/elements/StickyToolbar/index.js +8 -10
  480. package/dist/elements/StickyToolbar/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -13
  482. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +60 -34
  484. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +27 -18
  486. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -22
  488. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Date/index.js +41 -22
  490. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/File/index.js +42 -52
  492. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +12 -18
  494. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +183 -115
  496. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Select/index.js +44 -22
  498. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -11
  500. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  502. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/index.js +151 -124
  504. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  505. package/dist/elements/Table/OrderableRow.js +32 -40
  506. package/dist/elements/Table/OrderableRow.js.map +1 -1
  507. package/dist/elements/Table/OrderableRowDragPreview.js +15 -24
  508. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  509. package/dist/elements/Table/OrderableTable.js +167 -224
  510. package/dist/elements/Table/OrderableTable.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/index.js +162 -106
  512. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  513. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  514. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  515. package/dist/elements/Table/index.js +45 -83
  516. package/dist/elements/Table/index.js.map +1 -1
  517. package/dist/elements/Thumbnail/createThumbnail.js +48 -53
  518. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  519. package/dist/elements/Thumbnail/index.js +148 -127
  520. package/dist/elements/Thumbnail/index.js.map +1 -1
  521. package/dist/elements/ThumbnailCard/index.js +68 -47
  522. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/index.js +44 -53
  524. package/dist/elements/TimezonePicker/index.js.map +1 -1
  525. package/dist/elements/TimezonePicker/types.js +1 -2
  526. package/dist/elements/TimezonePicker/types.js.map +1 -1
  527. package/dist/elements/Toasts/fieldErrors.js +77 -69
  528. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  529. package/dist/elements/Tooltip/index.js +65 -98
  530. package/dist/elements/Tooltip/index.js.map +1 -1
  531. package/dist/elements/Translation/index.js +39 -48
  532. package/dist/elements/Translation/index.js.map +1 -1
  533. package/dist/elements/TrashBanner/index.js +26 -33
  534. package/dist/elements/TrashBanner/index.js.map +1 -1
  535. package/dist/elements/UnpublishMany/DrawerContent.js +127 -130
  536. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  537. package/dist/elements/UnpublishMany/index.js +109 -58
  538. package/dist/elements/UnpublishMany/index.js.map +1 -1
  539. package/dist/elements/Upload/index.js +481 -633
  540. package/dist/elements/Upload/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/index.js +26 -15
  542. package/dist/elements/ViewDescription/index.js.map +1 -1
  543. package/dist/elements/ViewDescription/types.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/index.js +29 -23
  545. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
  547. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +76 -95
  549. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/index.js +129 -74
  551. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
  553. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +313 -353
  555. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +67 -83
  557. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
  559. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +9 -10
  561. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/index.js +154 -69
  563. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
  565. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/index.js +123 -72
  567. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
  569. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/index.js +143 -206
  571. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/types.js +1 -2
  573. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/Condition/validOperators.js +33 -32
  575. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  576. package/dist/elements/WhereBuilder/field-types.js +119 -192
  577. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  578. package/dist/elements/WhereBuilder/index.js +193 -258
  579. package/dist/elements/WhereBuilder/index.js.map +1 -1
  580. package/dist/elements/WhereBuilder/types.js +1 -2
  581. package/dist/elements/WhereBuilder/types.js.map +1 -1
  582. package/dist/elements/WindowInfo/index.js +1 -1
  583. package/dist/elements/WindowInfo/index.js.map +1 -1
  584. package/dist/elements/WithServerSideProps/index.js +19 -20
  585. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  586. package/dist/elements/withMergedProps/index.js +26 -26
  587. package/dist/elements/withMergedProps/index.js.map +1 -1
  588. package/dist/exports/client/CodeEditor-QOURTFMT.js +14 -0
  589. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +7 -0
  590. package/dist/exports/client/DatePicker-VMLA35FO.js +14 -0
  591. package/dist/exports/client/DatePicker-VMLA35FO.js.map +7 -0
  592. package/dist/exports/client/chunk-53XJ3K67.js +27 -0
  593. package/dist/exports/client/chunk-53XJ3K67.js.map +7 -0
  594. package/dist/exports/client/chunk-5LKBKI4T.js +14 -0
  595. package/dist/exports/client/chunk-5LKBKI4T.js.map +7 -0
  596. package/dist/exports/client/chunk-7V3NHDV6.js +29 -0
  597. package/dist/exports/client/chunk-7V3NHDV6.js.map +7 -0
  598. package/dist/exports/client/index.js +96 -297
  599. package/dist/exports/client/index.js.map +7 -1
  600. package/dist/exports/rsc/index.js +0 -1
  601. package/dist/exports/rsc/index.js.map +1 -1
  602. package/dist/exports/shared/index.js +6 -35
  603. package/dist/exports/shared/index.js.map +7 -1
  604. package/dist/fields/Array/ArrayRow.js +168 -111
  605. package/dist/fields/Array/ArrayRow.js.map +1 -1
  606. package/dist/fields/Array/index.js +398 -532
  607. package/dist/fields/Array/index.js.map +1 -1
  608. package/dist/fields/Blocks/BlockRow.js +198 -163
  609. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  610. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +38 -30
  611. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  612. package/dist/fields/Blocks/BlockSelector/index.js +103 -159
  613. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  614. package/dist/fields/Blocks/BlocksDrawer/index.js +80 -37
  615. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  616. package/dist/fields/Blocks/RowActions.js +106 -50
  617. package/dist/fields/Blocks/RowActions.js.map +1 -1
  618. package/dist/fields/Blocks/SectionTitle/index.js +78 -36
  619. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  620. package/dist/fields/Blocks/index.js +425 -566
  621. package/dist/fields/Blocks/index.js.map +1 -1
  622. package/dist/fields/Checkbox/Input.js +99 -86
  623. package/dist/fields/Checkbox/Input.js.map +1 -1
  624. package/dist/fields/Checkbox/index.js +99 -107
  625. package/dist/fields/Checkbox/index.js.map +1 -1
  626. package/dist/fields/Code/index.js +114 -146
  627. package/dist/fields/Code/index.js.map +1 -1
  628. package/dist/fields/Collapsible/index.js +134 -172
  629. package/dist/fields/Collapsible/index.js.map +1 -1
  630. package/dist/fields/ConfirmPassword/index.js +83 -67
  631. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  632. package/dist/fields/DateTime/index.js +171 -217
  633. package/dist/fields/DateTime/index.js.map +1 -1
  634. package/dist/fields/Email/index.js +86 -111
  635. package/dist/fields/Email/index.js.map +1 -1
  636. package/dist/fields/FieldDescription/index.js +43 -20
  637. package/dist/fields/FieldDescription/index.js.map +1 -1
  638. package/dist/fields/FieldError/index.js +58 -22
  639. package/dist/fields/FieldError/index.js.map +1 -1
  640. package/dist/fields/FieldLabel/index.js +45 -43
  641. package/dist/fields/FieldLabel/index.js.map +1 -1
  642. package/dist/fields/Group/index.js +102 -150
  643. package/dist/fields/Group/index.js.map +1 -1
  644. package/dist/fields/Group/index.scss +2 -0
  645. package/dist/fields/Group/provider.js +12 -13
  646. package/dist/fields/Group/provider.js.map +1 -1
  647. package/dist/fields/Hidden/index.js +67 -27
  648. package/dist/fields/Hidden/index.js.map +1 -1
  649. package/dist/fields/JSON/index.js +143 -185
  650. package/dist/fields/JSON/index.js.map +1 -1
  651. package/dist/fields/Join/index.js +189 -214
  652. package/dist/fields/Join/index.js.map +1 -1
  653. package/dist/fields/Number/index.js +169 -213
  654. package/dist/fields/Number/index.js.map +1 -1
  655. package/dist/fields/Password/index.js +101 -80
  656. package/dist/fields/Password/index.js.map +1 -1
  657. package/dist/fields/Password/input.js +122 -108
  658. package/dist/fields/Password/input.js.map +1 -1
  659. package/dist/fields/Password/types.js +1 -12
  660. package/dist/fields/Password/types.js.map +1 -1
  661. package/dist/fields/Point/index.js +127 -199
  662. package/dist/fields/Point/index.js.map +1 -1
  663. package/dist/fields/RadioGroup/Radio/index.js +81 -56
  664. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  665. package/dist/fields/RadioGroup/index.js +114 -146
  666. package/dist/fields/RadioGroup/index.js.map +1 -1
  667. package/dist/fields/Relationship/Input.js +733 -811
  668. package/dist/fields/Relationship/Input.js.map +1 -1
  669. package/dist/fields/Relationship/createRelationMap.js +33 -31
  670. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  671. package/dist/fields/Relationship/findOptionsByValue.js +32 -28
  672. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  673. package/dist/fields/Relationship/index.js +160 -152
  674. package/dist/fields/Relationship/index.js.map +1 -1
  675. package/dist/fields/Relationship/optionsReducer.js +139 -144
  676. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  677. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +82 -92
  678. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  679. package/dist/fields/Relationship/select-components/SingleValue/index.js +118 -95
  680. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  681. package/dist/fields/Relationship/types.js +1 -2
  682. package/dist/fields/Relationship/types.js.map +1 -1
  683. package/dist/fields/RichText/index.js +3 -3
  684. package/dist/fields/RichText/index.js.map +1 -1
  685. package/dist/fields/Row/index.js +35 -37
  686. package/dist/fields/Row/index.js.map +1 -1
  687. package/dist/fields/Row/provider.js +12 -13
  688. package/dist/fields/Row/provider.js.map +1 -1
  689. package/dist/fields/Select/Input.js +165 -114
  690. package/dist/fields/Select/Input.js.map +1 -1
  691. package/dist/fields/Select/index.js +108 -89
  692. package/dist/fields/Select/index.js.map +1 -1
  693. package/dist/fields/Slug/index.js +134 -103
  694. package/dist/fields/Slug/index.js.map +1 -1
  695. package/dist/fields/Tabs/Tab/index.js +60 -54
  696. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  697. package/dist/fields/Tabs/index.js +382 -213
  698. package/dist/fields/Tabs/index.js.map +1 -1
  699. package/dist/fields/Tabs/provider.js +12 -13
  700. package/dist/fields/Tabs/provider.js.map +1 -1
  701. package/dist/fields/Text/Input.js +191 -169
  702. package/dist/fields/Text/Input.js.map +1 -1
  703. package/dist/fields/Text/index.js +126 -107
  704. package/dist/fields/Text/index.js.map +1 -1
  705. package/dist/fields/Text/types.js +1 -2
  706. package/dist/fields/Text/types.js.map +1 -1
  707. package/dist/fields/Textarea/Input.js +115 -104
  708. package/dist/fields/Textarea/Input.js.map +1 -1
  709. package/dist/fields/Textarea/index.js +88 -61
  710. package/dist/fields/Textarea/index.js.map +1 -1
  711. package/dist/fields/Textarea/types.js +1 -2
  712. package/dist/fields/Textarea/types.js.map +1 -1
  713. package/dist/fields/UI/index.js +3 -3
  714. package/dist/fields/UI/index.js.map +1 -1
  715. package/dist/fields/Upload/HasMany/index.js +186 -141
  716. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  717. package/dist/fields/Upload/HasOne/index.js +60 -59
  718. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  719. package/dist/fields/Upload/Input.js +566 -755
  720. package/dist/fields/Upload/Input.js.map +1 -1
  721. package/dist/fields/Upload/RelationshipContent/index.js +143 -140
  722. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  723. package/dist/fields/Upload/UploadCard/index.js +10 -15
  724. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  725. package/dist/fields/Upload/index.js +96 -79
  726. package/dist/fields/Upload/index.js.map +1 -1
  727. package/dist/fields/Upload/types.js +1 -3
  728. package/dist/fields/Upload/types.js.map +1 -1
  729. package/dist/fields/index.js +31 -31
  730. package/dist/fields/index.js.map +1 -1
  731. package/dist/fields/mergeFieldStyles.js +12 -13
  732. package/dist/fields/mergeFieldStyles.js.map +1 -1
  733. package/dist/fields/shared/index.js +17 -8
  734. package/dist/fields/shared/index.js.map +1 -1
  735. package/dist/forms/Form/context.js +24 -17
  736. package/dist/forms/Form/context.js.map +1 -1
  737. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  738. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  739. package/dist/forms/Form/errorMessages.js +2 -2
  740. package/dist/forms/Form/errorMessages.js.map +1 -1
  741. package/dist/forms/Form/fieldReducer.js +412 -378
  742. package/dist/forms/Form/fieldReducer.js.map +1 -1
  743. package/dist/forms/Form/index.js +684 -745
  744. package/dist/forms/Form/index.js.map +1 -1
  745. package/dist/forms/Form/initContextState.js +38 -38
  746. package/dist/forms/Form/initContextState.js.map +1 -1
  747. package/dist/forms/Form/mergeServerFormState.js +97 -93
  748. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  749. package/dist/forms/Form/reduceToSerializableFields.js +17 -20
  750. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  751. package/dist/forms/Form/rowHelpers.js +34 -27
  752. package/dist/forms/Form/rowHelpers.js.map +1 -1
  753. package/dist/forms/Form/rows.js +34 -34
  754. package/dist/forms/Form/rows.js.map +1 -1
  755. package/dist/forms/Form/types.js +1 -53
  756. package/dist/forms/Form/types.js.map +1 -1
  757. package/dist/forms/NullifyField/index.js +96 -61
  758. package/dist/forms/NullifyField/index.js.map +1 -1
  759. package/dist/forms/RenderFields/RenderField.js +259 -237
  760. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  761. package/dist/forms/RenderFields/context.js +9 -9
  762. package/dist/forms/RenderFields/context.js.map +1 -1
  763. package/dist/forms/RenderFields/index.js +115 -76
  764. package/dist/forms/RenderFields/index.js.map +1 -1
  765. package/dist/forms/RenderFields/types.js +1 -2
  766. package/dist/forms/RenderFields/types.js.map +1 -1
  767. package/dist/forms/RowLabel/Context/index.js +29 -30
  768. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  769. package/dist/forms/RowLabel/index.js +24 -33
  770. package/dist/forms/RowLabel/index.js.map +1 -1
  771. package/dist/forms/RowLabel/types.js +1 -2
  772. package/dist/forms/RowLabel/types.js.map +1 -1
  773. package/dist/forms/Submit/index.js +35 -32
  774. package/dist/forms/Submit/index.js.map +1 -1
  775. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  776. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  777. package/dist/forms/WatchChildErrors/index.js +66 -41
  778. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  779. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +706 -681
  780. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  781. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +22 -14
  782. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  783. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +26 -17
  784. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  785. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +198 -186
  786. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  787. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +60 -67
  788. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  789. package/dist/forms/fieldSchemasToFormState/index.js +79 -90
  790. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  791. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +16 -12
  792. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  793. package/dist/forms/fieldSchemasToFormState/iterateFields.js +116 -95
  794. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  795. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  796. package/dist/forms/fieldSchemasToFormState/renderField.js +276 -273
  797. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  798. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +75 -90
  799. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  800. package/dist/forms/fieldSchemasToFormState/types.js +1 -6
  801. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  802. package/dist/forms/useField/index.js +292 -180
  803. package/dist/forms/useField/index.js.map +1 -1
  804. package/dist/forms/useField/types.js +1 -20
  805. package/dist/forms/useField/types.js.map +1 -1
  806. package/dist/forms/withCondition/WatchCondition.js +27 -9
  807. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  808. package/dist/forms/withCondition/index.js +15 -21
  809. package/dist/forms/withCondition/index.js.map +1 -1
  810. package/dist/graphics/Account/Default/index.js +22 -46
  811. package/dist/graphics/Account/Default/index.js.map +1 -1
  812. package/dist/graphics/Account/Gravatar/index.js +34 -25
  813. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  814. package/dist/graphics/Account/index.js +51 -24
  815. package/dist/graphics/Account/index.js.map +1 -1
  816. package/dist/graphics/DefaultBlockImage/index.js +62 -117
  817. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  818. package/dist/graphics/File/index.js +17 -33
  819. package/dist/graphics/File/index.js.map +1 -1
  820. package/dist/graphics/Icon/index.js +19 -33
  821. package/dist/graphics/Icon/index.js.map +1 -1
  822. package/dist/graphics/Logo/index.js +39 -112
  823. package/dist/graphics/Logo/index.js.map +1 -1
  824. package/dist/hooks/useClickOutside.js +15 -19
  825. package/dist/hooks/useClickOutside.js.map +1 -1
  826. package/dist/hooks/useControllableState.js +35 -25
  827. package/dist/hooks/useControllableState.js.map +1 -1
  828. package/dist/hooks/useDebounce.js +26 -15
  829. package/dist/hooks/useDebounce.js.map +1 -1
  830. package/dist/hooks/useDebouncedCallback.js +23 -15
  831. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  832. package/dist/hooks/useDebouncedEffect.js +53 -18
  833. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  834. package/dist/hooks/useDelay.js +52 -27
  835. package/dist/hooks/useDelay.js.map +1 -1
  836. package/dist/hooks/useDelayedRender.js +76 -42
  837. package/dist/hooks/useDelayedRender.js.map +1 -1
  838. package/dist/hooks/useEffectEvent.js +33 -12
  839. package/dist/hooks/useEffectEvent.js.map +1 -1
  840. package/dist/hooks/useHotkey.js +110 -96
  841. package/dist/hooks/useHotkey.js.map +1 -1
  842. package/dist/hooks/useIntersect.js +59 -28
  843. package/dist/hooks/useIntersect.js.map +1 -1
  844. package/dist/hooks/usePayloadAPI.js +172 -78
  845. package/dist/hooks/usePayloadAPI.js.map +1 -1
  846. package/dist/hooks/usePopupWindow.js +133 -91
  847. package/dist/hooks/usePopupWindow.js.map +1 -1
  848. package/dist/hooks/useQueue.js +38 -48
  849. package/dist/hooks/useQueue.js.map +1 -1
  850. package/dist/hooks/useRelatedCollections.js +27 -15
  851. package/dist/hooks/useRelatedCollections.js.map +1 -1
  852. package/dist/hooks/useResize.js +70 -42
  853. package/dist/hooks/useResize.js.map +1 -1
  854. package/dist/hooks/useThrottledEffect.js +51 -17
  855. package/dist/hooks/useThrottledEffect.js.map +1 -1
  856. package/dist/hooks/useThrottledValue.js +13 -16
  857. package/dist/hooks/useThrottledValue.js.map +1 -1
  858. package/dist/hooks/useUseAsTitle.js +27 -7
  859. package/dist/hooks/useUseAsTitle.js.map +1 -1
  860. package/dist/icons/Calendar/index.js +11 -20
  861. package/dist/icons/Calendar/index.js.map +1 -1
  862. package/dist/icons/Check/index.js +11 -20
  863. package/dist/icons/Check/index.js.map +1 -1
  864. package/dist/icons/Chevron/index.js +22 -30
  865. package/dist/icons/Chevron/index.js.map +1 -1
  866. package/dist/icons/CloseMenu/index.js +11 -20
  867. package/dist/icons/CloseMenu/index.js.map +1 -1
  868. package/dist/icons/CodeBlock/index.js +13 -22
  869. package/dist/icons/CodeBlock/index.js.map +1 -1
  870. package/dist/icons/Copy/index.js +17 -24
  871. package/dist/icons/Copy/index.js.map +1 -1
  872. package/dist/icons/Document/index.js +16 -25
  873. package/dist/icons/Document/index.js.map +1 -1
  874. package/dist/icons/Dots/index.js +11 -32
  875. package/dist/icons/Dots/index.js.map +1 -1
  876. package/dist/icons/DragHandle/index.js +33 -70
  877. package/dist/icons/DragHandle/index.js.map +1 -1
  878. package/dist/icons/Edit/index.js +13 -23
  879. package/dist/icons/Edit/index.js.map +1 -1
  880. package/dist/icons/ExternalLink/index.js +15 -25
  881. package/dist/icons/ExternalLink/index.js.map +1 -1
  882. package/dist/icons/Eye/index.js +25 -53
  883. package/dist/icons/Eye/index.js.map +1 -1
  884. package/dist/icons/Folder/index.js +16 -26
  885. package/dist/icons/Folder/index.js.map +1 -1
  886. package/dist/icons/Gear/index.js +21 -34
  887. package/dist/icons/Gear/index.js.map +1 -1
  888. package/dist/icons/GridView/index.js +31 -57
  889. package/dist/icons/GridView/index.js.map +1 -1
  890. package/dist/icons/Line/index.js +14 -23
  891. package/dist/icons/Line/index.js.map +1 -1
  892. package/dist/icons/Link/index.js +16 -25
  893. package/dist/icons/Link/index.js.map +1 -1
  894. package/dist/icons/ListView/index.js +16 -25
  895. package/dist/icons/ListView/index.js.map +1 -1
  896. package/dist/icons/Lock/index.js +24 -41
  897. package/dist/icons/Lock/index.js.map +1 -1
  898. package/dist/icons/LogOut/index.js +14 -23
  899. package/dist/icons/LogOut/index.js.map +1 -1
  900. package/dist/icons/Menu/index.js +14 -23
  901. package/dist/icons/Menu/index.js.map +1 -1
  902. package/dist/icons/MinimizeMaximize/index.js +19 -33
  903. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  904. package/dist/icons/More/index.js +21 -43
  905. package/dist/icons/More/index.js.map +1 -1
  906. package/dist/icons/MoveFolder/index.js +34 -62
  907. package/dist/icons/MoveFolder/index.js.map +1 -1
  908. package/dist/icons/People/index.js +17 -28
  909. package/dist/icons/People/index.js.map +1 -1
  910. package/dist/icons/Plus/index.js +13 -22
  911. package/dist/icons/Plus/index.js.map +1 -1
  912. package/dist/icons/Search/index.js +12 -21
  913. package/dist/icons/Search/index.js.map +1 -1
  914. package/dist/icons/Sort/index.js +35 -48
  915. package/dist/icons/Sort/index.js.map +1 -1
  916. package/dist/icons/Swap/index.js +11 -20
  917. package/dist/icons/Swap/index.js.map +1 -1
  918. package/dist/icons/ThreeDots/index.js +8 -27
  919. package/dist/icons/ThreeDots/index.js.map +1 -1
  920. package/dist/icons/Trash/index.js +18 -28
  921. package/dist/icons/Trash/index.js.map +1 -1
  922. package/dist/icons/X/index.js +15 -25
  923. package/dist/icons/X/index.js.map +1 -1
  924. package/dist/providers/Actions/index.js +33 -21
  925. package/dist/providers/Actions/index.js.map +1 -1
  926. package/dist/providers/Auth/index.js +243 -293
  927. package/dist/providers/Auth/index.js.map +1 -1
  928. package/dist/providers/ClickOutside/index.js +35 -35
  929. package/dist/providers/ClickOutside/index.js.map +1 -1
  930. package/dist/providers/ClientFunction/index.js +104 -63
  931. package/dist/providers/ClientFunction/index.js.map +1 -1
  932. package/dist/providers/Config/index.js +91 -91
  933. package/dist/providers/Config/index.js.map +1 -1
  934. package/dist/providers/DocumentEvents/index.js +30 -19
  935. package/dist/providers/DocumentEvents/index.js.map +1 -1
  936. package/dist/providers/DocumentInfo/index.js +325 -331
  937. package/dist/providers/DocumentInfo/index.js.map +1 -1
  938. package/dist/providers/DocumentInfo/types.js +1 -26
  939. package/dist/providers/DocumentInfo/types.js.map +1 -1
  940. package/dist/providers/DocumentInfo/useGetDocPermissions.js +79 -81
  941. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  942. package/dist/providers/DocumentTitle/context.js.map +1 -1
  943. package/dist/providers/DocumentTitle/index.js +55 -51
  944. package/dist/providers/DocumentTitle/index.js.map +1 -1
  945. package/dist/providers/EditDepth/index.js +25 -15
  946. package/dist/providers/EditDepth/index.js.map +1 -1
  947. package/dist/providers/EntityVisibility/index.js +48 -26
  948. package/dist/providers/EntityVisibility/index.js.map +1 -1
  949. package/dist/providers/Folders/groupItemIDsByRelation.js +7 -8
  950. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  951. package/dist/providers/Folders/index.js +600 -698
  952. package/dist/providers/Folders/index.js.map +1 -1
  953. package/dist/providers/ListQuery/context.js +2 -3
  954. package/dist/providers/ListQuery/context.js.map +1 -1
  955. package/dist/providers/ListQuery/index.js +140 -156
  956. package/dist/providers/ListQuery/index.js.map +1 -1
  957. package/dist/providers/ListQuery/mergeQuery.js +31 -49
  958. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  959. package/dist/providers/ListQuery/sanitizeQuery.js +23 -24
  960. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  961. package/dist/providers/ListQuery/types.js +1 -6
  962. package/dist/providers/ListQuery/types.js.map +1 -1
  963. package/dist/providers/LivePreview/collisionDetection.js +24 -21
  964. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  965. package/dist/providers/LivePreview/context.js +55 -60
  966. package/dist/providers/LivePreview/context.js.map +1 -1
  967. package/dist/providers/LivePreview/index.js +205 -225
  968. package/dist/providers/LivePreview/index.js.map +1 -1
  969. package/dist/providers/LivePreview/sizeReducer.js +18 -19
  970. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  971. package/dist/providers/Locale/index.js +154 -87
  972. package/dist/providers/Locale/index.js.map +1 -1
  973. package/dist/providers/Operation/index.js +11 -12
  974. package/dist/providers/Operation/index.js.map +1 -1
  975. package/dist/providers/Params/index.js +26 -14
  976. package/dist/providers/Params/index.js.map +1 -1
  977. package/dist/providers/Preferences/index.js +122 -130
  978. package/dist/providers/Preferences/index.js.map +1 -1
  979. package/dist/providers/Root/index.js +116 -190
  980. package/dist/providers/Root/index.js.map +1 -1
  981. package/dist/providers/RouteCache/index.js +103 -53
  982. package/dist/providers/RouteCache/index.js.map +1 -1
  983. package/dist/providers/RouteTransition/ProgressBar/index.js +80 -61
  984. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  985. package/dist/providers/RouteTransition/index.js +94 -69
  986. package/dist/providers/RouteTransition/index.js.map +1 -1
  987. package/dist/providers/ScrollInfo/index.js +1 -1
  988. package/dist/providers/ScrollInfo/index.js.map +1 -1
  989. package/dist/providers/SearchParams/index.js +35 -36
  990. package/dist/providers/SearchParams/index.js.map +1 -1
  991. package/dist/providers/Selection/index.js +183 -203
  992. package/dist/providers/Selection/index.js.map +1 -1
  993. package/dist/providers/ServerFunctions/index.js +189 -199
  994. package/dist/providers/ServerFunctions/index.js.map +1 -1
  995. package/dist/providers/TableColumns/RenderDefaultCell/index.js +62 -33
  996. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  998. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  999. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +52 -50
  1000. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  1001. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +2 -3
  1002. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  1003. package/dist/providers/TableColumns/buildColumnState/index.js +143 -132
  1004. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1005. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +14 -10
  1006. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  1007. package/dist/providers/TableColumns/buildColumnState/renderCell.js +151 -150
  1008. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1009. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +15 -16
  1010. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1011. package/dist/providers/TableColumns/context.js +1 -2
  1012. package/dist/providers/TableColumns/context.js.map +1 -1
  1013. package/dist/providers/TableColumns/getInitialColumns.js +28 -42
  1014. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1015. package/dist/providers/TableColumns/index.js +85 -88
  1016. package/dist/providers/TableColumns/index.js.map +1 -1
  1017. package/dist/providers/TableColumns/types.js +1 -18
  1018. package/dist/providers/TableColumns/types.js.map +1 -1
  1019. package/dist/providers/Theme/index.js +104 -69
  1020. package/dist/providers/Theme/index.js.map +1 -1
  1021. package/dist/providers/ToastContainer/icons/Error.js +19 -34
  1022. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1023. package/dist/providers/ToastContainer/icons/Info.js +19 -34
  1024. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1025. package/dist/providers/ToastContainer/icons/Success.js +19 -34
  1026. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1027. package/dist/providers/ToastContainer/icons/Warning.js +19 -34
  1028. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1029. package/dist/providers/ToastContainer/index.js +47 -56
  1030. package/dist/providers/ToastContainer/index.js.map +1 -1
  1031. package/dist/providers/Translation/index.js +112 -66
  1032. package/dist/providers/Translation/index.js.map +1 -1
  1033. package/dist/providers/UploadControls/index.js +40 -28
  1034. package/dist/providers/UploadControls/index.js.map +1 -1
  1035. package/dist/providers/UploadEdits/index.js +73 -31
  1036. package/dist/providers/UploadEdits/index.js.map +1 -1
  1037. package/dist/providers/UploadHandlers/index.js +65 -30
  1038. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1039. package/dist/providers/WindowInfo/index.js +9 -5
  1040. package/dist/providers/WindowInfo/index.js.map +1 -1
  1041. package/dist/styles.css +1 -0
  1042. package/dist/utilities/abortAndIgnore.js +17 -15
  1043. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1044. package/dist/utilities/api.js +77 -78
  1045. package/dist/utilities/api.js.map +1 -1
  1046. package/dist/utilities/buildClientFieldSchemaMap/index.js +65 -61
  1047. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1048. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +159 -150
  1049. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1050. package/dist/utilities/buildFieldSchemaMap/index.js +61 -59
  1051. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1052. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +126 -117
  1053. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1054. package/dist/utilities/buildFormState.js +186 -151
  1055. package/dist/utilities/buildFormState.js.map +1 -1
  1056. package/dist/utilities/buildTableState.js +168 -145
  1057. package/dist/utilities/buildTableState.js.map +1 -1
  1058. package/dist/utilities/canUseDOM.js +0 -1
  1059. package/dist/utilities/canUseDOM.js.map +1 -1
  1060. package/dist/utilities/combineFieldLabel.js +26 -53
  1061. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1062. package/dist/utilities/copyDataFromLocale.js +210 -202
  1063. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1064. package/dist/utilities/dateLocales.js +27 -28
  1065. package/dist/utilities/dateLocales.js.map +1 -1
  1066. package/dist/utilities/deepMerge.js +13 -14
  1067. package/dist/utilities/deepMerge.js.map +1 -1
  1068. package/dist/utilities/fetchPreferences.js.map +1 -1
  1069. package/dist/utilities/filterOutUploadFields.js +4 -17
  1070. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1071. package/dist/utilities/findLocaleFromCode.js +5 -6
  1072. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1073. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1074. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1075. package/dist/utilities/formatAdminURL.js +1 -2
  1076. package/dist/utilities/formatAdminURL.js.map +1 -1
  1077. package/dist/utilities/formatDocTitle/formatDateTitle.js +27 -20
  1078. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1079. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +13 -14
  1080. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1081. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +13 -14
  1082. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1083. package/dist/utilities/formatDocTitle/index.js +44 -38
  1084. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1085. package/dist/utilities/formatFields.js +1 -2
  1086. package/dist/utilities/formatFields.js.map +1 -1
  1087. package/dist/utilities/generateFieldID.js +5 -6
  1088. package/dist/utilities/generateFieldID.js.map +1 -1
  1089. package/dist/utilities/getClientConfig.js +29 -25
  1090. package/dist/utilities/getClientConfig.js.map +1 -1
  1091. package/dist/utilities/getClientSchemaMap.js +32 -24
  1092. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1093. package/dist/utilities/getColumns.js +35 -29
  1094. package/dist/utilities/getColumns.js.map +1 -1
  1095. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1096. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1097. package/dist/utilities/getFolderResultsComponentAndData.js +121 -134
  1098. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1099. package/dist/utilities/getGlobalData.js +45 -41
  1100. package/dist/utilities/getGlobalData.js.map +1 -1
  1101. package/dist/utilities/getNavGroups.js +18 -21
  1102. package/dist/utilities/getNavGroups.js.map +1 -1
  1103. package/dist/utilities/getOffsetTop.js +13 -14
  1104. package/dist/utilities/getOffsetTop.js.map +1 -1
  1105. package/dist/utilities/getRequestLanguage.js +8 -5
  1106. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1107. package/dist/utilities/getSchemaMap.js +28 -22
  1108. package/dist/utilities/getSchemaMap.js.map +1 -1
  1109. package/dist/utilities/getSupportedMonacoLocale.js +13 -14
  1110. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1111. package/dist/utilities/getVisibleEntities.js +26 -15
  1112. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1113. package/dist/utilities/groupNavItems.js +50 -53
  1114. package/dist/utilities/groupNavItems.js.map +1 -1
  1115. package/dist/utilities/handleBackToDashboard.js +11 -8
  1116. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1117. package/dist/utilities/handleFormStateLocking.js +121 -127
  1118. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1119. package/dist/utilities/handleGoBack.js +11 -7
  1120. package/dist/utilities/handleGoBack.js.map +1 -1
  1121. package/dist/utilities/handleLivePreview.js +76 -59
  1122. package/dist/utilities/handleLivePreview.js.map +1 -1
  1123. package/dist/utilities/handlePreview.js +52 -41
  1124. package/dist/utilities/handlePreview.js.map +1 -1
  1125. package/dist/utilities/handleTakeOver.js +39 -28
  1126. package/dist/utilities/handleTakeOver.js.map +1 -1
  1127. package/dist/utilities/hasOptionLabelJSXElement.js +11 -9
  1128. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1129. package/dist/utilities/hasSavePermission.js +14 -14
  1130. package/dist/utilities/hasSavePermission.js.map +1 -1
  1131. package/dist/utilities/isClientUserObject.js +2 -3
  1132. package/dist/utilities/isClientUserObject.js.map +1 -1
  1133. package/dist/utilities/isEditing.js +5 -2
  1134. package/dist/utilities/isEditing.js.map +1 -1
  1135. package/dist/utilities/isURLAllowed.js +30 -31
  1136. package/dist/utilities/isURLAllowed.js.map +1 -1
  1137. package/dist/utilities/isValidReactElement.js +3 -3
  1138. package/dist/utilities/isValidReactElement.js.map +1 -1
  1139. package/dist/utilities/normalizeRelationshipValue.js +28 -29
  1140. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1141. package/dist/utilities/normalizeRelationshipValue.spec.js +368 -407
  1142. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1143. package/dist/utilities/parseSearchParams.js +7 -7
  1144. package/dist/utilities/parseSearchParams.js.map +1 -1
  1145. package/dist/utilities/reduceFieldsToOptions.js +154 -145
  1146. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1147. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1148. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1149. package/dist/utilities/removeUndefined.js +1 -2
  1150. package/dist/utilities/removeUndefined.js.map +1 -1
  1151. package/dist/utilities/renderTable.js +195 -239
  1152. package/dist/utilities/renderTable.js.map +1 -1
  1153. package/dist/utilities/resolveFilterOptions.js +26 -27
  1154. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1155. package/dist/utilities/sanitizeFilterOptionsQuery.js +15 -16
  1156. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1157. package/dist/utilities/sanitizeID.js +7 -8
  1158. package/dist/utilities/sanitizeID.js.map +1 -1
  1159. package/dist/utilities/schedulePublishHandler.js +57 -47
  1160. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1161. package/dist/utilities/scrollToID.js +9 -10
  1162. package/dist/utilities/scrollToID.js.map +1 -1
  1163. package/dist/utilities/setsAreEqual.js +2 -3
  1164. package/dist/utilities/setsAreEqual.js.map +1 -1
  1165. package/dist/utilities/traverseForLocalizedFields.js +35 -36
  1166. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1167. package/dist/utilities/upsertPreferences.js +75 -75
  1168. package/dist/utilities/upsertPreferences.js.map +1 -1
  1169. package/dist/views/BrowseByFolder/index.js +324 -365
  1170. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1171. package/dist/views/CollectionFolder/ListSelection/index.js +158 -161
  1172. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1173. package/dist/views/CollectionFolder/index.js +282 -360
  1174. package/dist/views/CollectionFolder/index.js.map +1 -1
  1175. package/dist/views/Edit/Auth/APIKey.js +124 -185
  1176. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1177. package/dist/views/Edit/Auth/index.js +321 -309
  1178. package/dist/views/Edit/Auth/index.js.map +1 -1
  1179. package/dist/views/Edit/Auth/types.js +1 -2
  1180. package/dist/views/Edit/Auth/types.js.map +1 -1
  1181. package/dist/views/Edit/SetDocumentStepNav/index.js +150 -84
  1182. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1183. package/dist/views/Edit/SetDocumentTitle/index.js +77 -30
  1184. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1185. package/dist/views/Edit/index.js +501 -579
  1186. package/dist/views/Edit/index.js.map +1 -1
  1187. package/dist/views/Edit/types.js +1 -2
  1188. package/dist/views/Edit/types.js.map +1 -1
  1189. package/dist/views/List/GroupByHeader/index.js +24 -35
  1190. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1191. package/dist/views/List/ListHeader/index.js +80 -115
  1192. package/dist/views/List/ListHeader/index.js.map +1 -1
  1193. package/dist/views/List/ListSelection/index.js +111 -103
  1194. package/dist/views/List/ListSelection/index.js.map +1 -1
  1195. package/dist/views/List/index.js +213 -321
  1196. package/dist/views/List/index.js.map +1 -1
  1197. package/dist/views/List/types.js +1 -2
  1198. package/dist/views/List/types.js.map +1 -1
  1199. package/dist/widgets/CollectionCards/index.js +119 -149
  1200. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1201. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/HTMLDiff/diff/index.ts"],"sourcesContent":["// Taken and modified from https://github.com/Arman19941113/html-diff/blob/master/packages/html-diff/src/index.ts\n\ninterface MatchedBlock {\n newEnd: number\n newStart: number\n oldEnd: number\n oldStart: number\n size: number\n}\n\ninterface Operation {\n /**\n * Index of entry in tokenized token list\n */\n newEnd: number\n newStart: number\n oldEnd: number\n oldStart: number\n type: 'create' | 'delete' | 'equal' | 'replace'\n}\n\ntype BaseOpType = 'create' | 'delete'\n\ninterface HtmlDiffConfig {\n classNames: {\n createBlock: string\n createInline: string\n deleteBlock: string\n deleteInline: string\n }\n greedyBoundary: number\n greedyMatch: boolean\n minMatchedSize: number\n}\n\nexport interface HtmlDiffOptions {\n /**\n * The classNames for wrapper DOM.\n * Use this to configure your own styles without importing the built-in CSS file\n */\n classNames?: Partial<{\n createBlock?: string\n createInline?: string\n deleteBlock?: string\n deleteInline?: string\n }>\n /**\n * @defaultValue 1000\n */\n greedyBoundary?: number\n /**\n * When greedyMatch is enabled, if the length of the sub-tokens exceeds greedyBoundary,\n * we will use the matched sub-tokens that are sufficiently good, even if they are not optimal, to enhance performance.\n * @defaultValue true\n */\n greedyMatch?: boolean\n /**\n * Determine the minimum threshold for calculating common sub-tokens.\n * You may adjust it to a value larger than 2, but not lower, due to the potential inclusion of HTML tags in the count.\n * @defaultValue 2\n */\n minMatchedSize?: number\n /**\n * Whether to tokenize by character or by word.\n * @defaultValue false\n */\n tokenizeByCharacter?: boolean\n}\n\n// eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\nconst htmlStartTagReg = /^<(?<name>[^\\s/>]+)[^>]*>$/\n// eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\nconst htmlTagWithNameReg = /^<(?<isEnd>\\/)?(?<name>[^\\s>]+)[^>]*>$/\n\nconst htmlTagReg = /^<[^>]+>/\nconst htmlImgTagReg = /^<img[^>]*>$/\nconst htmlVideoTagReg = /^<video[^>]*>.*?<\\/video>$/ms\n\nexport class HtmlDiff {\n private readonly config: HtmlDiffConfig\n private leastCommonLength: number = Infinity\n private readonly matchedBlockList: MatchedBlock[] = []\n private readonly newTokens: string[] = []\n private readonly oldTokens: string[] = []\n private readonly operationList: Operation[] = []\n private sideBySideContents?: [string, string]\n private unifiedContent?: string\n\n constructor(\n oldHtml: string,\n newHtml: string,\n {\n classNames = {\n createBlock: 'html-diff-create-block-wrapper',\n createInline: 'html-diff-create-inline-wrapper',\n deleteBlock: 'html-diff-delete-block-wrapper',\n deleteInline: 'html-diff-delete-inline-wrapper',\n },\n greedyBoundary = 1000,\n greedyMatch = true,\n minMatchedSize = 2,\n tokenizeByCharacter = false,\n }: HtmlDiffOptions = {},\n ) {\n // init config\n this.config = {\n classNames: {\n createBlock: 'html-diff-create-block-wrapper',\n createInline: 'html-diff-create-inline-wrapper',\n deleteBlock: 'html-diff-delete-block-wrapper',\n deleteInline: 'html-diff-delete-inline-wrapper',\n ...classNames,\n },\n greedyBoundary,\n greedyMatch,\n minMatchedSize,\n }\n // white space is junk\n oldHtml = oldHtml.trim()\n newHtml = newHtml.trim()\n\n // no need to diff\n if (oldHtml === newHtml) {\n this.unifiedContent = oldHtml\n let equalSequence = 0\n // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\n const content = oldHtml.replace(/<([^\\s/>]+)[^>]*>/g, (match: string, name: string) => {\n const tagNameLength = name.length + 1\n return `${match.slice(0, tagNameLength)} data-seq=\"${++equalSequence}\"${match.slice(tagNameLength)}`\n })\n this.sideBySideContents = [content, content]\n return\n }\n\n // step1: split HTML to tokens(atomic tokens)\n const tokenizeFn = tokenizeByCharacter ? this.tokenizeByCharacter : this.tokenizeByWord\n this.oldTokens = tokenizeFn(oldHtml)\n this.newTokens = tokenizeFn(newHtml)\n // step2: find matched blocks\n this.matchedBlockList = this.getMatchedBlockList()\n\n // step3: generate operation list\n this.operationList = this.getOperationList()\n }\n\n // Find the longest matched block between tokens\n private computeBestMatchedBlock(\n oldStart: number,\n oldEnd: number,\n newStart: number,\n newEnd: number,\n ): MatchedBlock | null {\n let bestMatchedBlock = null\n for (let i = oldStart; i < oldEnd; i++) {\n const len = Math.min(oldEnd - i, newEnd - newStart)\n const ret = this.slideBestMatchedBlock(i, newStart, len)\n if (ret && (!bestMatchedBlock || ret.size > bestMatchedBlock.size)) {\n bestMatchedBlock = ret\n if (ret.size > this.leastCommonLength) {\n return bestMatchedBlock\n }\n }\n }\n for (let j = newStart; j < newEnd; j++) {\n const len = Math.min(oldEnd - oldStart, newEnd - j)\n const ret = this.slideBestMatchedBlock(oldStart, j, len)\n if (ret && (!bestMatchedBlock || ret.size > bestMatchedBlock.size)) {\n bestMatchedBlock = ret\n if (ret.size > this.leastCommonLength) {\n return bestMatchedBlock\n }\n }\n }\n return bestMatchedBlock\n }\n\n private computeMatchedBlockList(\n oldStart: number,\n oldEnd: number,\n newStart: number,\n newEnd: number,\n matchedBlockList: MatchedBlock[] = [],\n ): MatchedBlock[] {\n const matchBlock = this.computeBestMatchedBlock(oldStart, oldEnd, newStart, newEnd)\n\n if (!matchBlock) {\n return []\n }\n\n if (oldStart < matchBlock.oldStart && newStart < matchBlock.newStart) {\n this.computeMatchedBlockList(\n oldStart,\n matchBlock.oldStart,\n newStart,\n matchBlock.newStart,\n matchedBlockList,\n )\n }\n matchedBlockList.push(matchBlock)\n if (oldEnd > matchBlock.oldEnd && newEnd > matchBlock.newEnd) {\n this.computeMatchedBlockList(\n matchBlock.oldEnd,\n oldEnd,\n matchBlock.newEnd,\n newEnd,\n matchedBlockList,\n )\n }\n return matchedBlockList\n }\n\n private dressUpBlockTag(type: BaseOpType, token: string): string {\n if (type === 'create') {\n return `<div class=\"${this.config.classNames.createBlock}\">${token}</div>`\n }\n if (type === 'delete') {\n return `<div class=\"${this.config.classNames.deleteBlock}\">${token}</div>`\n }\n return ''\n }\n\n private dressUpDiffContent(type: BaseOpType, tokens: string[]): string {\n const tokensLength = tokens.length\n if (!tokensLength) {\n return ''\n }\n\n let result = ''\n let textStartIndex = 0\n let i = -1\n for (const token of tokens) {\n i++\n\n // If this is true, this HTML should be diffed as well - not just its children\n const isMatchElement = token.includes('data-enable-match=\"true\"')\n const isMatchExplicitlyDisabled = token.includes('data-enable-match=\"false\"')\n const isHtmlTag = !!token.match(htmlTagReg)?.length\n\n if (isMatchExplicitlyDisabled) {\n textStartIndex = i + 1\n result += token\n }\n // this token is html tag\n else if (!isMatchElement && isHtmlTag) {\n // handle text tokens before\n if (i > textStartIndex) {\n result += this.dressUpText(type, tokens.slice(textStartIndex, i))\n }\n // handle this tag\n textStartIndex = i + 1\n if (token.match(htmlVideoTagReg)) {\n result += this.dressUpBlockTag(type, token)\n } /* else if ([htmlImgTagReg].some((item) => token.match(item))) {\n result += this.dressUpInlineTag(type, token)\n }*/ else {\n result += token\n }\n } else if (isMatchElement && isHtmlTag) {\n // handle text tokens before\n if (i > textStartIndex) {\n result += this.dressUpText(type, tokens.slice(textStartIndex, i))\n }\n\n // handle this tag\n textStartIndex = i + 1\n // Add data-match-type to the tag that can be styled\n const newToken = this.dressupMatchEnabledHtmlTag(type, token)\n\n result += newToken\n }\n }\n if (textStartIndex < tokensLength) {\n result += this.dressUpText(type, tokens.slice(textStartIndex))\n }\n return result\n }\n\n private dressUpInlineTag(type: BaseOpType, token: string): string {\n if (type === 'create') {\n return `<span class=\"${this.config.classNames.createInline}\">${token}</span>`\n }\n if (type === 'delete') {\n return `<span class=\"${this.config.classNames.deleteInline}\">${token}</span>`\n }\n return ''\n }\n\n private dressupMatchEnabledHtmlTag(type: BaseOpType, token: string): string {\n // token is a single html tag, e.g. <a data-enable-match=\"true\" href=\"https://2\" rel=undefined target=undefined>\n // add data-match-type to the tag\n const tagName = token.match(htmlStartTagReg)?.groups?.name\n if (!tagName) {\n return token\n }\n const tagNameLength = tagName.length + 1\n const matchType = type === 'create' ? 'create' : 'delete'\n return `${token.slice(0, tagNameLength)} data-match-type=\"${matchType}\"${token.slice(\n tagNameLength,\n token.length,\n )}`\n }\n\n private dressUpText(type: BaseOpType, tokens: string[]): string {\n const text = tokens.join('')\n if (!text.trim()) {\n return ''\n }\n if (type === 'create') {\n return `<span data-match-type=\"create\">${text}</span>`\n }\n if (type === 'delete') {\n return `<span data-match-type=\"delete\">${text}</span>`\n }\n return ''\n }\n\n /**\n * Generates a list of token entries that are matched between the old and new HTML. This list will not\n * include token ranges that differ.\n */\n private getMatchedBlockList(): MatchedBlock[] {\n const n1 = this.oldTokens.length\n const n2 = this.newTokens.length\n\n // 1. sync from start\n let start: MatchedBlock | null = null\n let i = 0\n while (i < n1 && i < n2 && this.oldTokens[i] === this.newTokens[i]) {\n i++\n }\n if (i >= this.config.minMatchedSize) {\n start = {\n newEnd: i,\n newStart: 0,\n oldEnd: i,\n oldStart: 0,\n size: i,\n }\n }\n\n // 2. sync from end\n let end: MatchedBlock | null = null\n let e1 = n1 - 1\n let e2 = n2 - 1\n while (i <= e1 && i <= e2 && this.oldTokens[e1] === this.newTokens[e2]) {\n e1--\n e2--\n }\n const size = n1 - 1 - e1\n if (size >= this.config.minMatchedSize) {\n end = {\n newEnd: n2,\n newStart: e2 + 1,\n oldEnd: n1,\n oldStart: e1 + 1,\n size,\n }\n }\n\n // 3. handle rest\n const oldStart = start ? i : 0\n const oldEnd = end ? e1 + 1 : n1\n const newStart = start ? i : 0\n const newEnd = end ? e2 + 1 : n2\n // optimize for large tokens\n if (this.config.greedyMatch) {\n const commonLength = Math.min(oldEnd - oldStart, newEnd - newStart)\n if (commonLength > this.config.greedyBoundary) {\n this.leastCommonLength = Math.floor(commonLength / 3)\n }\n }\n const ret = this.computeMatchedBlockList(oldStart, oldEnd, newStart, newEnd)\n if (start) {\n ret.unshift(start)\n }\n if (end) {\n ret.push(end)\n }\n\n return ret\n }\n\n // Generate operation list by matchedBlockList\n private getOperationList(): Operation[] {\n const operationList: Operation[] = []\n let walkIndexOld = 0\n let walkIndexNew = 0\n for (const matchedBlock of this.matchedBlockList) {\n const isOldStartIndexMatched = walkIndexOld === matchedBlock.oldStart\n const isNewStartIndexMatched = walkIndexNew === matchedBlock.newStart\n const operationBase = {\n newEnd: matchedBlock.newStart,\n newStart: walkIndexNew,\n oldEnd: matchedBlock.oldStart,\n oldStart: walkIndexOld,\n }\n if (!isOldStartIndexMatched && !isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'replace' as const }))\n } else if (isOldStartIndexMatched && !isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'create' as const }))\n } else if (!isOldStartIndexMatched && isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'delete' as const }))\n }\n\n operationList.push({\n type: 'equal',\n newEnd: matchedBlock.newEnd,\n newStart: matchedBlock.newStart,\n oldEnd: matchedBlock.oldEnd,\n oldStart: matchedBlock.oldStart,\n })\n walkIndexOld = matchedBlock.oldEnd\n walkIndexNew = matchedBlock.newEnd\n }\n // handle the tail content\n const maxIndexOld = this.oldTokens.length\n const maxIndexNew = this.newTokens.length\n const tailOperationBase = {\n newEnd: maxIndexNew,\n newStart: walkIndexNew,\n oldEnd: maxIndexOld,\n oldStart: walkIndexOld,\n }\n const isOldFinished = walkIndexOld === maxIndexOld\n const isNewFinished = walkIndexNew === maxIndexNew\n if (!isOldFinished && !isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'replace' as const }))\n } else if (isOldFinished && !isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'create' as const }))\n } else if (!isOldFinished && isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'delete' as const }))\n }\n return operationList\n }\n\n private slideBestMatchedBlock(addA: number, addB: number, len: number): MatchedBlock | null {\n let maxSize = 0\n let bestMatchedBlock: MatchedBlock | null = null\n\n let continuousSize = 0\n for (let i = 0; i < len; i++) {\n if (this.oldTokens[addA + i] === this.newTokens[addB + i]) {\n continuousSize++\n } else {\n continuousSize = 0\n }\n if (continuousSize > maxSize) {\n maxSize = continuousSize\n bestMatchedBlock = {\n newEnd: addB + i + 1,\n newStart: addB + i - continuousSize + 1,\n oldEnd: addA + i + 1,\n oldStart: addA + i - continuousSize + 1,\n size: continuousSize,\n }\n }\n }\n\n return maxSize >= this.config.minMatchedSize ? bestMatchedBlock : null\n }\n\n /**\n * Convert HTML to tokens at character level, preserving HTML tags as complete tokens\n * @example\n * tokenize(\"<a> Hello World </a>\")\n * [\"<a>\", \" \", \"H\", \"e\", \"l\", \"l\", \"o\", \" \", \"W\", \"o\", \"r\", \"l\", \"d\", \" \", \"</a>\"]\n */\n private tokenizeByCharacter(html: string): string[] {\n // First, identify HTML tags and preserve them as complete tokens\n const tokens: string[] = []\n let currentPos = 0\n\n // Regular expression to match HTML tags (including picture and video tags with content)\n const tagRegex = /<picture[^>]*>.*?<\\/picture>|<video[^>]*>.*?<\\/video>|<[^>]+>/gs\n let match: null | RegExpExecArray\n\n while ((match = tagRegex.exec(html)) !== null) {\n // Add characters before the tag\n const beforeTag = html.substring(currentPos, match.index)\n if (beforeTag) {\n // Split non-tag content into individual characters\n for (const char of beforeTag) {\n tokens.push(char)\n }\n }\n\n // Add the complete tag as a single token\n tokens.push(match[0])\n currentPos = match.index + match[0].length\n }\n\n // Add any remaining characters after the last tag\n const remaining = html.substring(currentPos)\n for (const char of remaining) {\n tokens.push(char)\n }\n\n return tokens\n }\n\n /**\n * convert HTML to tokens\n * @example\n * tokenize(\"<a> Hello World </a>\")\n * [\"<a>\",\" \", \"Hello\", \" \", \"World\", \" \", \"</a>\"]\n */\n private tokenizeByWord(html: string): string[] {\n // atomic token: html tag、continuous numbers or letters、blank spaces、other symbol\n return (\n html.match(\n /<picture[^>]*>.*?<\\/picture>|<video[^>]*>.*?<\\/video>|<[^>]+>|\\w+\\b|\\s+|[^<>\\w]/gs,\n ) || []\n )\n }\n\n public getSideBySideContents(): string[] {\n if (this.sideBySideContents !== undefined) {\n return this.sideBySideContents\n }\n\n let oldHtml = ''\n let newHtml = ''\n let equalSequence = 0\n this.operationList.forEach((operation) => {\n switch (operation.type) {\n case 'create': {\n newHtml += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n case 'delete': {\n const deletedTokens = this.oldTokens.slice(operation.oldStart, operation.oldEnd)\n oldHtml += this.dressUpDiffContent('delete', deletedTokens)\n break\n }\n case 'equal': {\n const equalTokens = this.newTokens.slice(operation.newStart, operation.newEnd)\n let equalString = ''\n for (const token of equalTokens) {\n // find start tags and add data-seq to enable sync scroll\n const startTagMatch = token.match(htmlStartTagReg)\n if (startTagMatch) {\n equalSequence += 1\n const tagNameLength = (startTagMatch?.groups?.name?.length ?? 0) + 1\n equalString += `${token.slice(0, tagNameLength)} data-seq=\"${equalSequence}\"${token.slice(tagNameLength)}`\n } else {\n equalString += token\n }\n }\n oldHtml += equalString\n newHtml += equalString\n break\n }\n\n case 'replace': {\n oldHtml += this.dressUpDiffContent(\n 'delete',\n this.oldTokens.slice(operation.oldStart, operation.oldEnd),\n )\n newHtml += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n default: {\n console.error('Richtext diff error - invalid operation: ' + String(operation.type))\n }\n }\n })\n\n const result: [string, string] = [oldHtml, newHtml]\n this.sideBySideContents = result\n return result\n }\n\n public getUnifiedContent(): string {\n if (this.unifiedContent !== undefined) {\n return this.unifiedContent\n }\n\n let result = ''\n this.operationList.forEach((operation) => {\n switch (operation.type) {\n case 'create': {\n result += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n case 'delete': {\n result += this.dressUpDiffContent(\n 'delete',\n this.oldTokens.slice(operation.oldStart, operation.oldEnd),\n )\n break\n }\n\n case 'equal': {\n for (const token of this.newTokens.slice(operation.newStart, operation.newEnd)) {\n result += token\n }\n break\n }\n\n case 'replace': {\n // handle specially tag replace\n const olds = this.oldTokens.slice(operation.oldStart, operation.oldEnd)\n const news = this.newTokens.slice(operation.newStart, operation.newEnd)\n if (\n olds.length === 1 &&\n news.length === 1 &&\n olds[0]?.match(htmlTagReg) &&\n news[0]?.match(htmlTagReg)\n ) {\n result += news[0]\n break\n }\n\n const deletedTokens: string[] = []\n const createdTokens: string[] = []\n let createIndex = operation.newStart\n for (\n let deleteIndex = operation.oldStart;\n deleteIndex < operation.oldEnd;\n deleteIndex++\n ) {\n const deletedToken = this.oldTokens[deleteIndex]\n\n if (!deletedToken) {\n continue\n }\n\n const matchTagResultD = deletedToken?.match(htmlTagWithNameReg)\n if (matchTagResultD) {\n // handle replaced tag token\n\n // skip special tag\n if ([htmlImgTagReg, htmlVideoTagReg].some((item) => deletedToken?.match(item))) {\n deletedTokens.push(deletedToken)\n continue\n }\n\n // handle normal tag\n result += this.dressUpDiffContent('delete', deletedTokens)\n deletedTokens.splice(0)\n let isTagInNewFind = false\n for (\n let tempCreateIndex = createIndex;\n tempCreateIndex < operation.newEnd;\n tempCreateIndex++\n ) {\n const createdToken = this.newTokens[tempCreateIndex]\n if (!createdToken) {\n continue\n }\n const matchTagResultC = createdToken?.match(htmlTagWithNameReg)\n if (\n matchTagResultC &&\n matchTagResultC.groups?.name === matchTagResultD.groups?.name &&\n matchTagResultC.groups?.isEnd === matchTagResultD.groups?.isEnd\n ) {\n // find first matched tag, but not maybe the expected tag(to optimize)\n isTagInNewFind = true\n result += this.dressUpDiffContent('create', createdTokens)\n result += createdToken\n createdTokens.splice(0)\n createIndex = tempCreateIndex + 1\n break\n } else {\n createdTokens.push(createdToken)\n }\n }\n if (!isTagInNewFind) {\n result += deletedToken\n createdTokens.splice(0)\n }\n } else {\n // token is not a tag\n deletedTokens.push(deletedToken)\n }\n }\n if (createIndex < operation.newEnd) {\n createdTokens.push(...this.newTokens.slice(createIndex, operation.newEnd))\n }\n result += this.dressUpDiffContent('delete', deletedTokens)\n result += this.dressUpDiffContent('create', createdTokens)\n break\n }\n\n default: {\n console.error('Richtext diff error - invalid operation: ' + String(operation.type))\n }\n }\n })\n this.unifiedContent = result\n return result\n }\n}\n"],"names":["htmlStartTagReg","htmlTagWithNameReg","htmlTagReg","htmlImgTagReg","htmlVideoTagReg","HtmlDiff","config","leastCommonLength","Infinity","matchedBlockList","newTokens","oldTokens","operationList","sideBySideContents","unifiedContent","oldHtml","newHtml","classNames","createBlock","createInline","deleteBlock","deleteInline","greedyBoundary","greedyMatch","minMatchedSize","tokenizeByCharacter","trim","equalSequence","content","replace","match","name","tagNameLength","length","slice","tokenizeFn","tokenizeByWord","getMatchedBlockList","getOperationList","computeBestMatchedBlock","oldStart","oldEnd","newStart","newEnd","bestMatchedBlock","i","len","Math","min","ret","slideBestMatchedBlock","size","j","computeMatchedBlockList","matchBlock","push","dressUpBlockTag","type","token","dressUpDiffContent","tokens","tokensLength","result","textStartIndex","isMatchElement","includes","isMatchExplicitlyDisabled","isHtmlTag","dressUpText","newToken","dressupMatchEnabledHtmlTag","dressUpInlineTag","tagName","groups","matchType","text","join","n1","n2","start","end","e1","e2","commonLength","floor","unshift","walkIndexOld","walkIndexNew","matchedBlock","isOldStartIndexMatched","isNewStartIndexMatched","operationBase","Object","assign","maxIndexOld","maxIndexNew","tailOperationBase","isOldFinished","isNewFinished","addA","addB","maxSize","continuousSize","html","currentPos","tagRegex","exec","beforeTag","substring","index","char","remaining","getSideBySideContents","undefined","forEach","operation","deletedTokens","equalTokens","equalString","startTagMatch","console","error","String","getUnifiedContent","olds","news","createdTokens","createIndex","deleteIndex","deletedToken","matchTagResultD","some","item","splice","isTagInNewFind","tempCreateIndex","createdToken","matchTagResultC","isEnd"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["htmlStartTagReg","htmlTagWithNameReg","htmlTagReg","htmlImgTagReg","htmlVideoTagReg","HtmlDiff","config","leastCommonLength","Infinity","matchedBlockList","newTokens","oldTokens","operationList","sideBySideContents","unifiedContent","constructor","oldHtml","newHtml","classNames","createBlock","createInline","deleteBlock","deleteInline","greedyBoundary","greedyMatch","minMatchedSize","tokenizeByCharacter","trim","equalSequence","content","replace","match","name","tagNameLength","length","slice","tokenizeFn","tokenizeByWord","getMatchedBlockList","getOperationList","computeBestMatchedBlock","oldStart","oldEnd","newStart","newEnd","bestMatchedBlock","i","len","Math","min","ret","slideBestMatchedBlock","size","j","computeMatchedBlockList","matchBlock","push","dressUpBlockTag","type","token","dressUpDiffContent","tokens","tokensLength","result","textStartIndex","isMatchElement","includes","isMatchExplicitlyDisabled","isHtmlTag","dressUpText","newToken","dressupMatchEnabledHtmlTag","dressUpInlineTag","tagName","groups","matchType","text","join","n1","n2","start","end","e1","e2","commonLength","floor","unshift","walkIndexOld","walkIndexNew","matchedBlock","isOldStartIndexMatched","isNewStartIndexMatched","operationBase","Object","assign","maxIndexOld","maxIndexNew","tailOperationBase","isOldFinished","isNewFinished","addA","addB","maxSize","continuousSize","html","currentPos","tagRegex","exec","beforeTag","substring","index","char","remaining","getSideBySideContents","undefined","forEach","operation","deletedTokens","equalTokens","equalString","startTagMatch","console","error","String","getUnifiedContent","olds","news","createdTokens","createIndex","deleteIndex","deletedToken","matchTagResultD","some","item","splice","isTagInNewFind","tempCreateIndex","createdToken","matchTagResultC","isEnd"],"sources":["../../../../src/elements/HTMLDiff/diff/index.ts"],"sourcesContent":["// Taken and modified from https://github.com/Arman19941113/html-diff/blob/master/packages/html-diff/src/index.ts\n\ninterface MatchedBlock {\n newEnd: number\n newStart: number\n oldEnd: number\n oldStart: number\n size: number\n}\n\ninterface Operation {\n /**\n * Index of entry in tokenized token list\n */\n newEnd: number\n newStart: number\n oldEnd: number\n oldStart: number\n type: 'create' | 'delete' | 'equal' | 'replace'\n}\n\ntype BaseOpType = 'create' | 'delete'\n\ninterface HtmlDiffConfig {\n classNames: {\n createBlock: string\n createInline: string\n deleteBlock: string\n deleteInline: string\n }\n greedyBoundary: number\n greedyMatch: boolean\n minMatchedSize: number\n}\n\nexport interface HtmlDiffOptions {\n /**\n * The classNames for wrapper DOM.\n * Use this to configure your own styles without importing the built-in CSS file\n */\n classNames?: Partial<{\n createBlock?: string\n createInline?: string\n deleteBlock?: string\n deleteInline?: string\n }>\n /**\n * @defaultValue 1000\n */\n greedyBoundary?: number\n /**\n * When greedyMatch is enabled, if the length of the sub-tokens exceeds greedyBoundary,\n * we will use the matched sub-tokens that are sufficiently good, even if they are not optimal, to enhance performance.\n * @defaultValue true\n */\n greedyMatch?: boolean\n /**\n * Determine the minimum threshold for calculating common sub-tokens.\n * You may adjust it to a value larger than 2, but not lower, due to the potential inclusion of HTML tags in the count.\n * @defaultValue 2\n */\n minMatchedSize?: number\n /**\n * Whether to tokenize by character or by word.\n * @defaultValue false\n */\n tokenizeByCharacter?: boolean\n}\n\n// eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\nconst htmlStartTagReg = /^<(?<name>[^\\s/>]+)[^>]*>$/\n// eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\nconst htmlTagWithNameReg = /^<(?<isEnd>\\/)?(?<name>[^\\s>]+)[^>]*>$/\n\nconst htmlTagReg = /^<[^>]+>/\nconst htmlImgTagReg = /^<img[^>]*>$/\nconst htmlVideoTagReg = /^<video[^>]*>.*?<\\/video>$/ms\n\nexport class HtmlDiff {\n private readonly config: HtmlDiffConfig\n private leastCommonLength: number = Infinity\n private readonly matchedBlockList: MatchedBlock[] = []\n private readonly newTokens: string[] = []\n private readonly oldTokens: string[] = []\n private readonly operationList: Operation[] = []\n private sideBySideContents?: [string, string]\n private unifiedContent?: string\n\n constructor(\n oldHtml: string,\n newHtml: string,\n {\n classNames = {\n createBlock: 'html-diff-create-block-wrapper',\n createInline: 'html-diff-create-inline-wrapper',\n deleteBlock: 'html-diff-delete-block-wrapper',\n deleteInline: 'html-diff-delete-inline-wrapper',\n },\n greedyBoundary = 1000,\n greedyMatch = true,\n minMatchedSize = 2,\n tokenizeByCharacter = false,\n }: HtmlDiffOptions = {},\n ) {\n // init config\n this.config = {\n classNames: {\n createBlock: 'html-diff-create-block-wrapper',\n createInline: 'html-diff-create-inline-wrapper',\n deleteBlock: 'html-diff-delete-block-wrapper',\n deleteInline: 'html-diff-delete-inline-wrapper',\n ...classNames,\n },\n greedyBoundary,\n greedyMatch,\n minMatchedSize,\n }\n // white space is junk\n oldHtml = oldHtml.trim()\n newHtml = newHtml.trim()\n\n // no need to diff\n if (oldHtml === newHtml) {\n this.unifiedContent = oldHtml\n let equalSequence = 0\n // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/optimal-quantifier-concatenation\n const content = oldHtml.replace(/<([^\\s/>]+)[^>]*>/g, (match: string, name: string) => {\n const tagNameLength = name.length + 1\n return `${match.slice(0, tagNameLength)} data-seq=\"${++equalSequence}\"${match.slice(tagNameLength)}`\n })\n this.sideBySideContents = [content, content]\n return\n }\n\n // step1: split HTML to tokens(atomic tokens)\n const tokenizeFn = tokenizeByCharacter ? this.tokenizeByCharacter : this.tokenizeByWord\n this.oldTokens = tokenizeFn(oldHtml)\n this.newTokens = tokenizeFn(newHtml)\n // step2: find matched blocks\n this.matchedBlockList = this.getMatchedBlockList()\n\n // step3: generate operation list\n this.operationList = this.getOperationList()\n }\n\n // Find the longest matched block between tokens\n private computeBestMatchedBlock(\n oldStart: number,\n oldEnd: number,\n newStart: number,\n newEnd: number,\n ): MatchedBlock | null {\n let bestMatchedBlock = null\n for (let i = oldStart; i < oldEnd; i++) {\n const len = Math.min(oldEnd - i, newEnd - newStart)\n const ret = this.slideBestMatchedBlock(i, newStart, len)\n if (ret && (!bestMatchedBlock || ret.size > bestMatchedBlock.size)) {\n bestMatchedBlock = ret\n if (ret.size > this.leastCommonLength) {\n return bestMatchedBlock\n }\n }\n }\n for (let j = newStart; j < newEnd; j++) {\n const len = Math.min(oldEnd - oldStart, newEnd - j)\n const ret = this.slideBestMatchedBlock(oldStart, j, len)\n if (ret && (!bestMatchedBlock || ret.size > bestMatchedBlock.size)) {\n bestMatchedBlock = ret\n if (ret.size > this.leastCommonLength) {\n return bestMatchedBlock\n }\n }\n }\n return bestMatchedBlock\n }\n\n private computeMatchedBlockList(\n oldStart: number,\n oldEnd: number,\n newStart: number,\n newEnd: number,\n matchedBlockList: MatchedBlock[] = [],\n ): MatchedBlock[] {\n const matchBlock = this.computeBestMatchedBlock(oldStart, oldEnd, newStart, newEnd)\n\n if (!matchBlock) {\n return []\n }\n\n if (oldStart < matchBlock.oldStart && newStart < matchBlock.newStart) {\n this.computeMatchedBlockList(\n oldStart,\n matchBlock.oldStart,\n newStart,\n matchBlock.newStart,\n matchedBlockList,\n )\n }\n matchedBlockList.push(matchBlock)\n if (oldEnd > matchBlock.oldEnd && newEnd > matchBlock.newEnd) {\n this.computeMatchedBlockList(\n matchBlock.oldEnd,\n oldEnd,\n matchBlock.newEnd,\n newEnd,\n matchedBlockList,\n )\n }\n return matchedBlockList\n }\n\n private dressUpBlockTag(type: BaseOpType, token: string): string {\n if (type === 'create') {\n return `<div class=\"${this.config.classNames.createBlock}\">${token}</div>`\n }\n if (type === 'delete') {\n return `<div class=\"${this.config.classNames.deleteBlock}\">${token}</div>`\n }\n return ''\n }\n\n private dressUpDiffContent(type: BaseOpType, tokens: string[]): string {\n const tokensLength = tokens.length\n if (!tokensLength) {\n return ''\n }\n\n let result = ''\n let textStartIndex = 0\n let i = -1\n for (const token of tokens) {\n i++\n\n // If this is true, this HTML should be diffed as well - not just its children\n const isMatchElement = token.includes('data-enable-match=\"true\"')\n const isMatchExplicitlyDisabled = token.includes('data-enable-match=\"false\"')\n const isHtmlTag = !!token.match(htmlTagReg)?.length\n\n if (isMatchExplicitlyDisabled) {\n textStartIndex = i + 1\n result += token\n }\n // this token is html tag\n else if (!isMatchElement && isHtmlTag) {\n // handle text tokens before\n if (i > textStartIndex) {\n result += this.dressUpText(type, tokens.slice(textStartIndex, i))\n }\n // handle this tag\n textStartIndex = i + 1\n if (token.match(htmlVideoTagReg)) {\n result += this.dressUpBlockTag(type, token)\n } /* else if ([htmlImgTagReg].some((item) => token.match(item))) {\n result += this.dressUpInlineTag(type, token)\n }*/ else {\n result += token\n }\n } else if (isMatchElement && isHtmlTag) {\n // handle text tokens before\n if (i > textStartIndex) {\n result += this.dressUpText(type, tokens.slice(textStartIndex, i))\n }\n\n // handle this tag\n textStartIndex = i + 1\n // Add data-match-type to the tag that can be styled\n const newToken = this.dressupMatchEnabledHtmlTag(type, token)\n\n result += newToken\n }\n }\n if (textStartIndex < tokensLength) {\n result += this.dressUpText(type, tokens.slice(textStartIndex))\n }\n return result\n }\n\n private dressUpInlineTag(type: BaseOpType, token: string): string {\n if (type === 'create') {\n return `<span class=\"${this.config.classNames.createInline}\">${token}</span>`\n }\n if (type === 'delete') {\n return `<span class=\"${this.config.classNames.deleteInline}\">${token}</span>`\n }\n return ''\n }\n\n private dressupMatchEnabledHtmlTag(type: BaseOpType, token: string): string {\n // token is a single html tag, e.g. <a data-enable-match=\"true\" href=\"https://2\" rel=undefined target=undefined>\n // add data-match-type to the tag\n const tagName = token.match(htmlStartTagReg)?.groups?.name\n if (!tagName) {\n return token\n }\n const tagNameLength = tagName.length + 1\n const matchType = type === 'create' ? 'create' : 'delete'\n return `${token.slice(0, tagNameLength)} data-match-type=\"${matchType}\"${token.slice(\n tagNameLength,\n token.length,\n )}`\n }\n\n private dressUpText(type: BaseOpType, tokens: string[]): string {\n const text = tokens.join('')\n if (!text.trim()) {\n return ''\n }\n if (type === 'create') {\n return `<span data-match-type=\"create\">${text}</span>`\n }\n if (type === 'delete') {\n return `<span data-match-type=\"delete\">${text}</span>`\n }\n return ''\n }\n\n /**\n * Generates a list of token entries that are matched between the old and new HTML. This list will not\n * include token ranges that differ.\n */\n private getMatchedBlockList(): MatchedBlock[] {\n const n1 = this.oldTokens.length\n const n2 = this.newTokens.length\n\n // 1. sync from start\n let start: MatchedBlock | null = null\n let i = 0\n while (i < n1 && i < n2 && this.oldTokens[i] === this.newTokens[i]) {\n i++\n }\n if (i >= this.config.minMatchedSize) {\n start = {\n newEnd: i,\n newStart: 0,\n oldEnd: i,\n oldStart: 0,\n size: i,\n }\n }\n\n // 2. sync from end\n let end: MatchedBlock | null = null\n let e1 = n1 - 1\n let e2 = n2 - 1\n while (i <= e1 && i <= e2 && this.oldTokens[e1] === this.newTokens[e2]) {\n e1--\n e2--\n }\n const size = n1 - 1 - e1\n if (size >= this.config.minMatchedSize) {\n end = {\n newEnd: n2,\n newStart: e2 + 1,\n oldEnd: n1,\n oldStart: e1 + 1,\n size,\n }\n }\n\n // 3. handle rest\n const oldStart = start ? i : 0\n const oldEnd = end ? e1 + 1 : n1\n const newStart = start ? i : 0\n const newEnd = end ? e2 + 1 : n2\n // optimize for large tokens\n if (this.config.greedyMatch) {\n const commonLength = Math.min(oldEnd - oldStart, newEnd - newStart)\n if (commonLength > this.config.greedyBoundary) {\n this.leastCommonLength = Math.floor(commonLength / 3)\n }\n }\n const ret = this.computeMatchedBlockList(oldStart, oldEnd, newStart, newEnd)\n if (start) {\n ret.unshift(start)\n }\n if (end) {\n ret.push(end)\n }\n\n return ret\n }\n\n // Generate operation list by matchedBlockList\n private getOperationList(): Operation[] {\n const operationList: Operation[] = []\n let walkIndexOld = 0\n let walkIndexNew = 0\n for (const matchedBlock of this.matchedBlockList) {\n const isOldStartIndexMatched = walkIndexOld === matchedBlock.oldStart\n const isNewStartIndexMatched = walkIndexNew === matchedBlock.newStart\n const operationBase = {\n newEnd: matchedBlock.newStart,\n newStart: walkIndexNew,\n oldEnd: matchedBlock.oldStart,\n oldStart: walkIndexOld,\n }\n if (!isOldStartIndexMatched && !isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'replace' as const }))\n } else if (isOldStartIndexMatched && !isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'create' as const }))\n } else if (!isOldStartIndexMatched && isNewStartIndexMatched) {\n operationList.push(Object.assign(operationBase, { type: 'delete' as const }))\n }\n\n operationList.push({\n type: 'equal',\n newEnd: matchedBlock.newEnd,\n newStart: matchedBlock.newStart,\n oldEnd: matchedBlock.oldEnd,\n oldStart: matchedBlock.oldStart,\n })\n walkIndexOld = matchedBlock.oldEnd\n walkIndexNew = matchedBlock.newEnd\n }\n // handle the tail content\n const maxIndexOld = this.oldTokens.length\n const maxIndexNew = this.newTokens.length\n const tailOperationBase = {\n newEnd: maxIndexNew,\n newStart: walkIndexNew,\n oldEnd: maxIndexOld,\n oldStart: walkIndexOld,\n }\n const isOldFinished = walkIndexOld === maxIndexOld\n const isNewFinished = walkIndexNew === maxIndexNew\n if (!isOldFinished && !isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'replace' as const }))\n } else if (isOldFinished && !isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'create' as const }))\n } else if (!isOldFinished && isNewFinished) {\n operationList.push(Object.assign(tailOperationBase, { type: 'delete' as const }))\n }\n return operationList\n }\n\n private slideBestMatchedBlock(addA: number, addB: number, len: number): MatchedBlock | null {\n let maxSize = 0\n let bestMatchedBlock: MatchedBlock | null = null\n\n let continuousSize = 0\n for (let i = 0; i < len; i++) {\n if (this.oldTokens[addA + i] === this.newTokens[addB + i]) {\n continuousSize++\n } else {\n continuousSize = 0\n }\n if (continuousSize > maxSize) {\n maxSize = continuousSize\n bestMatchedBlock = {\n newEnd: addB + i + 1,\n newStart: addB + i - continuousSize + 1,\n oldEnd: addA + i + 1,\n oldStart: addA + i - continuousSize + 1,\n size: continuousSize,\n }\n }\n }\n\n return maxSize >= this.config.minMatchedSize ? bestMatchedBlock : null\n }\n\n /**\n * Convert HTML to tokens at character level, preserving HTML tags as complete tokens\n * @example\n * tokenize(\"<a> Hello World </a>\")\n * [\"<a>\", \" \", \"H\", \"e\", \"l\", \"l\", \"o\", \" \", \"W\", \"o\", \"r\", \"l\", \"d\", \" \", \"</a>\"]\n */\n private tokenizeByCharacter(html: string): string[] {\n // First, identify HTML tags and preserve them as complete tokens\n const tokens: string[] = []\n let currentPos = 0\n\n // Regular expression to match HTML tags (including picture and video tags with content)\n const tagRegex = /<picture[^>]*>.*?<\\/picture>|<video[^>]*>.*?<\\/video>|<[^>]+>/gs\n let match: null | RegExpExecArray\n\n while ((match = tagRegex.exec(html)) !== null) {\n // Add characters before the tag\n const beforeTag = html.substring(currentPos, match.index)\n if (beforeTag) {\n // Split non-tag content into individual characters\n for (const char of beforeTag) {\n tokens.push(char)\n }\n }\n\n // Add the complete tag as a single token\n tokens.push(match[0])\n currentPos = match.index + match[0].length\n }\n\n // Add any remaining characters after the last tag\n const remaining = html.substring(currentPos)\n for (const char of remaining) {\n tokens.push(char)\n }\n\n return tokens\n }\n\n /**\n * convert HTML to tokens\n * @example\n * tokenize(\"<a> Hello World </a>\")\n * [\"<a>\",\" \", \"Hello\", \" \", \"World\", \" \", \"</a>\"]\n */\n private tokenizeByWord(html: string): string[] {\n // atomic token: html tag、continuous numbers or letters、blank spaces、other symbol\n return (\n html.match(\n /<picture[^>]*>.*?<\\/picture>|<video[^>]*>.*?<\\/video>|<[^>]+>|\\w+\\b|\\s+|[^<>\\w]/gs,\n ) || []\n )\n }\n\n public getSideBySideContents(): string[] {\n if (this.sideBySideContents !== undefined) {\n return this.sideBySideContents\n }\n\n let oldHtml = ''\n let newHtml = ''\n let equalSequence = 0\n this.operationList.forEach((operation) => {\n switch (operation.type) {\n case 'create': {\n newHtml += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n case 'delete': {\n const deletedTokens = this.oldTokens.slice(operation.oldStart, operation.oldEnd)\n oldHtml += this.dressUpDiffContent('delete', deletedTokens)\n break\n }\n case 'equal': {\n const equalTokens = this.newTokens.slice(operation.newStart, operation.newEnd)\n let equalString = ''\n for (const token of equalTokens) {\n // find start tags and add data-seq to enable sync scroll\n const startTagMatch = token.match(htmlStartTagReg)\n if (startTagMatch) {\n equalSequence += 1\n const tagNameLength = (startTagMatch?.groups?.name?.length ?? 0) + 1\n equalString += `${token.slice(0, tagNameLength)} data-seq=\"${equalSequence}\"${token.slice(tagNameLength)}`\n } else {\n equalString += token\n }\n }\n oldHtml += equalString\n newHtml += equalString\n break\n }\n\n case 'replace': {\n oldHtml += this.dressUpDiffContent(\n 'delete',\n this.oldTokens.slice(operation.oldStart, operation.oldEnd),\n )\n newHtml += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n default: {\n console.error('Richtext diff error - invalid operation: ' + String(operation.type))\n }\n }\n })\n\n const result: [string, string] = [oldHtml, newHtml]\n this.sideBySideContents = result\n return result\n }\n\n public getUnifiedContent(): string {\n if (this.unifiedContent !== undefined) {\n return this.unifiedContent\n }\n\n let result = ''\n this.operationList.forEach((operation) => {\n switch (operation.type) {\n case 'create': {\n result += this.dressUpDiffContent(\n 'create',\n this.newTokens.slice(operation.newStart, operation.newEnd),\n )\n break\n }\n\n case 'delete': {\n result += this.dressUpDiffContent(\n 'delete',\n this.oldTokens.slice(operation.oldStart, operation.oldEnd),\n )\n break\n }\n\n case 'equal': {\n for (const token of this.newTokens.slice(operation.newStart, operation.newEnd)) {\n result += token\n }\n break\n }\n\n case 'replace': {\n // handle specially tag replace\n const olds = this.oldTokens.slice(operation.oldStart, operation.oldEnd)\n const news = this.newTokens.slice(operation.newStart, operation.newEnd)\n if (\n olds.length === 1 &&\n news.length === 1 &&\n olds[0]?.match(htmlTagReg) &&\n news[0]?.match(htmlTagReg)\n ) {\n result += news[0]\n break\n }\n\n const deletedTokens: string[] = []\n const createdTokens: string[] = []\n let createIndex = operation.newStart\n for (\n let deleteIndex = operation.oldStart;\n deleteIndex < operation.oldEnd;\n deleteIndex++\n ) {\n const deletedToken = this.oldTokens[deleteIndex]\n\n if (!deletedToken) {\n continue\n }\n\n const matchTagResultD = deletedToken?.match(htmlTagWithNameReg)\n if (matchTagResultD) {\n // handle replaced tag token\n\n // skip special tag\n if ([htmlImgTagReg, htmlVideoTagReg].some((item) => deletedToken?.match(item))) {\n deletedTokens.push(deletedToken)\n continue\n }\n\n // handle normal tag\n result += this.dressUpDiffContent('delete', deletedTokens)\n deletedTokens.splice(0)\n let isTagInNewFind = false\n for (\n let tempCreateIndex = createIndex;\n tempCreateIndex < operation.newEnd;\n tempCreateIndex++\n ) {\n const createdToken = this.newTokens[tempCreateIndex]\n if (!createdToken) {\n continue\n }\n const matchTagResultC = createdToken?.match(htmlTagWithNameReg)\n if (\n matchTagResultC &&\n matchTagResultC.groups?.name === matchTagResultD.groups?.name &&\n matchTagResultC.groups?.isEnd === matchTagResultD.groups?.isEnd\n ) {\n // find first matched tag, but not maybe the expected tag(to optimize)\n isTagInNewFind = true\n result += this.dressUpDiffContent('create', createdTokens)\n result += createdToken\n createdTokens.splice(0)\n createIndex = tempCreateIndex + 1\n break\n } else {\n createdTokens.push(createdToken)\n }\n }\n if (!isTagInNewFind) {\n result += deletedToken\n createdTokens.splice(0)\n }\n } else {\n // token is not a tag\n deletedTokens.push(deletedToken)\n }\n }\n if (createIndex < operation.newEnd) {\n createdTokens.push(...this.newTokens.slice(createIndex, operation.newEnd))\n }\n result += this.dressUpDiffContent('delete', deletedTokens)\n result += this.dressUpDiffContent('create', createdTokens)\n break\n }\n\n default: {\n console.error('Richtext diff error - invalid operation: ' + String(operation.type))\n }\n }\n })\n this.unifiedContent = result\n return result\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,37 +1,32 @@
1
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { HtmlDiff } from './diff/index.js';
4
4
  import './index.scss';
5
5
  const baseClass = 'html-diff';
6
- export const getHTMLDiffComponents = ({ fromHTML, toHTML, tokenizeByCharacter })=>{
7
- const diffHTML = new HtmlDiff(fromHTML, toHTML, {
8
- tokenizeByCharacter
9
- });
10
- const [oldHTML, newHTML] = diffHTML.getSideBySideContents();
11
- const From = oldHTML ? /*#__PURE__*/ _jsxDEV("div", {
12
- className: `${baseClass}__diff-old html-diff`,
13
- dangerouslySetInnerHTML: {
14
- __html: oldHTML
15
- }
16
- }, void 0, false, {
17
- fileName: "src/elements/HTMLDiff/index.tsx",
18
- lineNumber: 27,
19
- columnNumber: 5
20
- }, this) : null;
21
- const To = newHTML ? /*#__PURE__*/ _jsxDEV("div", {
22
- className: `${baseClass}__diff-new html-diff`,
23
- dangerouslySetInnerHTML: {
24
- __html: newHTML
25
- }
26
- }, void 0, false, {
27
- fileName: "src/elements/HTMLDiff/index.tsx",
28
- lineNumber: 34,
29
- columnNumber: 5
30
- }, this) : null;
31
- return {
32
- From,
33
- To
34
- };
6
+ export const getHTMLDiffComponents = ({
7
+ fromHTML,
8
+ toHTML,
9
+ tokenizeByCharacter
10
+ }) => {
11
+ const diffHTML = new HtmlDiff(fromHTML, toHTML, {
12
+ tokenizeByCharacter
13
+ });
14
+ const [oldHTML, newHTML] = diffHTML.getSideBySideContents();
15
+ const From = oldHTML ? /*#__PURE__*/_jsx("div", {
16
+ className: `${baseClass}__diff-old html-diff`,
17
+ dangerouslySetInnerHTML: {
18
+ __html: oldHTML
19
+ }
20
+ }) : null;
21
+ const To = newHTML ? /*#__PURE__*/_jsx("div", {
22
+ className: `${baseClass}__diff-new html-diff`,
23
+ dangerouslySetInnerHTML: {
24
+ __html: newHTML
25
+ }
26
+ }) : null;
27
+ return {
28
+ From,
29
+ To
30
+ };
35
31
  };
36
-
37
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/HTMLDiff/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { HtmlDiff } from './diff/index.js'\nimport './index.scss'\n\nconst baseClass = 'html-diff'\n\nexport const getHTMLDiffComponents = ({\n fromHTML,\n toHTML,\n tokenizeByCharacter,\n}: {\n fromHTML: string\n toHTML: string\n tokenizeByCharacter?: boolean\n}): {\n From: React.ReactNode\n To: React.ReactNode\n} => {\n const diffHTML = new HtmlDiff(fromHTML, toHTML, {\n tokenizeByCharacter,\n })\n\n const [oldHTML, newHTML] = diffHTML.getSideBySideContents()\n\n const From = oldHTML ? (\n <div\n className={`${baseClass}__diff-old html-diff`}\n dangerouslySetInnerHTML={{ __html: oldHTML }}\n />\n ) : null\n\n const To = newHTML ? (\n <div\n className={`${baseClass}__diff-new html-diff`}\n dangerouslySetInnerHTML={{ __html: newHTML }}\n />\n ) : null\n\n return { From, To }\n}\n"],"names":["React","HtmlDiff","baseClass","getHTMLDiffComponents","fromHTML","toHTML","tokenizeByCharacter","diffHTML","oldHTML","newHTML","getSideBySideContents","From","div","className","dangerouslySetInnerHTML","__html","To"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,CAAC,EACpCC,QAAQ,EACRC,MAAM,EACNC,mBAAmB,EAKpB;IAIC,MAAMC,WAAW,IAAIN,SAASG,UAAUC,QAAQ;QAC9CC;IACF;IAEA,MAAM,CAACE,SAASC,QAAQ,GAAGF,SAASG,qBAAqB;IAEzD,MAAMC,OAAOH,wBACX,QAACI;QACCC,WAAW,GAAGX,UAAU,oBAAoB,CAAC;QAC7CY,yBAAyB;YAAEC,QAAQP;QAAQ;;;;;eAE3C;IAEJ,MAAMQ,KAAKP,wBACT,QAACG;QACCC,WAAW,GAAGX,UAAU,oBAAoB,CAAC;QAC7CY,yBAAyB;YAAEC,QAAQN;QAAQ;;;;;eAE3C;IAEJ,OAAO;QAAEE;QAAMK;IAAG;AACpB,EAAC"}
1
+ {"version":3,"file":"index.js","names":["React","HtmlDiff","baseClass","getHTMLDiffComponents","fromHTML","toHTML","tokenizeByCharacter","diffHTML","oldHTML","newHTML","getSideBySideContents","From","_jsx","className","dangerouslySetInnerHTML","__html","To"],"sources":["../../../src/elements/HTMLDiff/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { HtmlDiff } from './diff/index.js'\nimport './index.scss'\n\nconst baseClass = 'html-diff'\n\nexport const getHTMLDiffComponents = ({\n fromHTML,\n toHTML,\n tokenizeByCharacter,\n}: {\n fromHTML: string\n toHTML: string\n tokenizeByCharacter?: boolean\n}): {\n From: React.ReactNode\n To: React.ReactNode\n} => {\n const diffHTML = new HtmlDiff(fromHTML, toHTML, {\n tokenizeByCharacter,\n })\n\n const [oldHTML, newHTML] = diffHTML.getSideBySideContents()\n\n const From = oldHTML ? (\n <div\n className={`${baseClass}__diff-old html-diff`}\n dangerouslySetInnerHTML={{ __html: oldHTML }}\n />\n ) : null\n\n const To = newHTML ? (\n <div\n className={`${baseClass}__diff-new html-diff`}\n dangerouslySetInnerHTML={{ __html: newHTML }}\n />\n ) : null\n\n return { From, To }\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EACpCC,QAAQ;EACRC,MAAM;EACNC;AAAmB,CAKpB;EAIC,MAAMC,QAAA,GAAW,IAAIN,QAAA,CAASG,QAAA,EAAUC,MAAA,EAAQ;IAC9CC;EACF;EAEA,MAAM,CAACE,OAAA,EAASC,OAAA,CAAQ,GAAGF,QAAA,CAASG,qBAAqB;EAEzD,MAAMC,IAAA,GAAOH,OAAA,gBACXI,IAAA,CAAC;IACCC,SAAA,EAAW,GAAGX,SAAA,sBAA+B;IAC7CY,uBAAA,EAAyB;MAAEC,MAAA,EAAQP;IAAQ;OAE3C;EAEJ,MAAMQ,EAAA,GAAKP,OAAA,gBACTG,IAAA,CAAC;IACCC,SAAA,EAAW,GAAGX,SAAA,sBAA+B;IAC7CY,uBAAA,EAAyB;MAAEC,MAAA,EAAQN;IAAQ;OAE3C;EAEJ,OAAO;IAAEE,IAAA;IAAMK;EAAG;AACpB","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
5
  import React from 'react';
4
6
  import { ChevronIcon } from '../../icons/Chevron/index.js';
5
7
  import { CloseMenuIcon } from '../../icons/CloseMenu/index.js';
@@ -7,55 +9,42 @@ import { MenuIcon } from '../../icons/Menu/index.js';
7
9
  import { useTranslation } from '../../providers/Translation/index.js';
8
10
  import './index.scss';
9
11
  const baseClass = 'hamburger';
10
- export const Hamburger = (props)=>{
11
- const { t } = useTranslation();
12
- const { closeIcon = 'x', isActive = false } = props;
13
- return /*#__PURE__*/ _jsxDEV("div", {
14
- className: baseClass,
15
- children: [
16
- !isActive && /*#__PURE__*/ _jsxDEV("div", {
17
- "aria-label": t('general:open'),
18
- className: `${baseClass}__open-icon`,
19
- title: t('general:open'),
20
- children: /*#__PURE__*/ _jsxDEV(MenuIcon, {}, void 0, false, {
21
- fileName: "src/elements/Hamburger/index.tsx",
22
- lineNumber: 27,
23
- columnNumber: 11
24
- }, this)
25
- }, void 0, false, {
26
- fileName: "src/elements/Hamburger/index.tsx",
27
- lineNumber: 22,
28
- columnNumber: 9
29
- }, this),
30
- isActive && /*#__PURE__*/ _jsxDEV("div", {
31
- "aria-label": closeIcon === 'collapse' ? t('general:collapse') : t('general:close'),
32
- className: `${baseClass}__close-icon`,
33
- title: closeIcon === 'collapse' ? t('general:collapse') : t('general:close'),
34
- children: [
35
- closeIcon === 'x' && /*#__PURE__*/ _jsxDEV(CloseMenuIcon, {}, void 0, false, {
36
- fileName: "src/elements/Hamburger/index.tsx",
37
- lineNumber: 36,
38
- columnNumber: 33
39
- }, this),
40
- closeIcon === 'collapse' && /*#__PURE__*/ _jsxDEV(ChevronIcon, {
41
- direction: "left"
42
- }, void 0, false, {
43
- fileName: "src/elements/Hamburger/index.tsx",
44
- lineNumber: 37,
45
- columnNumber: 40
46
- }, this)
47
- ]
48
- }, void 0, true, {
49
- fileName: "src/elements/Hamburger/index.tsx",
50
- lineNumber: 31,
51
- columnNumber: 9
52
- }, this)
53
- ]
54
- }, void 0, true, {
55
- fileName: "src/elements/Hamburger/index.tsx",
56
- lineNumber: 20,
57
- columnNumber: 5
58
- }, this);
12
+ export const Hamburger = props => {
13
+ const $ = _c(4);
14
+ const {
15
+ t
16
+ } = useTranslation();
17
+ const {
18
+ closeIcon: t0,
19
+ isActive: t1
20
+ } = props;
21
+ const closeIcon = t0 === undefined ? "x" : t0;
22
+ const isActive = t1 === undefined ? false : t1;
23
+ let t2;
24
+ if ($[0] !== closeIcon || $[1] !== isActive || $[2] !== t) {
25
+ t2 = _jsxs("div", {
26
+ className: baseClass,
27
+ children: [!isActive && _jsx("div", {
28
+ "aria-label": t("general:open"),
29
+ className: `${baseClass}__open-icon`,
30
+ title: t("general:open"),
31
+ children: _jsx(MenuIcon, {})
32
+ }), isActive && _jsxs("div", {
33
+ "aria-label": closeIcon === "collapse" ? t("general:collapse") : t("general:close"),
34
+ className: `${baseClass}__close-icon`,
35
+ title: closeIcon === "collapse" ? t("general:collapse") : t("general:close"),
36
+ children: [closeIcon === "x" && _jsx(CloseMenuIcon, {}), closeIcon === "collapse" && _jsx(ChevronIcon, {
37
+ direction: "left"
38
+ })]
39
+ })]
40
+ });
41
+ $[0] = closeIcon;
42
+ $[1] = isActive;
43
+ $[2] = t;
44
+ $[3] = t2;
45
+ } else {
46
+ t2 = $[3];
47
+ }
48
+ return t2;
59
49
  };
60
-
61
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Hamburger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { CloseMenuIcon } from '../../icons/CloseMenu/index.js'\nimport { MenuIcon } from '../../icons/Menu/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'hamburger'\n\nexport const Hamburger: React.FC<{\n readonly closeIcon?: 'collapse' | 'x'\n readonly isActive?: boolean\n}> = (props) => {\n const { t } = useTranslation()\n const { closeIcon = 'x', isActive = false } = props\n\n return (\n <div className={baseClass}>\n {!isActive && (\n <div\n aria-label={t('general:open')}\n className={`${baseClass}__open-icon`}\n title={t('general:open')}\n >\n <MenuIcon />\n </div>\n )}\n {isActive && (\n <div\n aria-label={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n className={`${baseClass}__close-icon`}\n title={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n >\n {closeIcon === 'x' && <CloseMenuIcon />}\n {closeIcon === 'collapse' && <ChevronIcon direction=\"left\" />}\n </div>\n )}\n </div>\n )\n}\n"],"names":["React","ChevronIcon","CloseMenuIcon","MenuIcon","useTranslation","baseClass","Hamburger","props","t","closeIcon","isActive","div","className","aria-label","title","direction"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAGR,CAACC;IACJ,MAAM,EAAEC,CAAC,EAAE,GAAGJ;IACd,MAAM,EAAEK,YAAY,GAAG,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAE9C,qBACE,QAACI;QAAIC,WAAWP;;YACb,CAACK,0BACA,QAACC;gBACCE,cAAYL,EAAE;gBACdI,WAAW,GAAGP,UAAU,WAAW,CAAC;gBACpCS,OAAON,EAAE;0BAET,cAAA,QAACL;;;;;;;;;;YAGJO,0BACC,QAACC;gBACCE,cAAYJ,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;gBACjEI,WAAW,GAAGP,UAAU,YAAY,CAAC;gBACrCS,OAAOL,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;;oBAE3DC,cAAc,qBAAO,QAACP;;;;;oBACtBO,cAAc,4BAAc,QAACR;wBAAYc,WAAU;;;;;;;;;;;;;;;;;;AAK9D,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ChevronIcon","CloseMenuIcon","MenuIcon","useTranslation","baseClass","Hamburger","props","$","t","closeIcon","t0","isActive","t1","undefined","t2","_jsxs","className","children","_jsx","title","direction"],"sources":["../../../src/elements/Hamburger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { CloseMenuIcon } from '../../icons/CloseMenu/index.js'\nimport { MenuIcon } from '../../icons/Menu/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'hamburger'\n\nexport const Hamburger: React.FC<{\n readonly closeIcon?: 'collapse' | 'x'\n readonly isActive?: boolean\n}> = (props) => {\n const { t } = useTranslation()\n const { closeIcon = 'x', isActive = false } = props\n\n return (\n <div className={baseClass}>\n {!isActive && (\n <div\n aria-label={t('general:open')}\n className={`${baseClass}__open-icon`}\n title={t('general:open')}\n >\n <MenuIcon />\n </div>\n )}\n {isActive && (\n <div\n aria-label={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n className={`${baseClass}__close-icon`}\n title={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n >\n {closeIcon === 'x' && <CloseMenuIcon />}\n {closeIcon === 'collapse' && <ChevronIcon direction=\"left\" />}\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,SAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU;EAAA,IAAcL,cAAA;EACd;IAAAM,SAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC;EAAA,IAA8CN,KAAA;EAAtC,MAAAG,SAAA,GAAAC,EAAe,KAAAG,SAAA,GAAH,GAAG,GAAfH,EAAe;EAAE,MAAAC,QAAA,GAAAC,EAAgB,KAAAC,SAAA,WAAhBD,EAAgB;EAAA,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAC,CAAA;IAGvCM,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAZ,SAAA;MAAAa,QAAA,GACE,CAACN,QAAA,IACAO,IAAA,CAAC;QAAA,cACaV,CAAA,CAAE;QAAAQ,SAAA,EACH,GAAAZ,SAAA,aAAyB;QAAAe,KAAA,EAC7BX,CAAA,CAAE;QAAAS,QAAA,EAETC,IAAA,CAAAhB,QAAA,IAAC;MAAA,C,GAGJS,QAAA,IACCI,KAAA,CAAC;QAAA,cACaN,SAAA,KAAc,aAAaD,CAAA,CAAE,sBAAsBA,CAAA,CAAE;QAAAQ,SAAA,EACtD,GAAAZ,SAAA,cAA0B;QAAAe,KAAA,EAC9BV,SAAA,KAAc,aAAaD,CAAA,CAAE,sBAAsBA,CAAA,CAAE;QAAAS,QAAA,GAE3DR,SAAA,KAAc,OAAOS,IAAA,CAAAjB,aAAA,IAAC,GACtBQ,SAAA,KAAc,cAAcS,IAAA,CAAAlB,WAAA;UAAAoB,SAAA,EAAuB;QAAA,C;;;;;;;;;;SAjB1DN,E;CAsBJ","ignoreList":[]}
@@ -1,20 +1,32 @@
1
1
  'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
2
4
  import { useEffect } from 'react';
3
5
  import { useAuth } from '../../providers/Auth/index.js';
4
- /**
5
- * The Auth Provider wraps the entire app
6
- * but each page has specific permissions
7
- *
8
- * i.e. access control on documents/fields on a document
9
- */ export function HydrateAuthProvider({ permissions }) {
10
- const { setPermissions } = useAuth();
11
- useEffect(()=>{
12
- setPermissions(permissions);
13
- }, [
14
- permissions,
15
- setPermissions
16
- ]);
17
- return null;
6
+ export function HydrateAuthProvider(t0) {
7
+ const $ = _c(4);
8
+ const {
9
+ permissions
10
+ } = t0;
11
+ const {
12
+ setPermissions
13
+ } = useAuth();
14
+ let t1;
15
+ let t2;
16
+ if ($[0] !== permissions || $[1] !== setPermissions) {
17
+ t1 = () => {
18
+ setPermissions(permissions);
19
+ };
20
+ t2 = [permissions, setPermissions];
21
+ $[0] = permissions;
22
+ $[1] = setPermissions;
23
+ $[2] = t1;
24
+ $[3] = t2;
25
+ } else {
26
+ t1 = $[2];
27
+ t2 = $[3];
28
+ }
29
+ useEffect(t1, t2);
30
+ return null;
18
31
  }
19
-
20
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/HydrateAuthProvider/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedPermissions } from 'payload'\n\nimport { useEffect } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\n\n/**\n * The Auth Provider wraps the entire app\n * but each page has specific permissions\n *\n * i.e. access control on documents/fields on a document\n */\n\ntype Props = {\n permissions: SanitizedPermissions\n}\n\nexport function HydrateAuthProvider({ permissions }: Props) {\n const { setPermissions } = useAuth()\n\n useEffect(() => {\n setPermissions(permissions)\n }, [permissions, setPermissions])\n\n return null\n}\n"],"names":["useEffect","useAuth","HydrateAuthProvider","permissions","setPermissions"],"mappings":"AAAA;AAIA,SAASA,SAAS,QAAQ,QAAO;AAEjC,SAASC,OAAO,QAAQ,gCAA+B;AAEvD;;;;;CAKC,GAMD,OAAO,SAASC,oBAAoB,EAAEC,WAAW,EAAS;IACxD,MAAM,EAAEC,cAAc,EAAE,GAAGH;IAE3BD,UAAU;QACRI,eAAeD;IACjB,GAAG;QAACA;QAAaC;KAAe;IAEhC,OAAO;AACT"}
1
+ {"version":3,"file":"index.js","names":["c","_c","useEffect","useAuth","HydrateAuthProvider","t0","$","permissions","setPermissions","t1","t2"],"sources":["../../../src/elements/HydrateAuthProvider/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedPermissions } from 'payload'\n\nimport { useEffect } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\n\n/**\n * The Auth Provider wraps the entire app\n * but each page has specific permissions\n *\n * i.e. access control on documents/fields on a document\n */\n\ntype Props = {\n permissions: SanitizedPermissions\n}\n\nexport function HydrateAuthProvider({ permissions }: Props) {\n const { setPermissions } = useAuth()\n\n useEffect(() => {\n setPermissions(permissions)\n }, [permissions, setPermissions])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,SAAS,QAAQ;AAE1B,SAASC,OAAO,QAAQ;AAaxB,OAAO,SAAAC,oBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAA6B;IAAAM;EAAA,IAAAF,EAAsB;EACxD;IAAAG;EAAA,IAA2BL,OAAA;EAAA,IAAAM,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,cAAA;IAEjBC,EAAA,GAAAA,CAAA;MACRD,cAAA,CAAeD,WAAA;IAAA;IACdG,EAAA,IAACH,WAAA,EAAaC,cAAA;IAAeF,CAAA,MAAAC,WAAA;IAAAD,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,EAAA,GAAAJ,CAAA;EAAA;EAFhCJ,SAAA,CAAUO,EAEV,EAAGC,EAA6B;EAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
5
  import React from 'react';
4
6
  import './index.scss';
5
7
  import { Link } from '../../elements/Link/index.js';
@@ -9,37 +11,61 @@ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
9
11
  import { sanitizeID } from '../../utilities/sanitizeID.js';
10
12
  import { useDrawerDepth } from '../Drawer/index.js';
11
13
  const baseClass = 'id-label';
12
- export const IDLabel = ({ id, className, prefix = 'ID:' })=>{
13
- const { config: { routes: { admin: adminRoute } } } = useConfig();
14
- const { collectionSlug, globalSlug } = useDocumentInfo();
15
- const drawerDepth = useDrawerDepth();
14
+ export const IDLabel = t0 => {
15
+ const $ = _c(9);
16
+ const {
17
+ id,
18
+ className,
19
+ prefix: t1
20
+ } = t0;
21
+ const prefix = t1 === undefined ? "ID:" : t1;
22
+ const {
23
+ config: t2
24
+ } = useConfig();
25
+ const {
26
+ routes: t3
27
+ } = t2;
28
+ const {
29
+ admin: adminRoute
30
+ } = t3;
31
+ const {
32
+ collectionSlug,
33
+ globalSlug
34
+ } = useDocumentInfo();
35
+ const drawerDepth = useDrawerDepth();
36
+ const t4 = `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`;
37
+ let t5;
38
+ if ($[0] !== adminRoute || $[1] !== className || $[2] !== drawerDepth || $[3] !== id || $[4] !== prefix || $[5] !== t4) {
16
39
  const docPath = formatAdminURL({
17
- adminRoute,
18
- path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`
40
+ adminRoute,
41
+ path: t4
42
+ });
43
+ let t6;
44
+ if ($[7] !== className) {
45
+ t6 = [baseClass, className].filter(Boolean);
46
+ $[7] = className;
47
+ $[8] = t6;
48
+ } else {
49
+ t6 = $[8];
50
+ }
51
+ t5 = _jsxs("div", {
52
+ className: t6.join(" "),
53
+ title: id,
54
+ children: [prefix, "\xA0", drawerDepth > 1 ? _jsx(Link, {
55
+ href: docPath,
56
+ children: sanitizeID(id)
57
+ }) : sanitizeID(id)]
19
58
  });
20
- return /*#__PURE__*/ _jsxDEV("div", {
21
- className: [
22
- baseClass,
23
- className
24
- ].filter(Boolean).join(' '),
25
- title: id,
26
- children: [
27
- prefix,
28
- " ",
29
- drawerDepth > 1 ? /*#__PURE__*/ _jsxDEV(Link, {
30
- href: docPath,
31
- children: sanitizeID(id)
32
- }, void 0, false, {
33
- fileName: "src/elements/IDLabel/index.tsx",
34
- lineNumber: 37,
35
- columnNumber: 26
36
- }, this) : sanitizeID(id)
37
- ]
38
- }, void 0, true, {
39
- fileName: "src/elements/IDLabel/index.tsx",
40
- lineNumber: 34,
41
- columnNumber: 5
42
- }, this);
59
+ $[0] = adminRoute;
60
+ $[1] = className;
61
+ $[2] = drawerDepth;
62
+ $[3] = id;
63
+ $[4] = prefix;
64
+ $[5] = t4;
65
+ $[6] = t5;
66
+ } else {
67
+ t5 = $[6];
68
+ }
69
+ return t5;
43
70
  };
44
-
45
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/IDLabel/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\nimport { Link } from '../../elements/Link/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { sanitizeID } from '../../utilities/sanitizeID.js'\nimport { useDrawerDepth } from '../Drawer/index.js'\n\nconst baseClass = 'id-label'\n\nexport const IDLabel: React.FC<{ className?: string; id: string; prefix?: string }> = ({\n id,\n className,\n prefix = 'ID:',\n}) => {\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n const drawerDepth = useDrawerDepth()\n\n const docPath = formatAdminURL({\n adminRoute,\n path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`,\n })\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} title={id}>\n {prefix}\n &nbsp;\n {drawerDepth > 1 ? <Link href={docPath}>{sanitizeID(id)}</Link> : sanitizeID(id)}\n </div>\n )\n}\n"],"names":["React","Link","useConfig","useDocumentInfo","formatAdminURL","sanitizeID","useDrawerDepth","baseClass","IDLabel","id","className","prefix","config","routes","admin","adminRoute","collectionSlug","globalSlug","drawerDepth","docPath","path","div","filter","Boolean","join","title","href"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AACrB,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,UAAU,QAAQ,gCAA+B;AAC1D,SAASC,cAAc,QAAQ,qBAAoB;AAEnD,MAAMC,YAAY;AAElB,OAAO,MAAMC,UAAyE,CAAC,EACrFC,EAAE,EACFC,SAAS,EACTC,SAAS,KAAK,EACf;IACC,MAAM,EACJC,QAAQ,EACNC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,EACF,GAAGb;IAEJ,MAAM,EAAEc,cAAc,EAAEC,UAAU,EAAE,GAAGd;IACvC,MAAMe,cAAcZ;IAEpB,MAAMa,UAAUf,eAAe;QAC7BW;QACAK,MAAM,CAAC,CAAC,EAAEJ,iBAAiB,CAAC,YAAY,EAAEA,gBAAgB,GAAG,CAAC,QAAQ,EAAEC,YAAY,CAAC,CAAC,EAAER,IAAI;IAC9F;IAEA,qBACE,QAACY;QAAIX,WAAW;YAACH;YAAWG;SAAU,CAACY,MAAM,CAACC,SAASC,IAAI,CAAC;QAAMC,OAAOhB;;YACtEE;YAAO;YAEPO,cAAc,kBAAI,QAACjB;gBAAKyB,MAAMP;0BAAUd,WAAWI;;;;;uBAAcJ,WAAWI;;;;;;;AAGnF,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Link","useConfig","useDocumentInfo","formatAdminURL","sanitizeID","useDrawerDepth","baseClass","IDLabel","t0","$","id","className","prefix","t1","undefined","config","t2","routes","t3","admin","adminRoute","collectionSlug","globalSlug","drawerDepth","t4","t5","docPath","path","t6","filter","Boolean","_jsxs","join","title","children","_jsx","href"],"sources":["../../../src/elements/IDLabel/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\nimport { Link } from '../../elements/Link/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { sanitizeID } from '../../utilities/sanitizeID.js'\nimport { useDrawerDepth } from '../Drawer/index.js'\n\nconst baseClass = 'id-label'\n\nexport const IDLabel: React.FC<{ className?: string; id: string; prefix?: string }> = ({\n id,\n className,\n prefix = 'ID:',\n}) => {\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n const drawerDepth = useDrawerDepth()\n\n const docPath = formatAdminURL({\n adminRoute,\n path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`,\n })\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} title={id}>\n {prefix}\n &nbsp;\n {drawerDepth > 1 ? <Link href={docPath}>{sanitizeID(id)}</Link> : sanitizeID(id)}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,IAAI,QAAQ;AACrB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,OAAA,GAAyEC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,EAAA;IAAAC,SAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAL,EAItF;EADC,MAAAI,MAAA,GAAAC,EAAc,KAAAC,SAAA,GAAL,KAAK,GAAdD,EAAc;EAEd;IAAAE,MAAA,EAAAC;EAAA,IAIIf,SAAA;EAHM;IAAAgB,MAAA,EAAAC;EAAA,IAAAF,EAEP;EADS;IAAAG,KAAA,EAAAC;EAAA,IAAAF,EAAqB;EAIjC;IAAAG,cAAA;IAAAC;EAAA,IAAuCpB,eAAA;EACvC,MAAAqB,WAAA,GAAoBlB,cAAA;EAIZ,MAAAmB,EAAA,OAAIH,cAAA,GAAiB,eAAeA,cAAA,EAAgB,GAAG,WAAWC,UAAA,EAAY,IAAIZ,EAAA,EAAI;EAAA,IAAAe,EAAA;EAAA,IAAAhB,CAAA,QAAAW,UAAA,IAAAX,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAc,WAAA,IAAAd,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAe,EAAA;IAF9F,MAAAE,OAAA,GAAgBvB,cAAA;MAAAiB,UAAA;MAAAO,IAAA,EAERH;IAAsF,CAC9F;IAAA,IAAAI,EAAA;IAAA,IAAAnB,CAAA,QAAAE,SAAA;MAGkBiB,EAAA,IAAAtB,SAAA,EAAYK,SAAA,EAAAkB,MAAA,CAAAC,OAAkB;MAAArB,CAAA,MAAAE,SAAA;MAAAF,CAAA,MAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAA9CgB,EAAA,GAAAM,KAAA,CAAC;MAAApB,SAAA,EAAeiB,EAA8B,CAAAI,IAAA,CAAc;MAAAC,KAAA,EAAavB,EAAA;MAAAwB,QAAA,GACtEtB,MAAA,EAAO,QAEPW,WAAA,IAAc,GAAIY,IAAA,CAAAnC,IAAA;QAAAoC,IAAA,EAAYV,OAAA;QAAAQ,QAAA,EAAU9B,UAAA,CAAWM,EAAA;MAAA,C,IAAcN,UAAA,CAAWM,EAAA;IAAA,C;;;;;;;;;;;SAH/Ee,E;CAMJ","ignoreList":[]}