@payloadcms/ui 4.0.0-internal.cea8867 → 4.0.0-internal.d21c039
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/css/app.css +122 -0
- package/dist/css/colors.css +7 -6
- package/dist/css/forms.css +1 -6
- package/dist/css/preflight.css +1 -0
- package/dist/css/spacing.css +29 -3
- package/dist/css/typography.css +158 -14
- package/dist/css/z-index.css +10 -0
- package/dist/elements/APIKeyInput/index.d.ts +2 -0
- package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
- package/dist/elements/APIKeyInput/index.js +27 -29
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.css +0 -1
- package/dist/elements/AppHeader/EditViewWidthSettings/index.css +6 -0
- package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts +4 -0
- package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts.map +1 -0
- package/dist/elements/AppHeader/EditViewWidthSettings/index.js +96 -0
- package/dist/elements/AppHeader/EditViewWidthSettings/index.js.map +1 -0
- package/dist/elements/AppHeader/SettingsMenu/index.css +5 -0
- package/dist/elements/AppHeader/SettingsMenu/index.d.ts +4 -0
- package/dist/elements/AppHeader/SettingsMenu/index.d.ts.map +1 -0
- package/dist/elements/AppHeader/SettingsMenu/index.js +59 -0
- package/dist/elements/AppHeader/SettingsMenu/index.js.map +1 -0
- package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts +3 -0
- package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts.map +1 -0
- package/dist/elements/AppHeader/TypeSizeSettings/index.js +58 -0
- package/dist/elements/AppHeader/TypeSizeSettings/index.js.map +1 -0
- package/dist/elements/AppHeader/index.css +4 -3
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +8 -3
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +3 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +83 -29
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.css +4 -0
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -0
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +5 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +10 -17
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +19 -13
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.css +2 -0
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +17 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/index.css +0 -5
- package/dist/elements/Collapsible/index.css +1 -0
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +3 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +16 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Dialog/index.css +1 -0
- package/dist/elements/DocumentControls/index.css +1 -0
- package/dist/elements/DocumentFields/index.css +2 -0
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +4 -1
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.css +22 -2
- package/dist/elements/DocumentHeader/index.d.ts +1 -0
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +6 -3
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +4 -5
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.css +1 -1
- package/dist/elements/FieldDiffContainer/index.css +1 -0
- package/dist/elements/FieldDiffLabel/index.css +1 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.css +10 -9
- package/dist/elements/FileManager/FilePreview/index.css +3 -3
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +35 -52
- package/dist/elements/FileManager/index.d.ts +1 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +385 -282
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.css +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/ItemsDrawer/index.css +3 -0
- package/dist/elements/ListControls/index.css +10 -4
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +7 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +3 -1
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListControlsBar/index.css +8 -3
- package/dist/elements/ListControlsBar/index.js +4 -1
- package/dist/elements/ListControlsBar/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +3 -4
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.css +6 -1
- package/dist/elements/LivePreview/Window/index.css +1 -0
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.css +0 -8
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +70 -64
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +39 -37
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +5 -3
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/Nav/index.css +2 -0
- package/dist/elements/NavGroup/index.css +0 -1
- package/dist/elements/PageControls/index.css +1 -0
- package/dist/elements/PillSelector/index.css +1 -0
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +10 -9
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.css +1 -0
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +16 -31
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +15 -4
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
- package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
- package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
- package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
- package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
- package/dist/elements/ReactSelect/index.css +7 -3
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +24 -101
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.css +0 -2
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +41 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +16 -0
- package/dist/elements/RenderTitle/index.d.ts +1 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +36 -18
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +4 -3
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +143 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +20 -4
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.css +2 -0
- package/dist/elements/TableSection/index.css +1 -1
- package/dist/elements/Tabs/index.css +1 -0
- package/dist/elements/Thumbnail/index.css +1 -0
- package/dist/elements/Thumbnail/index.d.ts +1 -1
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.css +1 -0
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Tooltip/index.css +22 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -37
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.css +1 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/index.css +2 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +7 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/rsc/index.d.ts +2 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +2 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- 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 +99 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.css +1 -0
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +40 -13
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +136 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +3 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +26 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.css +1 -0
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +40 -13
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +4 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +62 -117
- package/dist/fields/FieldDescription/index.css +5 -0
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.css +22 -28
- package/dist/fields/FieldLabel/index.js +7 -8
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.css +11 -4
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.css +42 -19
- package/dist/fields/RadioGroup/index.css +2 -27
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +34 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
- package/dist/fields/Row/index.css +2 -0
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +74 -111
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +9 -0
- package/dist/fields/Textarea/index.css +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +46 -19
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.css +19 -4
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js +3 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +27 -22
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/index.css +10 -2
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +4 -5
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/hooks/useControllableState.js +3 -3
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +30 -7
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/layouts/Root/viewport.d.ts +1 -0
- package/dist/layouts/Root/viewport.d.ts.map +1 -1
- package/dist/layouts/Root/viewport.js +4 -1
- package/dist/layouts/Root/viewport.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +32 -22
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -6
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +64 -138
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +6 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +49 -31
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -2
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/Theme/index.d.ts +25 -1
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +331 -90
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Theme/shared.d.ts +8 -0
- package/dist/providers/Theme/shared.d.ts.map +1 -1
- package/dist/providers/Theme/shared.js +6 -0
- package/dist/providers/Theme/shared.js.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +2 -7
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.js +102 -42
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +208 -30
- package/dist/templates/Default/Wrapper/index.css +2 -0
- package/dist/templates/Default/index.css +1 -0
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +2 -0
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +6 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +18 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +4 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +21 -39
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +40 -5
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isAbsoluteURL.d.ts +3 -0
- package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/isAbsoluteURL.js +15 -0
- package/dist/utilities/isAbsoluteURL.js.map +1 -0
- package/dist/utilities/isHttpURL.d.ts +3 -0
- package/dist/utilities/isHttpURL.d.ts.map +1 -0
- package/dist/utilities/isHttpURL.js +12 -0
- package/dist/utilities/isHttpURL.js.map +1 -0
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.js +7 -5
- package/dist/utilities/isPathMatchingRoute.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +9 -6
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +72 -5
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +27 -8
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +52 -6
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.css +9 -0
- package/dist/views/Account/index.d.ts +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +8 -5
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +31 -144
- package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +12 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +2 -3
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +2 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +10 -6
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +7 -4
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +233 -59
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
- package/dist/views/Edit/Auth/index.css +91 -0
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +10 -28
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.d.ts +3 -1
- package/dist/views/Edit/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.css +80 -53
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +16 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/useEditViewWidth.d.ts +8 -0
- package/dist/views/Edit/useEditViewWidth.d.ts.map +1 -0
- package/dist/views/Edit/useEditViewWidth.js +56 -0
- package/dist/views/Edit/useEditViewWidth.js.map +1 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +2 -11
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
- package/dist/views/HierarchyList/index.css +17 -1
- package/dist/views/List/ListHeader/index.css +6 -0
- package/dist/views/List/ListHeader/index.d.ts +1 -11
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +3 -9
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js +3 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +3 -16
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +20 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +6 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/client.d.ts +2 -0
- package/dist/views/NotFound/client.d.ts.map +1 -0
- package/dist/views/NotFound/client.js +4 -0
- package/dist/views/NotFound/client.js.map +1 -0
- package/dist/views/NotFound/page.d.ts.map +1 -1
- package/dist/views/NotFound/page.js +4 -3
- package/dist/views/NotFound/page.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +42 -25
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +4 -4
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.css +29 -9
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +16 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +9 -6
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/index.css +1 -0
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/dist/views/Versions/index.css +7 -0
- package/dist/widgets/CollectionCards/index.client.js +1 -1
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.css +40 -35
- package/dist/widgets/CollectionCards/index.js +1 -1
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/DocumentActivity/index.css +184 -0
- package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts +5 -0
- package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/DocumentActivity/index.js +225 -0
- package/dist/widgets/RecentlyViewed/DocumentActivity/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/DocumentItem/index.css +180 -0
- package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts +11 -0
- package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/DocumentItem/index.js +104 -0
- package/dist/widgets/RecentlyViewed/DocumentItem/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts +10 -0
- package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js +85 -0
- package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts +7 -0
- package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js +206 -0
- package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.d.ts +3 -5
- package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/index.js +10 -140
- package/dist/widgets/RecentlyViewed/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/shared.d.ts +38 -0
- package/dist/widgets/RecentlyViewed/shared.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/shared.js +70 -0
- package/dist/widgets/RecentlyViewed/shared.js.map +1 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts +7 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
- package/dist/widgets/UploadDropzone/index.client.js +134 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
- package/dist/widgets/UploadDropzone/index.css +50 -0
- package/dist/widgets/UploadDropzone/index.d.ts +8 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
- package/dist/widgets/UploadDropzone/index.js +29 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -0
- package/dist/widgets/Welcome/index.css +13 -0
- package/dist/widgets/Welcome/index.d.ts +5 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -0
- package/dist/widgets/Welcome/index.js +26 -0
- package/dist/widgets/Welcome/index.js.map +1 -0
- package/dist/widgets/WidgetIcon/assets/images.svg +3 -0
- package/dist/widgets/WidgetIcon/assets/pin-solid.svg +3 -0
- package/dist/widgets/WidgetIcon/assets/pin.svg +3 -0
- package/dist/widgets/WidgetIcon/assets/table.svg +3 -0
- package/dist/widgets/WidgetIcon/index.css +23 -0
- package/dist/widgets/WidgetIcon/index.d.ts +6 -0
- package/dist/widgets/WidgetIcon/index.d.ts.map +1 -0
- package/dist/widgets/WidgetIcon/index.js +10 -0
- package/dist/widgets/WidgetIcon/index.js.map +1 -0
- package/package.json +14 -12
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -541
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
- package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
- package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
- package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
- package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
- package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
- package/dist/layouts/Root/index.spec.js +0 -20
- package/dist/layouts/Root/index.spec.js.map +0 -1
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
- package/dist/utilities/appendCacheTag.spec.js +0 -34
- package/dist/utilities/appendCacheTag.spec.js.map +0 -1
- package/dist/utilities/formatMetadata.spec.js +0 -83
- package/dist/utilities/formatMetadata.spec.js.map +0 -1
- package/dist/utilities/fuzzyMatch.spec.js +0 -38
- package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
- package/dist/utilities/isCustomAdminView.spec.js +0 -90
- package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
- package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
- package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
- package/dist/utilities/recentlyViewed.spec.js +0 -92
- package/dist/utilities/recentlyViewed.spec.js.map +0 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
- package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
|
@@ -1,38 +1,63 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useModal } from '@faceless-ui/modal';
|
|
4
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
5
|
-
import { text } from 'payload/shared';
|
|
6
|
+
import { formatAdminURL, text } from 'payload/shared';
|
|
6
7
|
import React, { useEffect, useMemo, useState } from 'react';
|
|
8
|
+
import { toast } from 'sonner';
|
|
7
9
|
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
10
|
+
import { Button } from '../../../elements/Button/index.js';
|
|
11
|
+
import { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js';
|
|
12
|
+
import { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js';
|
|
13
|
+
import { Spinner } from '../../../elements/Spinner/index.js';
|
|
14
|
+
import { FieldDescription } from '../../../fields/FieldDescription/index.js';
|
|
15
|
+
import { useFormFields, useFormSuccessfulSubmitCount } from '../../../forms/Form/context.js';
|
|
11
16
|
import { useField } from '../../../forms/useField/index.js';
|
|
17
|
+
import { EyeIcon } from '../../../icons/Eye/index.js';
|
|
18
|
+
import { RefreshIcon } from '../../../icons/Refresh/index.js';
|
|
12
19
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
13
20
|
import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
|
|
21
|
+
import { useLocale } from '../../../providers/Locale/index.js';
|
|
14
22
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
23
|
+
import { APIKeyGenerationModal } from './APIKeyGenerationModal.js';
|
|
15
24
|
const path = 'apiKey';
|
|
16
25
|
const baseClass = 'api-key';
|
|
17
|
-
const
|
|
26
|
+
const maskedCharacterCount = 20;
|
|
27
|
+
const formatAPIKeyPreview = last4 => `${'•'.repeat(maskedCharacterCount)}${last4}`;
|
|
18
28
|
export const APIKey = ({
|
|
19
|
-
|
|
20
|
-
|
|
29
|
+
readOnly,
|
|
30
|
+
reveal
|
|
21
31
|
}) => {
|
|
22
|
-
const [
|
|
32
|
+
const [generatedAtSubmitCount, setGeneratedAtSubmitCount] = useState(null);
|
|
23
33
|
const [highlightedField, setHighlightedField] = useState(false);
|
|
34
|
+
const [hasUpdatedPersistedAPIKey, setHasUpdatedPersistedAPIKey] = useState(null);
|
|
35
|
+
const [isRevealing, setIsRevealing] = useState(false);
|
|
36
|
+
const [revealedKey, setRevealedKey] = useState(null);
|
|
37
|
+
const [showCopyWarning, setShowCopyWarning] = useState(false);
|
|
38
|
+
const [showKey, setShowKey] = useState(false);
|
|
39
|
+
const successfulSubmitCount = useFormSuccessfulSubmitCount();
|
|
24
40
|
const {
|
|
25
41
|
i18n,
|
|
26
42
|
t
|
|
27
43
|
} = useTranslation();
|
|
44
|
+
const {
|
|
45
|
+
toggleModal
|
|
46
|
+
} = useModal();
|
|
28
47
|
const {
|
|
29
48
|
config,
|
|
30
49
|
getEntityConfig
|
|
31
50
|
} = useConfig();
|
|
32
51
|
const {
|
|
33
|
-
|
|
52
|
+
id,
|
|
53
|
+
collectionSlug,
|
|
54
|
+
setData,
|
|
55
|
+
setLastUpdateTime
|
|
34
56
|
} = useDocumentInfo();
|
|
35
|
-
const
|
|
57
|
+
const locale = useLocale();
|
|
58
|
+
const revokeModalSlug = `revoke-api-key-${id}`;
|
|
59
|
+
const apiKeyLast4 = useFormFields(([fields]) => fields && fields.apiKeyLast4 || null);
|
|
60
|
+
const dispatchFields = useFormFields(([, dispatch]) => dispatch);
|
|
36
61
|
const apiKeyField = getEntityConfig({
|
|
37
62
|
collectionSlug
|
|
38
63
|
})?.fields?.find(field => 'name' in field && field.name === 'apiKey');
|
|
@@ -56,67 +81,216 @@ export const APIKey = ({
|
|
|
56
81
|
},
|
|
57
82
|
siblingData: {}
|
|
58
83
|
});
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
return getTranslation(label, i18n);
|
|
66
|
-
}, [apiKeyField, i18n]);
|
|
67
|
-
const APIKeyLabel = useMemo(() => /*#__PURE__*/_jsx("label", {
|
|
68
|
-
className: `${baseClass}__label field-label`,
|
|
69
|
-
htmlFor: "apiKey",
|
|
70
|
-
children: /*#__PURE__*/_jsx("span", {
|
|
71
|
-
children: apiKeyLabel
|
|
72
|
-
})
|
|
73
|
-
}), [apiKeyLabel]);
|
|
74
|
-
const fieldType = useField({
|
|
75
|
-
path: 'apiKey',
|
|
84
|
+
const {
|
|
85
|
+
setValue,
|
|
86
|
+
value
|
|
87
|
+
} = useField({
|
|
88
|
+
path,
|
|
76
89
|
validate
|
|
77
90
|
});
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
const {
|
|
92
|
+
setValue: setLast4Value
|
|
93
|
+
} = useField({
|
|
94
|
+
path: 'apiKeyLast4'
|
|
95
|
+
});
|
|
96
|
+
const apiKeyValue = revealedKey || value;
|
|
97
|
+
const last4Value = apiKeyLast4?.value;
|
|
98
|
+
const hasPersistedAPIKey = hasUpdatedPersistedAPIKey ?? Boolean(last4Value);
|
|
99
|
+
const canRevealPersistedAPIKey = Boolean(reveal && hasPersistedAPIKey && !revealedKey);
|
|
100
|
+
const apiKeyLabel = useMemo(() => getTranslation(apiKeyField?.label || 'API Key', i18n), [apiKeyField, i18n]);
|
|
101
|
+
const highlightField = () => setHighlightedField(true);
|
|
102
|
+
const updateKey = async apiKey => {
|
|
103
|
+
if (!id) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const searchParams = new URLSearchParams({
|
|
108
|
+
depth: '0',
|
|
109
|
+
'fallback-locale': 'null'
|
|
110
|
+
});
|
|
111
|
+
if (locale?.code) {
|
|
112
|
+
searchParams.set('locale', locale.code);
|
|
113
|
+
}
|
|
114
|
+
const response = await fetch(formatAdminURL({
|
|
115
|
+
apiRoute: config.routes.api,
|
|
116
|
+
path: `/${collectionSlug}/${encodeURIComponent(String(id))}?${searchParams}`
|
|
117
|
+
}), {
|
|
118
|
+
body: JSON.stringify({
|
|
119
|
+
apiKey
|
|
120
|
+
}),
|
|
121
|
+
headers: {
|
|
122
|
+
'Content-Type': 'application/json'
|
|
123
|
+
},
|
|
124
|
+
method: 'PATCH'
|
|
125
|
+
});
|
|
126
|
+
if (!response.ok) {
|
|
127
|
+
throw new Error('API key update failed');
|
|
128
|
+
}
|
|
129
|
+
const result = await response.json();
|
|
130
|
+
setHasUpdatedPersistedAPIKey(Boolean(apiKey));
|
|
131
|
+
setLast4Value(result.doc?.apiKeyLast4 || null, true);
|
|
132
|
+
dispatchFields({
|
|
133
|
+
type: 'REMOVE',
|
|
134
|
+
path
|
|
135
|
+
});
|
|
136
|
+
if (result.doc?.updatedAt) {
|
|
137
|
+
setData(result.doc);
|
|
138
|
+
setLastUpdateTime(new Date(result.doc.updatedAt).getTime());
|
|
139
|
+
}
|
|
140
|
+
return true;
|
|
141
|
+
} catch {
|
|
142
|
+
toast.error('Failed to update the API key.');
|
|
143
|
+
return false;
|
|
81
144
|
}
|
|
82
|
-
setTimeout(() => {
|
|
83
|
-
setHighlightedField(true);
|
|
84
|
-
}, 1);
|
|
85
145
|
};
|
|
86
|
-
const {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
146
|
+
const generateKey = async () => {
|
|
147
|
+
const key = uuidv4();
|
|
148
|
+
if (!id) {
|
|
149
|
+
setValue(key, true);
|
|
150
|
+
} else if (!(await updateKey(key))) {
|
|
151
|
+
return false;
|
|
152
|
+
} else {
|
|
153
|
+
setRevealedKey(key);
|
|
154
|
+
}
|
|
155
|
+
setGeneratedAtSubmitCount(successfulSubmitCount);
|
|
156
|
+
setShowCopyWarning(true);
|
|
157
|
+
setShowKey(true);
|
|
158
|
+
highlightField();
|
|
159
|
+
return true;
|
|
160
|
+
};
|
|
161
|
+
const revokeKey = async () => {
|
|
162
|
+
if (!(await updateKey(null))) {
|
|
163
|
+
return;
|
|
93
164
|
}
|
|
94
|
-
|
|
95
|
-
|
|
165
|
+
setRevealedKey(null);
|
|
166
|
+
setHasUpdatedPersistedAPIKey(false);
|
|
167
|
+
setHighlightedField(false);
|
|
168
|
+
setShowCopyWarning(false);
|
|
169
|
+
setShowKey(false);
|
|
170
|
+
toast.success('API key revoked successfully.');
|
|
171
|
+
};
|
|
172
|
+
const revealKey = async () => {
|
|
173
|
+
if (isRevealing) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
setIsRevealing(true);
|
|
177
|
+
try {
|
|
178
|
+
const response_0 = await fetch(formatAdminURL({
|
|
179
|
+
apiRoute: config.routes.api,
|
|
180
|
+
path: `/${collectionSlug}/${encodeURIComponent(String(id))}/api-key/reveal`
|
|
181
|
+
}), {
|
|
182
|
+
method: 'POST'
|
|
183
|
+
});
|
|
184
|
+
if (!response_0.ok) {
|
|
185
|
+
throw new Error('API key reveal failed');
|
|
186
|
+
}
|
|
187
|
+
const result_0 = await response_0.json();
|
|
188
|
+
setRevealedKey(result_0.apiKey);
|
|
189
|
+
setShowCopyWarning(false);
|
|
190
|
+
setShowKey(true);
|
|
191
|
+
} catch {
|
|
192
|
+
toast.error('Failed to reveal the API key.');
|
|
193
|
+
} finally {
|
|
194
|
+
setIsRevealing(false);
|
|
96
195
|
}
|
|
97
|
-
}
|
|
196
|
+
};
|
|
98
197
|
useEffect(() => {
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
198
|
+
if (generatedAtSubmitCount !== null && successfulSubmitCount > generatedAtSubmitCount && apiKeyValue) {
|
|
199
|
+
setHasUpdatedPersistedAPIKey(true);
|
|
200
|
+
setHighlightedField(false);
|
|
201
|
+
setGeneratedAtSubmitCount(null);
|
|
202
|
+
setRevealedKey(null);
|
|
203
|
+
setShowCopyWarning(false);
|
|
204
|
+
dispatchFields({
|
|
205
|
+
type: 'REMOVE',
|
|
206
|
+
path
|
|
207
|
+
});
|
|
208
|
+
setShowKey(false);
|
|
103
209
|
}
|
|
104
|
-
}, [
|
|
105
|
-
if (!enabled) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
210
|
+
}, [apiKeyValue, dispatchFields, generatedAtSubmitCount, successfulSubmitCount]);
|
|
108
211
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
109
212
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
110
|
-
className:
|
|
111
|
-
children: [
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
213
|
+
className: "field-type api-key read-only",
|
|
214
|
+
children: [/*#__PURE__*/_jsxs("label", {
|
|
215
|
+
className: `${baseClass}__label field-label`,
|
|
216
|
+
htmlFor: "apiKey",
|
|
217
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
218
|
+
children: apiKeyLabel
|
|
219
|
+
}), apiKeyValue && /*#__PURE__*/_jsx(CopyToClipboard, {
|
|
220
|
+
value: apiKeyValue
|
|
221
|
+
})]
|
|
222
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
223
|
+
className: [`${baseClass}__input-wrap`, !readOnly && hasPersistedAPIKey && `${baseClass}__input-wrap--has-regenerate`, highlightedField && `${baseClass}__input-wrap--highlighted`].filter(Boolean).join(' '),
|
|
224
|
+
children: [/*#__PURE__*/_jsx("input", {
|
|
225
|
+
"aria-label": apiKeyLabel,
|
|
226
|
+
disabled: true,
|
|
227
|
+
id: "apiKey",
|
|
228
|
+
name: "apiKey",
|
|
229
|
+
type: apiKeyValue && !showKey ? 'password' : 'text',
|
|
230
|
+
value: apiKeyValue || (last4Value ? formatAPIKeyPreview(last4Value) : '')
|
|
231
|
+
}), (apiKeyValue || canRevealPersistedAPIKey || !readOnly && hasPersistedAPIKey) && /*#__PURE__*/_jsxs("div", {
|
|
232
|
+
className: `${baseClass}__toggle-button-wrap`,
|
|
233
|
+
children: [(apiKeyValue || canRevealPersistedAPIKey) && /*#__PURE__*/_jsx(Button, {
|
|
234
|
+
"aria-label": canRevealPersistedAPIKey ? 'Reveal API key' : 'Toggle API key visibility',
|
|
235
|
+
buttonStyle: "ghost",
|
|
236
|
+
className: `${baseClass}__visibility-button${!readOnly && hasPersistedAPIKey ? ` ${baseClass}__visibility-button--with-regenerate` : ''}`,
|
|
237
|
+
disabled: isRevealing,
|
|
238
|
+
extraButtonProps: {
|
|
239
|
+
'aria-busy': isRevealing
|
|
240
|
+
},
|
|
241
|
+
icon: isRevealing ? /*#__PURE__*/_jsx(Spinner, {
|
|
242
|
+
loadingText: null,
|
|
243
|
+
size: "sm"
|
|
244
|
+
}) : /*#__PURE__*/_jsx(EyeIcon, {
|
|
245
|
+
active: showKey
|
|
246
|
+
}),
|
|
247
|
+
id: canRevealPersistedAPIKey ? 'reveal-api-key' : 'toggle-api-key-visibility',
|
|
248
|
+
onClick: canRevealPersistedAPIKey ? revealKey : () => setShowKey(shown => !shown)
|
|
249
|
+
}), !readOnly && hasPersistedAPIKey && /*#__PURE__*/_jsx(APIKeyGenerationModal, {
|
|
250
|
+
apiKeyLast4: last4Value,
|
|
251
|
+
highlightField: highlightField,
|
|
252
|
+
icon: /*#__PURE__*/_jsx(RefreshIcon, {}),
|
|
253
|
+
id: "regenerate-api-key",
|
|
254
|
+
setKey: generateKey
|
|
255
|
+
})]
|
|
256
|
+
})]
|
|
257
|
+
}), apiKeyValue && showCopyWarning && /*#__PURE__*/_jsx(FieldDescription, {
|
|
258
|
+
description: reveal ? 'Make sure to copy your API key. You may not have access to reveal it again.' : 'Make sure to copy your API key. It will not be displayed again.',
|
|
259
|
+
path: path
|
|
116
260
|
})]
|
|
117
|
-
}), !readOnly && /*#__PURE__*/_jsx(
|
|
261
|
+
}), !readOnly && !apiKeyValue && !hasPersistedAPIKey && (id ? /*#__PURE__*/_jsx(APIKeyGenerationModal, {
|
|
118
262
|
highlightField: highlightField,
|
|
119
|
-
|
|
263
|
+
id: "generate-api-key",
|
|
264
|
+
setKey: generateKey,
|
|
265
|
+
willInvalidateExistingKey: false
|
|
266
|
+
}) : /*#__PURE__*/_jsx(Button, {
|
|
267
|
+
buttonStyle: "secondary",
|
|
268
|
+
id: "generate-api-key",
|
|
269
|
+
onClick: () => void generateKey(),
|
|
270
|
+
size: "medium",
|
|
271
|
+
children: t('authentication:generateNewAPIKey')
|
|
272
|
+
})), !readOnly && hasPersistedAPIKey && /*#__PURE__*/_jsxs("div", {
|
|
273
|
+
className: `${baseClass}__actions`,
|
|
274
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
275
|
+
buttonStyle: "secondary",
|
|
276
|
+
className: `${baseClass}__revoke-button`,
|
|
277
|
+
id: "revoke-api-key",
|
|
278
|
+
onClick: () => toggleModal(revokeModalSlug),
|
|
279
|
+
size: "medium",
|
|
280
|
+
children: "Revoke API key"
|
|
281
|
+
}), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
282
|
+
body: /*#__PURE__*/_jsxs("span", {
|
|
283
|
+
children: ["Are you sure you want to revoke the API key ending in ", /*#__PURE__*/_jsx("strong", {
|
|
284
|
+
children: last4Value
|
|
285
|
+
}), ' ', "for user ", /*#__PURE__*/_jsx("strong", {
|
|
286
|
+
children: id
|
|
287
|
+
}), "? The key will no longer be usable, and this action cannot be undone."]
|
|
288
|
+
}),
|
|
289
|
+
confirmLabel: "Revoke",
|
|
290
|
+
heading: "Revoke API key?",
|
|
291
|
+
modalSlug: revokeModalSlug,
|
|
292
|
+
onConfirm: revokeKey
|
|
293
|
+
})]
|
|
120
294
|
})]
|
|
121
295
|
});
|
|
122
296
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIKey.js","names":["getTranslation","text","React","useEffect","useMemo","useState","v4","uuidv4","APIKeyInput","GenerateConfirmation","useFormFields","useField","useConfig","useDocumentInfo","useTranslation","path","baseClass","fieldBaseClass","APIKey","enabled","readOnly","initialAPIKey","highlightedField","setHighlightedField","i18n","t","config","getEntityConfig","collectionSlug","apiKey","fields","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","apiKeyValue","value","apiKeyLabel","label","APIKeyLabel","_jsx","className","htmlFor","fieldType","highlightField","setTimeout","setValue","_jsxs","Fragment","filter","Boolean","join","highlighted","id","setKey"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { APIKeyInput } from '../../../elements/APIKeyInput/index.js'\nimport { GenerateConfirmation } from '../../../elements/GenerateConfirmation/index.js'\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst fieldBaseClass = 'field-type'\n\nexport const APIKey: React.FC<{ readonly enabled: boolean; readonly readOnly?: boolean }> = ({\n enabled,\n readOnly,\n}) => {\n const [initialAPIKey] = useState(uuidv4())\n const [highlightedField, setHighlightedField] = useState(false)\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug } = useDocumentInfo()\n\n const apiKey = useFormFields(([fields]) => (fields && fields[path]) || null)\n\n const apiKeyField: TextFieldClient = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n siblingData: {},\n })\n\n const apiKeyValue = apiKey?.value\n\n const apiKeyLabel = useMemo(() => {\n let label: Record<string, string> | string = 'API Key'\n\n if (apiKeyField?.label) {\n label = apiKeyField.label\n }\n\n return getTranslation(label, i18n)\n }, [apiKeyField, i18n])\n\n const APIKeyLabel = useMemo(\n () => (\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n </label>\n ),\n [apiKeyLabel],\n )\n\n const fieldType = useField({\n path: 'apiKey',\n validate,\n })\n\n const highlightField = () => {\n if (highlightedField) {\n setHighlightedField(false)\n }\n setTimeout(() => {\n setHighlightedField(true)\n }, 1)\n }\n\n const { setValue, value } = fieldType\n\n useEffect(() => {\n if (!apiKeyValue && enabled) {\n setValue(initialAPIKey)\n }\n if (!enabled && apiKeyValue) {\n setValue(null)\n }\n }, [apiKeyValue, enabled, setValue, initialAPIKey])\n\n useEffect(() => {\n if (highlightedField) {\n setTimeout(() => {\n setHighlightedField(false)\n }, 10000)\n }\n }, [highlightedField])\n\n if (!enabled) {\n return null\n }\n\n return (\n <React.Fragment>\n <div className={[fieldBaseClass, 'api-key', 'read-only'].filter(Boolean).join(' ')}>\n {APIKeyLabel}\n <APIKeyInput\n aria-label={apiKeyLabel}\n highlighted={highlightedField}\n id=\"apiKey\"\n value={value as string}\n />\n </div>\n {!readOnly && (\n <GenerateConfirmation highlightField={highlightField} setKey={() => setValue(uuidv4())} />\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"APIKey.js","names":["useModal","getTranslation","formatAdminURL","text","React","useEffect","useMemo","useState","toast","v4","uuidv4","Button","ConfirmationModal","CopyToClipboard","Spinner","FieldDescription","useFormFields","useFormSuccessfulSubmitCount","useField","EyeIcon","RefreshIcon","useConfig","useDocumentInfo","useLocale","useTranslation","APIKeyGenerationModal","path","baseClass","maskedCharacterCount","formatAPIKeyPreview","last4","repeat","APIKey","readOnly","reveal","generatedAtSubmitCount","setGeneratedAtSubmitCount","highlightedField","setHighlightedField","hasUpdatedPersistedAPIKey","setHasUpdatedPersistedAPIKey","isRevealing","setIsRevealing","revealedKey","setRevealedKey","showCopyWarning","setShowCopyWarning","showKey","setShowKey","successfulSubmitCount","i18n","t","toggleModal","config","getEntityConfig","id","collectionSlug","setData","setLastUpdateTime","locale","revokeModalSlug","apiKeyLast4","fields","dispatchFields","dispatch","apiKeyField","find","field","name","validate","val","type","blockData","data","event","maxLength","minLength","preferences","req","payload","siblingData","setValue","value","setLast4Value","apiKeyValue","last4Value","hasPersistedAPIKey","Boolean","canRevealPersistedAPIKey","apiKeyLabel","label","highlightField","updateKey","apiKey","searchParams","URLSearchParams","depth","code","set","response","fetch","apiRoute","routes","api","encodeURIComponent","String","body","JSON","stringify","headers","method","ok","Error","result","json","doc","updatedAt","Date","getTime","error","generateKey","key","revokeKey","success","revealKey","_jsxs","Fragment","className","htmlFor","_jsx","filter","join","disabled","buttonStyle","extraButtonProps","icon","loadingText","size","active","onClick","shown","setKey","description","willInvalidateExistingKey","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKey.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest, TextFieldClient } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, text } from 'payload/shared'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { CopyToClipboard } from '../../../elements/CopyToClipboard/index.js'\nimport { Spinner } from '../../../elements/Spinner/index.js'\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { useFormFields, useFormSuccessfulSubmitCount } from '../../../forms/Form/context.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { RefreshIcon } from '../../../icons/Refresh/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKeyGenerationModal } from './APIKeyGenerationModal.js'\n\nconst path = 'apiKey'\nconst baseClass = 'api-key'\nconst maskedCharacterCount = 20\n\nconst formatAPIKeyPreview = (last4: string): string => `${'•'.repeat(maskedCharacterCount)}${last4}`\n\nexport const APIKey: React.FC<{ readonly readOnly?: boolean; readonly reveal?: boolean }> = ({\n readOnly,\n reveal,\n}) => {\n const [generatedAtSubmitCount, setGeneratedAtSubmitCount] = useState<null | number>(null)\n const [highlightedField, setHighlightedField] = useState(false)\n const [hasUpdatedPersistedAPIKey, setHasUpdatedPersistedAPIKey] = useState<boolean | null>(null)\n const [isRevealing, setIsRevealing] = useState(false)\n const [revealedKey, setRevealedKey] = useState<null | string>(null)\n const [showCopyWarning, setShowCopyWarning] = useState(false)\n const [showKey, setShowKey] = useState(false)\n const successfulSubmitCount = useFormSuccessfulSubmitCount()\n const { i18n, t } = useTranslation()\n const { toggleModal } = useModal()\n const { config, getEntityConfig } = useConfig()\n const { id, collectionSlug, setData, setLastUpdateTime } = useDocumentInfo()\n const locale = useLocale()\n const revokeModalSlug = `revoke-api-key-${id}`\n\n const apiKeyLast4 = useFormFields(([fields]) => (fields && fields.apiKeyLast4) || null)\n const dispatchFields = useFormFields(([, dispatch]) => dispatch)\n const apiKeyField = getEntityConfig({ collectionSlug })?.fields?.find(\n (field) => 'name' in field && field.name === 'apiKey',\n ) as TextFieldClient\n const validate = (val) =>\n text(val, {\n name: 'apiKey',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n maxLength: 48,\n minLength: 24,\n path: ['apiKey'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n siblingData: {},\n })\n const { setValue, value } = useField({ path, validate })\n const { setValue: setLast4Value } = useField({ path: 'apiKeyLast4' })\n const apiKeyValue = revealedKey || (value as null | string | undefined)\n const last4Value = apiKeyLast4?.value as null | string | undefined\n const hasPersistedAPIKey = hasUpdatedPersistedAPIKey ?? Boolean(last4Value)\n const canRevealPersistedAPIKey = Boolean(reveal && hasPersistedAPIKey && !revealedKey)\n\n const apiKeyLabel = useMemo(\n () => getTranslation(apiKeyField?.label || 'API Key', i18n),\n [apiKeyField, i18n],\n )\n const highlightField = () => setHighlightedField(true)\n\n const updateKey = async (apiKey: null | string) => {\n if (!id) {\n return false\n }\n try {\n const searchParams = new URLSearchParams({ depth: '0', 'fallback-locale': 'null' })\n if (locale?.code) {\n searchParams.set('locale', locale.code)\n }\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}?${searchParams}`,\n }),\n {\n body: JSON.stringify({ apiKey }),\n headers: { 'Content-Type': 'application/json' },\n method: 'PATCH',\n },\n )\n if (!response.ok) {\n throw new Error('API key update failed')\n }\n const result = await response.json()\n setHasUpdatedPersistedAPIKey(Boolean(apiKey))\n setLast4Value(result.doc?.apiKeyLast4 || null, true)\n dispatchFields({ type: 'REMOVE', path })\n if (result.doc?.updatedAt) {\n setData(result.doc)\n setLastUpdateTime(new Date(result.doc.updatedAt).getTime())\n }\n return true\n } catch {\n toast.error('Failed to update the API key.')\n return false\n }\n }\n\n const generateKey = async () => {\n const key = uuidv4()\n if (!id) {\n setValue(key, true)\n } else if (!(await updateKey(key))) {\n return false\n } else {\n setRevealedKey(key)\n }\n setGeneratedAtSubmitCount(successfulSubmitCount)\n setShowCopyWarning(true)\n setShowKey(true)\n highlightField()\n return true\n }\n\n const revokeKey = async () => {\n if (!(await updateKey(null))) {\n return\n }\n setRevealedKey(null)\n setHasUpdatedPersistedAPIKey(false)\n setHighlightedField(false)\n setShowCopyWarning(false)\n setShowKey(false)\n toast.success('API key revoked successfully.')\n }\n\n const revealKey = async () => {\n if (isRevealing) {\n return\n }\n setIsRevealing(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${collectionSlug}/${encodeURIComponent(String(id))}/api-key/reveal`,\n }),\n { method: 'POST' },\n )\n if (!response.ok) {\n throw new Error('API key reveal failed')\n }\n const result = await response.json()\n setRevealedKey(result.apiKey)\n setShowCopyWarning(false)\n setShowKey(true)\n } catch {\n toast.error('Failed to reveal the API key.')\n } finally {\n setIsRevealing(false)\n }\n }\n\n useEffect(() => {\n if (\n generatedAtSubmitCount !== null &&\n successfulSubmitCount > generatedAtSubmitCount &&\n apiKeyValue\n ) {\n setHasUpdatedPersistedAPIKey(true)\n setHighlightedField(false)\n setGeneratedAtSubmitCount(null)\n setRevealedKey(null)\n setShowCopyWarning(false)\n dispatchFields({ type: 'REMOVE', path })\n setShowKey(false)\n }\n }, [apiKeyValue, dispatchFields, generatedAtSubmitCount, successfulSubmitCount])\n\n return (\n <React.Fragment>\n <div className=\"field-type api-key read-only\">\n <label className={`${baseClass}__label field-label`} htmlFor=\"apiKey\">\n <span>{apiKeyLabel}</span>\n {apiKeyValue && <CopyToClipboard value={apiKeyValue} />}\n </label>\n <div\n className={[\n `${baseClass}__input-wrap`,\n !readOnly && hasPersistedAPIKey && `${baseClass}__input-wrap--has-regenerate`,\n highlightedField && `${baseClass}__input-wrap--highlighted`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <input\n aria-label={apiKeyLabel}\n disabled\n id=\"apiKey\"\n name=\"apiKey\"\n type={apiKeyValue && !showKey ? 'password' : 'text'}\n value={apiKeyValue || (last4Value ? formatAPIKeyPreview(last4Value) : '')}\n />\n {(apiKeyValue || canRevealPersistedAPIKey || (!readOnly && hasPersistedAPIKey)) && (\n <div className={`${baseClass}__toggle-button-wrap`}>\n {(apiKeyValue || canRevealPersistedAPIKey) && (\n <Button\n aria-label={\n canRevealPersistedAPIKey ? 'Reveal API key' : 'Toggle API key visibility'\n }\n buttonStyle=\"ghost\"\n className={`${baseClass}__visibility-button${!readOnly && hasPersistedAPIKey ? ` ${baseClass}__visibility-button--with-regenerate` : ''}`}\n disabled={isRevealing}\n extraButtonProps={{ 'aria-busy': isRevealing }}\n icon={\n isRevealing ? (\n <Spinner loadingText={null} size=\"sm\" />\n ) : (\n <EyeIcon active={showKey} />\n )\n }\n id={canRevealPersistedAPIKey ? 'reveal-api-key' : 'toggle-api-key-visibility'}\n onClick={\n canRevealPersistedAPIKey ? revealKey : () => setShowKey((shown) => !shown)\n }\n />\n )}\n {!readOnly && hasPersistedAPIKey && (\n <APIKeyGenerationModal\n apiKeyLast4={last4Value}\n highlightField={highlightField}\n icon={<RefreshIcon />}\n id=\"regenerate-api-key\"\n setKey={generateKey}\n />\n )}\n </div>\n )}\n </div>\n {apiKeyValue && showCopyWarning && (\n <FieldDescription\n description={\n reveal\n ? 'Make sure to copy your API key. You may not have access to reveal it again.'\n : 'Make sure to copy your API key. It will not be displayed again.'\n }\n path={path}\n />\n )}\n </div>\n {!readOnly &&\n !apiKeyValue &&\n !hasPersistedAPIKey &&\n (id ? (\n <APIKeyGenerationModal\n highlightField={highlightField}\n id=\"generate-api-key\"\n setKey={generateKey}\n willInvalidateExistingKey={false}\n />\n ) : (\n <Button\n buttonStyle=\"secondary\"\n id=\"generate-api-key\"\n onClick={() => void generateKey()}\n size=\"medium\"\n >\n {t('authentication:generateNewAPIKey')}\n </Button>\n ))}\n {!readOnly && hasPersistedAPIKey && (\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__revoke-button`}\n id=\"revoke-api-key\"\n onClick={() => toggleModal(revokeModalSlug)}\n size=\"medium\"\n >\n Revoke API key\n </Button>\n <ConfirmationModal\n body={\n <span>\n Are you sure you want to revoke the API key ending in <strong>{last4Value}</strong>{' '}\n for user <strong>{id}</strong>? The key will no longer be usable, and this action\n cannot be undone.\n </span>\n }\n confirmLabel=\"Revoke\"\n heading=\"Revoke API key?\"\n modalSlug={revokeModalSlug}\n onConfirm={revokeKey}\n />\n </div>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type APIKeyGenerationModalProps = {
|
|
3
|
+
apiKeyLast4?: string;
|
|
4
|
+
highlightField: () => void;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
id?: string;
|
|
7
|
+
setKey: () => boolean | Promise<boolean | void> | void;
|
|
8
|
+
willInvalidateExistingKey?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare function APIKeyGenerationModal({ id, apiKeyLast4, highlightField, icon, setKey, willInvalidateExistingKey, }: APIKeyGenerationModalProps): React.JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=APIKeyGenerationModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"APIKeyGenerationModal.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAS1C,KAAK,0BAA0B,GAAG;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IACtD,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,EAAE,EACF,WAAW,EACX,cAAc,EACd,IAAI,EACJ,MAAM,EACN,yBAAgC,GACjC,EAAE,0BAA0B,qBAqD5B"}
|
|
@@ -0,0 +1,117 @@
|
|
|
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";
|
|
5
|
+
import { useModal } from '@faceless-ui/modal';
|
|
6
|
+
import React, { useCallback } from 'react';
|
|
7
|
+
import { toast } from 'sonner';
|
|
8
|
+
import { Button } from '../../../elements/Button/index.js';
|
|
9
|
+
import { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js';
|
|
10
|
+
import { Translation } from '../../../elements/Translation/index.js';
|
|
11
|
+
import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
|
|
12
|
+
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
13
|
+
export function APIKeyGenerationModal(t0) {
|
|
14
|
+
const $ = _c(17);
|
|
15
|
+
const {
|
|
16
|
+
id,
|
|
17
|
+
apiKeyLast4,
|
|
18
|
+
highlightField,
|
|
19
|
+
icon,
|
|
20
|
+
setKey,
|
|
21
|
+
willInvalidateExistingKey: t1
|
|
22
|
+
} = t0;
|
|
23
|
+
const willInvalidateExistingKey = t1 === undefined ? true : t1;
|
|
24
|
+
const {
|
|
25
|
+
id: documentID
|
|
26
|
+
} = useDocumentInfo();
|
|
27
|
+
const {
|
|
28
|
+
toggleModal
|
|
29
|
+
} = useModal();
|
|
30
|
+
const {
|
|
31
|
+
t
|
|
32
|
+
} = useTranslation();
|
|
33
|
+
const modalSlug = `generate-confirmation-${documentID}`;
|
|
34
|
+
let t2;
|
|
35
|
+
if ($[0] !== highlightField || $[1] !== setKey || $[2] !== t) {
|
|
36
|
+
t2 = async () => {
|
|
37
|
+
if ((await setKey()) === false) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
toast.success(t("authentication:newAPIKeyGenerated"));
|
|
41
|
+
highlightField();
|
|
42
|
+
};
|
|
43
|
+
$[0] = highlightField;
|
|
44
|
+
$[1] = setKey;
|
|
45
|
+
$[2] = t;
|
|
46
|
+
$[3] = t2;
|
|
47
|
+
} else {
|
|
48
|
+
t2 = $[3];
|
|
49
|
+
}
|
|
50
|
+
const handleGenerate = t2;
|
|
51
|
+
let t3;
|
|
52
|
+
if ($[4] !== apiKeyLast4 || $[5] !== documentID || $[6] !== handleGenerate || $[7] !== icon || $[8] !== id || $[9] !== modalSlug || $[10] !== t || $[11] !== toggleModal || $[12] !== willInvalidateExistingKey) {
|
|
53
|
+
let t4;
|
|
54
|
+
if ($[14] !== modalSlug || $[15] !== toggleModal) {
|
|
55
|
+
t4 = () => toggleModal(modalSlug);
|
|
56
|
+
$[14] = modalSlug;
|
|
57
|
+
$[15] = toggleModal;
|
|
58
|
+
$[16] = t4;
|
|
59
|
+
} else {
|
|
60
|
+
t4 = $[16];
|
|
61
|
+
}
|
|
62
|
+
t3 = _jsxs(React.Fragment, {
|
|
63
|
+
children: [_jsx(Button, {
|
|
64
|
+
"aria-label": icon ? t("authentication:generateNewAPIKey") : undefined,
|
|
65
|
+
buttonStyle: icon ? "ghost" : "secondary",
|
|
66
|
+
className: icon ? "api-key__regenerate-button" : undefined,
|
|
67
|
+
icon,
|
|
68
|
+
id,
|
|
69
|
+
onClick: t4,
|
|
70
|
+
size: "medium",
|
|
71
|
+
children: !icon && t("authentication:generateNewAPIKey")
|
|
72
|
+
}), _jsx(ConfirmationModal, {
|
|
73
|
+
body: willInvalidateExistingKey && apiKeyLast4 ? _jsxs("span", {
|
|
74
|
+
children: ["Generating a new API key will invalidate the key ending in", " ", _jsx("strong", {
|
|
75
|
+
children: apiKeyLast4
|
|
76
|
+
}), ". This will take effect immediately."]
|
|
77
|
+
}) : willInvalidateExistingKey ? _jsx(Translation, {
|
|
78
|
+
elements: {
|
|
79
|
+
1: _temp
|
|
80
|
+
},
|
|
81
|
+
i18nKey: "authentication:generatingNewAPIKeyWillInvalidate",
|
|
82
|
+
t
|
|
83
|
+
}) : _jsxs("span", {
|
|
84
|
+
children: ["Are you sure you want to generate an API key for user ", _jsx("strong", {
|
|
85
|
+
children: documentID
|
|
86
|
+
}), "? This will take effect immediately."]
|
|
87
|
+
}),
|
|
88
|
+
confirmLabel: t("authentication:generate"),
|
|
89
|
+
heading: t("authentication:confirmGeneration"),
|
|
90
|
+
modalSlug,
|
|
91
|
+
onConfirm: handleGenerate
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
$[4] = apiKeyLast4;
|
|
95
|
+
$[5] = documentID;
|
|
96
|
+
$[6] = handleGenerate;
|
|
97
|
+
$[7] = icon;
|
|
98
|
+
$[8] = id;
|
|
99
|
+
$[9] = modalSlug;
|
|
100
|
+
$[10] = t;
|
|
101
|
+
$[11] = toggleModal;
|
|
102
|
+
$[12] = willInvalidateExistingKey;
|
|
103
|
+
$[13] = t3;
|
|
104
|
+
} else {
|
|
105
|
+
t3 = $[13];
|
|
106
|
+
}
|
|
107
|
+
return t3;
|
|
108
|
+
}
|
|
109
|
+
function _temp(t0) {
|
|
110
|
+
const {
|
|
111
|
+
children
|
|
112
|
+
} = t0;
|
|
113
|
+
return _jsx("strong", {
|
|
114
|
+
children
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=APIKeyGenerationModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"APIKeyGenerationModal.js","names":["c","_c","useModal","React","useCallback","toast","Button","ConfirmationModal","Translation","useDocumentInfo","useTranslation","APIKeyGenerationModal","t0","$","id","apiKeyLast4","highlightField","icon","setKey","willInvalidateExistingKey","t1","undefined","documentID","toggleModal","t","modalSlug","t2","success","handleGenerate","t3","t4","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","size","body","elements","1","_temp","i18nKey","heading","onConfirm"],"sources":["../../../../src/views/Edit/Auth/APIKeyGenerationModal.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { Translation } from '../../../elements/Translation/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\ntype APIKeyGenerationModalProps = {\n apiKeyLast4?: string\n highlightField: () => void\n icon?: React.ReactNode\n id?: string\n setKey: () => boolean | Promise<boolean | void> | void\n willInvalidateExistingKey?: boolean\n}\n\nexport function APIKeyGenerationModal({\n id,\n apiKeyLast4,\n highlightField,\n icon,\n setKey,\n willInvalidateExistingKey = true,\n}: APIKeyGenerationModalProps) {\n const { id: documentID } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n const modalSlug = `generate-confirmation-${documentID}`\n const handleGenerate = useCallback(async () => {\n if ((await setKey()) === false) {\n return\n }\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField()\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n aria-label={icon ? t('authentication:generateNewAPIKey') : undefined}\n buttonStyle={icon ? 'ghost' : 'secondary'}\n className={icon ? 'api-key__regenerate-button' : undefined}\n icon={icon}\n id={id}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n >\n {!icon && t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n willInvalidateExistingKey && apiKeyLast4 ? (\n <span>\n Generating a new API key will invalidate the key ending in{' '}\n <strong>{apiKeyLast4}</strong>. This will take effect immediately.\n </span>\n ) : willInvalidateExistingKey ? (\n <Translation\n elements={{ 1: ({ children }) => <strong>{children}</strong> }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n ) : (\n <span>\n Are you sure you want to generate an API key for user <strong>{documentID}</strong>?\n This will take effect immediately.\n </span>\n )\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,4 +68,95 @@
|
|
|
68
68
|
.auth-fields__api-key > .btn.btn--style-secondary {
|
|
69
69
|
align-self: flex-start;
|
|
70
70
|
}
|
|
71
|
+
|
|
72
|
+
.auth-fields .field-type.api-key input {
|
|
73
|
+
width: 100%;
|
|
74
|
+
min-height: var(--spacer-5);
|
|
75
|
+
padding: 0 var(--spacer-2);
|
|
76
|
+
border: var(--stroke-width-small) solid transparent;
|
|
77
|
+
border-radius: var(--radius-medium);
|
|
78
|
+
background: var(--color-bg-secondary);
|
|
79
|
+
color: var(--color-text);
|
|
80
|
+
font-family: var(--font-family-mono);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.api-key__label {
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: space-between;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.api-key__label .copy-to-clipboard {
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
justify-content: center;
|
|
93
|
+
width: calc(var(--spacer-4) - var(--spacer-1));
|
|
94
|
+
height: calc(var(--spacer-4) - var(--spacer-1));
|
|
95
|
+
line-height: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.api-key__input-wrap {
|
|
99
|
+
position: relative;
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.auth-fields .field-type.api-key .api-key__input-wrap--has-regenerate input {
|
|
105
|
+
padding-right: calc(var(--spacer-5) * 2);
|
|
106
|
+
border-top-right-radius: 0;
|
|
107
|
+
border-bottom-right-radius: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.api-key__input-wrap--highlighted {
|
|
111
|
+
border-radius: var(--radius-medium);
|
|
112
|
+
box-shadow: 0 0 0 2px var(--color-border-success-strong);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.api-key__actions {
|
|
116
|
+
display: flex;
|
|
117
|
+
align-items: center;
|
|
118
|
+
flex-wrap: wrap;
|
|
119
|
+
gap: var(--spacer-2);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.api-key__toggle-button-wrap {
|
|
123
|
+
display: flex;
|
|
124
|
+
align-self: stretch;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.api-key__visibility-button.btn,
|
|
128
|
+
.api-key__regenerate-button.btn {
|
|
129
|
+
display: flex;
|
|
130
|
+
align-items: center;
|
|
131
|
+
justify-content: center;
|
|
132
|
+
width: var(--spacer-5);
|
|
133
|
+
min-height: var(--spacer-5);
|
|
134
|
+
margin: 0;
|
|
135
|
+
padding: 0 var(--spacer-1);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.api-key__visibility-button.btn {
|
|
139
|
+
position: absolute;
|
|
140
|
+
z-index: 1;
|
|
141
|
+
top: 0;
|
|
142
|
+
right: 0;
|
|
143
|
+
height: 100%;
|
|
144
|
+
border: 0;
|
|
145
|
+
background: transparent;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.api-key__visibility-button--with-regenerate.btn {
|
|
149
|
+
right: var(--spacer-5);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.api-key__regenerate-button.btn {
|
|
153
|
+
border-left: var(--stroke-width-small) solid var(--color-border);
|
|
154
|
+
border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
|
|
155
|
+
background: var(--color-bg-secondary);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.api-key__revoke-button.btn {
|
|
159
|
+
color: var(--color-text-danger);
|
|
160
|
+
border-color: var(--color-border-danger-strong);
|
|
161
|
+
}
|
|
71
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAWvC,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAWvC,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyRhC,CAAA"}
|