@payloadcms/ui 3.0.0-beta.70 → 3.0.0-beta.72
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/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 +7 -1
- 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/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/DocumentFields/index.d.ts +1 -2
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- 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/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/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.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +2 -0
- package/dist/elements/Logout/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/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/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/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/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/exports/client/index.d.ts +5 -6
- 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.js +1 -1
- package/dist/exports/shared/index.js.map +3 -3
- 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.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/ConfirmPassword/index.d.ts +1 -0
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +2 -3
- package/dist/fields/ConfirmPassword/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 +12 -2
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +58 -45
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts +5 -0
- package/dist/fields/Password/input.d.ts.map +1 -0
- package/dist/fields/Password/input.js +65 -0
- package/dist/fields/Password/input.js.map +1 -0
- package/dist/fields/Password/types.d.ts +27 -0
- package/dist/fields/Password/types.d.ts.map +1 -0
- package/dist/fields/Password/types.js.map +1 -0
- 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 +1 -2
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- 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 +2 -2
- 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 +5 -35
- package/dist/forms/Form/fieldReducer.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/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +2 -1
- package/dist/forms/useField/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/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 +126 -95
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -56
- 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 +5 -1
- 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/styles.css +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +0 -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 +1 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js +4 -4
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/package.json +5 -5
- 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.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/fields/{Checkbox → Password}/types.js +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { Labels } from 'payload';
|
|
1
|
+
import type { FieldMap, Labels, ReducedBlock } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { FieldMap, ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js';
|
|
4
3
|
export declare const RowActions: React.FC<{
|
|
5
|
-
addRow: (rowIndex: number, blockType: string) => void;
|
|
4
|
+
addRow: (rowIndex: number, blockType: string) => Promise<void> | void;
|
|
6
5
|
blockType: string;
|
|
7
6
|
blocks: ReducedBlock[];
|
|
8
7
|
duplicateRow: (rowIndex: number, blockType: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG7D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAiDA,CAAA"}
|
|
@@ -15,7 +15,7 @@ export const RowActions = (props)=>{
|
|
|
15
15
|
/*#__PURE__*/ _jsx(BlocksDrawer, {
|
|
16
16
|
addRow: (_, rowBlockType)=>{
|
|
17
17
|
if (typeof addRow === 'function') {
|
|
18
|
-
addRow(indexToAdd, rowBlockType);
|
|
18
|
+
void addRow(indexToAdd, rowBlockType);
|
|
19
19
|
}
|
|
20
20
|
closeModal(drawerSlug);
|
|
21
21
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { FieldMap, Labels, ReducedBlock } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n blockType: string\n blocks: ReducedBlock[]\n duplicateRow: (rowIndex: number, blockType: string) => void\n fieldMap: FieldMap\n hasMaxRows?: boolean\n isSortable?: boolean\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n removeRow: (rowIndex: number) => void\n rowCount: number\n rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blockType,\n blocks,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"names":["useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","addRow","blockType","blocks","duplicateRow","hasMaxRows","isSortable","labels","moveRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","Fragment","_","rowBlockType","addRowIndex","index"],"mappings":"AAAA;;AAGA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,yCAAwC;AACtE,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,aAaR,CAACC;IACJ,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACT,GAAGX;IAEJ,MAAM,EAAEY,UAAU,EAAEC,SAAS,EAAE,GAAGnB;IAClC,MAAMoB,aAAajB,cAAc;IAEjC,MAAM,CAACkB,YAAYC,cAAc,GAAGrB,MAAMsB,QAAQ,CAAgB;IAElE,qBACE,MAACtB,MAAMuB,QAAQ;;0BACb,KAACpB;gBACCG,QAAQ,CAACkB,GAAGC;oBACV,IAAI,OAAOnB,WAAW,YAAY;wBAChC,KAAKA,OAAOc,YAAYK;oBAC1B;oBACAR,WAAWE;gBACb;gBACAO,aAAaV;gBACbR,QAAQA;gBACRW,YAAYA;gBACZP,QAAQA;;0BAEV,KAACX;gBACCK,QAAQ,CAACqB;oBACPN,cAAcM;oBACdT,UAAUC;gBACZ;gBACAV,cAAc,IAAMA,aAAaO,UAAUT;gBAC3CG,YAAYA;gBACZiB,OAAOX;gBACPL,YAAYA;gBACZE,SAASA;gBACTC,WAAWA;gBACXC,UAAUA;;;;AAIlB,EAAC"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BlocksFieldProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js';
|
|
4
|
-
import type { FormFieldBase } from '../shared/index.js';
|
|
5
3
|
import './index.scss';
|
|
6
|
-
export type BlocksFieldProps = {
|
|
7
|
-
blocks?: ReducedBlock[];
|
|
8
|
-
forceRender?: boolean;
|
|
9
|
-
isSortable?: boolean;
|
|
10
|
-
labels?: BlockField['labels'];
|
|
11
|
-
maxRows?: number;
|
|
12
|
-
minRows?: number;
|
|
13
|
-
name?: string;
|
|
14
|
-
slug?: string;
|
|
15
|
-
width?: string;
|
|
16
|
-
} & FormFieldBase;
|
|
17
4
|
export declare const BlocksField: React.FC<BlocksFieldProps>;
|
|
18
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAkUrB,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
|
|
@@ -11,6 +11,7 @@ import { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js';
|
|
|
11
11
|
import { ErrorPill } from '../../elements/ErrorPill/index.js';
|
|
12
12
|
import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
|
|
13
13
|
import { useForm, useFormSubmitted } from '../../forms/Form/context.js';
|
|
14
|
+
import { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js';
|
|
14
15
|
import { NullifyLocaleField } from '../../forms/NullifyField/index.js';
|
|
15
16
|
import { useField } from '../../forms/useField/index.js';
|
|
16
17
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
@@ -27,7 +28,7 @@ import { BlockRow } from './BlockRow.js';
|
|
|
27
28
|
import { BlocksDrawer } from './BlocksDrawer/index.js';
|
|
28
29
|
import './index.scss';
|
|
29
30
|
const baseClass = 'blocks-field';
|
|
30
|
-
const
|
|
31
|
+
const BlocksFieldComponent = (props)=>{
|
|
31
32
|
const { i18n, t } = useTranslation();
|
|
32
33
|
const { name, CustomDescription, CustomError, CustomLabel, blocks, className, descriptionProps, errorProps, forceRender = false, isSortable = true, label, labelProps, labels: labelsFromProps, localized, maxRows, minRows: minRowsProp, path: pathFromProps, readOnly: readOnlyFromProps, required, validate } = props;
|
|
33
34
|
const { indexPath, readOnly: readOnlyFromContext } = useFieldProps();
|
|
@@ -137,29 +138,41 @@ const _BlocksField = (props)=>{
|
|
|
137
138
|
setModified
|
|
138
139
|
]);
|
|
139
140
|
const toggleCollapseAll = useCallback((collapsed)=>{
|
|
141
|
+
const { collapsedIDs, updatedRows } = toggleAllRows({
|
|
142
|
+
collapsed,
|
|
143
|
+
rows
|
|
144
|
+
});
|
|
140
145
|
dispatchFields({
|
|
141
146
|
type: 'SET_ALL_ROWS_COLLAPSED',
|
|
142
|
-
collapsed,
|
|
143
147
|
path,
|
|
144
|
-
|
|
148
|
+
updatedRows
|
|
149
|
+
});
|
|
150
|
+
setDocFieldPreferences(path, {
|
|
151
|
+
collapsed: collapsedIDs
|
|
145
152
|
});
|
|
146
153
|
}, [
|
|
147
154
|
dispatchFields,
|
|
148
155
|
path,
|
|
156
|
+
rows,
|
|
149
157
|
setDocFieldPreferences
|
|
150
158
|
]);
|
|
151
159
|
const setCollapse = useCallback((rowID, collapsed)=>{
|
|
160
|
+
const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({
|
|
161
|
+
collapsed,
|
|
162
|
+
rowID,
|
|
163
|
+
rows
|
|
164
|
+
});
|
|
152
165
|
dispatchFields({
|
|
153
166
|
type: 'SET_ROW_COLLAPSED',
|
|
154
|
-
collapsed,
|
|
155
167
|
path,
|
|
156
|
-
|
|
157
|
-
|
|
168
|
+
updatedRows
|
|
169
|
+
});
|
|
170
|
+
setDocFieldPreferences(path, {
|
|
171
|
+
collapsed: collapsedIDs
|
|
158
172
|
});
|
|
159
173
|
}, [
|
|
160
174
|
dispatchFields,
|
|
161
|
-
path
|
|
162
|
-
setDocFieldPreferences
|
|
175
|
+
path
|
|
163
176
|
]);
|
|
164
177
|
const hasMaxRows = maxRows && rows.length >= maxRows;
|
|
165
178
|
const fieldErrorCount = errorPaths.length;
|
|
@@ -326,6 +339,6 @@ const _BlocksField = (props)=>{
|
|
|
326
339
|
]
|
|
327
340
|
});
|
|
328
341
|
};
|
|
329
|
-
export const BlocksField = withCondition(
|
|
342
|
+
export const BlocksField = withCondition(BlocksFieldComponent);
|
|
330
343
|
|
|
331
344
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlockField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nexport type BlocksFieldProps = {\n blocks?: ReducedBlock[]\n forceRender?: boolean\n isSortable?: boolean\n labels?: BlockField['labels']\n maxRows?: number\n minRows?: number\n name?: string\n slug?: string\n width?: string\n} & FormFieldBase\n\nconst _BlocksField: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string) => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(_BlocksField)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","_BlocksField","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string): Promise<void> => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export type CheckboxInputProps = {
|
|
|
8
8
|
className?: string;
|
|
9
9
|
id?: string;
|
|
10
10
|
inputRef?: React.RefObject<HTMLInputElement | null>;
|
|
11
|
-
label?: LabelProps['label'];
|
|
11
|
+
label?: LabelProps<'checkbox'>['label'];
|
|
12
12
|
labelProps?: SanitizedLabelProps;
|
|
13
13
|
name?: string;
|
|
14
14
|
onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2DtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { LabelProps, SanitizedLabelProps } from 'payload'\n\nimport React from 'react'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { LineIcon } from '../../icons/Line/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\n\nexport type CheckboxInputProps = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomLabel?: React.ReactNode\n checked?: boolean\n className?: string\n id?: string\n inputRef?: React.RefObject<HTMLInputElement | null>\n label?: LabelProps['label']\n labelProps?: SanitizedLabelProps\n name?: string\n onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n partialChecked?: boolean\n readOnly?: boolean\n required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomLabel,\n checked,\n className,\n inputRef,\n label,\n labelProps,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'check' : 'partial']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <CheckIcon />}\n {!checked && partialChecked && <LineIcon />}\n </span>\n {AfterInput}\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n htmlFor={id}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n </div>\n )\n}\n"],"names":["React","CheckIcon","LineIcon","FieldLabel","inputBaseClass","CheckboxInput","id","name","AfterInput","BeforeInput","CustomLabel","checked","className","inputRef","label","labelProps","onToggle","partialChecked","readOnly","required","div","filter","Boolean","join","input","aria-label","defaultChecked","disabled","onInput","ref","type","span","htmlFor"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,6BAA4B;AACtD,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,UAAU,QAAQ,yBAAwB;AAmBnD,OAAO,MAAMC,iBAAiB,iBAAgB;AAE9C,OAAO,MAAMC,gBAA8C,CAAC,EAC1DC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACT;IACC,qBACE,MAACC;QACCR,WAAW;YACTA;YACAR;YACAO,WAAW,CAAC,EAAEP,eAAe,SAAS,CAAC;YACvCc,YAAY,CAAC,EAAEd,eAAe,WAAW,CAAC;SAC3C,CACEiB,MAAM,CAACC,SACPC,IAAI,CAAC;;0BAER,MAACH;gBAAIR,WAAW,CAAC,EAAER,eAAe,OAAO,CAAC;;oBACvCK;kCACD,KAACe;wBACCC,cAAW;wBACXC,gBAAgBJ,QAAQX;wBACxBgB,UAAUT;wBACVZ,IAAIA;wBACJC,MAAMA;wBACNqB,SAASZ;wBACTa,KAAKhB;wBACLM,UAAUA;wBACVW,MAAK;;kCAEP,MAACC;wBACCnB,WAAW;4BAAC,CAAC,EAAER,eAAe,MAAM,CAAC;4BAAE,CAACO,WAAWM,iBAAiB,UAAU;yBAAU,CACrFI,MAAM,CAACC,SACPC,IAAI,CAAC;;4BAEPZ,yBAAW,KAACV;4BACZ,CAACU,WAAWM,gCAAkB,KAACf;;;oBAEjCM;;;0BAEH,KAACL;gBACCO,aAAaA;gBACbsB,SAAS1B;gBACTQ,OAAOA;gBACPK,UAAUA;gBACT,GAAIJ,cAAc,CAAC,CAAC;;;;AAI7B,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { LabelProps, SanitizedLabelProps } from 'payload'\n\nimport React from 'react'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { LineIcon } from '../../icons/Line/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\n\nexport type CheckboxInputProps = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomLabel?: React.ReactNode\n checked?: boolean\n className?: string\n id?: string\n inputRef?: React.RefObject<HTMLInputElement | null>\n label?: LabelProps<'checkbox'>['label']\n labelProps?: SanitizedLabelProps\n name?: string\n onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n partialChecked?: boolean\n readOnly?: boolean\n required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<CheckboxInputProps> = ({\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomLabel,\n checked,\n className,\n inputRef,\n label,\n labelProps,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'check' : 'partial']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <CheckIcon />}\n {!checked && partialChecked && <LineIcon />}\n </span>\n {AfterInput}\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n htmlFor={id}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n </div>\n )\n}\n"],"names":["React","CheckIcon","LineIcon","FieldLabel","inputBaseClass","CheckboxInput","id","name","AfterInput","BeforeInput","CustomLabel","checked","className","inputRef","label","labelProps","onToggle","partialChecked","readOnly","required","div","filter","Boolean","join","input","aria-label","defaultChecked","disabled","onInput","ref","type","span","htmlFor"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,6BAA4B;AACtD,SAASC,QAAQ,QAAQ,4BAA2B;AACpD,SAASC,UAAU,QAAQ,yBAAwB;AAmBnD,OAAO,MAAMC,iBAAiB,iBAAgB;AAE9C,OAAO,MAAMC,gBAA8C,CAAC,EAC1DC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACT;IACC,qBACE,MAACC;QACCR,WAAW;YACTA;YACAR;YACAO,WAAW,CAAC,EAAEP,eAAe,SAAS,CAAC;YACvCc,YAAY,CAAC,EAAEd,eAAe,WAAW,CAAC;SAC3C,CACEiB,MAAM,CAACC,SACPC,IAAI,CAAC;;0BAER,MAACH;gBAAIR,WAAW,CAAC,EAAER,eAAe,OAAO,CAAC;;oBACvCK;kCACD,KAACe;wBACCC,cAAW;wBACXC,gBAAgBJ,QAAQX;wBACxBgB,UAAUT;wBACVZ,IAAIA;wBACJC,MAAMA;wBACNqB,SAASZ;wBACTa,KAAKhB;wBACLM,UAAUA;wBACVW,MAAK;;kCAEP,MAACC;wBACCnB,WAAW;4BAAC,CAAC,EAAER,eAAe,MAAM,CAAC;4BAAE,CAACO,WAAWM,iBAAiB,UAAU;yBAAU,CACrFI,MAAM,CAACC,SACPC,IAAI,CAAC;;4BAEPZ,yBAAW,KAACV;4BACZ,CAACU,WAAWM,gCAAkB,KAACf;;;oBAEjCM;;;0BAEH,KAACL;gBACCO,aAAaA;gBACbsB,SAAS1B;gBACTQ,OAAOA;gBACPK,UAAUA;gBACT,GAAIJ,cAAc,CAAC,CAAC;;;;AAI7B,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { CheckboxFieldProps } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import type { CheckboxInputProps } from './Input.js';
|
|
3
|
-
import type { CheckboxFieldProps } from './types.js';
|
|
4
4
|
import { CheckboxInput } from './Input.js';
|
|
5
5
|
import './index.scss';
|
|
6
6
|
export { CheckboxFieldProps, CheckboxInput, type CheckboxInputProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAA;AAEjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;AAwGrE,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
|
|
@@ -14,7 +14,7 @@ import { CheckboxInput } from './Input.js';
|
|
|
14
14
|
import './index.scss';
|
|
15
15
|
const baseClass = 'checkbox';
|
|
16
16
|
export { CheckboxInput };
|
|
17
|
-
const
|
|
17
|
+
const CheckboxFieldComponent = (props)=>{
|
|
18
18
|
const { id, name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, checked: checkedFromProps, className, descriptionProps, disableFormData, errorProps, label, labelProps, onChange: onChangeFromProps, partialChecked, path: pathFromProps, readOnly: readOnlyFromProps, required, style, validate, width } = props;
|
|
19
19
|
const { uuid } = useForm();
|
|
20
20
|
const editDepth = useEditDepth();
|
|
@@ -90,6 +90,6 @@ const _CheckboxField = (props)=>{
|
|
|
90
90
|
]
|
|
91
91
|
});
|
|
92
92
|
};
|
|
93
|
-
export const CheckboxField = withCondition(
|
|
93
|
+
export const CheckboxField = withCondition(CheckboxFieldComponent);
|
|
94
94
|
|
|
95
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldProps, ClientValidate } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { CheckboxInput } from './Input.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldProps, CheckboxInput, type CheckboxInputProps }\n\nconst CheckboxFieldComponent: React.FC<CheckboxFieldProps> = (props) => {\n const {\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n checked: checkedFromProps,\n className,\n descriptionProps,\n disableFormData,\n errorProps,\n label,\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const editDepth = useEditDepth()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') onChangeFromProps(!value)\n }\n }, [onChangeFromProps, disabled, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, editDepth, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} alignCaret=\"left\" />\n <CheckboxInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomLabel={CustomLabel}\n checked={checked}\n id={fieldID}\n inputRef={null}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={disabled}\n required={required}\n />\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const CheckboxField = withCondition(CheckboxFieldComponent)\n"],"names":["React","useCallback","useFieldProps","useForm","useField","withCondition","useEditDepth","generateFieldID","FieldDescription","FieldError","fieldBaseClass","CheckboxInput","baseClass","CheckboxFieldComponent","props","id","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","checked","checkedFromProps","className","descriptionProps","disableFormData","errorProps","label","labelProps","onChange","onChangeFromProps","partialChecked","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","uuid","editDepth","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","onToggle","Boolean","fieldID","div","filter","join","alignCaret","inputRef","undefined","CheckboxField"],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CodeFieldProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { FormFieldBase } from '../shared/index.js';
|
|
4
3
|
import './index.scss';
|
|
5
|
-
export type CodeFieldProps = {
|
|
6
|
-
editorOptions?: CodeFieldType['admin']['editorOptions'];
|
|
7
|
-
language?: CodeFieldType['admin']['language'];
|
|
8
|
-
name?: string;
|
|
9
|
-
path?: string;
|
|
10
|
-
width: string;
|
|
11
|
-
} & FormFieldBase;
|
|
12
4
|
export declare const CodeField: React.FC<CodeFieldProps>;
|
|
13
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Code/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Code/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,OAAO,cAAc,CAAA;AAyFrB,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
|
|
@@ -15,7 +15,7 @@ const prismToMonacoLanguageMap = {
|
|
|
15
15
|
ts: 'typescript'
|
|
16
16
|
};
|
|
17
17
|
const baseClass = 'code-field';
|
|
18
|
-
const
|
|
18
|
+
const CodeFieldComponent = (props)=>{
|
|
19
19
|
const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions = {}, errorProps, label, labelProps, language = 'javascript', path: pathFromProps, readOnly: readOnlyFromProps, required, style, validate, width } = props;
|
|
20
20
|
const memoizedValidate = useCallback((value, options)=>{
|
|
21
21
|
if (typeof validate === 'function') {
|
|
@@ -78,6 +78,6 @@ const _CodeField = (props)=>{
|
|
|
78
78
|
]
|
|
79
79
|
});
|
|
80
80
|
};
|
|
81
|
-
export const CodeField = withCondition(
|
|
81
|
+
export const CodeField = withCondition(CodeFieldComponent);
|
|
82
82
|
|
|
83
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Code/index.tsx"],"sourcesContent":["'use client'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Code/index.tsx"],"sourcesContent":["'use client'\nimport type { CodeFieldProps } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst prismToMonacoLanguageMap = {\n js: 'javascript',\n ts: 'typescript',\n}\n\nconst baseClass = 'code-field'\n\nconst CodeFieldComponent: React.FC<CodeFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions = {},\n errorProps,\n label,\n labelProps,\n language = 'javascript',\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n disabled && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <CodeEditor\n defaultLanguage={prismToMonacoLanguageMap[language] || language}\n onChange={disabled ? () => null : (val) => setValue(val)}\n options={editorOptions}\n readOnly={disabled}\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription ? CustomDescription : <FieldDescription {...(descriptionProps || {})} />}\n </div>\n )\n}\n\nexport const CodeField = withCondition(CodeFieldComponent)\n"],"names":["React","useCallback","CodeEditor","useFieldProps","useField","withCondition","FieldDescription","FieldError","FieldLabel","fieldBaseClass","prismToMonacoLanguageMap","js","ts","baseClass","CodeFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","language","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","defaultLanguage","onChange","val","CodeField"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,MAAMC,2BAA2B;IAC/BC,IAAI;IACJC,IAAI;AACN;AAEA,MAAMC,YAAY;AAElB,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,CAAC,CAAC,EAClBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,WAAW,YAAY,EACvBC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAMsB,mBAAmBpC,YACvB,CAACqC,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMW,eAAe,EAAET,UAAUU,mBAAmB,EAAE,GAAGtC;IAEjE,MAAM,EAAEuC,gBAAgB,EAAEC,cAAc,EAAEd,IAAI,EAAEe,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGlC,SAAS;QACtFyB,MAAMW,mBAAmBV,iBAAiBd;QAC1CmB,UAAUE;IACZ;IAEA,MAAMS,WAAWd,qBAAqBS,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACCzB,WAAW;YACTb;YACAI;YACAS;YACAuB,aAAa;YACbC,YAAY;SACb,CACEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRhB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC5B;gBACCa,aAAaA;gBACbK,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACoB;gBAAIzB,WAAW,CAAC,EAAEb,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWa,aAAaA;wBAAaS,MAAMA;wBAAO,GAAIJ,cAAc,CAAC,CAAC;;oBACtEP;kCACD,KAAChB;wBACCiD,iBAAiBzC,wBAAwB,CAACkB,SAAS,IAAIA;wBACvDwB,UAAUN,WAAW,IAAM,OAAO,CAACO,MAAQT,SAASS;wBACpDd,SAASf;wBACTO,UAAUe;wBACVR,OAAO,AAACA,SAAoB;;oBAE7BrB;;;YAEFE,oBAAoBA,kCAAoB,KAACb;gBAAkB,GAAIiB,oBAAoB,CAAC,CAAC;;;;AAG5F;AAEA,OAAO,MAAM+B,YAAYjD,cAAcS,oBAAmB"}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
+
import type { CollapsibleFieldProps } from 'payload';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import './index.scss';
|
|
3
|
-
import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
|
|
4
|
-
import type { FormFieldBase } from '../shared/index.js';
|
|
5
|
-
export type CollapsibleFieldProps = {
|
|
6
|
-
fieldMap: FieldMap;
|
|
7
|
-
initCollapsed?: boolean;
|
|
8
|
-
width?: string;
|
|
9
|
-
} & FormFieldBase;
|
|
10
4
|
export declare const CollapsibleField: React.FC<CollapsibleFieldProps>;
|
|
11
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAqD,MAAM,OAAO,CAAA;AAazE,OAAO,cAAc,CAAA;AA6IrB,eAAO,MAAM,gBAAgB,iCAA2C,CAAA"}
|
|
@@ -16,7 +16,7 @@ import './index.scss';
|
|
|
16
16
|
const baseClass = 'collapsible-field';
|
|
17
17
|
import { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js';
|
|
18
18
|
import { FieldDescription } from '../FieldDescription/index.js';
|
|
19
|
-
const
|
|
19
|
+
const CollapsibleFieldComponent = (props)=>{
|
|
20
20
|
const { CustomDescription, CustomLabel, className, descriptionProps, fieldMap, initCollapsed = false, label, path: pathFromProps, readOnly: readOnlyFromProps } = props;
|
|
21
21
|
const { indexPath, path: pathFromContext, readOnly: readOnlyFromContext, schemaPath, siblingPermissions } = useFieldProps();
|
|
22
22
|
const formInitializing = useFormInitializing();
|
|
@@ -141,6 +141,6 @@ const _CollapsibleField = (props)=>{
|
|
|
141
141
|
]
|
|
142
142
|
});
|
|
143
143
|
};
|
|
144
|
-
export const CollapsibleField = withCondition(
|
|
144
|
+
export const CollapsibleField = withCondition(CollapsibleFieldComponent);
|
|
145
145
|
|
|
146
146
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences, FieldPermissions } from 'payload'\n\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'collapsible-field'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\n\nexport type CollapsibleFieldProps = {\n fieldMap: FieldMap\n initCollapsed?: boolean\n width?: string\n} & FormFieldBase\n\nconst _CollapsibleField: React.FC<CollapsibleFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n initCollapsed = false,\n label,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n\n const formInitializing = useFormInitializing()\n const formProcessing = useFormProcessing()\n\n const path = pathFromContext ?? pathFromProps\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${indexPath.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean) => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n if (typeof collapsedOnMount !== 'boolean') return null\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <Fragment>\n <WatchChildErrors fieldMap={fieldMap} path={path} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}${path ? `-${path.replace(/\\./g, '__')}` : ''}`}\n >\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel RowLabelComponent={CustomLabel} i18n={i18n} path={path} rowLabel={label} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fieldMap={fieldMap}\n forceRender\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={siblingPermissions}\n readOnly={disabled}\n schemaPath={schemaPath}\n />\n </CollapsibleElement>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </div>\n </Fragment>\n )\n}\n\nexport const CollapsibleField = withCondition(_CollapsibleField)\n"],"names":["React","Fragment","useCallback","useEffect","useState","Collapsible","CollapsibleElement","ErrorPill","useFieldProps","RenderFields","RowLabel","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","baseClass","useFormInitializing","useFormProcessing","FieldDescription","_CollapsibleField","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","initCollapsed","label","path","pathFromProps","readOnly","readOnlyFromProps","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","formInitializing","formProcessing","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","onToggle","newCollapsedState","existingPreferences","fields","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","disabled","div","filter","join","id","collapsibleStyle","header","RowLabelComponent","rowLabel","count","withMessage","forceRender","margins","permissions","CollapsibleField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldProps, DocumentPreferences } from 'payload'\n\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport { Collapsible as CollapsibleElement } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { WatchChildErrors } from '../../forms/WatchChildErrors/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'collapsible-field'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\n\nconst CollapsibleFieldComponent: React.FC<CollapsibleFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomLabel,\n className,\n descriptionProps,\n fieldMap,\n initCollapsed = false,\n label,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n\n const formInitializing = useFormInitializing()\n const formProcessing = useFormProcessing()\n\n const path = pathFromContext ?? pathFromProps\n\n const { i18n } = useTranslation()\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const [collapsedOnMount, setCollapsedOnMount] = useState<boolean>()\n const fieldPreferencesKey = `collapsible-${indexPath.replace(/\\./g, '__')}`\n const [errorCount, setErrorCount] = useState(0)\n const fieldHasErrors = errorCount > 0\n\n const onToggle = useCallback(\n async (newCollapsedState: boolean): Promise<void> => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n collapsed: newCollapsedState,\n },\n },\n }\n : {\n fields: {\n ...(existingPreferences?.fields || {}),\n [fieldPreferencesKey]: {\n ...existingPreferences?.fields?.[fieldPreferencesKey],\n collapsed: newCollapsedState,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, fieldPreferencesKey, getPreference, setPreference, path],\n )\n\n useEffect(() => {\n const fetchInitialState = async () => {\n if (preferencesKey) {\n const preferences = await getPreference(preferencesKey)\n const specificPreference = path\n ? preferences?.fields?.[path]?.collapsed\n : preferences?.fields?.[fieldPreferencesKey]?.collapsed\n\n if (specificPreference !== undefined) {\n setCollapsedOnMount(Boolean(specificPreference))\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n } else {\n setCollapsedOnMount(typeof initCollapsed === 'boolean' ? initCollapsed : false)\n }\n }\n\n void fetchInitialState()\n }, [getPreference, preferencesKey, fieldPreferencesKey, initCollapsed, path])\n\n if (typeof collapsedOnMount !== 'boolean') return null\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <Fragment>\n <WatchChildErrors fieldMap={fieldMap} path={path} setErrorCount={setErrorCount} />\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${fieldPreferencesKey}${path ? `-${path.replace(/\\./g, '__')}` : ''}`}\n >\n <CollapsibleElement\n className={`${baseClass}__collapsible`}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n header={\n <div className={`${baseClass}__row-label-wrap`}>\n <RowLabel RowLabelComponent={CustomLabel} i18n={i18n} path={path} rowLabel={label} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n initCollapsed={collapsedOnMount}\n onToggle={onToggle}\n >\n <RenderFields\n fieldMap={fieldMap}\n forceRender\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={siblingPermissions}\n readOnly={disabled}\n schemaPath={schemaPath}\n />\n </CollapsibleElement>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </div>\n </Fragment>\n )\n}\n\nexport const CollapsibleField = withCondition(CollapsibleFieldComponent)\n"],"names":["React","Fragment","useCallback","useEffect","useState","Collapsible","CollapsibleElement","ErrorPill","useFieldProps","RenderFields","RowLabel","WatchChildErrors","withCondition","useDocumentInfo","usePreferences","useTranslation","fieldBaseClass","baseClass","useFormInitializing","useFormProcessing","FieldDescription","CollapsibleFieldComponent","props","CustomDescription","CustomLabel","className","descriptionProps","fieldMap","initCollapsed","label","path","pathFromProps","readOnly","readOnlyFromProps","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","formInitializing","formProcessing","i18n","getPreference","setPreference","preferencesKey","collapsedOnMount","setCollapsedOnMount","fieldPreferencesKey","replace","errorCount","setErrorCount","fieldHasErrors","onToggle","newCollapsedState","existingPreferences","fields","collapsed","fetchInitialState","preferences","specificPreference","undefined","Boolean","disabled","div","filter","join","id","collapsibleStyle","header","RowLabelComponent","rowLabel","count","withMessage","forceRender","margins","permissions","CollapsibleField"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/ConfirmPassword/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/ConfirmPassword/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAoDpE,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { FieldLabel } from '../FieldLabel/index.js';
|
|
|
9
9
|
import { fieldBaseClass } from '../shared/index.js';
|
|
10
10
|
import './index.scss';
|
|
11
11
|
export const ConfirmPasswordField = (props)=>{
|
|
12
|
-
const { disabled } = props;
|
|
12
|
+
const { disabled, path = 'confirm-password' } = props;
|
|
13
13
|
const password = useFormFields(([fields])=>fields?.password);
|
|
14
14
|
const { t } = useTranslation();
|
|
15
15
|
const validate = useCallback((value)=>{
|
|
@@ -24,9 +24,7 @@ export const ConfirmPasswordField = (props)=>{
|
|
|
24
24
|
password,
|
|
25
25
|
t
|
|
26
26
|
]);
|
|
27
|
-
const path = 'confirm-password';
|
|
28
27
|
const { setValue, showError, value } = useField({
|
|
29
|
-
disableFormData: true,
|
|
30
28
|
path,
|
|
31
29
|
validate
|
|
32
30
|
});
|
|
@@ -49,6 +47,7 @@ export const ConfirmPasswordField = (props)=>{
|
|
|
49
47
|
path: path
|
|
50
48
|
}),
|
|
51
49
|
/*#__PURE__*/ _jsx("input", {
|
|
50
|
+
"aria-label": t('authentication:confirmPassword'),
|
|
52
51
|
autoComplete: "off",
|
|
53
52
|
disabled: !!disabled,
|
|
54
53
|
id: "field-confirm-password",
|