@wordpress/dataviews 4.4.3 → 4.4.4

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.
@@ -31,14 +31,11 @@ function DropdownHeader({
31
31
  level: 2,
32
32
  size: 13,
33
33
  children: title
34
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalSpacer, {}), onClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
35
- // TODO: Switch to `true` (40px size) if possible
36
- , {
37
- __next40pxDefaultSize: false,
38
- className: "dataforms-layouts-panel__dropdown-header-action",
34
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalSpacer, {}), onClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
39
35
  label: (0, _i18n.__)('Close'),
40
36
  icon: _icons.closeSmall,
41
- onClick: onClose
37
+ onClick: onClose,
38
+ size: "small"
42
39
  })]
43
40
  })
44
41
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_icons","_normalizeFields","_jsxRuntime","DropdownHeader","title","onClose","jsx","__experimentalVStack","className","spacing","children","jsxs","__experimentalHStack","alignment","__experimentalHeading","level","size","__experimentalSpacer","Button","__next40pxDefaultSize","label","__","icon","closeSmall","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","ref","Dropdown","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","sprintf","render","item","renderContent","Fragment","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","_form$fields","normalizeFields","map","fieldId","find","filter"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField, Field } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header-action\"\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\t( form.fields ?? [] )\n\t\t\t\t\t.map( ( fieldId ) =>\n\t\t\t\t\t\tfields.find( ( { id } ) => id === fieldId )\n\t\t\t\t\t)\n\t\t\t\t\t.filter( ( field ): field is Field< Item > => !! field )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","_normalizeFields","_jsxRuntime","DropdownHeader","title","onClose","jsx","__experimentalVStack","className","spacing","children","jsxs","__experimentalHStack","alignment","__experimentalHeading","level","size","__experimentalSpacer","Button","label","__","icon","closeSmall","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","placement","offset","shift","ref","Dropdown","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","sprintf","render","item","renderContent","Fragment","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","_form$fields","normalizeFields","map","fieldId","find","filter"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField, Field } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\t( form.fields ?? [] )\n\t\t\t\t\t.map( ( fieldId ) =>\n\t\t\t\t\t\tfields.find( ( { id } ) => id === fieldId )\n\t\t\t\t\t)\n\t\t\t\t\t.filter( ( field ): field is Field< Item > => !! field )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,14 +26,11 @@ function DropdownHeader({
26
26
  level: 2,
27
27
  size: 13,
28
28
  children: title
29
- }), /*#__PURE__*/_jsx(Spacer, {}), onClose && /*#__PURE__*/_jsx(Button
30
- // TODO: Switch to `true` (40px size) if possible
31
- , {
32
- __next40pxDefaultSize: false,
33
- className: "dataforms-layouts-panel__dropdown-header-action",
29
+ }), /*#__PURE__*/_jsx(Spacer, {}), onClose && /*#__PURE__*/_jsx(Button, {
34
30
  label: __('Close'),
35
31
  icon: closeSmall,
36
- onClick: onClose
32
+ onClick: onClose,
33
+ size: "small"
37
34
  })]
38
35
  })
39
36
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","useState","useMemo","sprintf","__","closeSmall","normalizeFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","__next40pxDefaultSize","label","icon","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","render","item","renderContent","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","_form$fields","map","fieldId","find","filter"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField, Field } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header-action\"\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\t( form.fields ?? [] )\n\t\t\t\t\t.map( ( fieldId ) =>\n\t\t\t\t\t\tfields.find( ( { id } ) => id === fieldId )\n\t\t\t\t\t)\n\t\t\t\t\t.filter( ( field ): field is Field< Item > => !! field )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Dropdown","Button","useState","useMemo","sprintf","__","closeSmall","normalizeFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownHeader","title","onClose","className","spacing","children","alignment","level","size","label","icon","onClick","FormField","data","field","onChange","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","toggleProps","variant","tooltipPosition","renderToggle","isOpen","onToggle","render","item","renderContent","Edit","hideLabelFromVision","id","FormPanel","fields","form","visibleFields","_form$fields","map","fieldId","find","filter"],"sources":["@wordpress/dataviews/src/dataforms-layouts/panel/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tDropdown,\n\tButton,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { normalizeFields } from '../../normalize-fields';\nimport type { DataFormProps, NormalizedField, Field } from '../../types';\n\ninterface FormFieldProps< Item > {\n\tdata: Item;\n\tfield: NormalizedField< Item >;\n\tonChange: ( value: any ) => void;\n}\n\nfunction DropdownHeader( {\n\ttitle,\n\tonClose,\n}: {\n\ttitle: string;\n\tonClose: () => void;\n} ) {\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"dataforms-layouts-panel__dropdown-header\"\n\t\t\tspacing={ 4 }\n\t\t>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction FormField< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n}: FormFieldProps< Item > ) {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState< HTMLElement | null >(\n\t\tnull\n\t);\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tref={ setPopoverAnchor }\n\t\t\tclassName=\"dataforms-layouts-panel__field\"\n\t\t>\n\t\t\t<div className=\"dataforms-layouts-panel__field-label\">\n\t\t\t\t{ field.label }\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<Dropdown\n\t\t\t\t\tcontentClassName=\"dataforms-layouts-panel__field-dropdown\"\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\t\ttooltipPosition: 'middle left',\n\t\t\t\t\t} }\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataforms-layouts-panel__field-control\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Field name.\n\t\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<field.render item={ data } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DropdownHeader\n\t\t\t\t\t\t\t\ttitle={ field.label }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<field.Edit\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</HStack>\n\t);\n}\n\nexport default function FormPanel< Item >( {\n\tdata,\n\tfields,\n\tform,\n\tonChange,\n}: DataFormProps< Item > ) {\n\tconst visibleFields = useMemo(\n\t\t() =>\n\t\t\tnormalizeFields(\n\t\t\t\t( form.fields ?? [] )\n\t\t\t\t\t.map( ( fieldId ) =>\n\t\t\t\t\t\tfields.find( ( { id } ) => id === fieldId )\n\t\t\t\t\t)\n\t\t\t\t\t.filter( ( field ): field is Field< Item > => !! field )\n\t\t\t),\n\t\t[ fields, form.fields ]\n\t);\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1167,15 +1167,4 @@ ul.dataviews-view-list {
1167
1167
 
1168
1168
  .dataforms-layouts-panel__dropdown-header {
1169
1169
  margin-bottom: 16px;
1170
- }
1171
-
1172
- [class].dataforms-layouts-panel__dropdown-header-action {
1173
- height: 24px;
1174
- }
1175
- [class].dataforms-layouts-panel__dropdown-header-action.has-icon {
1176
- min-width: 24px;
1177
- padding: 0;
1178
- }
1179
- [class].dataforms-layouts-panel__dropdown-header-action:not(.has-icon) {
1180
- text-decoration: underline;
1181
1170
  }
@@ -1167,15 +1167,4 @@ ul.dataviews-view-list {
1167
1167
 
1168
1168
  .dataforms-layouts-panel__dropdown-header {
1169
1169
  margin-bottom: 16px;
1170
- }
1171
-
1172
- [class].dataforms-layouts-panel__dropdown-header-action {
1173
- height: 24px;
1174
- }
1175
- [class].dataforms-layouts-panel__dropdown-header-action.has-icon {
1176
- min-width: 24px;
1177
- padding: 0;
1178
- }
1179
- [class].dataforms-layouts-panel__dropdown-header-action:not(.has-icon) {
1180
- text-decoration: underline;
1181
1170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataforms-layouts/panel/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,aAAa,CAAC;AAsHzE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,IAAI,EAAI,EAC1C,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACR,EAAE,aAAa,CAAE,IAAI,CAAE,+BA2BvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dataforms-layouts/panel/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,aAAa,CAAC;AAoHzE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,IAAI,EAAI,EAC1C,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACR,EAAE,aAAa,CAAE,IAAI,CAAE,+BA2BvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/dataviews",
3
- "version": "4.4.3",
3
+ "version": "4.4.4",
4
4
  "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@ariakit/react": "^0.4.10",
32
32
  "@babel/runtime": "^7.16.0",
33
- "@wordpress/components": "^28.8.3",
33
+ "@wordpress/components": "^28.8.4",
34
34
  "@wordpress/compose": "^7.8.3",
35
35
  "@wordpress/data": "^10.8.3",
36
36
  "@wordpress/element": "^6.8.1",
@@ -48,5 +48,5 @@
48
48
  "publishConfig": {
49
49
  "access": "public"
50
50
  },
51
- "gitHead": "6187079697e13c3292eb098d6338523a6676c6e8"
51
+ "gitHead": "07c75154341d1e5a1b8aaa1c226029b6666a52a9"
52
52
  }
@@ -44,12 +44,10 @@ function DropdownHeader( {
44
44
  <Spacer />
45
45
  { onClose && (
46
46
  <Button
47
- // TODO: Switch to `true` (40px size) if possible
48
- __next40pxDefaultSize={ false }
49
- className="dataforms-layouts-panel__dropdown-header-action"
50
47
  label={ __( 'Close' ) }
51
48
  icon={ closeSmall }
52
49
  onClick={ onClose }
50
+ size="small"
53
51
  />
54
52
  ) }
55
53
  </HStack>
@@ -44,16 +44,3 @@
44
44
  .dataforms-layouts-panel__dropdown-header {
45
45
  margin-bottom: $grid-unit-20;
46
46
  }
47
-
48
- [class].dataforms-layouts-panel__dropdown-header-action {
49
- height: $icon-size;
50
-
51
- &.has-icon {
52
- min-width: $icon-size;
53
- padding: 0;
54
- }
55
-
56
- &:not(.has-icon) {
57
- text-decoration: underline;
58
- }
59
- }