@payloadcms/ui 3.0.0-canary.ef0a8d0 → 3.0.0-canary.f1f97ff
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -1
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +1 -1
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +53 -28
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Collapsible/index.d.ts +1 -1
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +1 -1
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/DatePicker/index.scss +3 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +7 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +5 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts +1 -2
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +46 -48
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +3 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/index.scss +2 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +10 -6
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts +1 -2
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts +3 -6
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +20 -25
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts +1 -2
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +1 -2
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +38 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +6 -13
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +6 -3
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts +5 -3
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +14 -53
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +2 -2
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +4 -4
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +6 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -2
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +5 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -2
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts +1 -1
- package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
- package/dist/elements/TableColumns/filterFields.js.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +13 -28
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -5
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +4 -2
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +7 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +1 -2
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +8 -2
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +6 -7
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -18
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +2 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +2 -15
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +25 -8
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +2 -3
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +5 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +2 -3
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +1 -14
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +22 -9
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +1 -1
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +2 -2
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts +1 -9
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +2 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +1 -7
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +2 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -9
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +2 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -9
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +2 -2
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.d.ts +2 -2
- package/dist/fields/FieldDescription/index.d.ts.map +1 -1
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.d.ts +2 -2
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts +2 -2
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +2 -10
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +2 -2
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts +2 -9
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js +2 -2
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +1 -9
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +2 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +1 -14
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +2 -2
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +1 -2
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +2 -2
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +2 -9
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +1 -12
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +2 -2
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -2
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +2 -2
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +1 -11
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -8
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -2
- package/dist/fields/Row/index.d.ts.map +1 -1
- package/dist/fields/Row/index.js +2 -2
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/index.scss +1 -5
- package/dist/fields/Select/Input.d.ts +1 -2
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -13
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +2 -2
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts +1 -1
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -9
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +24 -24
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts +3 -2
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +2 -2
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +1 -15
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +3 -2
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -2
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +1 -11
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +5 -2
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +2 -2
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +20 -5
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +1 -25
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
- package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +11 -38
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +5 -15
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts +17 -0
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
- package/dist/forms/Form/rowHelpers.js +24 -0
- package/dist/forms/Form/rowHelpers.js.map +1 -0
- package/dist/forms/Form/types.d.ts +3 -10
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +4 -3
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +1 -2
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +39 -18
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +5 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +5 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts +1 -2
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +47 -76
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +128 -95
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -55
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/ComponentMap/index.d.ts +2 -1
- package/dist/providers/ComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +58 -16
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +16 -9
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +8 -6
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.d.ts +12 -0
- package/dist/providers/UploadEdits/index.d.ts.map +1 -0
- package/dist/providers/UploadEdits/index.js +30 -0
- package/dist/providers/UploadEdits/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +3 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/flattenFieldMap.d.ts +1 -1
- package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
- package/dist/utilities/flattenFieldMap.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +8 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -0
- package/dist/utilities/formatAdminURL.js +15 -0
- package/dist/utilities/formatAdminURL.js.map +1 -0
- package/package.json +4 -4
- package/dist/fields/Checkbox/types.d.ts +0 -12
- package/dist/fields/Checkbox/types.d.ts.map +0 -1
- package/dist/fields/Checkbox/types.js +0 -3
- package/dist/fields/Checkbox/types.js.map +0 -1
- package/dist/fields/Row/types.d.ts +0 -12
- package/dist/fields/Row/types.d.ts.map +0 -1
- package/dist/fields/Row/types.js +0 -3
- package/dist/fields/Row/types.js.map +0 -1
- package/dist/fields/Upload/types.d.ts +0 -10
- package/dist/fields/Upload/types.d.ts.map +0 -1
- package/dist/fields/Upload/types.js +0 -3
- package/dist/fields/Upload/types.js.map +0 -1
- package/dist/providers/FormQueryParams/index.d.ts +0 -13
- package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
- package/dist/providers/FormQueryParams/index.js +0 -53
- package/dist/providers/FormQueryParams/index.js.map +0 -1
- package/dist/providers/FormQueryParams/types.d.ts +0 -16
- package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
- package/dist/providers/FormQueryParams/types.js +0 -3
- package/dist/providers/FormQueryParams/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/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 { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n collectionConfig: ClientCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n fieldMap: FieldMap\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\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<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fieldMap } = props\n\n const { handleSearchChange } = useListQuery()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fieldMap)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchFilter\n fieldLabel={\n (titleField &&\n getTranslation(\n 'label' in titleField.fieldComponentProps &&\n typeof titleField.fieldComponentProps.label === 'string'\n ? titleField.fieldComponentProps.label\n : titleField.name,\n i18n,\n )) ??\n undefined\n }\n fieldName={titleField?.name}\n handleChange={handleSearchChange}\n listSearchableFields={getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fieldMap,\n )}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\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={<ChevronIcon />}\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={<ChevronIcon />}\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={<ChevronIcon />}\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 fieldMap={fieldMap}\n key={String(hasWhereParam.current && !searchParams?.where)}\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":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fieldMap","handleSearchChange","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","div","className","fieldLabel","fieldComponentProps","label","name","fieldName","handleChange","listSearchableFields","admin","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","collectionSlug","slug","collectionPluralLabel","labels","plural","String","p"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FieldMap, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useListInfo } from '@payloadcms/ui'\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/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 { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n collectionConfig: ClientCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n fieldMap: FieldMap\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\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<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fieldMap } = props\n\n const { handleSearchChange } = useListQuery()\n const { collectionSlug } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fieldMap)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField.fieldComponentProps &&\n typeof titleField.fieldComponentProps.label === 'string'\n ? titleField.fieldComponentProps.label\n : titleField.name,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fieldMap,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'fieldComponentProps' in field &&\n 'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label\n ? field.fieldComponentProps.label\n : field.name\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchFilter\n fieldName={titleField?.name}\n handleChange={handleSearchChange}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\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={<ChevronIcon />}\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={<ChevronIcon />}\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={<ChevronIcon />}\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 fieldMap={fieldMap}\n key={String(hasWhereParam.current && !searchParams?.where)}\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":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useListInfo","useUseTitleField","ChevronIcon","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fieldMap","handleSearchChange","collectionSlug","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","search","setSearch","searchLabel","fieldComponentProps","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","div","className","fieldName","handleChange","initialParams","setValue","value","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural","String","p"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAgDA,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
|
-
import { useRouter } from 'next/navigation.js';
|
|
5
4
|
import React from 'react';
|
|
6
5
|
import { useConfig } from '../../providers/Config/index.js';
|
|
7
6
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
8
|
-
import { useRouteCache } from '../../providers/RouteCache/index.js';
|
|
9
7
|
import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
10
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
9
|
import { Popup, PopupList } from '../Popup/index.js';
|
|
@@ -19,8 +17,6 @@ export const Localizer = (props)=>{
|
|
|
19
17
|
const { i18n } = useTranslation();
|
|
20
18
|
const locale = useLocale();
|
|
21
19
|
const { stringifyParams } = useSearchParams();
|
|
22
|
-
const router = useRouter();
|
|
23
|
-
const { clearRouteCache } = useRouteCache();
|
|
24
20
|
if (localization) {
|
|
25
21
|
const { locales } = localization;
|
|
26
22
|
return /*#__PURE__*/ _jsx("div", {
|
|
@@ -36,15 +32,12 @@ export const Localizer = (props)=>{
|
|
|
36
32
|
const localeOptionLabel = getTranslation(localeOption.label, i18n);
|
|
37
33
|
return /*#__PURE__*/ _jsxs(PopupList.Button, {
|
|
38
34
|
active: locale.code === localeOption.code,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
clearRouteCache();
|
|
46
|
-
close();
|
|
47
|
-
},
|
|
35
|
+
href: stringifyParams({
|
|
36
|
+
params: {
|
|
37
|
+
locale: localeOption.code
|
|
38
|
+
}
|
|
39
|
+
}),
|
|
40
|
+
onClick: close,
|
|
48
41
|
children: [
|
|
49
42
|
localeOptionLabel,
|
|
50
43
|
localeOptionLabel !== localeOption.code && ` (${localeOption.code})`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const config = useConfig()\n const { localization } = config\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const { stringifyParams } = useSearchParams()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n href={stringifyParams({\n params: {\n locale: localeOption.code,\n },\n })}\n key={localeOption.code}\n onClick={close}\n >\n {localeOptionLabel}\n {localeOptionLabel !== localeOption.code && ` (${localeOption.code})`}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useConfig","useLocale","useSearchParams","useTranslation","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","className","config","localization","i18n","locale","stringifyParams","locales","div","filter","Boolean","join","button","horizontalAlign","render","close","ButtonGroup","map","localeOption","localeOptionLabel","label","Button","active","code","href","params","onClick","showScrollbar","size"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,SAAS,QAAQ,oBAAmB;AACpD,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IACtB,MAAME,SAASX;IACf,MAAM,EAAEY,YAAY,EAAE,GAAGD;IAEzB,MAAM,EAAEE,IAAI,EAAE,GAAGV;IACjB,MAAMW,SAASb;IACf,MAAM,EAAEc,eAAe,EAAE,GAAGb;IAE5B,IAAIU,cAAc;QAChB,MAAM,EAAEI,OAAO,EAAE,GAAGJ;QAEpB,qBACE,KAACK;YAAIP,WAAW;gBAACH;gBAAWG;aAAU,CAACQ,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAAChB;gBACCiB,sBAAQ,KAACf;gBACTgB,iBAAgB;gBAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,KAACnB,UAAUoB,WAAW;kCACnBT,QAAQU,GAAG,CAAC,CAACC;4BACZ,MAAMC,oBAAoB9B,eAAe6B,aAAaE,KAAK,EAAEhB;4BAE7D,qBACE,MAACR,UAAUyB,MAAM;gCACfC,QAAQjB,OAAOkB,IAAI,KAAKL,aAAaK,IAAI;gCACzCC,MAAMlB,gBAAgB;oCACpBmB,QAAQ;wCACNpB,QAAQa,aAAaK,IAAI;oCAC3B;gCACF;gCAEAG,SAASX;;oCAERI;oCACAA,sBAAsBD,aAAaK,IAAI,IAAI,CAAC,EAAE,EAAEL,aAAaK,IAAI,CAAC,CAAC,CAAC;;+BAJhEL,aAAaK,IAAI;wBAO5B;;gBAGJI,aAAa;gBACbC,MAAK;;;IAIb;IAEA,OAAO;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Logout/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Logout/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyCvC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAUA,CAAA"}
|
|
@@ -5,17 +5,20 @@ import { LogOutIcon } from '../../icons/LogOut/index.js';
|
|
|
5
5
|
import { useComponentMap } from '../../providers/ComponentMap/index.js';
|
|
6
6
|
import { useConfig } from '../../providers/Config/index.js';
|
|
7
7
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
|
+
import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
8
9
|
const baseClass = 'nav';
|
|
9
10
|
const DefaultLogout = ({ Link, tabIndex })=>{
|
|
10
11
|
const { t } = useTranslation();
|
|
11
12
|
const config = useConfig();
|
|
12
|
-
const { admin: { routes: { logout: logoutRoute } }, routes: { admin } } = config;
|
|
13
|
-
const basePath = process.env.NEXT_BASE_PATH ?? '';
|
|
13
|
+
const { admin: { routes: { logout: logoutRoute } }, routes: { admin: adminRoute } } = config;
|
|
14
14
|
const LinkElement = Link || 'a';
|
|
15
15
|
return /*#__PURE__*/ _jsx(LinkElement, {
|
|
16
16
|
"aria-label": t('authentication:logOut'),
|
|
17
17
|
className: `${baseClass}__log-out`,
|
|
18
|
-
href:
|
|
18
|
+
href: formatAdminURL({
|
|
19
|
+
adminRoute,
|
|
20
|
+
path: logoutRoute
|
|
21
|
+
}),
|
|
19
22
|
tabIndex: tabIndex,
|
|
20
23
|
children: /*#__PURE__*/ _jsx(LogOutIcon, {})
|
|
21
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Logout/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'nav'\n\nconst DefaultLogout: React.FC<{\n Link: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex }) => {\n const { t } = useTranslation()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin },\n } = config\n\n const
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Logout/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\n\nconst baseClass = 'nav'\n\nconst DefaultLogout: React.FC<{\n Link: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex }) => {\n const { t } = useTranslation()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n aria-label={t('authentication:logOut')}\n className={`${baseClass}__log-out`}\n href={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n tabIndex={tabIndex}\n >\n <LogOutIcon />\n </LinkElement>\n )\n}\n\nexport const Logout: React.FC<{\n Link?: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex = 0 }) => {\n const {\n componentMap: { LogoutButton: CustomLogout },\n } = useComponentMap()\n\n if (CustomLogout) {\n return <Fragment>{CustomLogout}</Fragment>\n }\n\n return <DefaultLogout Link={Link} tabIndex={tabIndex} />\n}\n"],"names":["React","Fragment","LogOutIcon","useComponentMap","useConfig","useTranslation","formatAdminURL","baseClass","DefaultLogout","Link","tabIndex","t","config","admin","routes","logout","logoutRoute","adminRoute","LinkElement","aria-label","className","href","path","Logout","componentMap","LogoutButton","CustomLogout"],"mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAElE,MAAMC,YAAY;AAElB,MAAMC,gBAGD,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IACtB,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,MAAMO,SAASR;IAEf,MAAM,EACJS,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGL;IAEJ,MAAMM,cAAcT,QAAQ;IAE5B,qBACE,KAACS;QACCC,cAAYR,EAAE;QACdS,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;QAClCc,MAAMf,eAAe;YACnBW;YACAK,MAAMN;QACR;QACAN,UAAUA;kBAEV,cAAA,KAACR;;AAGP;AAEA,OAAO,MAAMqB,SAGR,CAAC,EAAEd,IAAI,EAAEC,WAAW,CAAC,EAAE;IAC1B,MAAM,EACJc,cAAc,EAAEC,cAAcC,YAAY,EAAE,EAC7C,GAAGvB;IAEJ,IAAIuB,cAAc;QAChB,qBAAO,KAACzB;sBAAUyB;;IACpB;IAEA,qBAAO,KAAClB;QAAcC,MAAMA;QAAMC,UAAUA;;AAC9C,EAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type SearchFilterProps = {
|
|
3
|
-
fieldLabel?: string;
|
|
4
3
|
fieldName?: string;
|
|
5
4
|
handleChange?: (search: string) => void;
|
|
6
|
-
|
|
5
|
+
initialParams?: ParsedQs;
|
|
6
|
+
label: string;
|
|
7
|
+
setValue?: (arg: string) => void;
|
|
8
|
+
value?: string;
|
|
7
9
|
};
|
|
8
|
-
import type {
|
|
10
|
+
import type { ParsedQs } from 'qs-esm';
|
|
9
11
|
import './index.scss';
|
|
10
12
|
export declare const SearchFilter: React.FC<SearchFilterProps>;
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAItC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkCpD,CAAA"}
|
|
@@ -1,76 +1,37 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
4
|
-
// TODO: abstract the `next/navigation` dependency out from this component
|
|
5
|
-
import { usePathname, useRouter } from 'next/navigation.js';
|
|
6
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import React, { useEffect, useRef } from 'react';
|
|
7
4
|
import { useDebounce } from '../../hooks/useDebounce.js';
|
|
8
5
|
import { SearchIcon } from '../../icons/Search/index.js';
|
|
9
|
-
import { useSearchParams } from '../../providers/SearchParams/index.js';
|
|
10
|
-
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
6
|
import './index.scss';
|
|
12
7
|
const baseClass = 'search-filter';
|
|
13
8
|
export const SearchFilter = (props)=>{
|
|
14
|
-
const {
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const pathname = usePathname();
|
|
18
|
-
const { i18n, t } = useTranslation();
|
|
19
|
-
const [search, setSearch] = useState(typeof searchParams?.search === 'string' ? searchParams?.search : '');
|
|
20
|
-
const [previousSearch, setPreviousSearch] = useState('');
|
|
21
|
-
const placeholder = useRef(t('general:searchBy', {
|
|
22
|
-
label: getTranslation(fieldLabel, i18n)
|
|
23
|
-
}));
|
|
24
|
-
const debouncedSearch = useDebounce(search, 300);
|
|
9
|
+
const { handleChange, initialParams, label, setValue, value } = props;
|
|
10
|
+
const previousSearch = useRef(typeof initialParams?.search === 'string' ? initialParams?.search : '');
|
|
11
|
+
const debouncedSearch = useDebounce(value, 300);
|
|
25
12
|
useEffect(()=>{
|
|
26
|
-
if (debouncedSearch !== previousSearch) {
|
|
13
|
+
if (debouncedSearch !== previousSearch.current) {
|
|
27
14
|
if (handleChange) handleChange(debouncedSearch);
|
|
28
|
-
|
|
15
|
+
previousSearch.current = debouncedSearch;
|
|
29
16
|
}
|
|
30
17
|
}, [
|
|
31
18
|
debouncedSearch,
|
|
32
19
|
previousSearch,
|
|
33
|
-
|
|
34
|
-
fieldName,
|
|
35
|
-
searchParams,
|
|
36
|
-
handleChange,
|
|
37
|
-
listSearchableFields,
|
|
38
|
-
pathname
|
|
39
|
-
]);
|
|
40
|
-
useEffect(()=>{
|
|
41
|
-
if (listSearchableFields?.length > 0) {
|
|
42
|
-
placeholder.current = listSearchableFields.reduce((placeholderText, field, i)=>{
|
|
43
|
-
const label = 'fieldComponentProps' in field && 'label' in field.fieldComponentProps && field.fieldComponentProps.label ? field.fieldComponentProps.label : field.name;
|
|
44
|
-
if (i === 0) {
|
|
45
|
-
return `${t('general:searchBy', {
|
|
46
|
-
label: getTranslation(label, i18n)
|
|
47
|
-
})}`;
|
|
48
|
-
}
|
|
49
|
-
if (i === listSearchableFields.length - 1) {
|
|
50
|
-
return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`;
|
|
51
|
-
}
|
|
52
|
-
return `${placeholderText}, ${getTranslation(label, i18n)}`;
|
|
53
|
-
}, '');
|
|
54
|
-
} else {
|
|
55
|
-
placeholder.current = t('general:searchBy', {
|
|
56
|
-
label: getTranslation(fieldLabel, i18n)
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}, [
|
|
60
|
-
t,
|
|
61
|
-
listSearchableFields,
|
|
62
|
-
i18n,
|
|
63
|
-
fieldLabel
|
|
20
|
+
handleChange
|
|
64
21
|
]);
|
|
22
|
+
// Cleans up the search input when the component is unmounted
|
|
23
|
+
useEffect(()=>()=>setValue(''), []);
|
|
65
24
|
return /*#__PURE__*/ _jsxs("div", {
|
|
66
25
|
className: baseClass,
|
|
67
26
|
children: [
|
|
68
27
|
/*#__PURE__*/ _jsx("input", {
|
|
28
|
+
"aria-label": label,
|
|
69
29
|
className: `${baseClass}__input`,
|
|
70
|
-
|
|
71
|
-
|
|
30
|
+
id: "search-filter-input",
|
|
31
|
+
onChange: (e)=>setValue(e.target.value),
|
|
32
|
+
placeholder: label,
|
|
72
33
|
type: "text",
|
|
73
|
-
value:
|
|
34
|
+
value: value || ''
|
|
74
35
|
}),
|
|
75
36
|
/*#__PURE__*/ _jsx(SearchIcon, {})
|
|
76
37
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef } from 'react'\n\nexport type SearchFilterProps = {\n fieldName?: string\n handleChange?: (search: string) => void\n initialParams?: ParsedQs\n label: string\n setValue?: (arg: string) => void\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, setValue, value } = props\n\n const previousSearch = useRef(\n typeof initialParams?.search === 'string' ? initialParams?.search : '',\n )\n\n const debouncedSearch = useDebounce(value, 300)\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current) {\n if (handleChange) handleChange(debouncedSearch)\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, previousSearch, handleChange])\n\n // Cleans up the search input when the component is unmounted\n useEffect(() => () => setValue(''), [])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => setValue(e.target.value)}\n placeholder={label}\n type=\"text\"\n value={value || ''}\n />\n <SearchIcon />\n </div>\n )\n}\n"],"names":["React","useEffect","useRef","useDebounce","SearchIcon","baseClass","SearchFilter","props","handleChange","initialParams","label","setValue","value","previousSearch","search","debouncedSearch","current","div","className","input","aria-label","id","onChange","e","target","placeholder","type"],"mappings":"AAAA;;AACA,OAAOA,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAahD,SAASC,WAAW,QAAQ,6BAA4B;AACxD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,eAA4C,CAACC;IACxD,MAAM,EAAEC,YAAY,EAAEC,aAAa,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGL;IAEhE,MAAMM,iBAAiBX,OACrB,OAAOO,eAAeK,WAAW,WAAWL,eAAeK,SAAS;IAGtE,MAAMC,kBAAkBZ,YAAYS,OAAO;IAE3CX,UAAU;QACR,IAAIc,oBAAoBF,eAAeG,OAAO,EAAE;YAC9C,IAAIR,cAAcA,aAAaO;YAE/BF,eAAeG,OAAO,GAAGD;QAC3B;IACF,GAAG;QAACA;QAAiBF;QAAgBL;KAAa;IAElD,6DAA6D;IAC7DP,UAAU,IAAM,IAAMU,SAAS,KAAK,EAAE;IAEtC,qBACE,MAACM;QAAIC,WAAWb;;0BACd,KAACc;gBACCC,cAAYV;gBACZQ,WAAW,CAAC,EAAEb,UAAU,OAAO,CAAC;gBAChCgB,IAAG;gBACHC,UAAU,CAACC,IAAMZ,SAASY,EAAEC,MAAM,CAACZ,KAAK;gBACxCa,aAAaf;gBACbgB,MAAK;gBACLd,OAAOA,SAAS;;0BAElB,KAACR;;;AAGP,EAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import type { FieldBase } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
2
4
|
export type SortColumnProps = {
|
|
3
5
|
Label: React.ReactNode;
|
|
4
6
|
disable?: boolean;
|
|
5
7
|
label?: FieldBase['label'];
|
|
6
8
|
name: string;
|
|
7
9
|
};
|
|
8
|
-
import type { FieldBase } from 'payload';
|
|
9
|
-
import './index.scss';
|
|
10
10
|
export declare const SortColumn: React.FC<SortColumnProps>;
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyDhD,CAAA"}
|
|
@@ -24,8 +24,8 @@ export const SortColumn = (props)=>{
|
|
|
24
24
|
`${baseClass}__desc`
|
|
25
25
|
];
|
|
26
26
|
if (sort === desc) descClasses.push(`${baseClass}--active`);
|
|
27
|
-
const setSort = useCallback((newSort)=>{
|
|
28
|
-
refineListData({
|
|
27
|
+
const setSort = useCallback(async (newSort)=>{
|
|
28
|
+
await refineListData({
|
|
29
29
|
sort: newSort
|
|
30
30
|
});
|
|
31
31
|
}, [
|
|
@@ -50,7 +50,7 @@ export const SortColumn = (props)=>{
|
|
|
50
50
|
...ascClasses,
|
|
51
51
|
`${baseClass}__button`
|
|
52
52
|
].filter(Boolean).join(' '),
|
|
53
|
-
onClick: ()=>setSort(asc),
|
|
53
|
+
onClick: ()=>void setSort(asc),
|
|
54
54
|
type: "button",
|
|
55
55
|
children: /*#__PURE__*/ _jsx(ChevronIcon, {
|
|
56
56
|
direction: "up"
|
|
@@ -65,7 +65,7 @@ export const SortColumn = (props)=>{
|
|
|
65
65
|
...descClasses,
|
|
66
66
|
`${baseClass}__button`
|
|
67
67
|
].filter(Boolean).join(' '),
|
|
68
|
-
onClick: ()=>setSort(desc),
|
|
68
|
+
onClick: ()=>void setSort(desc),
|
|
69
69
|
type: "button",
|
|
70
70
|
children: /*#__PURE__*/ _jsx(ChevronIcon, {})
|
|
71
71
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase } from 'payload'\n\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type SortColumnProps = {\n Label: React.ReactNode\n disable?: boolean\n label?: FieldBase['label']\n name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, Label, disable = false, label } = props\n const { searchParams } = useSearchParams()\n const { refineListData } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = searchParams\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) ascClasses.push(`${baseClass}--active`)\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) descClasses.push(`${baseClass}--active`)\n\n const setSort = useCallback(\n async (newSort: string) => {\n await refineListData({\n sort: newSort,\n })\n },\n [refineListData],\n )\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{Label}</span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(asc)}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" />\n </button>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(desc)}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["React","useCallback","ChevronIcon","useListQuery","useSearchParams","useTranslation","baseClass","SortColumn","props","name","Label","disable","label","searchParams","refineListData","t","sort","desc","asc","ascClasses","push","descClasses","setSort","newSort","div","className","span","button","aria-label","direction","filter","Boolean","join","onClick","type"],"mappings":"AAAA;;AAGA,0EAA0E;AAC1E,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AASrB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IAChD,MAAM,EAAEK,YAAY,EAAE,GAAGT;IACzB,MAAM,EAAEU,cAAc,EAAE,GAAGX;IAC3B,MAAM,EAAEY,CAAC,EAAE,GAAGV;IAEd,MAAM,EAAEW,IAAI,EAAE,GAAGH;IAEjB,MAAMI,OAAO,CAAC,CAAC,EAAER,KAAK,CAAC;IACvB,MAAMS,MAAMT;IAEZ,MAAMU,aAAa;QAAC,CAAC,EAAEb,UAAU,KAAK,CAAC;KAAC;IACxC,IAAIU,SAASE,KAAKC,WAAWC,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAExD,MAAMe,cAAc;QAAC,CAAC,EAAEf,UAAU,MAAM,CAAC;KAAC;IAC1C,IAAIU,SAASC,MAAMI,YAAYD,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAE1D,MAAMgB,UAAUrB,YACd,OAAOsB;QACL,MAAMT,eAAe;YACnBE,MAAMO;QACR;IACF,GACA;QAACT;KAAe;IAGlB,qBACE,MAACU;QAAIC,WAAWnB;;0BACd,KAACoB;gBAAKD,WAAW,CAAC,EAAEnB,UAAU,OAAO,CAAC;0BAAGI;;YACxC,CAACC,yBACA,MAACa;gBAAIC,WAAW,CAAC,EAAEnB,UAAU,SAAS,CAAC;;kCACrC,KAACqB;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIN;4BAAY,CAAC,EAAEb,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACxEC,SAAS,IAAM,KAAKX,QAAQJ;wBAC5BgB,MAAK;kCAEL,cAAA,KAAChC;4BAAY2B,WAAU;;;kCAEzB,KAACF;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIJ;4BAAa,CAAC,EAAEf,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACzEC,SAAS,IAAM,KAAKX,QAAQL;wBAC5BiB,MAAK;kCAEL,cAAA,KAAChC;;;;;;AAMb,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAkDrC,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { Button } from '../../elements/Button/index.js';
|
|
|
8
8
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
9
9
|
import { useConfig } from '../../providers/Config/index.js';
|
|
10
10
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
|
+
import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
11
12
|
import './index.scss';
|
|
12
13
|
const baseClass = 'stay-logged-in';
|
|
13
14
|
export const stayLoggedInModalSlug = 'stay-logged-in';
|
|
@@ -15,7 +16,7 @@ export const StayLoggedInModal = ()=>{
|
|
|
15
16
|
const { refreshCookie } = useAuth();
|
|
16
17
|
const router = useRouter();
|
|
17
18
|
const config = useConfig();
|
|
18
|
-
const { admin: { routes: { logout: logoutRoute } }, routes: { admin } } = config;
|
|
19
|
+
const { admin: { routes: { logout: logoutRoute } }, routes: { admin: adminRoute } } = config;
|
|
19
20
|
const { toggleModal } = useModal();
|
|
20
21
|
const { t } = useTranslation();
|
|
21
22
|
return /*#__PURE__*/ _jsx(Modal, {
|
|
@@ -42,7 +43,10 @@ export const StayLoggedInModal = ()=>{
|
|
|
42
43
|
buttonStyle: "secondary",
|
|
43
44
|
onClick: ()=>{
|
|
44
45
|
toggleModal(stayLoggedInModalSlug);
|
|
45
|
-
router.push(
|
|
46
|
+
router.push(formatAdminURL({
|
|
47
|
+
adminRoute,
|
|
48
|
+
path: logoutRoute
|
|
49
|
+
}));
|
|
46
50
|
},
|
|
47
51
|
children: t('authentication:logOut')
|
|
48
52
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin },\n } = config\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(\n formatAdminURL({\n adminRoute,\n path: logoutRoute,\n }),\n )\n }}\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(stayLoggedInModalSlug)\n }}\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["Modal","useModal","useRouter","React","Button","useAuth","useConfig","useTranslation","formatAdminURL","baseClass","stayLoggedInModalSlug","StayLoggedInModal","refreshCookie","router","config","admin","routes","logout","logoutRoute","adminRoute","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push","path"],"mappings":"AAAA;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,iBAAgB;AAErD,OAAO,MAAMC,oBAA8B;IACzC,MAAM,EAAEC,aAAa,EAAE,GAAGP;IAE1B,MAAMQ,SAASX;IACf,MAAMY,SAASR;IAEf,MAAM,EACJS,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGL;IAEJ,MAAM,EAAEM,WAAW,EAAE,GAAGnB;IACxB,MAAM,EAAEoB,CAAC,EAAE,GAAGd;IAEd,qBACE,KAACP;QAAMsB,WAAWb;QAAWc,MAAMb;kBACjC,cAAA,MAACc;YAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;;8BACrC,MAACe;oBAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;;sCACrC,KAACgB;sCAAIJ,EAAE;;sCACP,KAACK;sCAAGL,EAAE;;;;8BAER,MAACG;oBAAIF,WAAW,CAAC,EAAEb,UAAU,UAAU,CAAC;;sCACtC,KAACL;4BACCuB,aAAY;4BACZC,SAAS;gCACPR,YAAYV;gCACZG,OAAOgB,IAAI,CACTrB,eAAe;oCACbW;oCACAW,MAAMZ;gCACR;4BAEJ;sCAECG,EAAE;;sCAEL,KAACjB;4BACCwB,SAAS;gCACPhB;gCACAQ,YAAYV;4BACd;sCAECW,EAAE;;;;;;;AAMf,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { LabelFunction } from 'payload';
|
|
1
|
+
import type { LabelFunction, LabelStatic } from 'payload';
|
|
2
2
|
export type StepNavItem = {
|
|
3
|
-
label: LabelFunction |
|
|
3
|
+
label: LabelFunction | LabelStatic;
|
|
4
4
|
url?: string;
|
|
5
5
|
};
|
|
6
6
|
export type ContextType = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,WAAW,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\n\nexport type StepNavItem = {\n label: LabelFunction |
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction, LabelStatic } from 'payload'\n\nexport type StepNavItem = {\n label: LabelFunction | LabelStatic\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n"],"names":[],"mappings":"AAOA,WAGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAa5E,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsHpD,CAAA"}
|
|
@@ -5,6 +5,7 @@ import React from 'react'; // TODO: abstract this out to support all routers
|
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
6
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
7
7
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
8
|
+
import { formatAdminURL } from '../../../utilities/formatAdminURL.js';
|
|
8
9
|
import { useTableCell } from '../TableCellProvider/index.js';
|
|
9
10
|
import { CodeCell } from './fields/Code/index.js';
|
|
10
11
|
import { cellComponents } from './fields/index.js';
|
|
@@ -25,7 +26,10 @@ export const DefaultCell = (props)=>{
|
|
|
25
26
|
const isLink = link !== undefined ? link : columnIndex === 0;
|
|
26
27
|
if (isLink) {
|
|
27
28
|
WrapElement = Link;
|
|
28
|
-
wrapElementProps.href = customCellContext?.collectionSlug ?
|
|
29
|
+
wrapElementProps.href = customCellContext?.collectionSlug ? formatAdminURL({
|
|
30
|
+
adminRoute,
|
|
31
|
+
path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`
|
|
32
|
+
}) : '';
|
|
29
33
|
}
|
|
30
34
|
if (typeof onClick === 'function') {
|
|
31
35
|
WrapElement = 'button';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useTableCell } from '../TableCellProvider/index.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<CellComponentProps> = (props) => {\n const {\n name,\n className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n routes: { admin: adminRoute },\n } = useConfig()\n\n const cellContext = useTableCell()\n\n const { cellData, cellProps, columnIndex, customCellContext, rowData } = cellContext || {}\n\n const { className: classNameFromContext, link, onClick: onClickFromContext } = cellProps || {}\n\n const className = classNameFromProps || classNameFromContext\n\n const onClick = onClickFromProps || onClickFromContext\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n type?: 'button'\n } = {\n className,\n }\n\n const isLink = link !== undefined ? link : columnIndex === 0\n\n if (isLink) {\n WrapElement = Link\n wrapElementProps.href = customCellContext?.collectionSlug\n ?
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { useTableCell } from '../TableCellProvider/index.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<CellComponentProps> = (props) => {\n const {\n name,\n className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n routes: { admin: adminRoute },\n } = useConfig()\n\n const cellContext = useTableCell()\n\n const { cellData, cellProps, columnIndex, customCellContext, rowData } = cellContext || {}\n\n const { className: classNameFromContext, link, onClick: onClickFromContext } = cellProps || {}\n\n const className = classNameFromProps || classNameFromContext\n\n const onClick = onClickFromProps || onClickFromContext\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n type?: 'button'\n } = {\n className,\n }\n\n const isLink = link !== undefined ? link : columnIndex === 0\n\n if (isLink) {\n WrapElement = Link\n wrapElementProps.href = customCellContext?.collectionSlug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`,\n })\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: customCellContext?.collectionSlug,\n rowData,\n })\n }\n }\n\n if (name === 'id') {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell\n cellData={`ID: ${cellData}`}\n name={name}\n nowrap\n rowData={rowData}\n schemaPath={cellContext?.cellProps?.schemaPath}\n />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[fieldType]\n\n let CellComponent: React.ReactNode = null\n\n if (DefaultCellComponent) {\n CellComponent = (\n <DefaultCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else if (!DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (customCellContext.uploadConfig && isFieldAffectingData && name === 'filename') {\n const FileCellComponent = cellComponents.File\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(cellData === '' || typeof cellData === 'undefined') &&\n 'label' in props &&\n i18n.t('general:noLabel', {\n label: getTranslation(label || 'data', i18n),\n })}\n {typeof cellData === 'string' && cellData}\n {typeof cellData === 'number' && cellData}\n {typeof cellData === 'object' && JSON.stringify(cellData)}\n </WrapElement>\n )\n }\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"names":["LinkImport","React","getTranslation","useConfig","useTranslation","formatAdminURL","useTableCell","CodeCell","cellComponents","Link","default","DefaultCell","props","name","className","classNameFromProps","fieldType","isFieldAffectingData","label","onClick","onClickFromProps","i18n","routes","admin","adminRoute","cellContext","cellData","cellProps","columnIndex","customCellContext","rowData","classNameFromContext","link","onClickFromContext","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","path","id","type","nowrap","schemaPath","DefaultCellComponent","CellComponent","uploadConfig","FileCellComponent","File","t","JSON","stringify"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { CellComponentProps, FieldBase, FieldTypes } from 'payload';
|
|
1
|
+
import type { CellComponentProps, FieldBase, FieldMap, FieldTypes } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export * from './TableCellProvider/index.js';
|
|
4
|
-
import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
|
|
5
4
|
import { TableCellProvider } from './TableCellProvider/index.js';
|
|
6
5
|
import './index.scss';
|
|
7
6
|
export { TableCellProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,cAAc,8BAA8B,CAAA;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAI5B,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvC,UAAU,EAAE;QACV,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;KACzB,CAAA;IACD,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgDjC,CAAA"}
|