@payloadcms/ui 3.80.0-internal.37a8509 → 3.80.0-internal.52ab774
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/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +0 -12
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +5 -3
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +38 -5
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +0 -1
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.scss +1 -0
- package/dist/elements/CreateDocumentButton/index.d.ts +26 -0
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -0
- package/dist/elements/CreateDocumentButton/index.js +182 -0
- package/dist/elements/CreateDocumentButton/index.js.map +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +28 -54
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.d.ts +23 -0
- package/dist/elements/DelayedSpinner/index.d.ts.map +1 -0
- package/dist/elements/DelayedSpinner/index.js +61 -0
- package/dist/elements/DelayedSpinner/index.js.map +1 -0
- package/dist/elements/DocumentControls/index.d.ts +1 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +6 -10
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +1 -1
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +54 -141
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +7 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +2 -0
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.scss +2 -2
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +5 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +166 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +63 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +5 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +161 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +105 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +8 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +473 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.scss +20 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +106 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.js +2 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +11 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +126 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -0
- package/dist/elements/{FolderView/MoveDocToFolder → Hierarchy/DocHeaderButton}/index.scss +7 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +10 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +34 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +15 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +60 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.d.ts +20 -0
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.js +291 -0
- package/dist/elements/Hierarchy/Drawer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.scss +81 -0
- package/dist/elements/Hierarchy/Drawer/types.d.ts +68 -0
- package/dist/elements/Hierarchy/Drawer/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/types.js +3 -0
- package/dist/elements/Hierarchy/Drawer/types.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +30 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +148 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +13 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +185 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +78 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts +8 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.js +186 -0
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.scss +35 -0
- package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -0
- package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/index.server.js +30 -0
- package/dist/elements/Hierarchy/Field/index.server.js.map +1 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +4 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.js +70 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +22 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.js +278 -0
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.scss +7 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +18 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +115 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +13 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +88 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +17 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +85 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -0
- package/dist/elements/Hierarchy/Search/index.d.ts +10 -0
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/index.js +144 -0
- package/dist/elements/Hierarchy/Search/index.js.map +1 -0
- package/dist/elements/Hierarchy/Search/index.scss +212 -0
- package/dist/elements/Hierarchy/Search/types.d.ts +21 -0
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/types.js +2 -0
- package/dist/elements/Hierarchy/Search/types.js.map +1 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +20 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +122 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +21 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +194 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +7 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +177 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +8 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +36 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +12 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js +29 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +26 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +7 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.js +23 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +28 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +140 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +5 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +225 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +110 -0
- package/dist/elements/Hierarchy/Tree/index.d.ts +5 -0
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/index.js +305 -0
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/index.scss +60 -0
- package/dist/elements/Hierarchy/Tree/types.d.ts +76 -0
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/types.js +2 -0
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts +32 -0
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/useChildren.js +233 -0
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -0
- package/dist/elements/Link/index.d.ts +4 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +5 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.d.ts +0 -1
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +0 -1
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +2 -2
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +2 -1
- package/dist/elements/LoadMoreRow/index.d.ts +15 -0
- package/dist/elements/LoadMoreRow/index.d.ts.map +1 -0
- package/dist/elements/LoadMoreRow/index.js +75 -0
- package/dist/elements/LoadMoreRow/index.js.map +1 -0
- package/dist/elements/LoadMoreRow/index.scss +42 -0
- package/dist/elements/Locked/index.scss +1 -1
- package/dist/elements/RelationshipTable/index.js +3 -3
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Spinner/index.d.ts +16 -0
- package/dist/elements/Spinner/index.d.ts.map +1 -0
- package/dist/elements/Spinner/index.js +49 -0
- package/dist/elements/Spinner/index.js.map +1 -0
- package/dist/elements/Spinner/index.scss +39 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +10 -1
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +1 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +6 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +187 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +29 -0
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -0
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +1 -15
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +26 -9
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +14 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -3
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -3
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +1 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Null/index.d.ts +11 -0
- package/dist/fields/Null/index.d.ts.map +1 -0
- package/dist/fields/Null/index.js +13 -0
- package/dist/fields/Null/index.js.map +1 -0
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +5 -1
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Document/index.d.ts +3 -1
- package/dist/icons/Document/index.d.ts.map +1 -1
- package/dist/icons/Document/index.js +4 -2
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Document/index.scss +4 -0
- package/dist/icons/Filter/index.d.ts +4 -0
- package/dist/icons/Filter/index.d.ts.map +1 -0
- package/dist/icons/Filter/index.js +15 -0
- package/dist/icons/Filter/index.js.map +1 -0
- package/dist/icons/Filter/index.scss +13 -0
- package/dist/icons/Folder/index.d.ts +4 -2
- package/dist/icons/Folder/index.d.ts.map +1 -1
- package/dist/icons/Folder/index.js +4 -2
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Folder/index.scss +8 -0
- package/dist/icons/Lock/index.scss +1 -1
- package/dist/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +2 -1
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/TableView/index.d.ts +3 -0
- package/dist/icons/TableView/index.d.ts.map +1 -0
- package/dist/icons/TableView/index.js +16 -0
- package/dist/icons/TableView/index.js.map +1 -0
- package/dist/icons/Tag/index.d.ts +8 -0
- package/dist/icons/Tag/index.d.ts.map +1 -0
- package/dist/icons/Tag/index.js +22 -0
- package/dist/icons/Tag/index.js.map +1 -0
- package/dist/icons/Tag/index.scss +14 -0
- package/dist/providers/DocumentSelection/index.d.ts +8 -0
- package/dist/providers/DocumentSelection/index.d.ts.map +1 -0
- package/dist/providers/DocumentSelection/index.js +239 -0
- package/dist/providers/DocumentSelection/index.js.map +1 -0
- package/dist/providers/DocumentSelection/types.d.ts +122 -0
- package/dist/providers/DocumentSelection/types.d.ts.map +1 -0
- package/dist/providers/DocumentSelection/types.js +5 -0
- package/dist/providers/DocumentSelection/types.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts +5 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -0
- package/dist/providers/Hierarchy/index.js +358 -0
- package/dist/providers/Hierarchy/index.js.map +1 -0
- package/dist/providers/Hierarchy/types.d.ts +106 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -0
- package/dist/providers/Hierarchy/types.js +2 -0
- package/dist/providers/Hierarchy/types.js.map +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +18 -15
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -6
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +0 -18
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +19 -0
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -0
- package/dist/providers/SidebarTabs/index.js +24 -0
- package/dist/providers/SidebarTabs/index.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +34 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/isSuperset.d.ts +6 -0
- package/dist/utilities/isSuperset.d.ts.map +1 -0
- package/dist/utilities/isSuperset.js +10 -0
- package/dist/utilities/isSuperset.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +3 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +9 -3
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/index.d.ts +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +4 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +10 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.js +196 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +21 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +68 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.scss +9 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +104 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +53 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +128 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +99 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +118 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +214 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/index.js +388 -0
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/index.scss +148 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/types.js +2 -0
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.d.ts +15 -0
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.js +37 -0
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.scss +32 -0
- package/dist/views/HierarchyList/index.d.ts +5 -0
- package/dist/views/HierarchyList/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/index.js +305 -0
- package/dist/views/HierarchyList/index.js.map +1 -0
- package/dist/views/HierarchyList/index.scss +72 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +51 -7
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts +0 -19
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +0 -96
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +0 -1
- package/dist/elements/FolderView/Breadcrumbs/index.scss +0 -56
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +0 -6
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +0 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +0 -40
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +0 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.scss +0 -30
- package/dist/elements/FolderView/Cell/index.client.d.ts +0 -13
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +0 -1
- package/dist/elements/FolderView/Cell/index.client.js +0 -95
- package/dist/elements/FolderView/Cell/index.client.js.map +0 -1
- package/dist/elements/FolderView/Cell/index.server.d.ts +0 -4
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +0 -1
- package/dist/elements/FolderView/Cell/index.server.js +0 -18
- package/dist/elements/FolderView/Cell/index.server.js.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +0 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +0 -9
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.scss +0 -5
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +0 -7
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +0 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +0 -162
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +0 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +0 -62
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.scss +0 -35
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts +0 -18
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +0 -63
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +0 -1
- package/dist/elements/FolderView/DraggableTableRow/index.scss +0 -135
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts +0 -15
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +0 -86
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +0 -1
- package/dist/elements/FolderView/DraggableWithClick/index.scss +0 -5
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +0 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +0 -39
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +0 -37
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +0 -609
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +0 -30
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +0 -4
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +0 -102
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +0 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.scss +0 -16
- package/dist/elements/FolderView/FolderField/index.scss +0 -12
- package/dist/elements/FolderView/FolderField/index.server.d.ts +0 -4
- package/dist/elements/FolderView/FolderField/index.server.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderField/index.server.js +0 -16
- package/dist/elements/FolderView/FolderField/index.server.js.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.d.ts +0 -30
- package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +0 -209
- package/dist/elements/FolderView/FolderFileCard/index.js.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.scss +0 -247
- package/dist/elements/FolderView/FolderFileTable/index.d.ts +0 -8
- package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +0 -284
- package/dist/elements/FolderView/FolderFileTable/index.js.map +0 -1
- package/dist/elements/FolderView/FolderFileTable/index.scss +0 -11
- package/dist/elements/FolderView/FolderTypeField/index.d.ts +0 -4
- package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +0 -123
- package/dist/elements/FolderView/FolderTypeField/index.js.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts +0 -16
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +0 -34
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.scss +0 -16
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +0 -37
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +0 -292
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.d.ts +0 -19
- package/dist/elements/FolderView/SimpleTable/index.d.ts.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.js +0 -95
- package/dist/elements/FolderView/SimpleTable/index.js.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.scss +0 -59
- package/dist/elements/FolderView/SortByPill/index.d.ts +0 -4
- package/dist/elements/FolderView/SortByPill/index.d.ts.map +0 -1
- package/dist/elements/FolderView/SortByPill/index.js +0 -112
- package/dist/elements/FolderView/SortByPill/index.js.map +0 -1
- package/dist/elements/FolderView/SortByPill/index.scss +0 -16
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +0 -8
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +0 -31
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +0 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.scss +0 -17
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +0 -15
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +0 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +0 -182
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +0 -1
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts +0 -3
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +0 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +0 -10
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +0 -1
- package/dist/providers/Folders/index.d.ts +0 -143
- package/dist/providers/Folders/index.d.ts.map +0 -1
- package/dist/providers/Folders/index.js +0 -641
- package/dist/providers/Folders/index.js.map +0 -1
- package/dist/utilities/getFolderResultsComponentAndData.d.ts +0 -25
- package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +0 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +0 -135
- package/dist/utilities/getFolderResultsComponentAndData.js.map +0 -1
- package/dist/views/BrowseByFolder/index.d.ts +0 -5
- package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/index.js +0 -342
- package/dist/views/BrowseByFolder/index.js.map +0 -1
- package/dist/views/BrowseByFolder/index.scss +0 -174
- package/dist/views/CollectionFolder/ListSelection/index.d.ts +0 -9
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +0 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +0 -180
- package/dist/views/CollectionFolder/ListSelection/index.js.map +0 -1
- package/dist/views/CollectionFolder/index.d.ts +0 -5
- package/dist/views/CollectionFolder/index.d.ts.map +0 -1
- package/dist/views/CollectionFolder/index.js +0 -325
- package/dist/views/CollectionFolder/index.js.map +0 -1
- package/dist/views/CollectionFolder/index.scss +0 -162
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAe/C,OAAO,cAAc,CAAA;AAQrB,wBAAgB,QAAQ,CAAC,EACvB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,EAAE,aAAa,qBAqHf"}
|
|
@@ -13,7 +13,6 @@ import { useServerFunctions } from '../../../providers/ServerFunctions/index.js'
|
|
|
13
13
|
import { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js';
|
|
14
14
|
import { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js';
|
|
15
15
|
import { DocumentFields } from '../../DocumentFields/index.js';
|
|
16
|
-
import { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js';
|
|
17
16
|
import { Upload_v4 } from '../../Upload/index.js';
|
|
18
17
|
import { useFormsManager } from '../FormsManager/index.js';
|
|
19
18
|
import './index.scss';
|
|
@@ -45,9 +44,6 @@ export function EditForm({
|
|
|
45
44
|
getFormState
|
|
46
45
|
} = useServerFunctions();
|
|
47
46
|
const {
|
|
48
|
-
config: {
|
|
49
|
-
folders
|
|
50
|
-
},
|
|
51
47
|
getEntityConfig
|
|
52
48
|
} = useConfig();
|
|
53
49
|
const abortOnChangeRef = React.useRef(null);
|
|
@@ -118,14 +114,6 @@ export function EditForm({
|
|
|
118
114
|
BeforeFields: /*#__PURE__*/_jsx(React.Fragment, {
|
|
119
115
|
children: CustomUpload || /*#__PURE__*/_jsx(Upload_v4, {
|
|
120
116
|
collectionSlug: collectionConfig.slug,
|
|
121
|
-
customActions: [folders && collectionConfig.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
|
|
122
|
-
buttonProps: {
|
|
123
|
-
buttonStyle: 'pill',
|
|
124
|
-
size: 'small'
|
|
125
|
-
},
|
|
126
|
-
folderCollectionSlug: folders.slug,
|
|
127
|
-
folderFieldName: folders.fieldName
|
|
128
|
-
}, "move-doc-to-folder")].filter(Boolean),
|
|
129
117
|
initialState: initialState,
|
|
130
118
|
resetUploadEdits: resetUploadEdits,
|
|
131
119
|
updateUploadEdits: updateUploadEdits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","config","folders","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderCollectionSlug","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: { folders },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n folders && collectionConfig.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderCollectionSlug={folders.slug}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","Upload_v4","useFormsManager","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAUvC,OAAO,cAAc,CAAA;AAcrB,eAAO,MAAM,cAAc;;;;;uBAuB1B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwJlC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import React, { Fragment
|
|
4
|
+
import React, { Fragment } from 'react';
|
|
5
5
|
import { ChevronIcon } from '../../icons/Chevron/index.js';
|
|
6
6
|
import { EditIcon } from '../../icons/Edit/index.js';
|
|
7
7
|
import { LinkIcon } from '../../icons/Link/index.js';
|
|
@@ -27,7 +27,9 @@ export const ButtonContents = ({
|
|
|
27
27
|
showTooltip,
|
|
28
28
|
tooltip
|
|
29
29
|
}) => {
|
|
30
|
-
const BuiltInIcon = icons[icon];
|
|
30
|
+
const BuiltInIcon = typeof icon === 'string' ? icons[icon] : undefined;
|
|
31
|
+
// Check if icon is a React element (including RSC payloads) - not a string icon name
|
|
32
|
+
const isReactIcon = icon && typeof icon !== 'string';
|
|
31
33
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
32
34
|
children: [tooltip && /*#__PURE__*/_jsx(Tooltip, {
|
|
33
35
|
className: `${baseClass}__tooltip`,
|
|
@@ -40,7 +42,7 @@ export const ButtonContents = ({
|
|
|
40
42
|
children: children
|
|
41
43
|
}), icon && /*#__PURE__*/_jsxs("span", {
|
|
42
44
|
className: `${baseClass}__icon`,
|
|
43
|
-
children: [
|
|
45
|
+
children: [isReactIcon && icon, BuiltInIcon && /*#__PURE__*/_jsx(BuiltInIcon, {})]
|
|
44
46
|
})]
|
|
45
47
|
})]
|
|
46
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","href","prefetch","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n !margin && `${baseClass}--no-margin`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n title: ariaLabel,\n ...extraButtonProps,\n }\n\n let buttonElement\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={false}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","Fragment","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Link","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","undefined","isReactIcon","_jsxs","_jsx","className","show","Button","props","id","type","ariaLabel","buttonStyle","disabled","el","enableSubMenu","extraButtonProps","iconPosition","iconStyle","margin","newTab","onClick","onMouseDown","ref","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","onPointerEnter","onPointerLeave","rel","target","title","buttonElement","href","prefetch","Tag","button","buttonSize","horizontalAlign","noBackground","render","close","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Link } from '../Link/index.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\nimport { Tooltip } from '../Tooltip/index.js'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = typeof icon === 'string' ? icons[icon] : undefined\n // Check if icon is a React element (including RSC payloads) - not a string icon name\n const isReactIcon = icon && typeof icon !== 'string'\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isReactIcon && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button: React.FC<Props> = (props) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n enableSubMenu,\n extraButtonProps = {},\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n margin = true,\n newTab,\n onClick,\n onMouseDown,\n ref,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n !margin && `${baseClass}--no-margin`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseDown: !disabled ? onMouseDown : undefined,\n onPointerEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onPointerLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n title: ariaLabel,\n ...extraButtonProps,\n }\n\n let buttonElement\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.RefObject<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (disabled) {\n buttonElement = (\n <div {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </div>\n )\n }\n\n buttonElement = (\n <Link {...buttonProps} href={to || url} prefetch={false}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Link>\n )\n\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n buttonSize={size}\n className={disabled && !enableSubMenu ? `${baseClass}--popup-disabled` : ''}\n disabled={disabled && !enableSubMenu}\n horizontalAlign=\"right\"\n id={`${id}-popup`}\n noBackground\n render={({ close }) => SubMenuPopupContent({ close: () => close() })}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n </div>\n )\n }\n\n return buttonElement\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -110,6 +110,10 @@
|
|
|
110
110
|
--hover-bg: var(--bg-color);
|
|
111
111
|
--hover-color: var(--color);
|
|
112
112
|
}
|
|
113
|
+
|
|
114
|
+
.icon {
|
|
115
|
+
color: var(--theme-elevation-550);
|
|
116
|
+
}
|
|
113
117
|
}
|
|
114
118
|
|
|
115
119
|
&--style-tab {
|
|
@@ -125,6 +129,27 @@
|
|
|
125
129
|
--hover-color: var(--color);
|
|
126
130
|
}
|
|
127
131
|
}
|
|
132
|
+
|
|
133
|
+
&--style-muted-text {
|
|
134
|
+
padding: 0;
|
|
135
|
+
--color: var(--theme-elevation-500);
|
|
136
|
+
--bg-color: transparent;
|
|
137
|
+
--hover-color: var(--theme-elevation-700);
|
|
138
|
+
--hover-bg: transparent;
|
|
139
|
+
--margin-block: 0;
|
|
140
|
+
|
|
141
|
+
&:hover,
|
|
142
|
+
&:focus-visible,
|
|
143
|
+
&:focus,
|
|
144
|
+
&:active {
|
|
145
|
+
text-decoration: underline;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
&.btn--disabled {
|
|
149
|
+
--color: var(--theme-elevation-300);
|
|
150
|
+
--hover-color: var(--color);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
128
153
|
}
|
|
129
154
|
|
|
130
155
|
.popup--active .btn {
|
|
@@ -178,6 +203,13 @@
|
|
|
178
203
|
color: var(--hover-color);
|
|
179
204
|
background-color: var(--hover-bg);
|
|
180
205
|
border: var(--hover-btn-border, var(--btn-border, 1px solid transparent));
|
|
206
|
+
|
|
207
|
+
.btn__icon .stroke {
|
|
208
|
+
stroke: var(--hover-color, currentColor);
|
|
209
|
+
}
|
|
210
|
+
.btn__icon .fill {
|
|
211
|
+
fill: var(--hover-color, currentColor);
|
|
212
|
+
}
|
|
181
213
|
}
|
|
182
214
|
}
|
|
183
215
|
|
|
@@ -212,7 +244,7 @@
|
|
|
212
244
|
transition: border, color, background, var(--btn-base-transition);
|
|
213
245
|
padding: var(--btn-padding-block-start) var(--btn-padding-inline-end)
|
|
214
246
|
var(--btn-padding-block-end) var(--btn-padding-inline-start);
|
|
215
|
-
color: var(--color,
|
|
247
|
+
color: var(--color, currentColor);
|
|
216
248
|
background-color: var(--bg-color, transparent);
|
|
217
249
|
|
|
218
250
|
&__icon {
|
|
@@ -222,10 +254,12 @@
|
|
|
222
254
|
.stroke {
|
|
223
255
|
stroke: var(--color, currentColor);
|
|
224
256
|
fill: none;
|
|
257
|
+
transition: stroke var(--btn-base-transition);
|
|
225
258
|
}
|
|
226
259
|
|
|
227
260
|
.fill {
|
|
228
261
|
fill: var(--color, currentColor);
|
|
262
|
+
transition: fill var(--btn-base-transition);
|
|
229
263
|
}
|
|
230
264
|
}
|
|
231
265
|
|
|
@@ -244,8 +278,7 @@
|
|
|
244
278
|
border: 1px solid var(--btn-icon-border-color);
|
|
245
279
|
border-radius: 100%;
|
|
246
280
|
padding: var(--btn-icon-padding);
|
|
247
|
-
color:
|
|
248
|
-
|
|
281
|
+
color: currentColor;
|
|
249
282
|
svg {
|
|
250
283
|
width: 100%;
|
|
251
284
|
height: 100%;
|
|
@@ -282,7 +315,7 @@
|
|
|
282
315
|
}
|
|
283
316
|
|
|
284
317
|
&--size-small {
|
|
285
|
-
--btn-icon-size:
|
|
318
|
+
--btn-icon-size: var(--base);
|
|
286
319
|
// --btn-icon-padding: 0px; // This will be needed when we make icons go edge to edge instead of having built in padding in the svg code
|
|
287
320
|
--btn-icon-content-gap: calc(var(--base) * 0.2);
|
|
288
321
|
--btn-padding-block-start: 0;
|
|
@@ -304,7 +337,7 @@
|
|
|
304
337
|
}
|
|
305
338
|
|
|
306
339
|
&--size-xsmall {
|
|
307
|
-
--btn-icon-size:
|
|
340
|
+
--btn-icon-size: var(--base);
|
|
308
341
|
// --btn-icon-padding: 0px; // This will be needed when we make icons go edge to edge instead of having built in padding in the svg code
|
|
309
342
|
--btn-icon-content-gap: calc(var(--base) * 0.2);
|
|
310
343
|
--btn-padding-block-start: 0;
|
|
@@ -7,7 +7,7 @@ type secondaryAction = {
|
|
|
7
7
|
export type Props = {
|
|
8
8
|
'aria-label'?: string;
|
|
9
9
|
buttonId?: string;
|
|
10
|
-
buttonStyle?: 'dashed' | 'error' | 'icon-label' | 'none' | 'pill' | 'primary' | 'secondary' | 'subtle' | 'tab' | 'transparent';
|
|
10
|
+
buttonStyle?: 'dashed' | 'error' | 'icon-label' | 'muted-text' | 'none' | 'pill' | 'primary' | 'secondary' | 'subtle' | 'tab' | 'transparent';
|
|
11
11
|
children?: React.ReactNode;
|
|
12
12
|
className?: string;
|
|
13
13
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EACR,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,MAAM,GACN,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,KAAK,GACL,aAAa,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9C,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EACR,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,KAAK,GACL,aAAa,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACpC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAA;IACrD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gBAAgB,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC9C,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\ntype secondaryAction = {\n label: string\n onClick: (event: MouseEvent) => void\n}\n\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?:\n | 'dashed'\n | 'error'\n | 'icon-label'\n | 'none'\n | 'pill'\n | 'primary'\n | 'secondary'\n | 'subtle'\n | 'tab'\n | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n /**\n * Setting to `true` will allow the submenu to be opened when the button is disabled\n */\n enableSubMenu?: boolean\n extraButtonProps?: Record<string, any>\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ElementType\n margin?: boolean\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n onMouseDown?: (event: MouseEvent) => void\n /**\n * Enables form submission via an onClick handler. This is only needed if\n * type=\"submit\" does not trigger form submission, e.g. if the button DOM\n * element is not a direct child of the form element.\n *\n * @default false\n */\n programmaticSubmit?: boolean\n ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement | null>\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small' | 'xsmall'\n SubMenuPopupContent?: (props: { close: () => void }) => React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAQA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Button/types.ts"],"sourcesContent":["import type { ElementType, MouseEvent } from 'react'\nimport type React from 'react'\n\ntype secondaryAction = {\n label: string\n onClick: (event: MouseEvent) => void\n}\n\nexport type Props = {\n 'aria-label'?: string\n buttonId?: string\n buttonStyle?:\n | 'dashed'\n | 'error'\n | 'icon-label'\n | 'muted-text'\n | 'none'\n | 'pill'\n | 'primary'\n | 'secondary'\n | 'subtle'\n | 'tab'\n | 'transparent'\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n el?: 'anchor' | 'link' | ElementType\n /**\n * Setting to `true` will allow the submenu to be opened when the button is disabled\n */\n enableSubMenu?: boolean\n extraButtonProps?: Record<string, any>\n icon?: ['chevron' | 'edit' | 'plus' | 'x'] | React.ReactNode\n iconPosition?: 'left' | 'right'\n iconStyle?: 'none' | 'with-border' | 'without-border'\n id?: string\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ElementType\n margin?: boolean\n newTab?: boolean\n onClick?: (event: MouseEvent) => void\n onMouseDown?: (event: MouseEvent) => void\n /**\n * Enables form submission via an onClick handler. This is only needed if\n * type=\"submit\" does not trigger form submission, e.g. if the button DOM\n * element is not a direct child of the form element.\n *\n * @default false\n */\n programmaticSubmit?: boolean\n ref?: React.RefObject<HTMLAnchorElement | HTMLButtonElement | null>\n round?: boolean\n secondaryActions?: secondaryAction | secondaryAction[]\n size?: 'large' | 'medium' | 'small' | 'xsmall'\n SubMenuPopupContent?: (props: { close: () => void }) => React.ReactNode\n to?: string\n tooltip?: string\n type?: 'button' | 'submit'\n url?: string\n}\n"],"mappings":"AAQA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CheckboxPopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,cAAc,CAAA;AAIrB,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;AACzC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CheckboxPopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,cAAc,CAAA;AAIrB,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;AACzC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,GAAG,UAAU,EACd,EAAE,kBAAkB,+BA2BpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CheckboxInput","Popup","baseClass","CheckboxPopup","Button","className","onChange","options","selectedValues","popupProps","_jsx","button","filter","Boolean","join","horizontalAlign","render","close","map","label","value","checked","includes","onToggle","newSelectedValues","v","
|
|
1
|
+
{"version":3,"file":"index.js","names":["CheckboxInput","Popup","baseClass","CheckboxPopup","Button","className","onChange","options","selectedValues","popupProps","_jsx","button","filter","Boolean","join","horizontalAlign","render","close","map","label","value","checked","includes","onToggle","newSelectedValues","v","verticalAlign"],"sources":["../../../src/elements/CheckboxPopup/index.tsx"],"sourcesContent":["import type { PopupProps } from '../Popup/index.js'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { Popup } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox-popup'\n\ntype CheckboxPopupProps = {\n Button: React.ReactNode\n onChange: (args: { close: () => void; selectedValues: string[] }) => void\n options: {\n label: string\n value: string\n }[]\n selectedValues: string[]\n} & Omit<PopupProps, 'button' | 'render'>\nexport function CheckboxPopup({\n Button,\n className,\n onChange,\n options,\n selectedValues,\n ...popupProps\n}: CheckboxPopupProps) {\n return (\n <Popup\n button={Button}\n className={[baseClass, className].filter(Boolean).join(' ')}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <div className={`${baseClass}__options`}>\n {options.map(({ label, value }) => (\n <CheckboxInput\n checked={selectedValues?.includes(value)}\n key={value}\n label={label}\n onToggle={() => {\n const newSelectedValues = selectedValues?.includes(value)\n ? selectedValues.filter((v) => v !== value)\n : [...selectedValues, value]\n onChange({ close, selectedValues: newSelectedValues })\n }}\n />\n ))}\n </div>\n )}\n verticalAlign=\"bottom\"\n {...popupProps}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,KAAK,QAAQ;AACtB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAWlB,OAAO,SAASC,cAAc;EAC5BC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACd,GAAGC;AAAA,CACgB;EACnB,oBACEC,IAAA,CAACT,KAAA;IACCU,MAAA,EAAQP,MAAA;IACRC,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACO,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACvDC,eAAA,EAAgB;IAChBC,MAAA,EAAQA,CAAC;MAAEC;IAAK,CAAE,kBAChBP,IAAA,CAAC;MAAIL,SAAA,EAAW,GAAGH,SAAA,WAAoB;gBACpCK,OAAA,CAAQW,GAAG,CAAC,CAAC;QAAEC,KAAK;QAAEC;MAAK,CAAE,kBAC5BV,IAAA,CAACV,aAAA;QACCqB,OAAA,EAASb,cAAA,EAAgBc,QAAA,CAASF,KAAA;QAElCD,KAAA,EAAOA,KAAA;QACPI,QAAA,EAAUA,CAAA;UACR,MAAMC,iBAAA,GAAoBhB,cAAA,EAAgBc,QAAA,CAASF,KAAA,IAC/CZ,cAAA,CAAeI,MAAM,CAAEa,CAAA,IAAMA,CAAA,KAAML,KAAA,IACnC,C,GAAIZ,cAAA,EAAgBY,KAAA,CAAM;UAC9Bd,QAAA,CAAS;YAAEW,KAAA;YAAOT,cAAA,EAAgBgB;UAAkB;QACtD;SAPKJ,KAAA;;IAYbM,aAAA,EAAc;IACb,GAAGjB;;AAGV","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Props as ButtonProps } from '../Button/types.js';
|
|
3
|
+
import type { DocumentDrawerContextProps } from '../DocumentDrawer/Provider.js';
|
|
4
|
+
export type CollectionOption = {
|
|
5
|
+
collectionSlug: string;
|
|
6
|
+
/** Initial data to populate the form when creating */
|
|
7
|
+
initialData?: Record<string, unknown>;
|
|
8
|
+
/** Optional label override (defaults to collection's singular label) */
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
export type CreateDocumentButtonProps = {
|
|
12
|
+
/** Button style */
|
|
13
|
+
buttonStyle?: ButtonProps['buttonStyle'];
|
|
14
|
+
/** Collections available for creation */
|
|
15
|
+
collections: CollectionOption[];
|
|
16
|
+
/** Unique slug for the drawer modal */
|
|
17
|
+
drawerSlug: string;
|
|
18
|
+
/** Custom button label (defaults to "Create New" for multiple, "Create New {label}" for single) */
|
|
19
|
+
label?: string;
|
|
20
|
+
/** Called when a document is successfully saved */
|
|
21
|
+
onSave?: DocumentDrawerContextProps['onSave'];
|
|
22
|
+
/** Button size */
|
|
23
|
+
size?: ButtonProps['size'];
|
|
24
|
+
};
|
|
25
|
+
export declare function CreateDocumentButton({ buttonStyle, collections, drawerSlug, label, onSave, size, }: CreateDocumentButtonProps): React.JSX.Element;
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAU/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,yCAAyC;IACzC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IAC7C,kBAAkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAoB,EACpB,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,IAAc,GACf,EAAE,yBAAyB,qBAmG3B"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
|
+
import { useModal } from '@faceless-ui/modal';
|
|
6
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
7
|
+
import React, { useState } from 'react';
|
|
8
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
9
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
10
|
+
import { Button } from '../Button/index.js';
|
|
11
|
+
import { DocumentDrawer } from '../DocumentDrawer/index.js';
|
|
12
|
+
import { Popup, PopupList } from '../Popup/index.js';
|
|
13
|
+
const baseClass = 'create-document-button';
|
|
14
|
+
export function CreateDocumentButton(t0) {
|
|
15
|
+
const $ = _c(37);
|
|
16
|
+
const {
|
|
17
|
+
buttonStyle: t1,
|
|
18
|
+
collections,
|
|
19
|
+
drawerSlug,
|
|
20
|
+
label,
|
|
21
|
+
onSave,
|
|
22
|
+
size: t2
|
|
23
|
+
} = t0;
|
|
24
|
+
const buttonStyle = t1 === undefined ? "pill" : t1;
|
|
25
|
+
const size = t2 === undefined ? "small" : t2;
|
|
26
|
+
const {
|
|
27
|
+
config
|
|
28
|
+
} = useConfig();
|
|
29
|
+
const {
|
|
30
|
+
i18n,
|
|
31
|
+
t
|
|
32
|
+
} = useTranslation();
|
|
33
|
+
const {
|
|
34
|
+
closeModal,
|
|
35
|
+
openModal
|
|
36
|
+
} = useModal();
|
|
37
|
+
const [selectedCollection, setSelectedCollection] = useState(null);
|
|
38
|
+
if (collections.length === 0) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
let t3;
|
|
42
|
+
if ($[0] !== config || $[1] !== i18n) {
|
|
43
|
+
t3 = option => {
|
|
44
|
+
if (option.label) {
|
|
45
|
+
return option.label;
|
|
46
|
+
}
|
|
47
|
+
const collectionConfig = config.collections.find(c => c.slug === option.collectionSlug);
|
|
48
|
+
return getTranslation(collectionConfig?.labels?.singular, i18n) || option.collectionSlug;
|
|
49
|
+
};
|
|
50
|
+
$[0] = config;
|
|
51
|
+
$[1] = i18n;
|
|
52
|
+
$[2] = t3;
|
|
53
|
+
} else {
|
|
54
|
+
t3 = $[2];
|
|
55
|
+
}
|
|
56
|
+
const getCollectionLabel = t3;
|
|
57
|
+
let t4;
|
|
58
|
+
if ($[3] !== drawerSlug || $[4] !== openModal) {
|
|
59
|
+
t4 = collection => {
|
|
60
|
+
setSelectedCollection(collection);
|
|
61
|
+
openModal(drawerSlug);
|
|
62
|
+
};
|
|
63
|
+
$[3] = drawerSlug;
|
|
64
|
+
$[4] = openModal;
|
|
65
|
+
$[5] = t4;
|
|
66
|
+
} else {
|
|
67
|
+
t4 = $[5];
|
|
68
|
+
}
|
|
69
|
+
const handleSelect = t4;
|
|
70
|
+
let t5;
|
|
71
|
+
if ($[6] !== closeModal || $[7] !== drawerSlug || $[8] !== onSave) {
|
|
72
|
+
t5 = args => {
|
|
73
|
+
closeModal(drawerSlug);
|
|
74
|
+
return onSave?.(args);
|
|
75
|
+
};
|
|
76
|
+
$[6] = closeModal;
|
|
77
|
+
$[7] = drawerSlug;
|
|
78
|
+
$[8] = onSave;
|
|
79
|
+
$[9] = t5;
|
|
80
|
+
} else {
|
|
81
|
+
t5 = $[9];
|
|
82
|
+
}
|
|
83
|
+
const handleSave = t5;
|
|
84
|
+
if (collections.length === 1) {
|
|
85
|
+
const collection_0 = collections[0];
|
|
86
|
+
let t6;
|
|
87
|
+
if ($[10] !== buttonStyle || $[11] !== collection_0 || $[12] !== drawerSlug || $[13] !== handleSave || $[14] !== handleSelect || $[15] !== label || $[16] !== selectedCollection || $[17] !== size || $[18] !== t) {
|
|
88
|
+
const buttonLabel = label || t("general:createNew");
|
|
89
|
+
let t7;
|
|
90
|
+
if ($[20] !== collection_0 || $[21] !== handleSelect) {
|
|
91
|
+
t7 = () => handleSelect(collection_0);
|
|
92
|
+
$[20] = collection_0;
|
|
93
|
+
$[21] = handleSelect;
|
|
94
|
+
$[22] = t7;
|
|
95
|
+
} else {
|
|
96
|
+
t7 = $[22];
|
|
97
|
+
}
|
|
98
|
+
t6 = _jsxs(_Fragment, {
|
|
99
|
+
children: [_jsx(Button, {
|
|
100
|
+
buttonStyle,
|
|
101
|
+
className: baseClass,
|
|
102
|
+
margin: false,
|
|
103
|
+
onClick: t7,
|
|
104
|
+
size,
|
|
105
|
+
children: buttonLabel
|
|
106
|
+
}), selectedCollection && _jsx(DocumentDrawer, {
|
|
107
|
+
collectionSlug: selectedCollection.collectionSlug,
|
|
108
|
+
drawerSlug,
|
|
109
|
+
initialData: selectedCollection.initialData,
|
|
110
|
+
onSave: handleSave,
|
|
111
|
+
redirectAfterCreate: false
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
$[10] = buttonStyle;
|
|
115
|
+
$[11] = collection_0;
|
|
116
|
+
$[12] = drawerSlug;
|
|
117
|
+
$[13] = handleSave;
|
|
118
|
+
$[14] = handleSelect;
|
|
119
|
+
$[15] = label;
|
|
120
|
+
$[16] = selectedCollection;
|
|
121
|
+
$[17] = size;
|
|
122
|
+
$[18] = t;
|
|
123
|
+
$[19] = t6;
|
|
124
|
+
} else {
|
|
125
|
+
t6 = $[19];
|
|
126
|
+
}
|
|
127
|
+
return t6;
|
|
128
|
+
}
|
|
129
|
+
let t6;
|
|
130
|
+
if ($[23] !== buttonStyle || $[24] !== collections || $[25] !== drawerSlug || $[26] !== getCollectionLabel || $[27] !== handleSave || $[28] !== handleSelect || $[29] !== label || $[30] !== selectedCollection || $[31] !== size || $[32] !== t) {
|
|
131
|
+
const buttonLabel_0 = label || t("general:createNew");
|
|
132
|
+
let t7;
|
|
133
|
+
if ($[34] !== getCollectionLabel || $[35] !== handleSelect) {
|
|
134
|
+
t7 = collection_1 => _jsx(PopupList.Button, {
|
|
135
|
+
onClick: () => handleSelect(collection_1),
|
|
136
|
+
children: getCollectionLabel(collection_1)
|
|
137
|
+
}, collection_1.collectionSlug);
|
|
138
|
+
$[34] = getCollectionLabel;
|
|
139
|
+
$[35] = handleSelect;
|
|
140
|
+
$[36] = t7;
|
|
141
|
+
} else {
|
|
142
|
+
t7 = $[36];
|
|
143
|
+
}
|
|
144
|
+
t6 = _jsxs(_Fragment, {
|
|
145
|
+
children: [_jsx(Popup, {
|
|
146
|
+
button: _jsx(Button, {
|
|
147
|
+
buttonStyle,
|
|
148
|
+
className: `${baseClass}__popup-button`,
|
|
149
|
+
icon: "chevron",
|
|
150
|
+
size,
|
|
151
|
+
children: buttonLabel_0
|
|
152
|
+
}),
|
|
153
|
+
buttonType: "custom",
|
|
154
|
+
className: `${baseClass}__popup`,
|
|
155
|
+
children: _jsx(PopupList.ButtonGroup, {
|
|
156
|
+
children: collections.map(t7)
|
|
157
|
+
})
|
|
158
|
+
}), selectedCollection && _jsx(DocumentDrawer, {
|
|
159
|
+
collectionSlug: selectedCollection.collectionSlug,
|
|
160
|
+
drawerSlug,
|
|
161
|
+
initialData: selectedCollection.initialData,
|
|
162
|
+
onSave: handleSave,
|
|
163
|
+
redirectAfterCreate: false
|
|
164
|
+
})]
|
|
165
|
+
});
|
|
166
|
+
$[23] = buttonStyle;
|
|
167
|
+
$[24] = collections;
|
|
168
|
+
$[25] = drawerSlug;
|
|
169
|
+
$[26] = getCollectionLabel;
|
|
170
|
+
$[27] = handleSave;
|
|
171
|
+
$[28] = handleSelect;
|
|
172
|
+
$[29] = label;
|
|
173
|
+
$[30] = selectedCollection;
|
|
174
|
+
$[31] = size;
|
|
175
|
+
$[32] = t;
|
|
176
|
+
$[33] = t6;
|
|
177
|
+
} else {
|
|
178
|
+
t6 = $[33];
|
|
179
|
+
}
|
|
180
|
+
return t6;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useState","useConfig","useTranslation","Button","DocumentDrawer","Popup","PopupList","baseClass","CreateDocumentButton","t0","$","buttonStyle","t1","collections","drawerSlug","label","onSave","size","t2","undefined","config","i18n","t","closeModal","openModal","selectedCollection","setSelectedCollection","length","t3","option","collectionConfig","find","slug","collectionSlug","labels","singular","getCollectionLabel","t4","collection","handleSelect","t5","args","handleSave","collection_0","t6","buttonLabel","t7","_jsxs","_Fragment","children","_jsx","className","margin","onClick","initialData","redirectAfterCreate","buttonLabel_0","collection_1","button","icon","ButtonGroup","map"],"sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useState } from 'react'\n\nimport type { Props as ButtonProps } from '../Button/types.js'\nimport type { DocumentDrawerContextProps } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { DocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nconst baseClass = 'create-document-button'\n\nexport type CollectionOption = {\n collectionSlug: string\n /** Initial data to populate the form when creating */\n initialData?: Record<string, unknown>\n /** Optional label override (defaults to collection's singular label) */\n label?: string\n}\n\nexport type CreateDocumentButtonProps = {\n /** Button style */\n buttonStyle?: ButtonProps['buttonStyle']\n /** Collections available for creation */\n collections: CollectionOption[]\n /** Unique slug for the drawer modal */\n drawerSlug: string\n /** Custom button label (defaults to \"Create New\" for multiple, \"Create New {label}\" for single) */\n label?: string\n /** Called when a document is successfully saved */\n onSave?: DocumentDrawerContextProps['onSave']\n /** Button size */\n size?: ButtonProps['size']\n}\n\nexport function CreateDocumentButton({\n buttonStyle = 'pill',\n collections,\n drawerSlug,\n label,\n onSave,\n size = 'small',\n}: CreateDocumentButtonProps) {\n const { config } = useConfig()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n\n const [selectedCollection, setSelectedCollection] = useState<CollectionOption | null>(null)\n\n if (collections.length === 0) {\n return null\n }\n\n const getCollectionLabel = (option: CollectionOption) => {\n if (option.label) {\n return option.label\n }\n const collectionConfig = config.collections.find((c) => c.slug === option.collectionSlug)\n return getTranslation(collectionConfig?.labels?.singular, i18n) || option.collectionSlug\n }\n\n const handleSelect = (collection: CollectionOption) => {\n setSelectedCollection(collection)\n openModal(drawerSlug)\n }\n\n const handleSave: DocumentDrawerContextProps['onSave'] = (args) => {\n closeModal(drawerSlug)\n return onSave?.(args)\n }\n\n // Single collection - render simple button\n if (collections.length === 1) {\n const collection = collections[0]\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Button\n buttonStyle={buttonStyle}\n className={baseClass}\n margin={false}\n onClick={() => handleSelect(collection)}\n size={size}\n >\n {buttonLabel}\n </Button>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n }\n\n // Multiple collections - render dropdown\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Popup\n button={\n <Button\n buttonStyle={buttonStyle}\n className={`${baseClass}__popup-button`}\n icon=\"chevron\"\n size={size}\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"custom\"\n className={`${baseClass}__popup`}\n >\n <PopupList.ButtonGroup>\n {collections.map((collection) => (\n <PopupList.Button\n key={collection.collectionSlug}\n onClick={() => handleSelect(collection)}\n >\n {getCollectionLabel(collection)}\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DefaultListViewTabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAK9E,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DefaultListViewTabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAK9E,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAIrB,KAAK,wBAAwB,GAAG;IAC9B,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAuElE,CAAA"}
|