@payloadcms/ui 3.70.0 → 3.71.0-internal-debug.80dab4c
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.
- package/dist/@types/assets.d.js.map +1 -1
- package/dist/assets/index.js +1 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +218 -273
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/types.js +2 -1
- package/dist/elements/AddNewRelation/types.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +84 -73
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +171 -101
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +186 -118
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +162 -181
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +52 -32
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +179 -169
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.js +2 -1
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +56 -57
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +27 -15
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +204 -271
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +227 -160
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +14 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +53 -33
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +43 -36
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +110 -83
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
- package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/types.js +2 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +25 -20
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +82 -97
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/constants.js +15 -14
- package/dist/elements/CodeEditor/constants.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +22 -10
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +4 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +151 -141
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +32 -30
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +54 -54
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +114 -84
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +116 -129
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +213 -272
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +47 -70
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +130 -136
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +23 -11
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js +2 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +97 -131
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +170 -141
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +371 -332
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +494 -274
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +24 -18
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +134 -210
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +12 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +106 -69
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +154 -179
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +97 -113
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +72 -124
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js +166 -192
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js +2 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +7 -19
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +59 -61
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +14 -9
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +90 -75
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +155 -145
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +398 -392
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +79 -131
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +572 -401
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +96 -77
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +38 -24
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +50 -34
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +10 -7
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +45 -75
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +72 -33
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +20 -14
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +88 -87
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +19 -14
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +15 -10
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +105 -83
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +162 -100
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +16 -22
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +63 -83
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +142 -100
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +22 -19
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +522 -500
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +31 -26
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +51 -40
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +15 -27
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +31 -57
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +219 -168
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +73 -142
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.js +53 -56
- package/dist/elements/Link/formatUrl.js.map +1 -1
- package/dist/elements/Link/index.js +50 -54
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.js +253 -168
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +8 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +183 -168
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +28 -19
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +149 -229
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +6 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +65 -24
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +93 -58
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +83 -83
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +20 -44
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +32 -26
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +84 -84
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +132 -166
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +112 -144
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +68 -67
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js +27 -29
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js +2 -1
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +99 -117
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +38 -59
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +30 -51
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Modal/index.js +1 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +34 -80
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +107 -103
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +98 -122
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +27 -14
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +40 -71
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +77 -107
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +19 -16
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +10 -6
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +102 -99
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +93 -80
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +103 -121
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +79 -56
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +65 -52
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +10 -5
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +50 -44
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
- package/dist/elements/Popup/index.js +339 -282
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +24 -31
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +206 -128
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.js +234 -195
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +137 -134
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +58 -109
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +40 -41
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +20 -13
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +211 -198
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +9 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +21 -48
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +374 -258
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +29 -20
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +3 -5
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +27 -58
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +57 -56
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +44 -59
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +187 -154
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +177 -170
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +46 -49
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +84 -88
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +37 -19
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +60 -54
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +20 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +21 -46
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +27 -25
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +27 -79
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +58 -73
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +98 -106
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +142 -163
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +54 -87
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +21 -27
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +203 -161
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +38 -76
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +10 -27
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +24 -41
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +148 -92
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js +2 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +10 -8
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +5 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +124 -151
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +40 -32
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +224 -167
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +106 -162
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/index.js +83 -45
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +53 -48
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +127 -148
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +47 -68
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +53 -44
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/TimezonePicker/types.js +2 -1
- package/dist/elements/TimezonePicker/types.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +69 -77
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +98 -65
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +48 -39
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +33 -26
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +58 -109
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +633 -481
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +15 -26
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +206 -143
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
- package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +192 -119
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +258 -193
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js +2 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WindowInfo/index.js +1 -1
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +20 -19
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +26 -26
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.js +297 -96
- package/dist/exports/client/index.js.map +1 -7
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +35 -6
- package/dist/exports/shared/index.js.map +1 -7
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +111 -165
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +533 -396
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +163 -198
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +159 -103
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +50 -106
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +36 -78
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +566 -425
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +86 -99
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +107 -99
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +146 -114
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +172 -134
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +67 -83
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +217 -171
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +111 -86
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +20 -43
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +22 -58
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +43 -45
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +150 -102
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +13 -12
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +27 -67
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +185 -143
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +214 -189
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +213 -169
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +80 -101
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +108 -122
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +12 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +199 -127
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +56 -81
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +146 -114
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +811 -733
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js +31 -33
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +28 -32
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.js +152 -160
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +144 -139
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js +2 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.js +3 -3
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.js +37 -35
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +13 -12
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +114 -165
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +89 -108
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +103 -134
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +54 -60
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +245 -445
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +13 -12
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +169 -191
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +107 -126
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js +2 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +104 -115
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +61 -88
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js +2 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/UI/index.js +3 -3
- package/dist/fields/UI/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +141 -186
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +59 -60
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +755 -566
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +140 -143
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +15 -10
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +79 -96
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +3 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/index.js +31 -31
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/mergeFieldStyles.js +13 -12
- package/dist/fields/mergeFieldStyles.js.map +1 -1
- package/dist/fields/shared/index.js +8 -17
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/context.js +17 -24
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
- package/dist/forms/Form/errorMessages.js +2 -2
- package/dist/forms/Form/errorMessages.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +378 -412
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +745 -684
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.js +38 -38
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +93 -97
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +20 -17
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/rowHelpers.js +27 -34
- package/dist/forms/Form/rowHelpers.js.map +1 -1
- package/dist/forms/Form/rows.js +34 -34
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.js +53 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +61 -96
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +237 -259
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +9 -9
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.js +76 -115
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js +2 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +30 -29
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +33 -24
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js +2 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +32 -35
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +41 -66
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +654 -683
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +90 -79
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +6 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +180 -292
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +20 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +9 -27
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +21 -15
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +46 -22
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +25 -34
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +24 -51
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +117 -62
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +33 -17
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +33 -19
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +112 -39
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useClickOutside.js +19 -15
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useControllableState.js +25 -35
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js +15 -26
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +15 -23
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +18 -53
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +27 -52
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +42 -76
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useEffectEvent.js +12 -33
- package/dist/hooks/useEffectEvent.js.map +1 -1
- package/dist/hooks/useHotkey.js +96 -110
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +28 -59
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +78 -172
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +91 -133
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +48 -38
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js +15 -27
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js +42 -70
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +17 -51
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useThrottledValue.js +16 -13
- package/dist/hooks/useThrottledValue.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js +7 -27
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js +20 -11
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +20 -11
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +30 -22
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +20 -11
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +22 -13
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +24 -17
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +25 -16
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +32 -11
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +70 -33
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +23 -13
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +25 -15
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +53 -25
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +26 -16
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +34 -21
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +57 -31
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +23 -14
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +25 -16
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +25 -16
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +41 -24
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +23 -14
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +23 -14
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +33 -19
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +43 -21
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +62 -34
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +28 -17
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +22 -13
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +21 -12
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +48 -35
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +20 -11
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +27 -8
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +28 -18
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +25 -15
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +21 -33
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +293 -243
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +35 -35
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +63 -104
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +91 -91
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +19 -30
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +331 -325
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +26 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/DocumentTitle/context.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +51 -55
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +15 -25
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +26 -48
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
- package/dist/providers/Folders/index.js +698 -600
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/context.js +3 -2
- package/dist/providers/ListQuery/context.js.map +1 -1
- package/dist/providers/ListQuery/index.js +156 -140
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js +49 -31
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.js +6 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/collisionDetection.js +21 -24
- package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
- package/dist/providers/LivePreview/context.js +60 -55
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +225 -205
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.js +19 -18
- package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
- package/dist/providers/Locale/index.js +87 -154
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +12 -11
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +14 -26
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +130 -122
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +190 -116
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +53 -103
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +69 -94
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/ScrollInfo/index.js +1 -1
- package/dist/providers/ScrollInfo/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +36 -35
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +203 -183
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +199 -189
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
- package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
- package/dist/providers/TableColumns/context.js +2 -1
- package/dist/providers/TableColumns/context.js.map +1 -1
- package/dist/providers/TableColumns/getInitialColumns.js +42 -28
- package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/providers/TableColumns/index.js +88 -85
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +18 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +69 -104
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +34 -19
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +34 -19
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +34 -19
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +34 -19
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +56 -47
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +66 -112
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +28 -40
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +31 -73
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +30 -65
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.js +5 -9
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/styles.css +0 -1
- package/dist/utilities/abortAndIgnore.js +15 -17
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/api.js +78 -77
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +142 -154
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +110 -122
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.js +151 -186
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +145 -168
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/canUseDOM.js +1 -0
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +53 -26
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +202 -210
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/dateLocales.js +28 -27
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/deepMerge.js +14 -13
- package/dist/utilities/deepMerge.js.map +1 -1
- package/dist/utilities/fetchPreferences.js.map +1 -1
- package/dist/utilities/filterOutUploadFields.js +17 -4
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js +6 -5
- package/dist/utilities/findLocaleFromCode.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +8 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatAdminURL.js +2 -1
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +38 -44
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.js +2 -1
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js +6 -5
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getClientConfig.js +25 -29
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +24 -32
- package/dist/utilities/getClientSchemaMap.js.map +1 -1
- package/dist/utilities/getColumns.js +29 -35
- package/dist/utilities/getColumns.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +16 -16
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/getGlobalData.js +41 -45
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getNavGroups.js +21 -18
- package/dist/utilities/getNavGroups.js.map +1 -1
- package/dist/utilities/getOffsetTop.js +14 -13
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +5 -8
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSchemaMap.js +22 -28
- package/dist/utilities/getSchemaMap.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js +14 -13
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/getVisibleEntities.js +15 -26
- package/dist/utilities/getVisibleEntities.js.map +1 -1
- package/dist/utilities/groupNavItems.js +53 -50
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.js +8 -11
- package/dist/utilities/handleBackToDashboard.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +127 -121
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.js +7 -11
- package/dist/utilities/handleGoBack.js.map +1 -1
- package/dist/utilities/handleLivePreview.js +59 -76
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handlePreview.js +41 -52
- package/dist/utilities/handlePreview.js.map +1 -1
- package/dist/utilities/handleTakeOver.js +28 -39
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
- package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +14 -14
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isClientUserObject.js +3 -2
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isEditing.js +2 -5
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +31 -30
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/isValidReactElement.js +3 -3
- package/dist/utilities/isValidReactElement.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.js +29 -28
- package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
- package/dist/utilities/parseSearchParams.js +7 -7
- package/dist/utilities/parseSearchParams.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +145 -154
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/dist/utilities/removeUndefined.js +2 -1
- package/dist/utilities/removeUndefined.js.map +1 -1
- package/dist/utilities/renderTable.js +239 -195
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.js +27 -26
- package/dist/utilities/resolveFilterOptions.js.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
- package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
- package/dist/utilities/sanitizeID.js +8 -7
- package/dist/utilities/sanitizeID.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +47 -57
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/scrollToID.js +10 -9
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.js +3 -2
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +36 -35
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +75 -75
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +365 -324
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +360 -282
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +185 -124
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +309 -321
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.js +2 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.js +579 -501
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/types.js +2 -1
- package/dist/views/Edit/types.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +35 -24
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +115 -80
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +103 -111
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +321 -213
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.js +2 -1
- package/dist/views/List/types.js.map +1 -1
- package/dist/widgets/CollectionCards/index.js +149 -119
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
- package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
- package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
- package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
- package/dist/exports/client/chunk-53XJ3K67.js +0 -27
- package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
- package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
- package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
- package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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,32 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-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 = ({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
+
};
|
|
31
35
|
};
|
|
36
|
+
|
|
32
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,7 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
5
3
|
import React from 'react';
|
|
6
4
|
import { ChevronIcon } from '../../icons/Chevron/index.js';
|
|
7
5
|
import { CloseMenuIcon } from '../../icons/CloseMenu/index.js';
|
|
@@ -9,42 +7,55 @@ import { MenuIcon } from '../../icons/Menu/index.js';
|
|
|
9
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
10
8
|
import './index.scss';
|
|
11
9
|
const baseClass = 'hamburger';
|
|
12
|
-
export const Hamburger = props
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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);
|
|
49
59
|
};
|
|
60
|
+
|
|
50
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,32 +1,20 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
2
|
import { useEffect } from 'react';
|
|
5
3
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
setPermissions
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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;
|
|
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;
|
|
31
18
|
}
|
|
19
|
+
|
|
32
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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,7 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
5
3
|
import React from 'react';
|
|
6
4
|
import './index.scss';
|
|
7
5
|
import { Link } from '../../elements/Link/index.js';
|
|
@@ -11,61 +9,37 @@ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
|
11
9
|
import { sanitizeID } from '../../utilities/sanitizeID.js';
|
|
12
10
|
import { useDrawerDepth } from '../Drawer/index.js';
|
|
13
11
|
const baseClass = 'id-label';
|
|
14
|
-
export const IDLabel =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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) {
|
|
12
|
+
export const IDLabel = ({ id, className, prefix = 'ID:' })=>{
|
|
13
|
+
const { config: { routes: { admin: adminRoute } } } = useConfig();
|
|
14
|
+
const { collectionSlug, globalSlug } = useDocumentInfo();
|
|
15
|
+
const drawerDepth = useDrawerDepth();
|
|
39
16
|
const docPath = formatAdminURL({
|
|
40
|
-
|
|
41
|
-
|
|
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)]
|
|
17
|
+
adminRoute,
|
|
18
|
+
path: `/${collectionSlug ? `collections/${collectionSlug}` : `globals/${globalSlug}`}/${id}`
|
|
58
19
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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);
|
|
70
43
|
};
|
|
44
|
+
|
|
71
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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 \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"}
|