@payloadcms/ui 3.0.0-alpha.41 → 3.0.0-alpha.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/assets.d.js +1 -1
- package/dist/@types/assets.d.js.map +1 -0
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -0
- package/dist/elements/ArrayAction/index.js +1 -2
- package/dist/elements/ArrayAction/index.js.map +1 -0
- package/dist/elements/ArrayAction/types.js +1 -1
- package/dist/elements/ArrayAction/types.js.map +1 -0
- package/dist/elements/Autosave/index.js +1 -2
- package/dist/elements/Autosave/index.js.map +1 -0
- package/dist/elements/Autosave/types.js +1 -1
- package/dist/elements/Autosave/types.js.map +1 -0
- package/dist/elements/Banner/index.js +1 -2
- package/dist/elements/Banner/index.js.map +1 -0
- package/dist/elements/Banner/types.js +1 -1
- package/dist/elements/Banner/types.js.map +1 -0
- package/dist/elements/Button/index.js +1 -2
- package/dist/elements/Button/index.js.map +1 -0
- package/dist/elements/Button/types.js +1 -1
- package/dist/elements/Button/types.js.map +1 -0
- package/dist/elements/Card/index.js +1 -2
- package/dist/elements/Card/index.js.map +1 -0
- package/dist/elements/Card/types.js +1 -1
- package/dist/elements/Card/types.js.map +1 -0
- package/dist/elements/CodeEditor/CodeEditor.js +1 -2
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -0
- package/dist/elements/CodeEditor/index.js +1 -1
- package/dist/elements/CodeEditor/index.js.map +1 -0
- package/dist/elements/CodeEditor/types.js +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -0
- package/dist/elements/Collapsible/index.js +1 -2
- package/dist/elements/Collapsible/index.js.map +1 -0
- package/dist/elements/Collapsible/provider.js +1 -1
- package/dist/elements/Collapsible/provider.js.map +1 -0
- package/dist/elements/Collapsible/types.js +1 -1
- package/dist/elements/Collapsible/types.js.map +1 -0
- package/dist/elements/ColumnSelector/index.js +1 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -0
- package/dist/elements/ColumnSelector/types.js +1 -1
- package/dist/elements/ColumnSelector/types.js.map +1 -0
- package/dist/elements/CopyToClipboard/index.js +1 -2
- package/dist/elements/CopyToClipboard/index.js.map +1 -0
- package/dist/elements/CopyToClipboard/types.js +1 -1
- package/dist/elements/CopyToClipboard/types.js.map +1 -0
- package/dist/elements/DatePicker/DatePicker.js +1 -3
- package/dist/elements/DatePicker/DatePicker.js.map +1 -0
- package/dist/elements/DatePicker/index.js +1 -1
- package/dist/elements/DatePicker/index.js.map +1 -0
- package/dist/elements/DatePicker/types.js +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -0
- package/dist/elements/DeleteDocument/index.js +1 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -0
- package/dist/elements/DeleteDocument/types.js +1 -1
- package/dist/elements/DeleteDocument/types.js.map +1 -0
- package/dist/elements/DeleteMany/index.js +1 -2
- package/dist/elements/DeleteMany/index.js.map +1 -0
- package/dist/elements/DeleteMany/types.js +1 -1
- package/dist/elements/DeleteMany/types.js.map +1 -0
- package/dist/elements/DocumentControls/index.js +1 -2
- package/dist/elements/DocumentControls/index.js.map +1 -0
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -0
- package/dist/elements/DocumentDrawer/index.js +1 -2
- package/dist/elements/DocumentDrawer/index.js.map +1 -0
- package/dist/elements/DocumentDrawer/types.js +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -0
- package/dist/elements/DocumentFields/index.js +1 -2
- package/dist/elements/DocumentFields/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +1 -2
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
- package/dist/elements/DocumentHeader/index.js +1 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -0
- package/dist/elements/DraggableSortable/index.js +1 -1
- package/dist/elements/DraggableSortable/index.js.map +1 -0
- package/dist/elements/DraggableSortable/types.js +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -0
- package/dist/elements/Drawer/index.js +1 -2
- package/dist/elements/Drawer/index.js.map +1 -0
- package/dist/elements/Drawer/types.js +1 -1
- package/dist/elements/Drawer/types.js.map +1 -0
- package/dist/elements/Drawer/useDrawerSlug.js +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -0
- package/dist/elements/Dropzone/index.js +1 -2
- package/dist/elements/Dropzone/index.js.map +1 -0
- package/dist/elements/DuplicateDocument/index.js +1 -2
- package/dist/elements/DuplicateDocument/index.js.map +1 -0
- package/dist/elements/DuplicateDocument/types.js +1 -1
- package/dist/elements/DuplicateDocument/types.js.map +1 -0
- package/dist/elements/EditMany/index.js +1 -2
- package/dist/elements/EditMany/index.js.map +1 -0
- package/dist/elements/EditMany/types.js +1 -1
- package/dist/elements/EditMany/types.js.map +1 -0
- package/dist/elements/EditUpload/index.js +1 -3
- package/dist/elements/EditUpload/index.js.map +1 -0
- package/dist/elements/ErrorPill/index.js +1 -2
- package/dist/elements/ErrorPill/index.js.map +1 -0
- package/dist/elements/ErrorPill/types.js +1 -1
- package/dist/elements/ErrorPill/types.js.map +1 -0
- package/dist/elements/FieldSelect/index.js +1 -2
- package/dist/elements/FieldSelect/index.js.map +1 -0
- package/dist/elements/FileDetails/FileMeta/index.js +1 -2
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -0
- package/dist/elements/FileDetails/FileMeta/types.js +1 -1
- package/dist/elements/FileDetails/FileMeta/types.js.map +1 -0
- package/dist/elements/FileDetails/index.js +1 -2
- package/dist/elements/FileDetails/index.js.map +1 -0
- package/dist/elements/FileDetails/types.js +1 -1
- package/dist/elements/FileDetails/types.js.map +1 -0
- package/dist/elements/GenerateConfirmation/index.js +1 -2
- package/dist/elements/GenerateConfirmation/index.js.map +1 -0
- package/dist/elements/GenerateConfirmation/types.js +1 -1
- package/dist/elements/GenerateConfirmation/types.js.map +1 -0
- package/dist/elements/GetFilterOptions/index.js +1 -1
- package/dist/elements/GetFilterOptions/index.js.map +1 -0
- package/dist/elements/Gutter/index.js +1 -2
- package/dist/elements/Gutter/index.js.map +1 -0
- package/dist/elements/Hamburger/index.js +1 -2
- package/dist/elements/Hamburger/index.js.map +1 -0
- package/dist/elements/Header/index.js +1 -2
- package/dist/elements/Header/index.js.map +1 -0
- package/dist/elements/HydrateClientUser/index.js +1 -1
- package/dist/elements/HydrateClientUser/index.js.map +1 -0
- package/dist/elements/IDLabel/index.js +1 -2
- package/dist/elements/IDLabel/index.js.map +1 -0
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -0
- package/dist/elements/ListControls/index.js +1 -2
- package/dist/elements/ListControls/index.js.map +1 -0
- package/dist/elements/ListControls/types.js +1 -1
- package/dist/elements/ListControls/types.js.map +1 -0
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -0
- package/dist/elements/ListDrawer/index.js +1 -2
- package/dist/elements/ListDrawer/index.js.map +1 -0
- package/dist/elements/ListDrawer/types.js +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -0
- package/dist/elements/ListSelection/index.js +1 -2
- package/dist/elements/ListSelection/index.js.map +1 -0
- package/dist/elements/Loading/index.js +1 -2
- package/dist/elements/Loading/index.js.map +1 -0
- package/dist/elements/LoadingOverlay/index.js +1 -1
- package/dist/elements/LoadingOverlay/index.js.map +1 -0
- package/dist/elements/LoadingOverlay/reducer.js +1 -1
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -0
- package/dist/elements/LoadingOverlay/types.js +1 -1
- package/dist/elements/LoadingOverlay/types.js.map +1 -0
- package/dist/elements/Localizer/LocalizerLabel/index.js +1 -2
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -0
- package/dist/elements/Localizer/index.js +1 -2
- package/dist/elements/Localizer/index.js.map +1 -0
- package/dist/elements/Logout/index.js +1 -1
- package/dist/elements/Logout/index.js.map +1 -0
- package/dist/elements/Nav/NavHamburger/index.js +1 -1
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
- package/dist/elements/Nav/NavToggler/index.js +1 -2
- package/dist/elements/Nav/NavToggler/index.js.map +1 -0
- package/dist/elements/Nav/NavWrapper/index.js +1 -2
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
- package/dist/elements/Nav/context.js +1 -1
- package/dist/elements/Nav/context.js.map +1 -0
- package/dist/elements/Nav/index.js +1 -2
- package/dist/elements/Nav/index.js.map +1 -0
- package/dist/elements/NavGroup/index.js +1 -2
- package/dist/elements/NavGroup/index.js.map +1 -0
- package/dist/elements/Pagination/ClickableArrow/index.js +1 -2
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -0
- package/dist/elements/Pagination/ClickableArrow/types.js +1 -1
- package/dist/elements/Pagination/ClickableArrow/types.js.map +1 -0
- package/dist/elements/Pagination/Page/index.js +1 -1
- package/dist/elements/Pagination/Page/index.js.map +1 -0
- package/dist/elements/Pagination/Page/types.js +1 -1
- package/dist/elements/Pagination/Page/types.js.map +1 -0
- package/dist/elements/Pagination/Separator/index.js +1 -1
- package/dist/elements/Pagination/Separator/index.js.map +1 -0
- package/dist/elements/Pagination/index.js +1 -2
- package/dist/elements/Pagination/index.js.map +1 -0
- package/dist/elements/Pagination/types.js +1 -1
- package/dist/elements/Pagination/types.js.map +1 -0
- package/dist/elements/PerPage/index.js +1 -2
- package/dist/elements/PerPage/index.js.map +1 -0
- package/dist/elements/Pill/index.js +1 -2
- package/dist/elements/Pill/index.js.map +1 -0
- package/dist/elements/Pill/types.js +1 -1
- package/dist/elements/Pill/types.js.map +1 -0
- package/dist/elements/Popup/PopupButtonList/index.js +1 -2
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -0
- package/dist/elements/Popup/PopupTrigger/index.js +1 -2
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -0
- package/dist/elements/Popup/PopupTrigger/types.js +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -0
- package/dist/elements/Popup/index.js +1 -2
- package/dist/elements/Popup/index.js.map +1 -0
- package/dist/elements/Popup/types.js +1 -1
- package/dist/elements/Popup/types.js.map +1 -0
- package/dist/elements/PreviewButton/index.js +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -0
- package/dist/elements/PreviewSizes/index.js +1 -2
- package/dist/elements/PreviewSizes/index.js.map +1 -0
- package/dist/elements/Publish/index.js +1 -1
- package/dist/elements/Publish/index.js.map +1 -0
- package/dist/elements/PublishMany/index.js +1 -2
- package/dist/elements/PublishMany/index.js.map +1 -0
- package/dist/elements/PublishMany/types.js +1 -1
- package/dist/elements/PublishMany/types.js.map +1 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.js +1 -2
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -0
- package/dist/elements/ReactSelect/Control/index.js +1 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.js +1 -2
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +1 -2
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +1 -2
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -0
- package/dist/elements/ReactSelect/SingleValue/index.js +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -0
- package/dist/elements/ReactSelect/ValueContainer/index.js +1 -2
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -0
- package/dist/elements/ReactSelect/index.js +1 -2
- package/dist/elements/ReactSelect/index.js.map +1 -0
- package/dist/elements/ReactSelect/types.js +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -0
- package/dist/elements/RenderCustomComponent/index.js +1 -1
- package/dist/elements/RenderCustomComponent/index.js.map +1 -0
- package/dist/elements/RenderCustomComponent/types.js +1 -1
- package/dist/elements/RenderCustomComponent/types.js.map +1 -0
- package/dist/elements/RenderTitle/index.js +1 -2
- package/dist/elements/RenderTitle/index.js.map +1 -0
- package/dist/elements/RenderTitle/types.js +1 -1
- package/dist/elements/RenderTitle/types.js.map +1 -0
- package/dist/elements/Save/index.js +1 -1
- package/dist/elements/Save/index.js.map +1 -0
- package/dist/elements/SaveDraft/index.js +1 -1
- package/dist/elements/SaveDraft/index.js.map +1 -0
- package/dist/elements/SearchFilter/index.js +1 -2
- package/dist/elements/SearchFilter/index.js.map +1 -0
- package/dist/elements/SearchFilter/types.js +1 -1
- package/dist/elements/SearchFilter/types.js.map +1 -0
- package/dist/elements/SelectAll/index.js +1 -2
- package/dist/elements/SelectAll/index.js.map +1 -0
- package/dist/elements/SelectRow/index.js +1 -2
- package/dist/elements/SelectRow/index.js.map +1 -0
- package/dist/elements/ShimmerEffect/index.js +1 -2
- package/dist/elements/ShimmerEffect/index.js.map +1 -0
- package/dist/elements/SortColumn/index.js +1 -2
- package/dist/elements/SortColumn/index.js.map +1 -0
- package/dist/elements/SortColumn/types.js +1 -1
- package/dist/elements/SortColumn/types.js.map +1 -0
- package/dist/elements/SortComplex/index.js +1 -2
- package/dist/elements/SortComplex/index.js.map +1 -0
- package/dist/elements/SortComplex/types.js +1 -1
- package/dist/elements/SortComplex/types.js.map +1 -0
- package/dist/elements/Status/index.js +1 -2
- package/dist/elements/Status/index.js.map +1 -0
- package/dist/elements/StayLoggedIn/index.js +1 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -0
- package/dist/elements/StayLoggedIn/types.js +1 -1
- package/dist/elements/StayLoggedIn/types.js.map +1 -0
- package/dist/elements/StepNav/SetStepNav.js +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -0
- package/dist/elements/StepNav/index.js +1 -2
- package/dist/elements/StepNav/index.js.map +1 -0
- package/dist/elements/StepNav/types.js +1 -1
- package/dist/elements/StepNav/types.js.map +1 -0
- package/dist/elements/Table/TableCellProvider/index.js +1 -1
- package/dist/elements/Table/TableCellProvider/index.js.map +1 -0
- package/dist/elements/Table/index.js +1 -2
- package/dist/elements/Table/index.js.map +1 -0
- package/dist/elements/Table/types.js +1 -1
- package/dist/elements/Table/types.js.map +1 -0
- package/dist/elements/TableColumns/buildColumns.js +1 -1
- package/dist/elements/TableColumns/buildColumns.js.map +1 -0
- package/dist/elements/TableColumns/columnReducer.js +1 -1
- package/dist/elements/TableColumns/columnReducer.js.map +1 -0
- package/dist/elements/TableColumns/index.js +1 -1
- package/dist/elements/TableColumns/index.js.map +1 -0
- package/dist/elements/Thumbnail/index.js +1 -2
- package/dist/elements/Thumbnail/index.js.map +1 -0
- package/dist/elements/Thumbnail/types.js +1 -1
- package/dist/elements/Thumbnail/types.js.map +1 -0
- package/dist/elements/ThumbnailCard/index.js +1 -2
- package/dist/elements/ThumbnailCard/index.js.map +1 -0
- package/dist/elements/ThumbnailCard/types.js +1 -1
- package/dist/elements/ThumbnailCard/types.js.map +1 -0
- package/dist/elements/Tooltip/index.js +1 -2
- package/dist/elements/Tooltip/index.js.map +1 -0
- package/dist/elements/Tooltip/types.js +1 -1
- package/dist/elements/Tooltip/types.js.map +1 -0
- package/dist/elements/Translation/index.js +1 -1
- package/dist/elements/Translation/index.js.map +1 -0
- package/dist/elements/UnpublishMany/index.js +1 -2
- package/dist/elements/UnpublishMany/index.js.map +1 -0
- package/dist/elements/UnpublishMany/types.js +1 -1
- package/dist/elements/UnpublishMany/types.js.map +1 -0
- package/dist/elements/Upload/index.js +1 -2
- package/dist/elements/Upload/index.js.map +1 -0
- package/dist/elements/Upload/types.js +1 -1
- package/dist/elements/Upload/types.js.map +1 -0
- package/dist/elements/ViewDescription/index.js +1 -2
- package/dist/elements/ViewDescription/index.js.map +1 -0
- package/dist/elements/ViewDescription/types.js +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Date/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Select/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/index.js +1 -2
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/types.js +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -0
- package/dist/elements/WhereBuilder/field-types.js +1 -1
- package/dist/elements/WhereBuilder/field-types.js.map +1 -0
- package/dist/elements/WhereBuilder/index.js +1 -2
- package/dist/elements/WhereBuilder/index.js.map +1 -0
- package/dist/elements/WhereBuilder/reducer.js +1 -1
- package/dist/elements/WhereBuilder/reducer.js.map +1 -0
- package/dist/elements/WhereBuilder/transformWhereQuery.js +1 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -0
- package/dist/elements/WhereBuilder/types.js +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -0
- package/dist/elements/WhereBuilder/validateWhereQuery.js +1 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -0
- package/dist/exports/assets.js +1 -1
- package/dist/exports/assets.js.map +1 -0
- package/dist/exports/elements.js +1 -1
- package/dist/exports/elements.js.map +1 -0
- package/dist/exports/forms.js +1 -1
- package/dist/exports/forms.js.map +1 -0
- package/dist/exports/graphics.js +1 -1
- package/dist/exports/graphics.js.map +1 -0
- package/dist/exports/hooks.js +1 -1
- package/dist/exports/hooks.js.map +1 -0
- package/dist/exports/icons.js +1 -1
- package/dist/exports/icons.js.map +1 -0
- package/dist/exports/index.js +1 -1
- package/dist/exports/index.js.map +1 -0
- package/dist/exports/providers.js +1 -1
- package/dist/exports/providers.js.map +1 -0
- package/dist/exports/templates.js +1 -1
- package/dist/exports/templates.js.map +1 -0
- package/dist/exports/types.js +1 -1
- package/dist/exports/types.js.map +1 -0
- package/dist/exports/utilities.js +1 -1
- package/dist/exports/utilities.js.map +1 -0
- package/dist/forms/Error/index.js +1 -2
- package/dist/forms/Error/index.js.map +1 -0
- package/dist/forms/FieldDescription/index.js +1 -2
- package/dist/forms/FieldDescription/index.js.map +1 -0
- package/dist/forms/FieldDescription/types.js +1 -1
- package/dist/forms/FieldDescription/types.js.map +1 -0
- package/dist/forms/FieldPathProvider/index.js +1 -1
- package/dist/forms/FieldPathProvider/index.js.map +1 -0
- package/dist/forms/Form/buildFieldSchemaMap.js +1 -1
- package/dist/forms/Form/buildFieldSchemaMap.js.map +1 -0
- package/dist/forms/Form/context.js +1 -1
- package/dist/forms/Form/context.js.map +1 -0
- package/dist/forms/Form/createNestedFieldPath.js +1 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +1 -0
- package/dist/forms/Form/errorMessages.js +1 -1
- package/dist/forms/Form/errorMessages.js.map +1 -0
- package/dist/forms/Form/fieldReducer.js +1 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -0
- package/dist/forms/Form/getDataByPath.js +1 -1
- package/dist/forms/Form/getDataByPath.js.map +1 -0
- package/dist/forms/Form/getSiblingData.js +1 -1
- package/dist/forms/Form/getSiblingData.js.map +1 -0
- package/dist/forms/Form/index.js +1 -1
- package/dist/forms/Form/index.js.map +1 -0
- package/dist/forms/Form/initContextState.js +1 -1
- package/dist/forms/Form/initContextState.js.map +1 -0
- package/dist/forms/Form/mergeServerFormState.js +1 -1
- package/dist/forms/Form/mergeServerFormState.js.map +1 -0
- package/dist/forms/Form/reduceFieldsToValues.js +1 -1
- package/dist/forms/Form/reduceFieldsToValues.js.map +1 -0
- package/dist/forms/Form/rows.js +1 -1
- package/dist/forms/Form/rows.js.map +1 -0
- package/dist/forms/Form/types.js +1 -1
- package/dist/forms/Form/types.js.map +1 -0
- package/dist/forms/Label/index.js +1 -2
- package/dist/forms/Label/index.js.map +1 -0
- package/dist/forms/NullifyField/index.js +1 -1
- package/dist/forms/NullifyField/index.js.map +1 -0
- package/dist/forms/ReadOnlyProvider/index.js +1 -1
- package/dist/forms/ReadOnlyProvider/index.js.map +1 -0
- package/dist/forms/RenderFields/RenderField.js +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -0
- package/dist/forms/RenderFields/index.js +1 -2
- package/dist/forms/RenderFields/index.js.map +1 -0
- package/dist/forms/RenderFields/types.js +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -0
- package/dist/forms/RowLabel/index.js +1 -1
- package/dist/forms/RowLabel/index.js.map +1 -0
- package/dist/forms/RowLabel/types.js +1 -1
- package/dist/forms/RowLabel/types.js.map +1 -0
- package/dist/forms/Submit/index.js +1 -2
- package/dist/forms/Submit/index.js.map +1 -0
- package/dist/forms/WatchChildErrors/buildPathSegments.js +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -0
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +1 -1
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -0
- package/dist/forms/WatchChildErrors/getNestedFieldState.js +1 -1
- package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -0
- package/dist/forms/WatchChildErrors/index.js +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -0
- package/dist/forms/fields/Array/ArrayRow.js +1 -2
- package/dist/forms/fields/Array/ArrayRow.js.map +1 -0
- package/dist/forms/fields/Array/index.js +1 -2
- package/dist/forms/fields/Array/index.js.map +1 -0
- package/dist/forms/fields/Array/types.js +1 -1
- package/dist/forms/fields/Array/types.js.map +1 -0
- package/dist/forms/fields/Blocks/BlockRow.js +1 -1
- package/dist/forms/fields/Blocks/BlockRow.js.map +1 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +1 -2
- package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/index.js +1 -2
- package/dist/forms/fields/Blocks/BlocksDrawer/index.js.map +1 -0
- package/dist/forms/fields/Blocks/BlocksDrawer/types.js +1 -1
- package/dist/forms/fields/Blocks/BlocksDrawer/types.js.map +1 -0
- package/dist/forms/fields/Blocks/RowActions.js +1 -1
- package/dist/forms/fields/Blocks/RowActions.js.map +1 -0
- package/dist/forms/fields/Blocks/SectionTitle/index.js +1 -2
- package/dist/forms/fields/Blocks/SectionTitle/index.js.map +1 -0
- package/dist/forms/fields/Blocks/SectionTitle/types.js +1 -1
- package/dist/forms/fields/Blocks/SectionTitle/types.js.map +1 -0
- package/dist/forms/fields/Blocks/index.js +1 -2
- package/dist/forms/fields/Blocks/index.js.map +1 -0
- package/dist/forms/fields/Blocks/types.js +1 -1
- package/dist/forms/fields/Blocks/types.js.map +1 -0
- package/dist/forms/fields/Checkbox/Input.js +1 -1
- package/dist/forms/fields/Checkbox/Input.js.map +1 -0
- package/dist/forms/fields/Checkbox/index.js +1 -2
- package/dist/forms/fields/Checkbox/index.js.map +1 -0
- package/dist/forms/fields/Checkbox/types.js +1 -1
- package/dist/forms/fields/Checkbox/types.js.map +1 -0
- package/dist/forms/fields/Code/index.js +1 -2
- package/dist/forms/fields/Code/index.js.map +1 -0
- package/dist/forms/fields/Code/types.js +1 -1
- package/dist/forms/fields/Code/types.js.map +1 -0
- package/dist/forms/fields/Collapsible/index.js +1 -2
- package/dist/forms/fields/Collapsible/index.js.map +1 -0
- package/dist/forms/fields/Collapsible/types.js +1 -1
- package/dist/forms/fields/Collapsible/types.js.map +1 -0
- package/dist/forms/fields/ConfirmPassword/index.js +1 -2
- package/dist/forms/fields/ConfirmPassword/index.js.map +1 -0
- package/dist/forms/fields/ConfirmPassword/types.js +1 -1
- package/dist/forms/fields/ConfirmPassword/types.js.map +1 -0
- package/dist/forms/fields/DateTime/index.js +1 -2
- package/dist/forms/fields/DateTime/index.js.map +1 -0
- package/dist/forms/fields/DateTime/types.js +1 -1
- package/dist/forms/fields/DateTime/types.js.map +1 -0
- package/dist/forms/fields/Email/index.js +1 -2
- package/dist/forms/fields/Email/index.js.map +1 -0
- package/dist/forms/fields/Email/types.js +1 -1
- package/dist/forms/fields/Email/types.js.map +1 -0
- package/dist/forms/fields/Group/index.js +1 -2
- package/dist/forms/fields/Group/index.js.map +1 -0
- package/dist/forms/fields/Group/provider.js +1 -1
- package/dist/forms/fields/Group/provider.js.map +1 -0
- package/dist/forms/fields/Group/types.js +1 -1
- package/dist/forms/fields/Group/types.js.map +1 -0
- package/dist/forms/fields/HiddenInput/index.js +1 -1
- package/dist/forms/fields/HiddenInput/index.js.map +1 -0
- package/dist/forms/fields/HiddenInput/types.js +1 -1
- package/dist/forms/fields/HiddenInput/types.js.map +1 -0
- package/dist/forms/fields/JSON/index.js +1 -2
- package/dist/forms/fields/JSON/index.js.map +1 -0
- package/dist/forms/fields/JSON/types.js +1 -1
- package/dist/forms/fields/JSON/types.js.map +1 -0
- package/dist/forms/fields/Number/index.js +1 -2
- package/dist/forms/fields/Number/index.js.map +1 -0
- package/dist/forms/fields/Number/types.js +1 -1
- package/dist/forms/fields/Number/types.js.map +1 -0
- package/dist/forms/fields/Password/index.js +1 -2
- package/dist/forms/fields/Password/index.js.map +1 -0
- package/dist/forms/fields/Password/types.js +1 -1
- package/dist/forms/fields/Password/types.js.map +1 -0
- package/dist/forms/fields/Point/index.js +1 -2
- package/dist/forms/fields/Point/index.js.map +1 -0
- package/dist/forms/fields/Point/types.js +1 -1
- package/dist/forms/fields/Point/types.js.map +1 -0
- package/dist/forms/fields/RadioGroup/Radio/index.js +1 -2
- package/dist/forms/fields/RadioGroup/Radio/index.js.map +1 -0
- package/dist/forms/fields/RadioGroup/index.js +1 -2
- package/dist/forms/fields/RadioGroup/index.js.map +1 -0
- package/dist/forms/fields/RadioGroup/types.js +1 -1
- package/dist/forms/fields/RadioGroup/types.js.map +1 -0
- package/dist/forms/fields/Relationship/AddNew/index.js +1 -2
- package/dist/forms/fields/Relationship/AddNew/index.js.map +1 -0
- package/dist/forms/fields/Relationship/AddNew/types.js +1 -1
- package/dist/forms/fields/Relationship/AddNew/types.js.map +1 -0
- package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
- package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -0
- package/dist/forms/fields/Relationship/createRelationMap.js +1 -1
- package/dist/forms/fields/Relationship/createRelationMap.js.map +1 -0
- package/dist/forms/fields/Relationship/findOptionsByValue.js +1 -1
- package/dist/forms/fields/Relationship/findOptionsByValue.js.map +1 -0
- package/dist/forms/fields/Relationship/index.js +1 -2
- package/dist/forms/fields/Relationship/index.js.map +1 -0
- package/dist/forms/fields/Relationship/optionsReducer.js +1 -1
- package/dist/forms/fields/Relationship/optionsReducer.js.map +1 -0
- package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +1 -2
- package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -0
- package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +1 -2
- package/dist/forms/fields/Relationship/select-components/SingleValue/index.js.map +1 -0
- package/dist/forms/fields/Relationship/types.js +1 -1
- package/dist/forms/fields/Relationship/types.js.map +1 -0
- package/dist/forms/fields/RichText/index.js +1 -1
- package/dist/forms/fields/RichText/index.js.map +1 -0
- package/dist/forms/fields/RichText/types.js +1 -1
- package/dist/forms/fields/RichText/types.js.map +1 -0
- package/dist/forms/fields/Row/index.js +1 -2
- package/dist/forms/fields/Row/index.js.map +1 -0
- package/dist/forms/fields/Row/provider.js +1 -1
- package/dist/forms/fields/Row/provider.js.map +1 -0
- package/dist/forms/fields/Row/types.js +1 -1
- package/dist/forms/fields/Row/types.js.map +1 -0
- package/dist/forms/fields/Select/index.js +1 -2
- package/dist/forms/fields/Select/index.js.map +1 -0
- package/dist/forms/fields/Select/types.js +1 -1
- package/dist/forms/fields/Select/types.js.map +1 -0
- package/dist/forms/fields/Tabs/Tab/index.js +1 -2
- package/dist/forms/fields/Tabs/Tab/index.js.map +1 -0
- package/dist/forms/fields/Tabs/index.js +1 -2
- package/dist/forms/fields/Tabs/index.js.map +1 -0
- package/dist/forms/fields/Tabs/provider.js +1 -1
- package/dist/forms/fields/Tabs/provider.js.map +1 -0
- package/dist/forms/fields/Tabs/types.js +1 -1
- package/dist/forms/fields/Tabs/types.js.map +1 -0
- package/dist/forms/fields/Text/Input.js +1 -2
- package/dist/forms/fields/Text/Input.js.map +1 -0
- package/dist/forms/fields/Text/index.js +1 -2
- package/dist/forms/fields/Text/index.js.map +1 -0
- package/dist/forms/fields/Text/types.js +1 -1
- package/dist/forms/fields/Text/types.js.map +1 -0
- package/dist/forms/fields/Textarea/Input.js +1 -2
- package/dist/forms/fields/Textarea/Input.js.map +1 -0
- package/dist/forms/fields/Textarea/index.js +1 -2
- package/dist/forms/fields/Textarea/index.js.map +1 -0
- package/dist/forms/fields/Textarea/types.js +1 -1
- package/dist/forms/fields/Textarea/types.js.map +1 -0
- package/dist/forms/fields/UI/index.js +1 -1
- package/dist/forms/fields/UI/index.js.map +1 -0
- package/dist/forms/fields/Upload/Input.js +1 -2
- package/dist/forms/fields/Upload/Input.js.map +1 -0
- package/dist/forms/fields/Upload/index.js +1 -2
- package/dist/forms/fields/Upload/index.js.map +1 -0
- package/dist/forms/fields/Upload/types.js +1 -1
- package/dist/forms/fields/Upload/types.js.map +1 -0
- package/dist/forms/fields/getFilterOptionsQuery.js +1 -1
- package/dist/forms/fields/getFilterOptionsQuery.js.map +1 -0
- package/dist/forms/fields/index.js +1 -1
- package/dist/forms/fields/index.js.map +1 -0
- package/dist/forms/fields/shared.js +1 -1
- package/dist/forms/fields/shared.js.map +1 -0
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -0
- package/dist/forms/useField/types.js +1 -1
- package/dist/forms/useField/types.js.map +1 -0
- package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +1 -1
- package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js.map +1 -0
- package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
- package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -0
- package/dist/forms/utilities/buildStateFromSchema/index.js +1 -1
- package/dist/forms/utilities/buildStateFromSchema/index.js.map +1 -0
- package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +1 -1
- package/dist/forms/utilities/buildStateFromSchema/iterateFields.js.map +1 -0
- package/dist/forms/withCondition/WatchCondition.js +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -0
- package/dist/forms/withCondition/index.js +1 -1
- package/dist/forms/withCondition/index.js.map +1 -0
- package/dist/graphics/Account/Default/index.js +1 -2
- package/dist/graphics/Account/Default/index.js.map +1 -0
- package/dist/graphics/Account/Gravatar/index.js +1 -1
- package/dist/graphics/Account/Gravatar/index.js.map +1 -0
- package/dist/graphics/Account/index.js +1 -1
- package/dist/graphics/Account/index.js.map +1 -0
- package/dist/graphics/DefaultBlockImage/index.js +1 -1
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -0
- package/dist/graphics/ExternalLink/index.js +1 -1
- package/dist/graphics/ExternalLink/index.js.map +1 -0
- package/dist/graphics/File/index.js +1 -1
- package/dist/graphics/File/index.js.map +1 -0
- package/dist/graphics/Icon/index.js +1 -1
- package/dist/graphics/Icon/index.js.map +1 -0
- package/dist/graphics/Logo/index.js +1 -1
- package/dist/graphics/Logo/index.js.map +1 -0
- package/dist/graphics/Search/index.js +1 -1
- package/dist/graphics/Search/index.js.map +1 -0
- package/dist/hooks/useAdminThumbnail.js +1 -1
- package/dist/hooks/useAdminThumbnail.js.map +1 -0
- package/dist/hooks/useDebounce.js +1 -1
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useDebouncedCallback.js +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/hooks/useDebouncedEffect.js +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -0
- package/dist/hooks/useDelay.js +1 -1
- package/dist/hooks/useDelay.js.map +1 -0
- package/dist/hooks/useDelayedRender.js +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -0
- package/dist/hooks/useHotkey.js +1 -1
- package/dist/hooks/useHotkey.js.map +1 -0
- package/dist/hooks/useIntersect.js +1 -1
- package/dist/hooks/useIntersect.js.map +1 -0
- package/dist/hooks/usePayloadAPI.js +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -0
- package/dist/hooks/useResize.js +1 -1
- package/dist/hooks/useResize.js.map +1 -0
- package/dist/hooks/useThrottledEffect.js +1 -1
- package/dist/hooks/useThrottledEffect.js.map +1 -0
- package/dist/hooks/useThumbnail.js +1 -1
- package/dist/hooks/useThumbnail.js.map +1 -0
- package/dist/hooks/useUseAsTitle.js +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -0
- package/dist/icons/Calendar/index.js +1 -2
- package/dist/icons/Calendar/index.js.map +1 -0
- package/dist/icons/Check/index.js +1 -2
- package/dist/icons/Check/index.js.map +1 -0
- package/dist/icons/Chevron/index.js +1 -2
- package/dist/icons/Chevron/index.js.map +1 -0
- package/dist/icons/CloseMenu/index.js +1 -2
- package/dist/icons/CloseMenu/index.js.map +1 -0
- package/dist/icons/CodeBlock/index.js +1 -1
- package/dist/icons/CodeBlock/index.js.map +1 -0
- package/dist/icons/Copy/index.js +1 -2
- package/dist/icons/Copy/index.js.map +1 -0
- package/dist/icons/DragHandle/index.js +1 -2
- package/dist/icons/DragHandle/index.js.map +1 -0
- package/dist/icons/Edit/index.js +1 -2
- package/dist/icons/Edit/index.js.map +1 -0
- package/dist/icons/Line/index.js +1 -2
- package/dist/icons/Line/index.js.map +1 -0
- package/dist/icons/Link/index.js +1 -2
- package/dist/icons/Link/index.js.map +1 -0
- package/dist/icons/LogOut/index.js +1 -2
- package/dist/icons/LogOut/index.js.map +1 -0
- package/dist/icons/Menu/index.js +1 -2
- package/dist/icons/Menu/index.js.map +1 -0
- package/dist/icons/MinimizeMaximize/index.js +1 -1
- package/dist/icons/MinimizeMaximize/index.js.map +1 -0
- package/dist/icons/More/index.js +1 -2
- package/dist/icons/More/index.js.map +1 -0
- package/dist/icons/Plus/index.js +1 -2
- package/dist/icons/Plus/index.js.map +1 -0
- package/dist/icons/Search/index.js +1 -2
- package/dist/icons/Search/index.js.map +1 -0
- package/dist/icons/Swap/index.js +1 -2
- package/dist/icons/Swap/index.js.map +1 -0
- package/dist/icons/X/index.js +1 -2
- package/dist/icons/X/index.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -0
- package/dist/prod/styles.css +1 -0
- package/dist/providers/ActionsProvider/SetViewActions/index.js +1 -1
- package/dist/providers/ActionsProvider/SetViewActions/index.js.map +1 -0
- package/dist/providers/ActionsProvider/index.js +1 -1
- package/dist/providers/ActionsProvider/index.js.map +1 -0
- package/dist/providers/Auth/index.js +1 -1
- package/dist/providers/Auth/index.js.map +1 -0
- package/dist/providers/Auth/types.js +1 -1
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/ClientFunction/index.js +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -0
- package/dist/providers/ComponentMapProvider/index.js +1 -1
- package/dist/providers/ComponentMapProvider/index.js.map +1 -0
- package/dist/providers/Config/index.js +1 -1
- package/dist/providers/Config/index.js.map +1 -0
- package/dist/providers/DocumentEvents/index.js +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -0
- package/dist/providers/DocumentEvents/types.js +1 -1
- package/dist/providers/DocumentEvents/types.js.map +1 -0
- package/dist/providers/DocumentInfo/index.js +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -0
- package/dist/providers/DocumentInfo/types.js +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -0
- package/dist/providers/EditDepth/index.js +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -0
- package/dist/providers/FormQueryParams/index.js +1 -1
- package/dist/providers/FormQueryParams/index.js.map +1 -0
- package/dist/providers/FormQueryParams/types.js +1 -1
- package/dist/providers/FormQueryParams/types.js.map +1 -0
- package/dist/providers/ListInfo/index.js +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -0
- package/dist/providers/ListInfo/types.js +1 -1
- package/dist/providers/ListInfo/types.js.map +1 -0
- package/dist/providers/Locale/index.js +1 -1
- package/dist/providers/Locale/index.js.map +1 -0
- package/dist/providers/OperationProvider/index.js +1 -1
- package/dist/providers/OperationProvider/index.js.map +1 -0
- package/dist/providers/Params/index.js +1 -1
- package/dist/providers/Params/index.js.map +1 -0
- package/dist/providers/Portal/index.js +1 -1
- package/dist/providers/Portal/index.js.map +1 -0
- package/dist/providers/Preferences/index.js +1 -1
- package/dist/providers/Preferences/index.js.map +1 -0
- package/dist/providers/Root/index.js +1 -1
- package/dist/providers/Root/index.js.map +1 -0
- package/dist/providers/SearchParams/index.js +1 -1
- package/dist/providers/SearchParams/index.js.map +1 -0
- package/dist/providers/SearchParams/types.js +1 -1
- package/dist/providers/SearchParams/types.js.map +1 -0
- package/dist/providers/SelectionProvider/index.js +1 -1
- package/dist/providers/SelectionProvider/index.js.map +1 -0
- package/dist/providers/Theme/index.js +1 -1
- package/dist/providers/Theme/index.js.map +1 -0
- package/dist/providers/Theme/types.js +1 -1
- package/dist/providers/Theme/types.js.map +1 -0
- package/dist/providers/Theme/utilities.js +1 -1
- package/dist/providers/Theme/utilities.js.map +1 -0
- package/dist/providers/Translation/index.js +1 -1
- package/dist/providers/Translation/index.js.map +1 -0
- package/dist/templates/Default/NavHamburger/index.js +1 -1
- package/dist/templates/Default/NavHamburger/index.js.map +1 -0
- package/dist/templates/Default/Wrapper/index.js +1 -2
- package/dist/templates/Default/Wrapper/index.js.map +1 -0
- package/dist/templates/Default/index.js +1 -2
- package/dist/templates/Default/index.js.map +1 -0
- package/dist/templates/Default/types.js +1 -1
- package/dist/templates/Default/types.js.map +1 -0
- package/dist/templates/Minimal/index.js +1 -2
- package/dist/templates/Minimal/index.js.map +1 -0
- package/dist/templates/Minimal/types.js +1 -1
- package/dist/templates/Minimal/types.js.map +1 -0
- package/dist/utilities/api.js +1 -1
- package/dist/utilities/api.js.map +1 -0
- package/dist/utilities/arraysHaveSameStrings.js +1 -1
- package/dist/utilities/arraysHaveSameStrings.js.map +1 -0
- package/dist/utilities/buildComponentMap/index.js +1 -1
- package/dist/utilities/buildComponentMap/index.js.map +1 -0
- package/dist/utilities/buildComponentMap/mapActions.js +1 -1
- package/dist/utilities/buildComponentMap/mapActions.js.map +1 -0
- package/dist/utilities/buildComponentMap/mapFields.js +1 -1
- package/dist/utilities/buildComponentMap/mapFields.js.map +1 -0
- package/dist/utilities/buildComponentMap/types.js +1 -1
- package/dist/utilities/buildComponentMap/types.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/index.js +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/types.js +1 -1
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
- package/dist/utilities/canUseDOM.js +1 -1
- package/dist/utilities/canUseDOM.js.map +1 -0
- package/dist/utilities/findLocaleFromCode.js +1 -1
- package/dist/utilities/findLocaleFromCode.js.map +1 -0
- package/dist/utilities/formatDate/getSupportedDateLocale.js +1 -1
- package/dist/utilities/formatDate/getSupportedDateLocale.js.map +1 -0
- package/dist/utilities/formatDate/index.js +1 -1
- package/dist/utilities/formatDate/index.js.map +1 -0
- package/dist/utilities/formatDocTitle.js +1 -1
- package/dist/utilities/formatDocTitle.js.map +1 -0
- package/dist/utilities/formatFields.js +1 -1
- package/dist/utilities/formatFields.js.map +1 -0
- package/dist/utilities/getFormState.js +1 -1
- package/dist/utilities/getFormState.js.map +1 -0
- package/dist/utilities/getOffsetTop.js +1 -1
- package/dist/utilities/getOffsetTop.js.map +1 -0
- package/dist/utilities/getRequestLanguage.js +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -0
- package/dist/utilities/getSupportedMonacoLocale.js +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -0
- package/dist/utilities/groupNavItems.js +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -0
- package/dist/utilities/scrollToID.js +1 -1
- package/dist/utilities/scrollToID.js.map +1 -0
- package/dist/utilities/setsAreEqual.js +1 -1
- package/dist/utilities/setsAreEqual.js.map +1 -0
- package/dist/utilities/withMergedProps/index.js +1 -1
- package/dist/utilities/withMergedProps/index.js.map +1 -0
- package/package.json +23 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Hamburger/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'hamburger'\n\nexport const Hamburger: React.FC<{\n closeIcon?: 'collapse' | 'x'\n isActive?: boolean\n}> = (props) => {\n const { t } = useTranslation()\n const { closeIcon = 'x', isActive = false } = props\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__icon`}>\n {!isActive && (\n <div className={`${baseClass}__lines`} title={t('general:open')}>\n <div className={`${baseClass}__line ${baseClass}__top`} />\n <div className={`${baseClass}__line ${baseClass}__middle`} />\n <div className={`${baseClass}__line ${baseClass}__bottom`} />\n </div>\n )}\n {isActive && (\n <div\n aria-label={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n className={`${baseClass}__close-icon`}\n title={closeIcon === 'collapse' ? t('general:collapse') : t('general:close')}\n >\n {closeIcon === 'x' && (\n <React.Fragment>\n <div className={`${baseClass}__line ${baseClass}__x-left`} />\n <div className={`${baseClass}__line ${baseClass}__x-right`} />\n </React.Fragment>\n )}\n {closeIcon === 'collapse' && (\n <Chevron className={`${baseClass}__collapse-chevron`} direction=\"left\" />\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["React","Chevron","useTranslation","baseClass","Hamburger","props","t","closeIcon","isActive","div","className","title","aria-label","Fragment","direction"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAGR,CAACC;IACJ,MAAM,EAAEC,CAAC,EAAE,GAAGJ;IACd,MAAM,EAAEK,YAAY,GAAG,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAE9C,qBACE,oBAACI;QAAIC,WAAWP;qBACd,oBAACM;QAAIC,WAAW,CAAC,EAAEP,UAAU,SAAS,CAAC;qBACrC,oBAACM;QAAIC,WAAW,CAAC,EAAEP,UAAU,MAAM,CAAC;OACjC,CAACK,0BACA,oBAACC;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,CAAC;QAAEQ,OAAOL,EAAE;qBAC9C,oBAACG;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,EAAEA,UAAU,KAAK,CAAC;sBACtD,oBAACM;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,EAAEA,UAAU,QAAQ,CAAC;sBACzD,oBAACM;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,EAAEA,UAAU,QAAQ,CAAC;SAG5DK,0BACC,oBAACC;QACCG,cAAYL,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;QACjEI,WAAW,CAAC,EAAEP,UAAU,YAAY,CAAC;QACrCQ,OAAOJ,cAAc,aAAaD,EAAE,sBAAsBA,EAAE;OAE3DC,cAAc,qBACb,oBAACP,MAAMa,QAAQ,sBACb,oBAACJ;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,EAAEA,UAAU,QAAQ,CAAC;sBACzD,oBAACM;QAAIC,WAAW,CAAC,EAAEP,UAAU,OAAO,EAAEA,UAAU,SAAS,CAAC;SAG7DI,cAAc,4BACb,oBAACN;QAAQS,WAAW,CAAC,EAAEP,UAAU,kBAAkB,CAAC;QAAEW,WAAU;;AAQhF,EAAC"}
|
|
@@ -11,7 +11,6 @@ import Localizer from '../Localizer/index.js';
|
|
|
11
11
|
import { NavToggler } from '../Nav/NavToggler/index.js';
|
|
12
12
|
import { useNav } from '../Nav/context.js';
|
|
13
13
|
import StepNav from '../StepNav/index.js';
|
|
14
|
-
import './index.scss';
|
|
15
14
|
const baseClass = 'app-header';
|
|
16
15
|
export const AppHeader = ()=>{
|
|
17
16
|
const { t } = useTranslation();
|
|
@@ -82,4 +81,4 @@ export const AppHeader = ()=>{
|
|
|
82
81
|
}));
|
|
83
82
|
};
|
|
84
83
|
|
|
85
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Header/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport Account from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/ActionsProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport Localizer from '../Localizer/index.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { useNav } from '../Nav/context.js'\nimport StepNav from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n localization,\n routes: { admin: adminRoute },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav Link={Link} className={`${baseClass}__step-nav`} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={`${adminRoute}/account`}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","useTranslation","Hamburger","LocalizerLabel","Localizer","NavToggler","useNav","StepNav","baseClass","AppHeader","t","localization","routes","admin","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","header","className","filter","Boolean","join","div","tabIndex","ref","Array","isArray","map","Action","i","length","key","ariaLabel","aria-label","href"],"mappings":"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"}
|
|
@@ -15,4 +15,4 @@ export const HydrateClientUser = ({ permissions, user })=>{
|
|
|
15
15
|
return null;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/HydrateClientUser/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Permissions, User } from 'payload/auth'\n\nimport { useEffect } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\n\nexport const HydrateClientUser: React.FC<{ permissions: Permissions; user: User }> = ({\n permissions,\n user,\n}) => {\n const { setPermissions, setUser } = useAuth()\n\n useEffect(() => {\n setUser(user)\n setPermissions(permissions)\n }, [user, permissions, setUser, setPermissions])\n\n return null\n}\n"],"names":["useEffect","useAuth","HydrateClientUser","permissions","user","setPermissions","setUser"],"mappings":"AAAA;AAIA,SAASA,SAAS,QAAQ,QAAO;AAEjC,SAASC,OAAO,QAAQ,gCAA+B;AAEvD,OAAO,MAAMC,oBAAwE,CAAC,EACpFC,WAAW,EACXC,IAAI,EACL;IACC,MAAM,EAAEC,cAAc,EAAEC,OAAO,EAAE,GAAGL;IAEpCD,UAAU;QACRM,QAAQF;QACRC,eAAeF;IACjB,GAAG;QAACC;QAAMD;QAAaG;QAASD;KAAe;IAE/C,OAAO;AACT,EAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import './index.scss';
|
|
3
2
|
const baseClass = 'id-label';
|
|
4
3
|
const IDLabel = ({ id, className, prefix = 'ID:' })=>/*#__PURE__*/ React.createElement("div", {
|
|
5
4
|
className: [
|
|
@@ -10,4 +9,4 @@ const IDLabel = ({ id, className, prefix = 'ID:' })=>/*#__PURE__*/ React.createE
|
|
|
10
9
|
}, prefix, " ", id);
|
|
11
10
|
export default IDLabel;
|
|
12
11
|
|
|
13
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/IDLabel/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'id-label'\n\nconst IDLabel: React.FC<{ className?: string; id: string; prefix?: string }> = ({\n id,\n className,\n prefix = 'ID:',\n}) => (\n <div className={[baseClass, className].filter(Boolean).join(' ')} title={id}>\n {prefix}\n \n {id}\n </div>\n)\n\nexport default IDLabel\n"],"names":["React","baseClass","IDLabel","id","className","prefix","div","filter","Boolean","join","title"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AAIzB,MAAMC,YAAY;AAElB,MAAMC,UAAyE,CAAC,EAC9EC,EAAE,EACFC,SAAS,EACTC,SAAS,KAAK,EACf,iBACC,oBAACC;QAAIF,WAAW;YAACH;YAAWG;SAAU,CAACG,MAAM,CAACC,SAASC,IAAI,CAAC;QAAMC,OAAOP;OACtEE,QAAO,MAEPF;AAIL,eAAeD,QAAO"}
|
|
@@ -8,4 +8,4 @@ export const getTextFieldsToBeSearched = (listSearchableFields, fields)=>{
|
|
|
8
8
|
return null;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=getTextFieldsToBeSearched.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListControls/getTextFieldsToBeSearched.ts"],"sourcesContent":["import type { Field, FieldAffectingData } from 'payload/types'\n\nimport { fieldAffectsData } from 'payload/types'\nimport { flattenTopLevelFields } from 'payload/utilities'\n\nexport const getTextFieldsToBeSearched = (\n listSearchableFields: string[],\n fields: Field[],\n): FieldAffectingData[] => {\n if (listSearchableFields) {\n const flattenedFields = flattenTopLevelFields(fields)\n return flattenedFields.filter(\n (field) => fieldAffectsData(field) && listSearchableFields.includes(field.name),\n ) as FieldAffectingData[]\n }\n\n return null\n}\n"],"names":["fieldAffectsData","flattenTopLevelFields","getTextFieldsToBeSearched","listSearchableFields","fields","flattenedFields","filter","field","includes","name"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,gBAAe;AAChD,SAASC,qBAAqB,QAAQ,oBAAmB;AAEzD,OAAO,MAAMC,4BAA4B,CACvCC,sBACAC;IAEA,IAAID,sBAAsB;QACxB,MAAME,kBAAkBJ,sBAAsBG;QAC9C,OAAOC,gBAAgBC,MAAM,CAC3B,CAACC,QAAUP,iBAAiBO,UAAUJ,qBAAqBK,QAAQ,CAACD,MAAME,IAAI;IAElF;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -17,7 +17,6 @@ import SearchFilter from '../SearchFilter/index.js';
|
|
|
17
17
|
import { UnpublishMany } from '../UnpublishMany/index.js';
|
|
18
18
|
import WhereBuilder from '../WhereBuilder/index.js';
|
|
19
19
|
import validateWhereQuery from '../WhereBuilder/validateWhereQuery.js';
|
|
20
|
-
import './index.scss';
|
|
21
20
|
const baseClass = 'list-controls';
|
|
22
21
|
/**
|
|
23
22
|
* The ListControls component is used to render the controls (search, filter, where)
|
|
@@ -96,4 +95,4 @@ const baseClass = 'list-controls';
|
|
|
96
95
|
}, /*#__PURE__*/ React.createElement("p", null, "Sort Complex")));
|
|
97
96
|
};
|
|
98
97
|
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9MaXN0Q29udHJvbHMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0ICogYXMgZmFjZWxlc3NVSUltcG9ydCBmcm9tICdAZmFjZWxlc3MtdWkvd2luZG93LWluZm8nXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgQW5pbWF0ZUhlaWdodEltcG9ydCBmcm9tICdyZWFjdC1hbmltYXRlLWhlaWdodCdcblxuY29uc3QgQW5pbWF0ZUhlaWdodCA9IChBbmltYXRlSGVpZ2h0SW1wb3J0LmRlZmF1bHQgfHxcbiAgQW5pbWF0ZUhlaWdodEltcG9ydCkgYXMgdHlwZW9mIEFuaW1hdGVIZWlnaHRJbXBvcnQuZGVmYXVsdFxuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgQ2hldnJvbiB9IGZyb20gJy4uLy4uL2ljb25zL0NoZXZyb24vaW5kZXguanMnXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvU2VhcmNoUGFyYW1zL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVHJhbnNsYXRpb24vaW5kZXguanMnXG5pbXBvcnQgQ29sdW1uU2VsZWN0b3IgZnJvbSAnLi4vQ29sdW1uU2VsZWN0b3IvaW5kZXguanMnXG5pbXBvcnQgeyBEZWxldGVNYW55IH0gZnJvbSAnLi4vRGVsZXRlTWFueS9pbmRleC5qcydcbmltcG9ydCB7IEVkaXRNYW55IH0gZnJvbSAnLi4vRWRpdE1hbnkvaW5kZXguanMnXG5pbXBvcnQgUGlsbCBmcm9tICcuLi9QaWxsL2luZGV4LmpzJ1xuaW1wb3J0IHsgUHVibGlzaE1hbnkgfSBmcm9tICcuLi9QdWJsaXNoTWFueS9pbmRleC5qcydcbmltcG9ydCBTZWFyY2hGaWx0ZXIgZnJvbSAnLi4vU2VhcmNoRmlsdGVyL2luZGV4LmpzJ1xuaW1wb3J0IHsgVW5wdWJsaXNoTWFueSB9IGZyb20gJy4uL1VucHVibGlzaE1hbnkvaW5kZXguanMnXG5pbXBvcnQgV2hlcmVCdWlsZGVyIGZyb20gJy4uL1doZXJlQnVpbGRlci9pbmRleC5qcydcbmltcG9ydCB2YWxpZGF0ZVdoZXJlUXVlcnkgZnJvbSAnLi4vV2hlcmVCdWlsZGVyL3ZhbGlkYXRlV2hlcmVRdWVyeS5qcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnbGlzdC1jb250cm9scydcblxuLyoqXG4gKiBUaGUgTGlzdENvbnRyb2xzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY29udHJvbHMgKHNlYXJjaCwgZmlsdGVyLCB3aGVyZSlcbiAqIGZvciBhIGNvbGxlY3Rpb24ncyBsaXN0IHZpZXcuIFlvdSBjYW4gZmluZCB0aG9zZSBkaXJlY3RseSBhYm92ZSB0aGUgdGFibGUgd2hpY2ggbGlzdHNcbiAqIHRoZSBjb2xsZWN0aW9uJ3MgZG9jdW1lbnRzLlxuICovXG5leHBvcnQgY29uc3QgTGlzdENvbnRyb2xzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb25Db25maWcsXG4gICAgZW5hYmxlQ29sdW1ucyA9IHRydWUsXG4gICAgZW5hYmxlU29ydCA9IGZhbHNlLFxuICAgIGhhbmRsZVNlYXJjaENoYW5nZSxcbiAgICBoYW5kbGVTb3J0Q2hhbmdlLFxuICAgIGhhbmRsZVdoZXJlQ2hhbmdlLFxuICAgIG1vZGlmeVNlYXJjaFF1ZXJ5ID0gdHJ1ZSxcbiAgICB0ZXh0RmllbGRzVG9CZVNlYXJjaGVkLFxuICAgIHRpdGxlRmllbGQsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHsgdXNlV2luZG93SW5mbyB9ID0gZmFjZWxlc3NVSUltcG9ydFxuXG4gIGNvbnN0IHsgc2VhcmNoUGFyYW1zIH0gPSB1c2VTZWFyY2hQYXJhbXMoKVxuICBjb25zdCBzaG91bGRJbml0aWFsaXplV2hlcmVPcGVuZWQgPSB2YWxpZGF0ZVdoZXJlUXVlcnkoc2VhcmNoUGFyYW1zPy53aGVyZSlcblxuICBjb25zdCBbdmlzaWJsZURyYXdlciwgc2V0VmlzaWJsZURyYXdlcl0gPSB1c2VTdGF0ZTwnY29sdW1ucycgfCAnc29ydCcgfCAnd2hlcmUnPihcbiAgICBzaG91bGRJbml0aWFsaXplV2hlcmVPcGVuZWQgPyAnd2hlcmUnIDogdW5kZWZpbmVkLFxuICApXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7XG4gICAgYnJlYWtwb2ludHM6IHsgczogc21hbGxCcmVhayB9LFxuICB9ID0gdXNlV2luZG93SW5mbygpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgIDxTZWFyY2hGaWx0ZXJcbiAgICAgICAgICBmaWVsZExhYmVsPXtcbiAgICAgICAgICAgICh0aXRsZUZpZWxkICYmIGdldFRyYW5zbGF0aW9uKHRpdGxlRmllbGQubGFiZWwgfHwgdGl0bGVGaWVsZC5uYW1lLCBpMThuKSkgPz8gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGZpZWxkTmFtZT17dGl0bGVGaWVsZCAmJiBmaWVsZEFmZmVjdHNEYXRhKHRpdGxlRmllbGQpID8gdGl0bGVGaWVsZC5uYW1lIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlU2VhcmNoQ2hhbmdlfVxuICAgICAgICAgIGxpc3RTZWFyY2hhYmxlRmllbGRzPXt0ZXh0RmllbGRzVG9CZVNlYXJjaGVkfVxuICAgICAgICAgIG1vZGlmeVNlYXJjaFF1ZXJ5PXttb2RpZnlTZWFyY2hRdWVyeX1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2J1dHRvbnNgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYnV0dG9ucy13cmFwYH0+XG4gICAgICAgICAgICB7IXNtYWxsQnJlYWsgJiYgKFxuICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgPEVkaXRNYW55IGNvbGxlY3Rpb249e2NvbGxlY3Rpb25Db25maWd9IC8+XG4gICAgICAgICAgICAgICAgPFB1Ymxpc2hNYW55IGNvbGxlY3Rpb249e2NvbGxlY3Rpb25Db25maWd9IC8+XG4gICAgICAgICAgICAgICAgPFVucHVibGlzaE1hbnkgY29sbGVjdGlvbj17Y29sbGVjdGlvbkNvbmZpZ30gLz5cbiAgICAgICAgICAgICAgICA8RGVsZXRlTWFueSBjb2xsZWN0aW9uPXtjb2xsZWN0aW9uQ29uZmlnfSAvPlxuICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtlbmFibGVDb2x1bW5zICYmIChcbiAgICAgICAgICAgICAgPFBpbGxcbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtgJHtiYXNlQ2xhc3N9LWNvbHVtbnNgfVxuICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3Zpc2libGVEcmF3ZXIgPT09ICdjb2x1bW5zJ31cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvZ2dsZS1jb2x1bW5zICR7XG4gICAgICAgICAgICAgICAgICB2aXNpYmxlRHJhd2VyID09PSAnY29sdW1ucycgPyBgJHtiYXNlQ2xhc3N9X19idXR0b25zLWFjdGl2ZWAgOiAnJ1xuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgIGljb249ezxDaGV2cm9uIC8+fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlRHJhd2VyKHZpc2libGVEcmF3ZXIgIT09ICdjb2x1bW5zJyA/ICdjb2x1bW5zJyA6IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGlsbFN0eWxlPVwibGlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6Y29sdW1ucycpfVxuICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPFBpbGxcbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz17YCR7YmFzZUNsYXNzfS13aGVyZWB9XG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e3Zpc2libGVEcmF3ZXIgPT09ICd3aGVyZSd9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdG9nZ2xlLXdoZXJlICR7XG4gICAgICAgICAgICAgICAgdmlzaWJsZURyYXdlciA9PT0gJ3doZXJlJyA/IGAke2Jhc2VDbGFzc31fX2J1dHRvbnMtYWN0aXZlYCA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICBpY29uPXs8Q2hldnJvbiAvPn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VmlzaWJsZURyYXdlcih2aXNpYmxlRHJhd2VyICE9PSAnd2hlcmUnID8gJ3doZXJlJyA6IHVuZGVmaW5lZCl9XG4gICAgICAgICAgICAgIHBpbGxTdHlsZT1cImxpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6ZmlsdGVycycpfVxuICAgICAgICAgICAgPC9QaWxsPlxuICAgICAgICAgICAge2VuYWJsZVNvcnQgJiYgKFxuICAgICAgICAgICAgICA8UGlsbFxuICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2Ake2Jhc2VDbGFzc30tc29ydGB9XG4gICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17dmlzaWJsZURyYXdlciA9PT0gJ3NvcnQnfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdG9nZ2xlLXNvcnRgfVxuICAgICAgICAgICAgICAgIGljb249ezxDaGV2cm9uIC8+fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFZpc2libGVEcmF3ZXIodmlzaWJsZURyYXdlciAhPT0gJ3NvcnQnID8gJ3NvcnQnIDogdW5kZWZpbmVkKX1cbiAgICAgICAgICAgICAgICBwaWxsU3R5bGU9XCJsaWdodFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnZ2VuZXJhbDpzb3J0Jyl9XG4gICAgICAgICAgICAgIDwvUGlsbD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7ZW5hYmxlQ29sdW1ucyAmJiAoXG4gICAgICAgIDxBbmltYXRlSGVpZ2h0XG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb2x1bW5zYH1cbiAgICAgICAgICBoZWlnaHQ9e3Zpc2libGVEcmF3ZXIgPT09ICdjb2x1bW5zJyA/ICdhdXRvJyA6IDB9XG4gICAgICAgICAgaWQ9e2Ake2Jhc2VDbGFzc30tY29sdW1uc2B9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29sdW1uU2VsZWN0b3IgY29sbGVjdGlvblNsdWc9e2NvbGxlY3Rpb25Db25maWcuc2x1Z30gLz5cbiAgICAgICAgPC9BbmltYXRlSGVpZ2h0PlxuICAgICAgKX1cbiAgICAgIDxBbmltYXRlSGVpZ2h0XG4gICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd2hlcmVgfVxuICAgICAgICBoZWlnaHQ9e3Zpc2libGVEcmF3ZXIgPT09ICd3aGVyZScgPyAnYXV0bycgOiAwfVxuICAgICAgICBpZD17YCR7YmFzZUNsYXNzfS13aGVyZWB9XG4gICAgICA+XG4gICAgICAgIDxXaGVyZUJ1aWxkZXJcbiAgICAgICAgICBjb2xsZWN0aW9uUGx1cmFsTGFiZWw9e2NvbGxlY3Rpb25Db25maWc/LmxhYmVscz8ucGx1cmFsfVxuICAgICAgICAgIGNvbGxlY3Rpb25TbHVnPXtjb2xsZWN0aW9uQ29uZmlnLnNsdWd9XG4gICAgICAgICAgaGFuZGxlQ2hhbmdlPXtoYW5kbGVXaGVyZUNoYW5nZX1cbiAgICAgICAgICBtb2RpZnlTZWFyY2hRdWVyeT17bW9kaWZ5U2VhcmNoUXVlcnl9XG4gICAgICAgIC8+XG4gICAgICA8L0FuaW1hdGVIZWlnaHQ+XG4gICAgICB7ZW5hYmxlU29ydCAmJiAoXG4gICAgICAgIDxBbmltYXRlSGVpZ2h0XG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zb3J0YH1cbiAgICAgICAgICBoZWlnaHQ9e3Zpc2libGVEcmF3ZXIgPT09ICdzb3J0JyA/ICdhdXRvJyA6IDB9XG4gICAgICAgICAgaWQ9e2Ake2Jhc2VDbGFzc30tc29ydGB9XG4gICAgICAgID5cbiAgICAgICAgICA8cD5Tb3J0IENvbXBsZXg8L3A+XG4gICAgICAgICAgey8qIDxTb3J0Q29tcGxleFxuICAgICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlU29ydENoYW5nZX1cbiAgICAgICAgICAgIG1vZGlmeVNlYXJjaFF1ZXJ5PXttb2RpZnlTZWFyY2hRdWVyeX1cbiAgICAgICAgICAvPiAqL31cbiAgICAgICAgPC9BbmltYXRlSGVpZ2h0PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbImZhY2VsZXNzVUlJbXBvcnQiLCJnZXRUcmFuc2xhdGlvbiIsImZpZWxkQWZmZWN0c0RhdGEiLCJSZWFjdCIsInVzZVN0YXRlIiwiQW5pbWF0ZUhlaWdodEltcG9ydCIsIkFuaW1hdGVIZWlnaHQiLCJkZWZhdWx0IiwiQ2hldnJvbiIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVRyYW5zbGF0aW9uIiwiQ29sdW1uU2VsZWN0b3IiLCJEZWxldGVNYW55IiwiRWRpdE1hbnkiLCJQaWxsIiwiUHVibGlzaE1hbnkiLCJTZWFyY2hGaWx0ZXIiLCJVbnB1Ymxpc2hNYW55IiwiV2hlcmVCdWlsZGVyIiwidmFsaWRhdGVXaGVyZVF1ZXJ5IiwiYmFzZUNsYXNzIiwiTGlzdENvbnRyb2xzIiwicHJvcHMiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZW5hYmxlQ29sdW1ucyIsImVuYWJsZVNvcnQiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJoYW5kbGVTb3J0Q2hhbmdlIiwiaGFuZGxlV2hlcmVDaGFuZ2UiLCJtb2RpZnlTZWFyY2hRdWVyeSIsInRleHRGaWVsZHNUb0JlU2VhcmNoZWQiLCJ0aXRsZUZpZWxkIiwidXNlV2luZG93SW5mbyIsInNlYXJjaFBhcmFtcyIsInNob3VsZEluaXRpYWxpemVXaGVyZU9wZW5lZCIsIndoZXJlIiwidmlzaWJsZURyYXdlciIsInNldFZpc2libGVEcmF3ZXIiLCJ1bmRlZmluZWQiLCJpMThuIiwidCIsImJyZWFrcG9pbnRzIiwicyIsInNtYWxsQnJlYWsiLCJkaXYiLCJjbGFzc05hbWUiLCJmaWVsZExhYmVsIiwibGFiZWwiLCJuYW1lIiwiZmllbGROYW1lIiwiaGFuZGxlQ2hhbmdlIiwibGlzdFNlYXJjaGFibGVGaWVsZHMiLCJGcmFnbWVudCIsImNvbGxlY3Rpb24iLCJhcmlhLWNvbnRyb2xzIiwiYXJpYS1leHBhbmRlZCIsImljb24iLCJvbkNsaWNrIiwicGlsbFN0eWxlIiwiaGVpZ2h0IiwiaWQiLCJjb2xsZWN0aW9uU2x1ZyIsInNsdWciLCJjb2xsZWN0aW9uUGx1cmFsTGFiZWwiLCJsYWJlbHMiLCJwbHVyYWwiLCJwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFlBQVlBLHNCQUFzQiwyQkFBMEI7QUFDNUQsU0FBU0MsY0FBYyxRQUFRLDJCQUEwQjtBQUN6RCxTQUFTQyxnQkFBZ0IsUUFBUSxnQkFBZTtBQUNoRCxPQUFPQyxTQUFTQyxRQUFR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
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData } from 'payload/types'\nimport React, { useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport type { Props } from './types.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport ColumnSelector from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport Pill from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport SearchFilter from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport WhereBuilder from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<Props> = (props) => {\n const {\n collectionConfig,\n enableColumns = true,\n enableSort = false,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n modifySearchQuery = true,\n textFieldsToBeSearched,\n titleField,\n } = props\n\n const { useWindowInfo } = facelessUIImport\n\n const { searchParams } = useSearchParams()\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchFilter\n fieldLabel={\n (titleField && getTranslation(titleField.label || titleField.name, i18n)) ?? undefined\n }\n fieldName={titleField && fieldAffectsData(titleField) ? titleField.name : undefined}\n handleChange={handleSearchChange}\n listSearchableFields={textFieldsToBeSearched}\n modifySearchQuery={modifySearchQuery}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n handleChange={handleWhereChange}\n modifySearchQuery={modifySearchQuery}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"names":["facelessUIImport","getTranslation","fieldAffectsData","React","useState","AnimateHeightImport","AnimateHeight","default","Chevron","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","handleSearchChange","handleSortChange","handleWhereChange","modifySearchQuery","textFieldsToBeSearched","titleField","useWindowInfo","searchParams","shouldInitializeWhereOpened","where","visibleDrawer","setVisibleDrawer","undefined","i18n","t","breakpoints","s","smallBreak","div","className","fieldLabel","label","name","fieldName","handleChange","listSearchableFields","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","collectionSlug","slug","collectionPluralLabel","labels","plural","p"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListControls/types.ts"],"sourcesContent":["import type { FieldAffectingData, SanitizedCollectionConfig, Where } from 'payload/types'\n\nimport type { Column } from '../Table/types.js'\n\nexport type Props = {\n collectionConfig: SanitizedCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n modifySearchQuery?: boolean\n textFieldsToBeSearched?: FieldAffectingData[]\n titleField: FieldAffectingData\n}\n\nexport type ListControls = {\n columns?: Partial<Column>[]\n where?: unknown\n}\n"],"names":[],"mappings":"AAgBA,WAGC"}
|
|
@@ -257,4 +257,4 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
|
|
|
257
257
|
})));
|
|
258
258
|
};
|
|
259
259
|
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9MaXN0RHJhd2VyL0RyYXdlckNvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgTGlzdFByZWZlcmVuY2VzIH0gZnJvbSAnLi4vVGFibGVDb2x1bW5zL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBMaXN0RHJhd2VyUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgTGFiZWwgZnJvbSAnLi4vLi4vZm9ybXMvTGFiZWwvaW5kZXguanMnXG5pbXBvcnQgdXNlUGF5bG9hZEFQSSBmcm9tICcuLi8uLi9ob29rcy91c2VQYXlsb2FkQVBJLmpzJ1xuaW1wb3J0IHsgdXNlVXNlVGl0bGVGaWVsZCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVVzZUFzVGl0bGUuanMnXG5pbXBvcnQgeyBYIH0gZnJvbSAnLi4vLi4vaWNvbnMvWC9pbmRleC5qcydcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvQXV0aC9pbmRleC5qcydcbmltcG9ydCB7IHVzZUNvbXBvbmVudE1hcCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Db21wb25lbnRNYXBQcm92aWRlci9pbmRleC5qcydcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9Db25maWcvaW5kZXguanMnXG5pbXBvcnQgeyBMaXN0SW5mb1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0xpc3RJbmZvL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlUHJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvUHJlZmVyZW5jZXMvaW5kZXguanMnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IHVzZURvY3VtZW50RHJhd2VyIH0gZnJvbSAnLi4vRG9jdW1lbnREcmF3ZXIvaW5kZXguanMnXG5pbXBvcnQgeyBMb2FkaW5nT3ZlcmxheSB9IGZyb20gJy4uL0xvYWRpbmcvaW5kZXguanMnXG5pbXBvcnQgUGlsbCBmcm9tICcuLi9QaWxsL2luZGV4LmpzJ1xuaW1wb3J0IFJlYWN0U2VsZWN0IGZyb20gJy4uL1JlYWN0U2VsZWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgVGFibGVDb2x1bW5zUHJvdmlkZXIgfSBmcm9tICcuLi9UYWJsZUNvbHVtbnMvaW5kZXguanMnXG5pbXBvcnQgVmlld0Rlc2NyaXB0aW9uIGZyb20gJy4uL1ZpZXdEZXNjcmlwdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IGJhc2VDbGFzcyB9IGZyb20gJy4vaW5kZXguanMnXG5cbmNvbnN0IGhvaXN0UXVlcnlQYXJhbXNUb0FuZCA9ICh3aGVyZTogV2hlcmUsIHF1ZXJ5UGFyYW1zOiBXaGVyZSkgPT4ge1xuICBpZiAoJ2FuZCcgaW4gd2hlcmUpIHtcbiAgICB3aGVyZS5hbmQucHVzaChxdWVyeVBhcmFtcylcbiAgfSBlbHNlIGlmICgnb3InIGluIHdoZXJlKSB7XG4gICAgd2hlcmUgPSB7XG4gICAgICBhbmQ6IFt3aGVyZSwgcXVlcnlQYXJhbXNdLFxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB3aGVyZSA9IHtcbiAgICAgIGFuZDogW3doZXJlLCBxdWVyeVBhcmFtc10sXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHdoZXJlXG59XG5cbmV4cG9ydCBjb25zdCBMaXN0RHJhd2VyQ29udGVudDogUmVhY3QuRkM8TGlzdERyYXdlclByb3BzPiA9ICh7XG4gIGNvbGxlY3Rpb25TbHVncyxcbiAgY3VzdG9tSGVhZGVyLFxuICBkcmF3ZXJTbHVnLFxuICBmaWx0ZXJPcHRpb25zLFxuICBvblNlbGVjdCxcbiAgc2VsZWN0ZWRDb2xsZWN0aW9uLFxufSkgPT4ge1xuICBjb25zdCB7IHVzZU1vZGFsIH0gPSBmYWNlbGVzc1VJSW1wb3J0XG5cbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHsgcGVybWlzc2lvbnMgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IHNldFByZWZlcmVuY2UgfSA9IHVzZVByZWZlcmVuY2VzKClcbiAgY29uc3QgeyBjbG9zZU1vZGFsLCBpc01vZGFsT3BlbiB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCBbbGltaXQsIHNldExpbWl0XSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbc29ydCwgc2V0U29ydF0gPSB1c2VTdGF0ZTxzdHJpbmc+KG51bGwpXG4gIGNvbnN0IFtwYWdlLCBzZXRQYWdlXSA9IHVzZVN0YXRlPG51bWJlcj4oMSlcbiAgY29uc3QgW3doZXJlLCBzZXRXaGVyZV0gPSB1c2VTdGF0ZTxXaGVyZT4obnVsbClcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpXG5cbiAgY29uc3QgeyBjb21wb25lbnRNYXAgfSA9IHVzZUNvbXBvbmVudE1hcCgpXG5cbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIHJvdXRlczogeyBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IGVuYWJsZWRDb2xsZWN0aW9uQ29uZmlncyA9IGNvbGxlY3Rpb25zLmZpbHRlcigoeyBzbHVnIH0pID0+IHtcbiAgICByZXR1cm4gY29sbGVjdGlvblNsdWdzLmluY2x1ZGVzKHNsdWcpXG4gIH0pXG5cbiAgY29uc3QgW3NlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZywgc2V0U2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnXSA9XG4gICAgdXNlU3RhdGU8U2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZz4oKCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgZW5hYmxlZENvbGxlY3Rpb25Db25maWdzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzbHVnID09PSBzZWxlY3RlZENvbGxlY3Rpb24pIHx8XG4gICAgICAgIGVuYWJsZWRDb2xsZWN0aW9uQ29uZmlncz8uWzBdXG4gICAgICApXG4gICAgfSlcblxuICBjb25zdCB7IExpc3QgfSA9IGNvbXBvbmVudE1hcC5jb2xsZWN0aW9ucz8uW3NlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZz8uc2x1Z10gfHwge31cblxuICBjb25zdCBbc2VsZWN0ZWRPcHRpb24sIHNldFNlbGVjdGVkT3B0aW9uXSA9IHVzZVN0YXRlPHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigoKSA9PlxuICAgIHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZ1xuICAgICAgPyB7XG4gICAgICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZy5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pLFxuICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZENvbGxlY3Rpb25Db25maWcuc2x1ZyxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gIClcblxuICAvLyBjb25zdCBbZmllbGRzLCBzZXRGaWVsZHNdID0gdXNlU3RhdGU8RmllbGRbXT4oKCkgPT4gZm9ybWF0RmllbGRzKHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZykpXG5cbiAgY29uc3QgdGl0bGVGaWVsZCA9IHVzZVVzZVRpdGxlRmllbGQoc2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gc2V0RmllbGRzKGZvcm1hdEZpZWxkcyhzZWxlY3RlZENvbGxlY3Rpb25Db25maWcpKVxuICB9LCBbc2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnXSlcblxuICAvLyBhbGxvdyBleHRlcm5hbCBjb250cm9sIG9mIHNlbGVjdGVkIGNvbGxlY3Rpb24sIHNhbWUgYXMgdGhlIGluaXRpYWwgc3RhdGUgbG9naWMgYWJvdmVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRDb2xsZWN0aW9uKSB7XG4gICAgICAvLyBpZiBwYXNzZWQgYSBzZWxlY3Rpb24sIGZpbmQgaXQgYW5kIGNoZWNrIGlmIGl0J3MgZW5hYmxlZFxuICAgICAgY29uc3Qgc2VsZWN0ZWRDb25maWcgPVxuICAgICAgICBlbmFibGVkQ29sbGVjdGlvbkNvbmZpZ3MuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IHNlbGVjdGVkQ29sbGVjdGlvbikgfHxcbiAgICAgICAgZW5hYmxlZENvbGxlY3Rpb25Db25maWdzPy5bMF1cbiAgICAgIHNldFNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZyhzZWxlY3RlZENvbmZpZylcbiAgICB9XG4gIH0sIFtzZWxlY3RlZENvbGxlY3Rpb24sIGVuYWJsZWRDb2xsZWN0aW9uQ29uZmlncywgb25TZWxlY3QsIHRdKVxuXG4gIGNvbnN0IHByZWZlcmVuY2VLZXkgPSBgJHtzZWxlY3RlZENvbGxlY3Rpb25Db25maWcuc2x1Z30tbGlzdGBcblxuICAvLyB0aGlzIGlzIHRoZSAnY3JlYXRlIG5ldycgZHJhd2VyXG4gIGNvbnN0IFtEb2N1bWVudERyYXdlciwgRG9jdW1lbnREcmF3ZXJUb2dnbGVyLCB7IGRyYXdlclNsdWc6IGRvY3VtZW50RHJhd2VyU2x1ZyB9XSA9XG4gICAgdXNlRG9jdW1lbnREcmF3ZXIoe1xuICAgICAgY29sbGVjdGlvblNsdWc6IHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgIH0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIHNldFNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZyhcbiAgICAgICAgZW5hYmxlZENvbGxlY3Rpb25Db25maWdzLmZpbmQoKHsgc2x1ZyB9KSA9PiBzZWxlY3RlZE9wdGlvbi52YWx1ZSA9PT0gc2x1ZyksXG4gICAgICApXG4gICAgfVxuICB9LCBbc2VsZWN0ZWRPcHRpb24sIGVuYWJsZWRDb2xsZWN0aW9uQ29uZmlnc10pXG5cbiAgY29uc3QgY29sbGVjdGlvblBlcm1pc3Npb25zID0gcGVybWlzc2lvbnM/LmNvbGxlY3Rpb25zPy5bc2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnPy5zbHVnXVxuICBjb25zdCBoYXNDcmVhdGVQZXJtaXNzaW9uID0gY29sbGVjdGlvblBlcm1pc3Npb25zPy5jcmVhdGU/LnBlcm1pc3Npb25cblxuICAvLyBJZiBtb2RhbCBpcyBvcGVuLCBnZXQgYWN0aXZlIHBhZ2Ugb2YgdXBsb2FkIGdhbGxlcnlcbiAgY29uc3QgaXNPcGVuID0gaXNNb2RhbE9wZW4oZHJhd2VyU2x1ZylcbiAgY29uc3QgYXBpVVJMID0gaXNPcGVuID8gYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZy5zbHVnfWAgOiBudWxsXG4gIGNvbnN0IFtjYWNoZUJ1c3QsIGRpc3BhdGNoQ2FjaGVCdXN0XSA9IHVzZVJlZHVjZXIoKHN0YXRlKSA9PiBzdGF0ZSArIDEsIDApIC8vIHVzZWQgdG8gZm9yY2UgYSByZS1mZXRjaCBldmVuIHdoZW4gYXBpVVJMIGlzIHVuY2hhbmdlZFxuICBjb25zdCBbeyBkYXRhLCBpc0Vycm9yLCBpc0xvYWRpbmc6IGlzTG9hZGluZ0xpc3QgfSwgeyBzZXRQYXJhbXMgfV0gPSB1c2VQYXlsb2FkQVBJKGFwaVVSTCwge30pXG4gIGNvbnN0IG1vcmVUaGFuT25lQXZhaWxhYmxlQ29sbGVjdGlvbiA9IGVuYWJsZWRDb2xsZWN0aW9uQ29uZmlncy5sZW5ndGggPiAxXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNsdWcsIGFkbWluOiB7IGxpc3RTZWFyY2hhYmxlRmllbGRzIH0gPSB7fSwgdmVyc2lvbnMgfSA9IHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZ1xuICAgIGNvbnN0IHBhcmFtczoge1xuICAgICAgY2FjaGVCdXN0PzogbnVtYmVyXG4gICAgICBkcmFmdD86IHN0cmluZ1xuICAgICAgbGltaXQ/OiBudW1iZXJcbiAgICAgIHBhZ2U/OiBudW1iZXJcbiAgICAgIHNlYXJjaD86IHN0cmluZ1xuICAgICAgc29ydD86IHN0cmluZ1xuICAgICAgd2hlcmU/OiB1bmtub3duXG4gICAgfSA9IHt9XG5cbiAgICBsZXQgY29weU9mV2hlcmUgPSB7IC4uLih3aGVyZSB8fCB7fSkgfVxuICAgIGNvbnN0IGZpbHRlck9wdGlvbiA9IGZpbHRlck9wdGlvbnM/LltzbHVnXVxuXG4gICAgaWYgKGZpbHRlck9wdGlvbnMgJiYgdHlwZW9mIGZpbHRlck9wdGlvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBjb3B5T2ZXaGVyZSA9IGhvaXN0UXVlcnlQYXJhbXNUb0FuZChjb3B5T2ZXaGVyZSwgZmlsdGVyT3B0aW9uKVxuICAgIH1cblxuICAgIGlmIChzZWFyY2gpIHtcbiAgICAgIGNvbnN0IHNlYXJjaEFzQ29uZGl0aW9ucyA9IChsaXN0U2VhcmNoYWJsZUZpZWxkcyB8fCBbdGl0bGVGaWVsZD8ubmFtZV0pLm1hcCgoZmllbGROYW1lKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW2ZpZWxkTmFtZV06IHtcbiAgICAgICAgICAgIGxpa2U6IHNlYXJjaCxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9LCBbXSlcblxuICAgICAgaWYgKHNlYXJjaEFzQ29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaEZpbHRlcjogV2hlcmUgPSB7XG4gICAgICAgICAgb3I6IFsuLi5zZWFyY2hBc0NvbmRpdGlvbnNdLFxuICAgICAgICB9XG5cbiAgICAgICAgY29weU9mV2hlcmUgPSBob2lzdFF1ZXJ5UGFyYW1zVG9BbmQoY29weU9mV2hlcmUsIHNlYXJjaEZpbHRlcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFnZSkgcGFyYW1zLnBhZ2UgPSBwYWdlXG4gICAgaWYgKHNvcnQpIHBhcmFtcy5zb3J0ID0gc29ydFxuICAgIGlmIChjYWNoZUJ1c3QpIHBhcmFtcy5jYWNoZUJ1c3QgPSBjYWNoZUJ1c3RcbiAgICBpZiAoY29weU9mV2hlcmUpIHBhcmFtcy53aGVyZSA9IGNvcHlPZldoZXJlXG4gICAgaWYgKHZlcnNpb25zPy5kcmFmdHMpIHBhcmFtcy5kcmFmdCA9ICd0cnVlJ1xuXG4gICAgc2V0UGFyYW1zKHBhcmFtcylcbiAgfSwgW1xuICAgIHBhZ2UsXG4gICAgc29ydCxcbiAgICB3aGVyZSxcbiAgICBzZWFyY2gsXG4gICAgY2FjaGVCdXN0LFxuICAgIGZpbHRlck9wdGlvbnMsXG4gICAgc2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICAgIHQsXG4gICAgc2V0UGFyYW1zLFxuICAgIHRpdGxlRmllbGQ/Lm5hbWUsXG4gIF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBuZXdQcmVmZXJlbmNlcyA9IHtcbiAgICAgIGxpbWl0LFxuICAgICAgc29ydCxcbiAgICB9XG5cbiAgICB2b2lkIHNldFByZWZlcmVuY2UocHJlZmVyZW5jZUtleSwgbmV3UHJlZmVyZW5jZXMsIHRydWUpXG4gIH0sIFtzb3J0LCBsaW1pdCwgc2V0UHJlZmVyZW5jZSwgcHJlZmVyZW5jZUtleV0pXG5cbiAgY29uc3Qgb25DcmVhdGVOZXcgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBkb2MgfSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvblNlbGVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvblNlbGVjdCh7XG4gICAgICAgICAgY29sbGVjdGlvblNsdWc6IHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICAgIGRvY0lEOiBkb2MuaWQsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBkaXNwYXRjaENhY2hlQnVzdCgpXG4gICAgICBjbG9zZU1vZGFsKGRvY3VtZW50RHJhd2VyU2x1ZylcbiAgICAgIGNsb3NlTW9kYWwoZHJhd2VyU2x1ZylcbiAgICB9LFxuICAgIFtjbG9zZU1vZGFsLCBkb2N1bWVudERyYXdlclNsdWcsIGRyYXdlclNsdWcsIG9uU2VsZWN0LCBzZWxlY3RlZENvbGxlY3Rpb25Db25maWddLFxuICApXG5cbiAgaWYgKCFzZWxlY3RlZENvbGxlY3Rpb25Db25maWcgfHwgaXNFcnJvcikge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpZiAoaXNMb2FkaW5nTGlzdCkge1xuICAgIHJldHVybiA8TG9hZGluZ092ZXJsYXkgLz5cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPExpc3RJbmZvUHJvdmlkZXJcbiAgICAgIEhlYWRlcj17XG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyLXdyYXBgfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItY29udGVudGB9PlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItdGV4dGB9PlxuICAgICAgICAgICAgICAgIHshY3VzdG9tSGVhZGVyXG4gICAgICAgICAgICAgICAgICA/IGdldFRyYW5zbGF0aW9uKHNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZz8ubGFiZWxzPy5wbHVyYWwsIGkxOG4pXG4gICAgICAgICAgICAgICAgICA6IGN1c3RvbUhlYWRlcn1cbiAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAge2hhc0NyZWF0ZVBlcm1pc3Npb24gJiYgKFxuICAgICAgICAgICAgICAgIDxEb2N1bWVudERyYXdlclRvZ2dsZXIgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jcmVhdGUtbmV3LWJ1dHRvbmB9PlxuICAgICAgICAgICAgICAgICAgPFBpbGw+e3QoJ2dlbmVyYWw6Y3JlYXRlTmV3Jyl9PC9QaWxsPlxuICAgICAgICAgICAgICAgIDwvRG9jdW1lbnREcmF3ZXJUb2dnbGVyPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyLWNsb3NlYH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGNsb3NlTW9kYWwoZHJhd2VyU2x1ZylcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxYIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7c2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnPy5hZG1pbj8uZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3N1Yi1oZWFkZXJgfT5cbiAgICAgICAgICAgICAgPFZpZXdEZXNjcmlwdGlvbiBkZXNjcmlwdGlvbj17c2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnLmFkbWluLmRlc2NyaXB0aW9ufSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7bW9yZVRoYW5PbmVBdmFpbGFibGVDb2xsZWN0aW9uICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zZWxlY3QtY29sbGVjdGlvbi13cmFwYH0+XG4gICAgICAgICAgICAgIDxMYWJlbCBsYWJlbD17dCgndXBsb2FkOnNlbGVjdENvbGxlY3Rpb25Ub0Jyb3dzZScpfSAvPlxuICAgICAgICAgICAgICA8UmVhY3RTZWxlY3RcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NlbGVjdC1jb2xsZWN0aW9uYH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0U2VsZWN0ZWRPcHRpb259IC8vIHRoaXMgaXMgb25seSBjaGFuZ2luZyB0aGUgb3B0aW9ucyB3aGljaCBpcyBub3QgcmVydW5uaW5nIG15IGVmZmVjdFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e2VuYWJsZWRDb2xsZWN0aW9uQ29uZmlncy5tYXAoKGNvbGwpID0+ICh7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24oY29sbC5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbGwuc2x1ZyxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICB9XG4gICAgICBjb2xsZWN0aW9uU2x1Zz17c2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnLnNsdWd9XG4gICAgICBkYXRhPXtkYXRhfVxuICAgICAgaGFuZGxlUGFnZUNoYW5nZT17c2V0UGFnZX1cbiAgICAgIGhhbmRsZVBlclBhZ2VDaGFuZ2U9e3NldExpbWl0fVxuICAgICAgaGFuZGxlU2VhcmNoQ2hhbmdlPXtzZXRTZWFyY2h9XG4gICAgICBoYW5kbGVTb3J0Q2hhbmdlPXtzZXRTb3J0fVxuICAgICAgaGFuZGxlV2hlcmVDaGFuZ2U9e3NldFdoZXJlfVxuICAgICAgaGFzQ3JlYXRlUGVybWlzc2lvbj17aGFzQ3JlYXRlUGVybWlzc2lvbn1cbiAgICAgIGxpbWl0PXtsaW1pdCB8fCBzZWxlY3RlZENvbGxlY3Rpb25Db25maWc/LmFkbWluPy5wYWdpbmF0aW9uPy5kZWZhdWx0TGltaXR9XG4gICAgICBtb2RpZnlTZWFyY2hQYXJhbXM9e2ZhbHNlfVxuICAgICAgbmV3RG9jdW1lbnRVUkw9e251bGx9XG4gICAgICBzZXRMaW1pdD17c2V0TGltaXR9XG4gICAgICBzZXRTb3J0PXtzZXRTb3J0fVxuICAgICAgdGl0bGVGaWVsZD17dGl0bGVGaWVsZH1cbiAgICA+XG4gICAgICA8VGFibGVDb2x1bW5zUHJvdmlkZXJcbiAgICAgICAgY2VsbFByb3BzPXtbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBgJHtiYXNlQ2xhc3N9X19maXJzdC1jZWxsYCxcbiAgICAgICAgICAgIGxpbms6IGZhbHNlLFxuICAgICAgICAgICAgb25DbGljazogKHsgY29sbGVjdGlvblNsdWc6IHJvd0NvbGwsIHJvd0RhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIG9uU2VsZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgb25TZWxlY3Qoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWc6IHJvd0NvbGwsXG4gICAgICAgICAgICAgICAgICBkb2NJRDogcm93RGF0YS5pZCBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdfVxuICAgICAgICBjb2xsZWN0aW9uU2x1Zz17c2VsZWN0ZWRDb2xsZWN0aW9uQ29uZmlnLnNsdWd9XG4gICAgICAgIGxpc3RQcmVmZXJlbmNlcz17e30gYXMgTGlzdFByZWZlcmVuY2VzfSAvLyBUT0RPOiBnZXQgbGlzdCBwcmVmZXJlbmNlc1xuICAgICAgPlxuICAgICAgICB7TGlzdH1cbiAgICAgICAgPERvY3VtZW50RHJhd2VyIG9uU2F2ZT17b25DcmVhdGVOZXd9IC8+XG4gICAgICA8L1RhYmxlQ29sdW1uc1Byb3ZpZGVyPlxuICAgIDwvTGlzdEluZm9Qcm92aWRlcj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbImZhY2VsZXNzVUlJbXBvcnQiLCJnZXRUcmFuc2xhdGlvbiIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VSZWR1Y2VyIiwidXNlU3RhdGUiLCJMYWJlbCIsInVzZVBheWxvYWRBUEkiLCJ1c2VVc2VUaXRsZUZpZWxkIiwiWCIsInVzZUF1dGgiLCJ1c2VDb21wb25lbnRNYXAiLCJ1c2VDb25maWciLCJMaXN0SW5mb1Byb3ZpZGVyIiwidXNlUHJlZmVyZW5jZXMiLCJ1c2VUcmFuc2xhdGlvbiIsInVzZURvY3VtZW50RHJhd2VyIiwiTG9hZGluZ092ZXJsYXkiLCJQaWxsIiwiUmVhY3RTZWxlY3QiLCJUYWJsZUNvbHVtbnNQcm92aWRlciIsIlZpZXdEZXNjcmlwdGlvbiIsImJhc2VDbGFzcyIsImhvaXN0UXVlcnlQYXJhbXNUb0FuZCIsIndoZXJlIiwicXVlcnlQYXJhbXMiLCJhbmQiLCJwdXNoIiwiTGlzdERyYXdlckNvbnRlbnQiLCJjb2xsZWN0aW9uU2x1Z3MiLCJjdXN0b21IZWFkZXIiLCJkcmF3ZXJTbHVnIiwiZmlsdGVyT3B0aW9ucyIsIm9uU2VsZWN0Iiwic2VsZWN0ZWRDb2xsZWN0aW9uIiwidXNlTW9kYWwiLCJpMThuIiwidCIsInBlcm1pc3Npb25zIiwic2V0UHJlZmVyZW5jZSIsImNsb3NlTW9kYWwiLCJpc01vZGFsT3BlbiIsImxpbWl0Iiwic2V0TGltaXQiLCJzb3J0Iiwic2V0U29ydCIsInBhZ2UiLCJzZXRQYWdlIiwic2V0V2hlcmUiLCJzZWFyY2giLCJzZXRTZWFyY2giLCJjb21wb25lbnRNYXAiLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsImVuYWJsZWRDb2xsZWN0aW9uQ29uZmlncyIsImZpbHRlciIsInNsdWciLCJpbmNsdWRlcyIsInNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZyIsInNldFNlbGVjdGVkQ29sbGVjdGlvbkNvbmZpZyIsImZpbmQiLCJMaXN0Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsImxhYmVsIiwibGFiZWxzIiwic2luZ3VsYXIiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsInRpdGxlRmllbGQiLCJzZWxlY3RlZENvbmZpZyIsInByZWZlcmVuY2VLZXkiLCJEb2N1bWVudERyYXdlciIsIkRvY3VtZW50RHJhd2VyVG9nZ2xlciIsImRvY3VtZW50RHJhd2VyU2x1ZyIsImNvbGxlY3Rpb25TbHVnIiwiY29sbGVjdGlvblBlcm1pc3Npb25zIiwiaGFzQ3JlYXRlUGVybWlzc2lvbiIsImNyZWF0ZSIsInBlcm1pc3Npb24iLCJpc09wZW4iLCJhcGlVUkwiLCJjYWNoZUJ1c3QiLCJkaXNwYXRjaENhY2hlQnVzdCIsInN0YXRlIiwiZGF0YSIsImlzRXJyb3IiLCJpc0xvYWRpbmciLCJpc0xvYWRpbmdMaXN0Iiwic2V0UGFyYW1zIiwibW9yZVRoYW5PbmVBdmFpbGFibGVDb2xsZWN0aW9uIiwibGVuZ3RoIiwiYWRtaW4iLCJsaXN0U2VhcmNoYWJsZUZpZWxkcyIsInZlcnNpb25zIiwicGFyYW1zIiwiY29weU9mV2hlcmUiLCJmaWx0ZXJPcHRpb24iLCJzZWFyY2hBc0NvbmRpdGlvbnMiLCJuYW1lIiwibWFwIiwiZmllbGROYW1lIiwibGlrZSIsInNlYXJjaEZpbHRlciIsIm9yIiwiZHJhZnRzIiwiZHJhZnQiLCJuZXdQcmVmZXJlbmNlcyIsIm9uQ3JlYXRlTmV3IiwiZG9jIiwiZG9jSUQiLCJpZCIsIkhlYWRlciIsImhlYWRlciIsImNsYXNzTmFtZSIsImRpdiIsImgyIiwicGx1cmFsIiwiYnV0dG9uIiwib25DbGljayIsInR5cGUiLCJkZXNjcmlwdGlvbiIsIm9uQ2hhbmdlIiwib3B0aW9ucyIsImNvbGwiLCJoYW5kbGVQYWdlQ2hhbmdlIiwiaGFuZGxlUGVyUGFnZUNoYW5nZSIsImhhbmRsZVNlYXJjaENoYW5nZSIsImhhbmRsZVNvcnRDaGFuZ2UiLCJoYW5kbGVXaGVyZUNoYW5nZSIsInBhZ2luYXRpb24iLCJkZWZhdWx0TGltaXQiLCJtb2RpZnlTZWFyY2hQYXJhbXMiLCJuZXdEb2N1bWVudFVSTCIsImNlbGxQcm9wcyIs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
|
|
260
|
+
//# sourceMappingURL=DrawerContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload/types'\nimport type { Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListPreferences } from '../TableColumns/index.js'\nimport type { ListDrawerProps } from './types.js'\n\nimport Label from '../../forms/Label/index.js'\nimport usePayloadAPI from '../../hooks/usePayloadAPI.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { X } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMapProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport Pill from '../Pill/index.js'\nimport ReactSelect from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport ViewDescription from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { useModal } = facelessUIImport\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] =\n useState<SanitizedCollectionConfig>(() => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n })\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<{ label: string; value: string }>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n const titleField = useUseTitleField(selectedCollectionConfig)\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const { slug, admin: { listSearchableFields } = {}, versions } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [titleField?.name]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [\n page,\n sort,\n where,\n search,\n cacheBust,\n filterOptions,\n selectedCollectionConfig,\n t,\n setParams,\n titleField?.name,\n ])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <X />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <Label label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionSlug={selectedCollectionConfig.slug}\n data={data}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n hasCreatePermission={hasCreatePermission}\n limit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n newDocumentURL={null}\n setLimit={setLimit}\n setSort={setSort}\n titleField={titleField}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n listPreferences={{} as ListPreferences} // TODO: get list preferences\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useCallback","useEffect","useReducer","useState","Label","usePayloadAPI","useUseTitleField","X","useAuth","useComponentMap","useConfig","ListInfoProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","useModal","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","titleField","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","versions","params","copyOfWhere","filterOption","searchAsConditions","name","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","onClick","type","description","onChange","options","coll","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","pagination","defaultLimit","modifySearchParams","newDocumentURL","cellProps","link","rowColl","rowData","listPreferences","onSave"],"mappings":"AAAA;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAO;AAK3E,OAAOC,WAAW,6BAA4B;AAC9C,OAAOC,mBAAmB,+BAA8B;AACxD,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,CAAC,QAAQ,yBAAwB;AAC1C,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,eAAe,QAAQ,gDAA+C;AAC/E,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,iBAAiB,QAAQ,6BAA4B;AAC9D,SAASC,cAAc,QAAQ,sBAAqB;AACpD,OAAOC,UAAU,mBAAkB;AACnC,OAAOC,iBAAiB,0BAAyB;AACjD,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,OAAOC,qBAAqB,8BAA6B;AACzD,SAASC,SAAS,QAAQ,aAAY;AAEtC,MAAMC,wBAAwB,CAACC,OAAcC;IAC3C,IAAI,SAASD,OAAO;QAClBA,MAAME,GAAG,CAACC,IAAI,CAACF;IACjB,OAAO,IAAI,QAAQD,OAAO;QACxBA,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF,OAAO;QACLD,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF;IAEA,OAAOD;AACT;AAEA,OAAO,MAAMI,oBAA+C,CAAC,EAC3DC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbC,QAAQ,EACRC,kBAAkB,EACnB;IACC,MAAM,EAAEC,QAAQ,EAAE,GAAGpC;IAErB,MAAM,EAAEqC,IAAI,EAAEC,CAAC,EAAE,GAAGtB;IACpB,MAAM,EAAEuB,WAAW,EAAE,GAAG5B;IACxB,MAAM,EAAE6B,aAAa,EAAE,GAAGzB;IAC1B,MAAM,EAAE0B,UAAU,EAAEC,WAAW,EAAE,GAAGN;IACpC,MAAM,CAACO,OAAOC,SAAS,GAAGtC;IAC1B,MAAM,CAACuC,MAAMC,QAAQ,GAAGxC,SAAiB;IACzC,MAAM,CAACyC,MAAMC,QAAQ,GAAG1C,SAAiB;IACzC,MAAM,CAACmB,OAAOwB,SAAS,GAAG3C,SAAgB;IAC1C,MAAM,CAAC4C,QAAQC,UAAU,GAAG7C,SAAiB;IAE7C,MAAM,EAAE8C,YAAY,EAAE,GAAGxC;IAEzB,MAAM,EACJyC,WAAW,EACXC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAG3C;IAEJ,MAAM4C,2BAA2BJ,YAAYK,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE;QAC3D,OAAO7B,gBAAgB8B,QAAQ,CAACD;IAClC;IAEA,MAAM,CAACE,0BAA0BC,4BAA4B,GAC3DxD,SAAoC;QAClC,OACEmD,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKA,SAASxB,uBACrDsB,0BAA0B,CAAC,EAAE;IAEjC;IAEF,MAAM,EAAEO,IAAI,EAAE,GAAGZ,aAAaC,WAAW,EAAE,CAACQ,0BAA0BF,KAAK,IAAI,CAAC;IAEhF,MAAM,CAACM,gBAAgBC,kBAAkB,GAAG5D,SAA2C,IACrFuD,2BACI;YACEM,OAAOlE,eAAe4D,yBAAyBO,MAAM,CAACC,QAAQ,EAAEhC;YAChEiC,OAAOT,yBAAyBF,IAAI;QACtC,IACAY;IAGN,8FAA8F;IAE9F,MAAMC,aAAa/D,iBAAiBoD;IAEpCzD,UAAU;IACR,oDAAoD;IACtD,GAAG;QAACyD;KAAyB;IAE7B,uFAAuF;IACvFzD,UAAU;QACR,IAAI+B,oBAAoB;YACtB,2DAA2D;YAC3D,MAAMsC,iBACJhB,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKA,SAASxB,uBACrDsB,0BAA0B,CAAC,EAAE;YAC/BK,4BAA4BW;QAC9B;IACF,GAAG;QAACtC;QAAoBsB;QAA0BvB;QAAUI;KAAE;IAE9D,MAAMoC,gBAAgB,CAAC,EAAEb,yBAAyBF,IAAI,CAAC,KAAK,CAAC;IAE7D,kCAAkC;IAClC,MAAM,CAACgB,gBAAgBC,uBAAuB,EAAE5C,YAAY6C,kBAAkB,EAAE,CAAC,GAC/E5D,kBAAkB;QAChB6D,gBAAgBjB,yBAAyBF,IAAI;IAC/C;IAEFvD,UAAU;QACR,IAAI6D,gBAAgB;YAClBH,4BACEL,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKM,eAAeK,KAAK,KAAKX;QAEzE;IACF,GAAG;QAACM;QAAgBR;KAAyB;IAE7C,MAAMsB,wBAAwBxC,aAAac,aAAa,CAACQ,0BAA0BF,KAAK;IACxF,MAAMqB,sBAAsBD,uBAAuBE,QAAQC;IAE3D,sDAAsD;IACtD,MAAMC,SAASzC,YAAYV;IAC3B,MAAMoD,SAASD,SAAS,CAAC,EAAE3B,UAAU,EAAED,IAAI,CAAC,EAAEM,yBAAyBF,IAAI,CAAC,CAAC,GAAG;IAChF,MAAM,CAAC0B,WAAWC,kBAAkB,GAAGjF,WAAW,CAACkF,QAAUA,QAAQ,GAAG,GAAG,yDAAyD;;IACpI,MAAM,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAWC,aAAa,EAAE,EAAE,EAAEC,SAAS,EAAE,CAAC,GAAGpF,cAAc4E,QAAQ,CAAC;IAC5F,MAAMS,iCAAiCpC,yBAAyBqC,MAAM,GAAG;IAEzE1F,UAAU;QACR,MAAM,EAAEuD,IAAI,EAAEoC,OAAO,EAAEC,oBAAoB,EAAE,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAGpC;QACjE,MAAMqC,SAQF,CAAC;QAEL,IAAIC,cAAc;YAAE,GAAI1E,SAAS,CAAC,CAAC;QAAE;QACrC,MAAM2E,eAAenE,eAAe,CAAC0B,KAAK;QAE1C,IAAI1B,iBAAiB,OAAOmE,iBAAiB,WAAW;YACtDD,cAAc3E,sBAAsB2E,aAAaC;QACnD;QAEA,IAAIlD,QAAQ;YACV,MAAMmD,qBAAqB,AAACL,CAAAA,wBAAwB;gBAACxB,YAAY8B;aAAK,AAAD,EAAGC,GAAG,CAAC,CAACC;gBAC3E,OAAO;oBACL,CAACA,UAAU,EAAE;wBACXC,MAAMvD;oBACR;gBACF;YACF,GAAG,EAAE;YAEL,IAAImD,mBAAmBP,MAAM,GAAG,GAAG;gBACjC,MAAMY,eAAsB;oBAC1BC,IAAI;2BAAIN;qBAAmB;gBAC7B;gBAEAF,cAAc3E,sBAAsB2E,aAAaO;YACnD;QACF;QAEA,IAAI3D,MAAMmD,OAAOnD,IAAI,GAAGA;QACxB,IAAIF,MAAMqD,OAAOrD,IAAI,GAAGA;QACxB,IAAIwC,WAAWa,OAAOb,SAAS,GAAGA;QAClC,IAAIc,aAAaD,OAAOzE,KAAK,GAAG0E;QAChC,IAAIF,UAAUW,QAAQV,OAAOW,KAAK,GAAG;QAErCjB,UAAUM;IACZ,GAAG;QACDnD;QACAF;QACApB;QACAyB;QACAmC;QACApD;QACA4B;QACAvB;QACAsD;QACApB,YAAY8B;KACb;IAEDlG,UAAU;QACR,MAAM0G,iBAAiB;YACrBnE;YACAE;QACF;QAEA,KAAKL,cAAckC,eAAeoC,gBAAgB;IACpD,GAAG;QAACjE;QAAMF;QAAOH;QAAekC;KAAc;IAE9C,MAAMqC,cAAc5G,YAClB,CAAC,EAAE6G,GAAG,EAAE;QACN,IAAI,OAAO9E,aAAa,YAAY;YAClCA,SAAS;gBACP4C,gBAAgBjB,yBAAyBF,IAAI;gBAC7CsD,OAAOD,IAAIE,EAAE;YACf;QACF;QACA5B;QACA7C,WAAWoC;QACXpC,WAAWT;IACb,GACA;QAACS;QAAYoC;QAAoB7C;QAAYE;QAAU2B;KAAyB;IAGlF,IAAI,CAACA,4BAA4B4B,SAAS;QACxC,OAAO;IACT;IAEA,IAAIE,eAAe;QACjB,qBAAO,oBAACzE;IACV;IAEA,qBACE,oBAACJ;QACCqG,sBACE,oBAACC;YAAOC,WAAW,CAAC,EAAE9F,UAAU,QAAQ,CAAC;yBACvC,oBAAC+F;YAAID,WAAW,CAAC,EAAE9F,UAAU,aAAa,CAAC;yBACzC,oBAAC+F;YAAID,WAAW,CAAC,EAAE9F,UAAU,gBAAgB,CAAC;yBAC5C,oBAACgG;YAAGF,WAAW,CAAC,EAAE9F,UAAU,aAAa,CAAC;WACvC,CAACQ,eACE9B,eAAe4D,0BAA0BO,QAAQoD,QAAQnF,QACzDN,eAELiD,qCACC,oBAACJ;YAAsByC,WAAW,CAAC,EAAE9F,UAAU,mBAAmB,CAAC;yBACjE,oBAACJ,YAAMmB,EAAE,uCAIf,oBAACmF;YACCJ,WAAW,CAAC,EAAE9F,UAAU,cAAc,CAAC;YACvCmG,SAAS;gBACPjF,WAAWT;YACb;YACA2F,MAAK;yBAEL,oBAACjH,YAGJmD,0BAA0BkC,OAAO6B,6BAChC,oBAACN;YAAID,WAAW,CAAC,EAAE9F,UAAU,YAAY,CAAC;yBACxC,oBAACD;YAAgBsG,aAAa/D,yBAAyBkC,KAAK,CAAC6B,WAAW;aAG3E/B,gDACC,oBAACyB;YAAID,WAAW,CAAC,EAAE9F,UAAU,wBAAwB,CAAC;yBACpD,oBAAChB;YAAM4D,OAAO7B,EAAE;0BAChB,oBAAClB;YACCiG,WAAW,CAAC,EAAE9F,UAAU,mBAAmB,CAAC;YAC5CsG,UAAU3D;YACV4D,SAASrE,yBAAyB8C,GAAG,CAAC,CAACwB,OAAU,CAAA;oBAC/C5D,OAAOlE,eAAe8H,KAAK3D,MAAM,CAACC,QAAQ,EAAEhC;oBAC5CiC,OAAOyD,KAAKpE,IAAI;gBAClB,CAAA;YACAW,OAAOL;;QAMjBa,gBAAgBjB,yBAAyBF,IAAI;QAC7C6B,MAAMA;QACNwC,kBAAkBhF;QAClBiF,qBAAqBrF;QACrBsF,oBAAoB/E;QACpBgF,kBAAkBrF;QAClBsF,mBAAmBnF;QACnB+B,qBAAqBA;QACrBrC,OAAOA,SAASkB,0BAA0BkC,OAAOsC,YAAYC;QAC7DC,oBAAoB;QACpBC,gBAAgB;QAChB5F,UAAUA;QACVE,SAASA;QACT0B,YAAYA;qBAEZ,oBAACnD;QACCoH,WAAW;YACT;gBACEpB,WAAW,CAAC,EAAE9F,UAAU,YAAY,CAAC;gBACrCmH,MAAM;gBACNhB,SAAS,CAAC,EAAE5C,gBAAgB6D,OAAO,EAAEC,OAAO,EAAE;oBAC5C,IAAI,OAAO1G,aAAa,YAAY;wBAClCA,SAAS;4BACP4C,gBAAgB6D;4BAChB1B,OAAO2B,QAAQ1B,EAAE;wBACnB;oBACF;gBACF;YACF;SACD;QACDpC,gBAAgBjB,yBAAyBF,IAAI;QAC7CkF,iBAAiB,CAAC;OAEjB7E,oBACD,oBAACW;QAAemE,QAAQ/B;;AAIhC,EAAC"}
|
|
@@ -5,7 +5,6 @@ import { useConfig } from '../../providers/Config/index.js';
|
|
|
5
5
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
6
6
|
import { Drawer, DrawerToggler } from '../Drawer/index.js';
|
|
7
7
|
import { ListDrawerContent } from './DrawerContent.js';
|
|
8
|
-
import './index.scss';
|
|
9
8
|
export const baseClass = 'list-drawer';
|
|
10
9
|
export const formatListDrawerSlug = ({ depth, uuid })=>`list-drawer_${depth}_${uuid}`;
|
|
11
10
|
export const ListDrawerToggler = ({ children, className, disabled, drawerSlug, ...rest })=>{
|
|
@@ -128,4 +127,4 @@ export const useListDrawer = ({ collectionSlugs: collectionSlugsFromProps, filte
|
|
|
128
127
|
];
|
|
129
128
|
};
|
|
130
129
|
|
|
131
|
-
//# sourceMappingURL=
|
|
130
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const { useModal } = facelessUIImport\n\n const { collections } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"names":["facelessUIImport","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","useModal","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","length","filteredCollectionSlugs","upload","map","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","key","MemoizedDrawerToggler","MemoizedDrawerState","isDrawerOpen"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload/types'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { FilterOptionsResult } from '../../forms/fields/Relationship/types.js'\n\nexport type ListDrawerProps = {\n collectionSlugs: string[]\n customHeader?: React.ReactNode\n drawerSlug?: string\n filterOptions?: FilterOptionsResult\n onSelect?: (args: { collectionSlug: SanitizedCollectionConfig['slug']; docID: string }) => void\n selectedCollection?: string\n}\n\nexport type ListTogglerProps = HTMLAttributes<HTMLButtonElement> & {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n}\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"names":[],"mappings":"AAsBA,WAgBC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import React, { Fragment } from 'react';
|
|
3
3
|
import { SelectAllStatus, useSelection } from '../../providers/SelectionProvider/index.js';
|
|
4
4
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
5
|
-
import './index.scss';
|
|
6
5
|
const baseClass = 'list-selection';
|
|
7
6
|
export const ListSelection = ({ label })=>{
|
|
8
7
|
const { count, selectAll, toggleAll, totalDocs } = useSelection();
|
|
@@ -29,4 +28,4 @@ export const ListSelection = ({ label })=>{
|
|
|
29
28
|
}))));
|
|
30
29
|
};
|
|
31
30
|
|
|
32
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/SelectionProvider/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\ntype Props = {\n label: string\n}\nexport const ListSelection: React.FC<Props> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n —\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","label","count","selectAll","toggleAll","totalDocs","t","div","className","span","AllAvailable","button","aria-label","onClick","type"],"mappings":"AAAA;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,EAAEC,YAAY,QAAQ,6CAA4C;AAC1F,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAKlB,OAAO,MAAMC,gBAAiC,CAAC,EAAEC,KAAK,EAAE;IACtD,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGR;IACnD,MAAM,EAAES,CAAC,EAAE,GAAGR;IAEd,IAAII,UAAU,GAAG;QACf,OAAO;IACT;IAEA,qBACE,oBAACK;QAAIC,WAAWT;qBACd,oBAACU,cAAMH,EAAE,yBAAyB;QAAEJ;QAAOD;IAAM,KAChDE,cAAcP,gBAAgBc,YAAY,kBACzC,oBAACf,gBACE,KAAI,mBAEL,oBAACgB;QACCC,cAAYN,EAAE,qBAAqB;YAAEJ;YAAOD;QAAM;QAClDO,WAAW,CAAC,EAAET,UAAU,QAAQ,CAAC;QACjCc,SAAS,IAAMT,UAAU;QACzBU,MAAK;OAEJR,EAAE,qBAAqB;QAAEJ,OAAOG;QAAWJ;IAAM;AAM9D,EAAC"}
|
|
@@ -4,7 +4,6 @@ import React from 'react';
|
|
|
4
4
|
import { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js';
|
|
5
5
|
import { useFormProcessing } from '../../forms/Form/context.js';
|
|
6
6
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
7
|
-
import './index.scss';
|
|
8
7
|
const baseClass = 'loading-overlay';
|
|
9
8
|
export const LoadingOverlay = ({ animationDuration, loadingText, overlayType, show = true })=>{
|
|
10
9
|
const { t } = useTranslation();
|
|
@@ -74,4 +73,4 @@ export const FormLoadingOverlayToggle = ({ name, type = 'fullscreen', action, fo
|
|
|
74
73
|
});
|
|
75
74
|
};
|
|
76
75
|
|
|
77
|
-
//# sourceMappingURL=
|
|
76
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype Props = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<Props> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\ntype UseLoadingOverlayToggleT = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleT> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\ntype FormLoadingOverlayToggleT = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleT> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"names":["getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","animationDuration","loadingText","overlayType","show","t","div","className","filter","Boolean","join","style","span","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","useEffect","isLoading","undefined","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AASlB,OAAO,MAAMC,iBAAkC,CAAC,EAC9CC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,OAAO,IAAI,EACZ;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,qBACE,oBAACQ;QACCC,WAAW;YACTR;YACAK,OAAO,CAAC,EAAEL,UAAU,UAAU,CAAC,GAAG,CAAC,EAAEA,UAAU,SAAS,CAAC;YACzDI,cAAc,CAAC,EAAEJ,UAAU,EAAE,EAAEI,YAAY,CAAC,GAAG;SAChD,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO;YACLV,mBAAmBA,qBAAqB;QAC1C;qBAEA,oBAACK;QAAIC,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;qBAClC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;uBAGrC,oBAACa;QAAKL,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;OAAGG,eAAeG,EAAE;AAG/D,EAAC;AAQD,OAAO,MAAMQ,uBAA2D,CAAC,EACvEC,MAAMC,GAAG,EACTC,OAAO,YAAY,EACnBd,WAAW,EACXE,IAAI,EACL;IACC,MAAM,EAAEa,oBAAoB,EAAE,GAAGrB;IAEjCD,MAAMuB,SAAS,CAAC;QACdD,qBAAqB;YACnBD;YACAG,WAAWf;YACXW;YACAb,aAAaA,eAAekB;QAC9B;QAEA,OAAO;YACLH,qBAAqB;gBACnBD;gBACAG,WAAW;gBACXJ;YACF;QACF;IACF,GAAG;QAACX;QAAMa;QAAsBF;QAAKC;QAAMd;KAAY;IAEvD,OAAO;AACT,EAAC;AASD,OAAO,MAAMmB,2BAAgE,CAAC,EAC5EP,IAAI,EACJE,OAAO,YAAY,EACnBM,MAAM,EACNC,gBAAgB,KAAK,EACrBC,aAAa,EACd;IACC,MAAMC,eAAe5B;IACrB,MAAM,EAAE6B,IAAI,EAAErB,CAAC,EAAE,GAAGP;IAEpB,MAAM6B,SAAS;QACbC,QAAQvB,EAAE;QACVwB,SAASxB,EAAE;QACXyB,QAAQzB,EAAE;IACZ;IAEA,qBACE,oBAACQ;QACCX,aAAa,CAAC,EAAEyB,MAAM,CAACL,OAAO,CAAC,CAAC,EAC9BE,gBAAgB9B,eAAe8B,eAAeE,QAAQ,GACvD,CAAC,CAACK,IAAI;QACPjB,MAAMA;QACNV,MAAMmB,iBAAiBE;QACvBT,MAAMA;;AAGZ,EAAC"}
|
|
@@ -65,4 +65,4 @@ export const useLoadingOverlay = ()=>{
|
|
|
65
65
|
};
|
|
66
66
|
export default Context;
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context.Provider\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.useContext(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n\nexport default Context\n"],"names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","Provider","value","animationDuration","overlayType","useLoadingOverlay","contextHook","useContext","Error"],"mappings":"AAAA;AACA,OAAOA,SAASC,aAAa,QAAQ,QAAO;AAI5C,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,0BAA0B,EAAEC,OAAO,QAAQ,eAAc;AAElE,MAAMC,mBAAmB;AAEzB,MAAMC,wBAAUP,cAAc;IAC5BQ,YAAY;IACZC,sBAAsBC;AACxB;AAEA,OAAO,MAAMC,yBAAmE,CAAC,EAAEC,QAAQ,EAAE;IAC3F,MAAM,EAAEC,CAAC,EAAE,GAAGV;IACd,MAAMW,eAAeD,EAAE;IACvB,MAAM,CAACE,UAAUC,gBAAgB,GAAGjB,MAAMkB,UAAU,CAACZ,SAASD;IAE9D,MAAM,EAAEc,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,EAAE,GAAGlB,iBAAiB;QACzEmB,iBAAiB;QACjBC,WAAWhB;QACXiB,aAAa;QACbC,YAAYlB;QACZmB,MAAMV,SAASW,SAAS;IAC1B;IAEA,MAAMjB,uBAAuBV,MAAM4B,WAAW,CAC5C,CAAC,EAAEC,IAAI,EAAEF,SAAS,EAAEG,GAAG,EAAEC,cAAchB,YAAY,EAAE;QACnD,IAAIY,WAAW;YACbN;YACAJ,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;oBACAC;gBACF;YACF;QACF,OAAO;YACLd,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;gBACF;YACF;QACF;IACF,GACA;QAACT;QAAsBN;KAAa;IAGtC,qBACE,oBAACP,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,YAAYU;YACZT;QACF;OAECS,2BACC,oBAACjB;QACCiC,mBAAmB,CAAC,EAAE5B,iBAAiB,EAAE,CAAC;QAC1CwB,aAAaf,SAASe,WAAW,IAAIhB;QACrCqB,aAAapB,SAASoB,WAAW;QACjCV,MAAM,CAACN;QAGVP;AAGP,EAAC;AAED,OAAO,MAAMwB,oBAAoB;IAC/B,MAAMC,cAActC,MAAMuC,UAAU,CAAC/B;IACrC,IAAI8B,gBAAgB3B,WAAW;QAC7B,MAAM,IAAI6B,MAAM;IAClB;IAEA,OAAOF;AACT,EAAC;AAED,eAAe9B,QAAO"}
|
|
@@ -28,4 +28,4 @@ export const reducer = (state, action)=>{
|
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/LoadingOverlay/reducer.ts"],"sourcesContent":["import type { Action, State } from './types.js'\n\nexport const defaultLoadingOverlayState = {\n isLoading: false,\n loaders: [],\n loadingText: '',\n overlayType: null,\n}\n\nexport const reducer = (state: State, action: Action): State => {\n const loadersCopy = [...state.loaders]\n const { type = 'fullscreen', key = 'user', loadingText } = action.payload\n\n if (action.type === 'add') {\n loadersCopy.push({ type, key, loadingText })\n } else if (action.type === 'remove') {\n const index = loadersCopy.findIndex((item) => item.key === key && item.type === type)\n loadersCopy.splice(index, 1)\n }\n\n const nextLoader = loadersCopy?.length > 0 ? loadersCopy[loadersCopy.length - 1] : null\n\n return {\n isLoading: Boolean(nextLoader),\n loaders: loadersCopy,\n loadingText: nextLoader?.loadingText || state?.loadingText,\n overlayType: nextLoader?.type || state?.overlayType,\n }\n}\n"],"names":["defaultLoadingOverlayState","isLoading","loaders","loadingText","overlayType","reducer","state","action","loadersCopy","type","key","payload","push","index","findIndex","item","splice","nextLoader","length","Boolean"],"mappings":"AAEA,OAAO,MAAMA,6BAA6B;IACxCC,WAAW;IACXC,SAAS,EAAE;IACXC,aAAa;IACbC,aAAa;AACf,EAAC;AAED,OAAO,MAAMC,UAAU,CAACC,OAAcC;IACpC,MAAMC,cAAc;WAAIF,MAAMJ,OAAO;KAAC;IACtC,MAAM,EAAEO,OAAO,YAAY,EAAEC,MAAM,MAAM,EAAEP,WAAW,EAAE,GAAGI,OAAOI,OAAO;IAEzE,IAAIJ,OAAOE,IAAI,KAAK,OAAO;QACzBD,YAAYI,IAAI,CAAC;YAAEH;YAAMC;YAAKP;QAAY;IAC5C,OAAO,IAAII,OAAOE,IAAI,KAAK,UAAU;QACnC,MAAMI,QAAQL,YAAYM,SAAS,CAAC,CAACC,OAASA,KAAKL,GAAG,KAAKA,OAAOK,KAAKN,IAAI,KAAKA;QAChFD,YAAYQ,MAAM,CAACH,OAAO;IAC5B;IAEA,MAAMI,aAAaT,aAAaU,SAAS,IAAIV,WAAW,CAACA,YAAYU,MAAM,GAAG,EAAE,GAAG;IAEnF,OAAO;QACLjB,WAAWkB,QAAQF;QACnBf,SAASM;QACTL,aAAac,YAAYd,eAAeG,OAAOH;QAC/CC,aAAaa,YAAYR,QAAQH,OAAOF;IAC1C;AACF,EAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { };
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/LoadingOverlay/types.ts"],"sourcesContent":["export type LoadingOverlayTypes = 'fullscreen' | 'withoutNav'\n\ntype ToggleLoadingOverlayOptions = {\n isLoading?: boolean\n key: string\n loadingText?: string\n type?: LoadingOverlayTypes\n}\nexport type ToggleLoadingOverlay = (options: ToggleLoadingOverlayOptions) => void\n\ntype Add = {\n payload: {\n key: string\n loadingText?: string\n type: LoadingOverlayTypes\n }\n type: 'add'\n}\ntype Remove = {\n payload: {\n key: string\n loadingText?: never\n type: LoadingOverlayTypes\n }\n type: 'remove'\n}\nexport type Action = Add | Remove\nexport type State = {\n isLoading: boolean\n loaders: {\n key: string\n loadingText: string\n type: LoadingOverlayTypes\n }[]\n loadingText: string\n overlayType: LoadingOverlayTypes | null\n}\n\nexport type LoadingOverlayContext = {\n isOnScreen: boolean\n toggleLoadingOverlay: ToggleLoadingOverlay\n}\n"],"names":[],"mappings":"AAsCA,WAGC"}
|
|
@@ -3,7 +3,6 @@ import React from 'react';
|
|
|
3
3
|
import { Chevron } from '../../../icons/Chevron/index.js';
|
|
4
4
|
import { useLocale } from '../../../providers/Locale/index.js';
|
|
5
5
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
6
|
-
import './index.scss';
|
|
7
6
|
const baseClass = 'localizer-button';
|
|
8
7
|
export const LocalizerLabel = (props)=>{
|
|
9
8
|
const { ariaLabel, className } = props;
|
|
@@ -25,4 +24,4 @@ export const LocalizerLabel = (props)=>{
|
|
|
25
24
|
}));
|
|
26
25
|
};
|
|
27
26
|
|
|
28
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { Chevron } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { t } = useTranslation()\n const { i18n } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\n \n <span className={`${baseClass}__current-label`}>{`${getTranslation(\n locale.label,\n i18n,\n )}`}</span>\n \n <Chevron className={`${baseClass}__chevron`} />\n </div>\n )\n}\n"],"names":["getTranslation","React","Chevron","useLocale","useTranslation","baseClass","LocalizerLabel","props","ariaLabel","className","locale","t","i18n","div","aria-label","filter","Boolean","join","span","label"],"mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,kCAAiC;AACzD,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGF;IACjC,MAAMG,SAASP;IACf,MAAM,EAAEQ,CAAC,EAAE,GAAGP;IACd,MAAM,EAAEQ,IAAI,EAAE,GAAGR;IAEjB,qBACE,oBAACS;QACCC,cAAYN,aAAaG,EAAE;QAC3BF,WAAW;YAACJ;YAAWI;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;qBAEvD,oBAACJ;QAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;OAAG,CAAC,EAAEM,EAAE,kBAAkB,CAAC,CAAC,GAAO,oBAExE,oBAACO;QAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;OAAG,CAAC,EAAEL,eAClDU,OAAOS,KAAK,EACZP,MACA,CAAC,GAAQ,mBAEX,oBAACV;QAAQO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;AAGjD,EAAC"}
|