@wordpress/interface 7.0.0 → 8.1.0

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/components/complementary-area/index.js +12 -10
  3. package/build/components/complementary-area/index.js.map +1 -1
  4. package/build/components/complementary-area-header/index.js +4 -13
  5. package/build/components/complementary-area-header/index.js.map +1 -1
  6. package/build/components/complementary-area-toggle/index.js +7 -6
  7. package/build/components/complementary-area-toggle/index.js.map +1 -1
  8. package/build/components/interface-skeleton/index.js +1 -1
  9. package/build/components/interface-skeleton/index.js.map +1 -1
  10. package/build-module/components/complementary-area/index.js +12 -10
  11. package/build-module/components/complementary-area/index.js.map +1 -1
  12. package/build-module/components/complementary-area-header/index.js +5 -14
  13. package/build-module/components/complementary-area-header/index.js.map +1 -1
  14. package/build-module/components/complementary-area-toggle/index.js +7 -5
  15. package/build-module/components/complementary-area-toggle/index.js.map +1 -1
  16. package/build-module/components/interface-skeleton/index.js +1 -1
  17. package/build-module/components/interface-skeleton/index.js.map +1 -1
  18. package/build-style/style-rtl.css +4 -38
  19. package/build-style/style.css +4 -38
  20. package/package.json +14 -14
  21. package/src/components/complementary-area/README.md +0 -8
  22. package/src/components/complementary-area/index.js +14 -12
  23. package/src/components/complementary-area/style.scss +1 -5
  24. package/src/components/complementary-area-header/index.js +11 -22
  25. package/src/components/complementary-area-header/style.scss +3 -33
  26. package/src/components/complementary-area-toggle/index.js +7 -6
  27. package/src/components/interface-skeleton/index.js +1 -1
  28. package/build/components/complementary-area-context/index.js +0 -17
  29. package/build/components/complementary-area-context/index.js.map +0 -1
  30. package/build-module/components/complementary-area-context/index.js +0 -11
  31. package/build-module/components/complementary-area-context/index.js.map +0 -1
  32. package/complementary-area-context/index.js +0 -12
  33. package/lock-unlock.js +0 -10
  34. package/src/components/complementary-area-context/index.js +0 -12
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","closeSmall","ComplementaryAreaToggle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ComplementaryAreaHeader","smallScreenTitle","children","className","toggleButtonProps","toggleButton","icon","tabIndex"],"sources":["@wordpress/interface/src/components/complementary-area-header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ComplementaryAreaToggle from '../complementary-area-toggle';\n\nconst ComplementaryAreaHeader = ( {\n\tsmallScreenTitle,\n\tchildren,\n\tclassName,\n\ttoggleButtonProps,\n} ) => {\n\tconst toggleButton = (\n\t\t<ComplementaryAreaToggle icon={ closeSmall } { ...toggleButtonProps } />\n\t);\n\treturn (\n\t\t<>\n\t\t\t<div className=\"components-panel__header interface-complementary-area-header__small\">\n\t\t\t\t{ smallScreenTitle && (\n\t\t\t\t\t<h2 className=\"interface-complementary-area-header__small-title\">\n\t\t\t\t\t\t{ smallScreenTitle }\n\t\t\t\t\t</h2>\n\t\t\t\t) }\n\t\t\t\t{ toggleButton }\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'components-panel__header',\n\t\t\t\t\t'interface-complementary-area-header',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t\t{ toggleButton }\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default ComplementaryAreaHeader;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,UAAU,QAAQ,kBAAkB;;AAE7C;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEnE,MAAMC,uBAAuB,GAAGA,CAAE;EACjCC,gBAAgB;EAChBC,QAAQ;EACRC,SAAS;EACTC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,gBACjBV,IAAA,CAACF,uBAAuB;IAACa,IAAI,EAAGd,UAAY;IAAA,GAAMY;EAAiB,CAAI,CACvE;EACD,oBACCP,KAAA,CAAAE,SAAA;IAAAG,QAAA,gBACCL,KAAA;MAAKM,SAAS,EAAC,qEAAqE;MAAAD,QAAA,GACjFD,gBAAgB,iBACjBN,IAAA;QAAIQ,SAAS,EAAC,kDAAkD;QAAAD,QAAA,EAC7DD;MAAgB,CACf,CACJ,EACCI,YAAY;IAAA,CACV,CAAC,eACNR,KAAA;MACCM,SAAS,EAAGZ,IAAI,CACf,0BAA0B,EAC1B,qCAAqC,EACrCY,SACD,CAAG;MACHI,QAAQ,EAAG,CAAC,CAAG;MAAAL,QAAA,GAEbA,QAAQ,EACRG,YAAY;IAAA,CACV,CAAC;EAAA,CACL,CAAC;AAEL,CAAC;AAED,eAAeL,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","closeSmall","ComplementaryAreaToggle","jsx","_jsx","jsxs","_jsxs","ComplementaryAreaHeader","children","className","toggleButtonProps","toggleButton","icon","tabIndex"],"sources":["@wordpress/interface/src/components/complementary-area-header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ComplementaryAreaToggle from '../complementary-area-toggle';\n\nconst ComplementaryAreaHeader = ( {\n\tchildren,\n\tclassName,\n\ttoggleButtonProps,\n} ) => {\n\tconst toggleButton = (\n\t\t<ComplementaryAreaToggle icon={ closeSmall } { ...toggleButtonProps } />\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'components-panel__header',\n\t\t\t\t'interface-complementary-area-header',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\ttabIndex={ -1 }\n\t\t>\n\t\t\t{ children }\n\t\t\t{ toggleButton }\n\t\t</div>\n\t);\n};\n\nexport default ComplementaryAreaHeader;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,UAAU,QAAQ,kBAAkB;;AAE7C;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnE,MAAMC,uBAAuB,GAAGA,CAAE;EACjCC,QAAQ;EACRC,SAAS;EACTC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,gBACjBP,IAAA,CAACF,uBAAuB;IAACU,IAAI,EAAGX,UAAY;IAAA,GAAMS;EAAiB,CAAI,CACvE;EACD,oBACCJ,KAAA;IACCG,SAAS,EAAGT,IAAI,CACf,0BAA0B,EAC1B,qCAAqC,EACrCS,SACD,CAAG;IACHI,QAAQ,EAAG,CAAC,CAAG;IAAAL,QAAA,GAEbA,QAAQ,EACRG,YAAY;EAAA,CACV,CAAC;AAER,CAAC;AAED,eAAeJ,uBAAuB","ignoreList":[]}
@@ -3,12 +3,12 @@
3
3
  */
4
4
  import { Button } from '@wordpress/components';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { usePluginContext } from '@wordpress/plugins';
6
7
 
7
8
  /**
8
9
  * Internal dependencies
9
10
  */
10
11
  import { store as interfaceStore } from '../../store';
11
- import complementaryAreaContext from '../complementary-area-context';
12
12
 
13
13
  /**
14
14
  * Whether the role supports checked state.
@@ -21,17 +21,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
21
21
  function roleSupportsCheckedState(role) {
22
22
  return ['checkbox', 'option', 'radio', 'switch', 'menuitemcheckbox', 'menuitemradio', 'treeitem'].includes(role);
23
23
  }
24
- function ComplementaryAreaToggle({
24
+ export default function ComplementaryAreaToggle({
25
25
  as = Button,
26
26
  scope,
27
- identifier,
28
- icon,
27
+ identifier: identifierProp,
28
+ icon: iconProp,
29
29
  selectedIcon,
30
30
  name,
31
31
  shortcut,
32
32
  ...props
33
33
  }) {
34
34
  const ComponentToUse = as;
35
+ const context = usePluginContext();
36
+ const icon = iconProp || context.icon;
37
+ const identifier = identifierProp || `${context.name}/${name}`;
35
38
  const isSelected = useSelect(select => select(interfaceStore).getActiveComplementaryArea(scope) === identifier, [identifier, scope]);
36
39
  const {
37
40
  enableComplementaryArea,
@@ -54,5 +57,4 @@ function ComplementaryAreaToggle({
54
57
  ...props
55
58
  });
56
59
  }
57
- export default complementaryAreaContext(ComplementaryAreaToggle);
58
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Button","useDispatch","useSelect","store","interfaceStore","complementaryAreaContext","jsx","_jsx","roleSupportsCheckedState","role","includes","ComplementaryAreaToggle","as","scope","identifier","icon","selectedIcon","name","shortcut","props","ComponentToUse","isSelected","select","getActiveComplementaryArea","enableComplementaryArea","disableComplementaryArea","replace","undefined","onClick"],"sources":["@wordpress/interface/src/components/complementary-area-toggle/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as interfaceStore } from '../../store';\nimport complementaryAreaContext from '../complementary-area-context';\n\n/**\n * Whether the role supports checked state.\n *\n * @param {import('react').AriaRole} role Role.\n * @return {boolean} Whether the role supports checked state.\n * @see https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n */\nfunction roleSupportsCheckedState( role ) {\n\treturn [\n\t\t'checkbox',\n\t\t'option',\n\t\t'radio',\n\t\t'switch',\n\t\t'menuitemcheckbox',\n\t\t'menuitemradio',\n\t\t'treeitem',\n\t].includes( role );\n}\n\nfunction ComplementaryAreaToggle( {\n\tas = Button,\n\tscope,\n\tidentifier,\n\ticon,\n\tselectedIcon,\n\tname,\n\tshortcut,\n\t...props\n} ) {\n\tconst ComponentToUse = as;\n\tconst isSelected = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( scope ) ===\n\t\t\tidentifier,\n\t\t[ identifier, scope ]\n\t);\n\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\treturn (\n\t\t<ComponentToUse\n\t\t\ticon={ selectedIcon && isSelected ? selectedIcon : icon }\n\t\t\taria-controls={ identifier.replace( '/', ':' ) }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\troleSupportsCheckedState( props.role ) ? isSelected : undefined\n\t\t\t}\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isSelected ) {\n\t\t\t\t\tdisableComplementaryArea( scope );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( scope, identifier );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default complementaryAreaContext( ComplementaryAreaToggle );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,cAAc,QAAQ,aAAa;AACrD,OAAOC,wBAAwB,MAAM,+BAA+B;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAOA,SAASC,wBAAwBA,CAAEC,IAAI,EAAG;EACzC,OAAO,CACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,UAAU,CACV,CAACC,QAAQ,CAAED,IAAK,CAAC;AACnB;AAEA,SAASE,uBAAuBA,CAAE;EACjCC,EAAE,GAAGZ,MAAM;EACXa,KAAK;EACLC,UAAU;EACVC,IAAI;EACJC,YAAY;EACZC,IAAI;EACJC,QAAQ;EACR,GAAGC;AACJ,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGR,EAAE;EACzB,MAAMS,UAAU,GAAGnB,SAAS,CACzBoB,MAAM,IACPA,MAAM,CAAElB,cAAe,CAAC,CAACmB,0BAA0B,CAAEV,KAAM,CAAC,KAC5DC,UAAU,EACX,CAAEA,UAAU,EAAED,KAAK,CACpB,CAAC;EAED,MAAM;IAAEW,uBAAuB;IAAEC;EAAyB,CAAC,GAC1DxB,WAAW,CAAEG,cAAe,CAAC;EAE9B,oBACCG,IAAA,CAACa,cAAc;IACdL,IAAI,EAAGC,YAAY,IAAIK,UAAU,GAAGL,YAAY,GAAGD,IAAM;IACzD,iBAAgBD,UAAU,CAACY,OAAO,CAAE,GAAG,EAAE,GAAI;IAC7C;IAAA;IACA,gBACClB,wBAAwB,CAAEW,KAAK,CAACV,IAAK,CAAC,GAAGY,UAAU,GAAGM,SACtD;IACDC,OAAO,EAAGA,CAAA,KAAM;MACf,IAAKP,UAAU,EAAG;QACjBI,wBAAwB,CAAEZ,KAAM,CAAC;MAClC,CAAC,MAAM;QACNW,uBAAuB,CAAEX,KAAK,EAAEC,UAAW,CAAC;MAC7C;IACD,CAAG;IACHI,QAAQ,EAAGA,QAAU;IAAA,GAChBC;EAAK,CACV,CAAC;AAEJ;AAEA,eAAed,wBAAwB,CAAEM,uBAAwB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Button","useDispatch","useSelect","usePluginContext","store","interfaceStore","jsx","_jsx","roleSupportsCheckedState","role","includes","ComplementaryAreaToggle","as","scope","identifier","identifierProp","icon","iconProp","selectedIcon","name","shortcut","props","ComponentToUse","context","isSelected","select","getActiveComplementaryArea","enableComplementaryArea","disableComplementaryArea","replace","undefined","onClick"],"sources":["@wordpress/interface/src/components/complementary-area-toggle/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { usePluginContext } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport { store as interfaceStore } from '../../store';\n\n/**\n * Whether the role supports checked state.\n *\n * @param {import('react').AriaRole} role Role.\n * @return {boolean} Whether the role supports checked state.\n * @see https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n */\nfunction roleSupportsCheckedState( role ) {\n\treturn [\n\t\t'checkbox',\n\t\t'option',\n\t\t'radio',\n\t\t'switch',\n\t\t'menuitemcheckbox',\n\t\t'menuitemradio',\n\t\t'treeitem',\n\t].includes( role );\n}\n\nexport default function ComplementaryAreaToggle( {\n\tas = Button,\n\tscope,\n\tidentifier: identifierProp,\n\ticon: iconProp,\n\tselectedIcon,\n\tname,\n\tshortcut,\n\t...props\n} ) {\n\tconst ComponentToUse = as;\n\tconst context = usePluginContext();\n\tconst icon = iconProp || context.icon;\n\tconst identifier = identifierProp || `${ context.name }/${ name }`;\n\tconst isSelected = useSelect(\n\t\t( select ) =>\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( scope ) ===\n\t\t\tidentifier,\n\t\t[ identifier, scope ]\n\t);\n\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\treturn (\n\t\t<ComponentToUse\n\t\t\ticon={ selectedIcon && isSelected ? selectedIcon : icon }\n\t\t\taria-controls={ identifier.replace( '/', ':' ) }\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\taria-checked={\n\t\t\t\troleSupportsCheckedState( props.role ) ? isSelected : undefined\n\t\t\t}\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isSelected ) {\n\t\t\t\t\tdisableComplementaryArea( scope );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( scope, identifier );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,cAAc,QAAQ,aAAa;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAOA,SAASC,wBAAwBA,CAAEC,IAAI,EAAG;EACzC,OAAO,CACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,UAAU,CACV,CAACC,QAAQ,CAAED,IAAK,CAAC;AACnB;AAEA,eAAe,SAASE,uBAAuBA,CAAE;EAChDC,EAAE,GAAGZ,MAAM;EACXa,KAAK;EACLC,UAAU,EAAEC,cAAc;EAC1BC,IAAI,EAAEC,QAAQ;EACdC,YAAY;EACZC,IAAI;EACJC,QAAQ;EACR,GAAGC;AACJ,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGV,EAAE;EACzB,MAAMW,OAAO,GAAGpB,gBAAgB,CAAC,CAAC;EAClC,MAAMa,IAAI,GAAGC,QAAQ,IAAIM,OAAO,CAACP,IAAI;EACrC,MAAMF,UAAU,GAAGC,cAAc,IAAI,GAAIQ,OAAO,CAACJ,IAAI,IAAMA,IAAI,EAAG;EAClE,MAAMK,UAAU,GAAGtB,SAAS,CACzBuB,MAAM,IACPA,MAAM,CAAEpB,cAAe,CAAC,CAACqB,0BAA0B,CAAEb,KAAM,CAAC,KAC5DC,UAAU,EACX,CAAEA,UAAU,EAAED,KAAK,CACpB,CAAC;EAED,MAAM;IAAEc,uBAAuB;IAAEC;EAAyB,CAAC,GAC1D3B,WAAW,CAAEI,cAAe,CAAC;EAE9B,oBACCE,IAAA,CAACe,cAAc;IACdN,IAAI,EAAGE,YAAY,IAAIM,UAAU,GAAGN,YAAY,GAAGF,IAAM;IACzD,iBAAgBF,UAAU,CAACe,OAAO,CAAE,GAAG,EAAE,GAAI;IAC7C;IAAA;IACA,gBACCrB,wBAAwB,CAAEa,KAAK,CAACZ,IAAK,CAAC,GAAGe,UAAU,GAAGM,SACtD;IACDC,OAAO,EAAGA,CAAA,KAAM;MACf,IAAKP,UAAU,EAAG;QACjBI,wBAAwB,CAAEf,KAAM,CAAC;MAClC,CAAC,MAAM;QACNc,uBAAuB,CAAEd,KAAK,EAAEC,UAAW,CAAC;MAC7C;IACD,CAAG;IACHM,QAAQ,EAAGA,QAAU;IAAA,GAChBC;EAAK,CACV,CAAC;AAEJ","ignoreList":[]}
@@ -95,7 +95,7 @@ function InterfaceSkeleton({
95
95
  /* translators: accessibility text for the secondary sidebar landmark region. */
96
96
  secondarySidebar: __('Block Library'),
97
97
  /* translators: accessibility text for the settings landmark region. */
98
- sidebar: __('Settings'),
98
+ sidebar: _x('Settings', 'settings landmark area'),
99
99
  /* translators: accessibility text for the publish landmark region. */
100
100
  actions: __('Publish'),
101
101
  /* translators: accessibility text for the footer landmark region. */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","forwardRef","useEffect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__","_x","useReducedMotion","useViewportMatch","useResizeObserver","NavigableRegion","jsx","_jsx","jsxs","_jsxs","ANIMATION_DURATION","commonTransition","type","duration","ease","useHTMLClass","className","element","document","querySelector","classList","toggle","headerVariants","hidden","opacity","marginTop","visible","distractionFreeHover","transition","delay","delayChildren","distractionFreeHidden","distractionFreeDisabled","InterfaceSkeleton","isDistractionFree","footer","header","editorNotices","sidebar","secondarySidebar","content","actions","labels","ref","secondarySidebarResizeListener","secondarySidebarSize","isMobileViewport","disableMotion","defaultTransition","defaultLabels","body","mergedLabels","children","initial","as","div","whileHover","animate","exit","variants","ariaLabel","open","width","closed","style","position","height","left","x"],"sources":["@wordpress/interface/src/components/interface-skeleton/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableRegion from '../navigable-region';\n\nconst ANIMATION_DURATION = 0.25;\nconst commonTransition = {\n\ttype: 'tween',\n\tduration: ANIMATION_DURATION,\n\tease: [ 0.6, 0, 0.4, 1 ],\n};\n\nfunction useHTMLClass( className ) {\n\tuseEffect( () => {\n\t\tconst element =\n\t\t\tdocument && document.querySelector( `html:not(.${ className })` );\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\t\telement.classList.toggle( className );\n\t\treturn () => {\n\t\t\telement.classList.toggle( className );\n\t\t};\n\t}, [ className ] );\n}\n\nconst headerVariants = {\n\thidden: { opacity: 1, marginTop: -60 },\n\tvisible: { opacity: 1, marginTop: 0 },\n\tdistractionFreeHover: {\n\t\topacity: 1,\n\t\tmarginTop: 0,\n\t\ttransition: {\n\t\t\t...commonTransition,\n\t\t\tdelay: 0.2,\n\t\t\tdelayChildren: 0.2,\n\t\t},\n\t},\n\tdistractionFreeHidden: {\n\t\topacity: 0,\n\t\tmarginTop: -60,\n\t},\n\tdistractionFreeDisabled: {\n\t\topacity: 0,\n\t\tmarginTop: 0,\n\t\ttransition: {\n\t\t\t...commonTransition,\n\t\t\tdelay: 0.8,\n\t\t\tdelayChildren: 0.8,\n\t\t},\n\t},\n};\n\nfunction InterfaceSkeleton(\n\t{\n\t\tisDistractionFree,\n\t\tfooter,\n\t\theader,\n\t\teditorNotices,\n\t\tsidebar,\n\t\tsecondarySidebar,\n\t\tcontent,\n\t\tactions,\n\t\tlabels,\n\t\tclassName,\n\t},\n\tref\n) {\n\tconst [ secondarySidebarResizeListener, secondarySidebarSize ] =\n\t\tuseResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst disableMotion = useReducedMotion();\n\tconst defaultTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : ANIMATION_DURATION,\n\t\tease: [ 0.6, 0, 0.4, 1 ],\n\t};\n\tuseHTMLClass( 'interface-interface-skeleton__html-container' );\n\n\tconst defaultLabels = {\n\t\t/* translators: accessibility text for the top bar landmark region. */\n\t\theader: _x( 'Header', 'header landmark area' ),\n\t\t/* translators: accessibility text for the content landmark region. */\n\t\tbody: __( 'Content' ),\n\t\t/* translators: accessibility text for the secondary sidebar landmark region. */\n\t\tsecondarySidebar: __( 'Block Library' ),\n\t\t/* translators: accessibility text for the settings landmark region. */\n\t\tsidebar: __( 'Settings' ),\n\t\t/* translators: accessibility text for the publish landmark region. */\n\t\tactions: __( 'Publish' ),\n\t\t/* translators: accessibility text for the footer landmark region. */\n\t\tfooter: __( 'Footer' ),\n\t};\n\n\tconst mergedLabels = { ...defaultLabels, ...labels };\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx(\n\t\t\t\tclassName,\n\t\t\t\t'interface-interface-skeleton',\n\t\t\t\t!! footer && 'has-footer'\n\t\t\t) }\n\t\t>\n\t\t\t<div className=\"interface-interface-skeleton__editor\">\n\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t{ !! header && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__header\"\n\t\t\t\t\t\t\taria-label={ mergedLabels.header }\n\t\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHidden'\n\t\t\t\t\t\t\t\t\t: 'hidden'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHover'\n\t\t\t\t\t\t\t\t\t: 'visible'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeDisabled'\n\t\t\t\t\t\t\t\t\t: 'visible'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\texit={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHidden'\n\t\t\t\t\t\t\t\t\t: 'hidden'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvariants={ headerVariants }\n\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ header }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isDistractionFree && (\n\t\t\t\t\t<div className=\"interface-interface-skeleton__header\">\n\t\t\t\t\t\t{ editorNotices }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"interface-interface-skeleton__body\">\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ !! secondarySidebar && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__secondary-sidebar\"\n\t\t\t\t\t\t\t\tariaLabel={ mergedLabels.secondarySidebar }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tinitial=\"closed\"\n\t\t\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\t\t\texit=\"closed\"\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\topen: { width: secondarySidebarSize.width },\n\t\t\t\t\t\t\t\t\tclosed: { width: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\twidth: isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t? '100vw'\n\t\t\t\t\t\t\t\t\t\t\t: 'fit-content',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\t\topen: { x: 0 },\n\t\t\t\t\t\t\t\t\t\tclosed: { x: '-100%' },\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ secondarySidebarResizeListener }\n\t\t\t\t\t\t\t\t\t{ secondarySidebar }\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tclassName=\"interface-interface-skeleton__content\"\n\t\t\t\t\t\tariaLabel={ mergedLabels.body }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t{ !! sidebar && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__sidebar\"\n\t\t\t\t\t\t\tariaLabel={ mergedLabels.sidebar }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sidebar }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! actions && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__actions\"\n\t\t\t\t\t\t\tariaLabel={ mergedLabels.actions }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ !! footer && (\n\t\t\t\t<NavigableRegion\n\t\t\t\t\tclassName=\"interface-interface-skeleton__footer\"\n\t\t\t\t\tariaLabel={ mergedLabels.footer }\n\t\t\t\t>\n\t\t\t\t\t{ footer }\n\t\t\t\t</NavigableRegion>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InterfaceSkeleton );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","forwardRef","useEffect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__","_x","useReducedMotion","useViewportMatch","useResizeObserver","NavigableRegion","jsx","_jsx","jsxs","_jsxs","ANIMATION_DURATION","commonTransition","type","duration","ease","useHTMLClass","className","element","document","querySelector","classList","toggle","headerVariants","hidden","opacity","marginTop","visible","distractionFreeHover","transition","delay","delayChildren","distractionFreeHidden","distractionFreeDisabled","InterfaceSkeleton","isDistractionFree","footer","header","editorNotices","sidebar","secondarySidebar","content","actions","labels","ref","secondarySidebarResizeListener","secondarySidebarSize","isMobileViewport","disableMotion","defaultTransition","defaultLabels","body","mergedLabels","children","initial","as","div","whileHover","animate","exit","variants","ariaLabel","open","width","closed","style","position","height","left","x"],"sources":["@wordpress/interface/src/components/interface-skeleton/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableRegion from '../navigable-region';\n\nconst ANIMATION_DURATION = 0.25;\nconst commonTransition = {\n\ttype: 'tween',\n\tduration: ANIMATION_DURATION,\n\tease: [ 0.6, 0, 0.4, 1 ],\n};\n\nfunction useHTMLClass( className ) {\n\tuseEffect( () => {\n\t\tconst element =\n\t\t\tdocument && document.querySelector( `html:not(.${ className })` );\n\t\tif ( ! element ) {\n\t\t\treturn;\n\t\t}\n\t\telement.classList.toggle( className );\n\t\treturn () => {\n\t\t\telement.classList.toggle( className );\n\t\t};\n\t}, [ className ] );\n}\n\nconst headerVariants = {\n\thidden: { opacity: 1, marginTop: -60 },\n\tvisible: { opacity: 1, marginTop: 0 },\n\tdistractionFreeHover: {\n\t\topacity: 1,\n\t\tmarginTop: 0,\n\t\ttransition: {\n\t\t\t...commonTransition,\n\t\t\tdelay: 0.2,\n\t\t\tdelayChildren: 0.2,\n\t\t},\n\t},\n\tdistractionFreeHidden: {\n\t\topacity: 0,\n\t\tmarginTop: -60,\n\t},\n\tdistractionFreeDisabled: {\n\t\topacity: 0,\n\t\tmarginTop: 0,\n\t\ttransition: {\n\t\t\t...commonTransition,\n\t\t\tdelay: 0.8,\n\t\t\tdelayChildren: 0.8,\n\t\t},\n\t},\n};\n\nfunction InterfaceSkeleton(\n\t{\n\t\tisDistractionFree,\n\t\tfooter,\n\t\theader,\n\t\teditorNotices,\n\t\tsidebar,\n\t\tsecondarySidebar,\n\t\tcontent,\n\t\tactions,\n\t\tlabels,\n\t\tclassName,\n\t},\n\tref\n) {\n\tconst [ secondarySidebarResizeListener, secondarySidebarSize ] =\n\t\tuseResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst disableMotion = useReducedMotion();\n\tconst defaultTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : ANIMATION_DURATION,\n\t\tease: [ 0.6, 0, 0.4, 1 ],\n\t};\n\tuseHTMLClass( 'interface-interface-skeleton__html-container' );\n\n\tconst defaultLabels = {\n\t\t/* translators: accessibility text for the top bar landmark region. */\n\t\theader: _x( 'Header', 'header landmark area' ),\n\t\t/* translators: accessibility text for the content landmark region. */\n\t\tbody: __( 'Content' ),\n\t\t/* translators: accessibility text for the secondary sidebar landmark region. */\n\t\tsecondarySidebar: __( 'Block Library' ),\n\t\t/* translators: accessibility text for the settings landmark region. */\n\t\tsidebar: _x( 'Settings', 'settings landmark area' ),\n\t\t/* translators: accessibility text for the publish landmark region. */\n\t\tactions: __( 'Publish' ),\n\t\t/* translators: accessibility text for the footer landmark region. */\n\t\tfooter: __( 'Footer' ),\n\t};\n\n\tconst mergedLabels = { ...defaultLabels, ...labels };\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx(\n\t\t\t\tclassName,\n\t\t\t\t'interface-interface-skeleton',\n\t\t\t\t!! footer && 'has-footer'\n\t\t\t) }\n\t\t>\n\t\t\t<div className=\"interface-interface-skeleton__editor\">\n\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t{ !! header && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__header\"\n\t\t\t\t\t\t\taria-label={ mergedLabels.header }\n\t\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHidden'\n\t\t\t\t\t\t\t\t\t: 'hidden'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHover'\n\t\t\t\t\t\t\t\t\t: 'visible'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeDisabled'\n\t\t\t\t\t\t\t\t\t: 'visible'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\texit={\n\t\t\t\t\t\t\t\tisDistractionFree && ! isMobileViewport\n\t\t\t\t\t\t\t\t\t? 'distractionFreeHidden'\n\t\t\t\t\t\t\t\t\t: 'hidden'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvariants={ headerVariants }\n\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ header }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t</AnimatePresence>\n\t\t\t\t{ isDistractionFree && (\n\t\t\t\t\t<div className=\"interface-interface-skeleton__header\">\n\t\t\t\t\t\t{ editorNotices }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"interface-interface-skeleton__body\">\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ !! secondarySidebar && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__secondary-sidebar\"\n\t\t\t\t\t\t\t\tariaLabel={ mergedLabels.secondarySidebar }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tinitial=\"closed\"\n\t\t\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\t\t\texit=\"closed\"\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\topen: { width: secondarySidebarSize.width },\n\t\t\t\t\t\t\t\t\tclosed: { width: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\twidth: isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t? '100vw'\n\t\t\t\t\t\t\t\t\t\t\t: 'fit-content',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\t\topen: { x: 0 },\n\t\t\t\t\t\t\t\t\t\tclosed: { x: '-100%' },\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ secondarySidebarResizeListener }\n\t\t\t\t\t\t\t\t\t{ secondarySidebar }\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tclassName=\"interface-interface-skeleton__content\"\n\t\t\t\t\t\tariaLabel={ mergedLabels.body }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t{ !! sidebar && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__sidebar\"\n\t\t\t\t\t\t\tariaLabel={ mergedLabels.sidebar }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sidebar }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! actions && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tclassName=\"interface-interface-skeleton__actions\"\n\t\t\t\t\t\t\tariaLabel={ mergedLabels.actions }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ !! footer && (\n\t\t\t\t<NavigableRegion\n\t\t\t\t\tclassName=\"interface-interface-skeleton__footer\"\n\t\t\t\t\tariaLabel={ mergedLabels.footer }\n\t\t\t\t>\n\t\t\t\t\t{ footer }\n\t\t\t\t</NavigableRegion>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InterfaceSkeleton );\n"],"mappings":"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","ignoreList":[]}
@@ -116,42 +116,13 @@
116
116
  }
117
117
  }
118
118
 
119
- .components-panel__header.interface-complementary-area-header__small {
120
- background: #fff;
121
- padding-left: 4px;
122
- }
123
- .components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title {
124
- overflow: hidden;
125
- text-overflow: ellipsis;
126
- white-space: nowrap;
127
- width: 100%;
128
- margin: 0;
129
- }
130
- @media (min-width: 782px) {
131
- .components-panel__header.interface-complementary-area-header__small {
132
- display: none;
133
- }
134
- }
135
-
136
119
  .interface-complementary-area-header {
137
120
  background: #fff;
138
- padding-left: 12px;
139
- gap: 8px;
121
+ padding-left: 8px;
122
+ gap: 4px;
140
123
  }
141
124
  .interface-complementary-area-header .interface-complementary-area-header__title {
142
- margin: 0;
143
- }
144
- .interface-complementary-area-header .components-button.has-icon {
145
- display: none;
146
- margin-right: auto;
147
- }
148
- .interface-complementary-area-header .components-button.has-icon ~ .components-button {
149
- margin-right: 0;
150
- }
151
- @media (min-width: 782px) {
152
- .interface-complementary-area-header .components-button.has-icon {
153
- display: flex;
154
- }
125
+ margin: 0 0 0 auto;
155
126
  }
156
127
 
157
128
  .interface-complementary-area {
@@ -181,12 +152,7 @@
181
152
  z-index: 1;
182
153
  }
183
154
  .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
184
- top: 48px;
185
- }
186
- @media (min-width: 782px) {
187
- .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
188
- top: 0;
189
- }
155
+ top: 0;
190
156
  }
191
157
  .interface-complementary-area p:not(.components-base-control__help, .components-form-token-field__help) {
192
158
  margin-top: 0;
@@ -116,42 +116,13 @@
116
116
  }
117
117
  }
118
118
 
119
- .components-panel__header.interface-complementary-area-header__small {
120
- background: #fff;
121
- padding-right: 4px;
122
- }
123
- .components-panel__header.interface-complementary-area-header__small .interface-complementary-area-header__small-title {
124
- overflow: hidden;
125
- text-overflow: ellipsis;
126
- white-space: nowrap;
127
- width: 100%;
128
- margin: 0;
129
- }
130
- @media (min-width: 782px) {
131
- .components-panel__header.interface-complementary-area-header__small {
132
- display: none;
133
- }
134
- }
135
-
136
119
  .interface-complementary-area-header {
137
120
  background: #fff;
138
- padding-right: 12px;
139
- gap: 8px;
121
+ padding-right: 8px;
122
+ gap: 4px;
140
123
  }
141
124
  .interface-complementary-area-header .interface-complementary-area-header__title {
142
- margin: 0;
143
- }
144
- .interface-complementary-area-header .components-button.has-icon {
145
- display: none;
146
- margin-left: auto;
147
- }
148
- .interface-complementary-area-header .components-button.has-icon ~ .components-button {
149
- margin-left: 0;
150
- }
151
- @media (min-width: 782px) {
152
- .interface-complementary-area-header .components-button.has-icon {
153
- display: flex;
154
- }
125
+ margin: 0 auto 0 0;
155
126
  }
156
127
 
157
128
  .interface-complementary-area {
@@ -181,12 +152,7 @@
181
152
  z-index: 1;
182
153
  }
183
154
  .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
184
- top: 48px;
185
- }
186
- @media (min-width: 782px) {
187
- .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
188
- top: 0;
189
- }
155
+ top: 0;
190
156
  }
191
157
  .interface-complementary-area p:not(.components-base-control__help, .components-form-token-field__help) {
192
158
  margin-top: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/interface",
3
- "version": "7.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -26,6 +26,7 @@
26
26
  "main": "build/index.js",
27
27
  "module": "build-module/index.js",
28
28
  "react-native": "src/index",
29
+ "wpScript": true,
29
30
  "sideEffects": [
30
31
  "build-style/**",
31
32
  "src/**/*.scss",
@@ -33,18 +34,17 @@
33
34
  ],
34
35
  "dependencies": {
35
36
  "@babel/runtime": "7.25.7",
36
- "@wordpress/a11y": "^4.10.0",
37
- "@wordpress/components": "^28.10.0",
38
- "@wordpress/compose": "^7.10.0",
39
- "@wordpress/data": "^10.10.0",
40
- "@wordpress/deprecated": "^4.10.0",
41
- "@wordpress/element": "^6.10.0",
42
- "@wordpress/i18n": "^5.10.0",
43
- "@wordpress/icons": "^10.10.0",
44
- "@wordpress/plugins": "^7.10.0",
45
- "@wordpress/preferences": "^4.10.0",
46
- "@wordpress/private-apis": "^1.10.0",
47
- "@wordpress/viewport": "^6.10.0",
37
+ "@wordpress/a11y": "*",
38
+ "@wordpress/components": "*",
39
+ "@wordpress/compose": "*",
40
+ "@wordpress/data": "*",
41
+ "@wordpress/deprecated": "*",
42
+ "@wordpress/element": "*",
43
+ "@wordpress/i18n": "*",
44
+ "@wordpress/icons": "*",
45
+ "@wordpress/plugins": "*",
46
+ "@wordpress/preferences": "*",
47
+ "@wordpress/viewport": "*",
48
48
  "clsx": "^2.1.1"
49
49
  },
50
50
  "peerDependencies": {
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "ab34a7ac935fd1478eac63b596242d83270897ee"
57
+ "gitHead": "510540d99f3d222a96f08d3d7b66c9e7a726f705"
58
58
  }
@@ -84,14 +84,6 @@ The scope of the complementary area e.g: "core", "myplugin/custom-screen-a",
84
84
  - Type: `String`
85
85
  - Required: Yes
86
86
 
87
- ### smallScreenTitle
88
-
89
- In small screens, the complementary area may take up the entire screen.
90
- `smallScreenTitle` allows displaying a title above the complementary area, so the user is more aware of what the area refers to.
91
-
92
- - Type: `String`
93
- - Required: No
94
-
95
87
  ### title
96
88
 
97
89
  Human friendly title of the complementary area.
@@ -25,6 +25,7 @@ import {
25
25
  useViewportMatch,
26
26
  usePrevious,
27
27
  } from '@wordpress/compose';
28
+ import { usePluginContext } from '@wordpress/plugins';
28
29
 
29
30
  /**
30
31
  * Internal dependencies
@@ -32,7 +33,6 @@ import {
32
33
  import ComplementaryAreaHeader from '../complementary-area-header';
33
34
  import ComplementaryAreaMoreMenuItem from '../complementary-area-more-menu-item';
34
35
  import ComplementaryAreaToggle from '../complementary-area-toggle';
35
- import withComplementaryAreaContext from '../complementary-area-context';
36
36
  import PinnedItems from '../pinned-items';
37
37
  import { store as interfaceStore } from '../../store';
38
38
 
@@ -171,19 +171,22 @@ function ComplementaryArea( {
171
171
  children,
172
172
  className,
173
173
  closeLabel = __( 'Close plugin' ),
174
- identifier,
174
+ identifier: identifierProp,
175
175
  header,
176
176
  headerClassName,
177
- icon,
177
+ icon: iconProp,
178
178
  isPinnable = true,
179
179
  panelClassName,
180
180
  scope,
181
181
  name,
182
- smallScreenTitle,
183
182
  title,
184
183
  toggleShortcut,
185
184
  isActiveByDefault,
186
185
  } ) {
186
+ const context = usePluginContext();
187
+ const icon = iconProp || context.icon;
188
+ const identifier = identifierProp || `${ context.name }/${ name }`;
189
+
187
190
  // This state is used to delay the rendering of the Fill
188
191
  // until the initial effect runs.
189
192
  // This prevents the animation from running on mount if
@@ -220,6 +223,9 @@ function ComplementaryArea( {
220
223
  },
221
224
  [ identifier, scope ]
222
225
  );
226
+
227
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
228
+
223
229
  useAdjustComplementaryListener(
224
230
  scope,
225
231
  identifier,
@@ -300,10 +306,9 @@ function ComplementaryArea( {
300
306
  className={ headerClassName }
301
307
  closeLabel={ closeLabel }
302
308
  onClose={ () => disableComplementaryArea( scope ) }
303
- smallScreenTitle={ smallScreenTitle }
304
309
  toggleButtonProps={ {
305
310
  label: closeLabel,
306
- size: 'small',
311
+ size: 'compact',
307
312
  shortcut: toggleShortcut,
308
313
  scope,
309
314
  identifier,
@@ -314,7 +319,7 @@ function ComplementaryArea( {
314
319
  <h2 className="interface-complementary-area-header__title">
315
320
  { title }
316
321
  </h2>
317
- { isPinnable && (
322
+ { isPinnable && ! isMobileViewport && (
318
323
  <Button
319
324
  className="interface-complementary-area__pin-unpin-item"
320
325
  icon={ isPinned ? starFilled : starEmpty }
@@ -343,9 +348,6 @@ function ComplementaryArea( {
343
348
  );
344
349
  }
345
350
 
346
- const ComplementaryAreaWrapped =
347
- withComplementaryAreaContext( ComplementaryArea );
348
-
349
- ComplementaryAreaWrapped.Slot = ComplementaryAreaSlot;
351
+ ComplementaryArea.Slot = ComplementaryAreaSlot;
350
352
 
351
- export default ComplementaryAreaWrapped;
353
+ export default ComplementaryArea;
@@ -25,11 +25,7 @@
25
25
  z-index: z-index(".interface-complementary-area .components-panel__header");
26
26
 
27
27
  &.editor-sidebar__panel-tabs {
28
- top: $panel-header-height;
29
-
30
- @include break-medium() {
31
- top: 0;
32
- }
28
+ top: 0;
33
29
  }
34
30
  }
35
31
 
@@ -14,7 +14,6 @@ import { closeSmall } from '@wordpress/icons';
14
14
  import ComplementaryAreaToggle from '../complementary-area-toggle';
15
15
 
16
16
  const ComplementaryAreaHeader = ( {
17
- smallScreenTitle,
18
17
  children,
19
18
  className,
20
19
  toggleButtonProps,
@@ -23,27 +22,17 @@ const ComplementaryAreaHeader = ( {
23
22
  <ComplementaryAreaToggle icon={ closeSmall } { ...toggleButtonProps } />
24
23
  );
25
24
  return (
26
- <>
27
- <div className="components-panel__header interface-complementary-area-header__small">
28
- { smallScreenTitle && (
29
- <h2 className="interface-complementary-area-header__small-title">
30
- { smallScreenTitle }
31
- </h2>
32
- ) }
33
- { toggleButton }
34
- </div>
35
- <div
36
- className={ clsx(
37
- 'components-panel__header',
38
- 'interface-complementary-area-header',
39
- className
40
- ) }
41
- tabIndex={ -1 }
42
- >
43
- { children }
44
- { toggleButton }
45
- </div>
46
- </>
25
+ <div
26
+ className={ clsx(
27
+ 'components-panel__header',
28
+ 'interface-complementary-area-header',
29
+ className
30
+ ) }
31
+ tabIndex={ -1 }
32
+ >
33
+ { children }
34
+ { toggleButton }
35
+ </div>
47
36
  );
48
37
  };
49
38
 
@@ -1,39 +1,9 @@
1
- .components-panel__header.interface-complementary-area-header__small {
2
- background: $white;
3
- padding-right: $grid-unit-05;
4
-
5
- .interface-complementary-area-header__small-title {
6
- overflow: hidden;
7
- text-overflow: ellipsis;
8
- white-space: nowrap;
9
- width: 100%;
10
- margin: 0;
11
- }
12
-
13
- @include break-medium() {
14
- display: none;
15
- }
16
- }
17
-
18
1
  .interface-complementary-area-header {
19
2
  background: $white;
20
- padding-right: $grid-unit-15; // Reduced padding to account for close buttons.
21
- gap: $grid-unit-10; // Always ensure space between contents and close buttons.
3
+ padding-right: $grid-unit-10; // Reduced padding to account for close buttons.
4
+ gap: $grid-unit-05; // Always ensure space between contents and close buttons.
22
5
 
23
6
  .interface-complementary-area-header__title {
24
- margin: 0;
25
- }
26
-
27
- .components-button.has-icon {
28
- display: none;
29
- margin-left: auto;
30
-
31
- ~ .components-button {
32
- margin-left: 0;
33
- }
34
-
35
- @include break-medium() {
36
- display: flex;
37
- }
7
+ margin: 0 auto 0 0;
38
8
  }
39
9
  }
@@ -3,12 +3,12 @@
3
3
  */
4
4
  import { Button } from '@wordpress/components';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { usePluginContext } from '@wordpress/plugins';
6
7
 
7
8
  /**
8
9
  * Internal dependencies
9
10
  */
10
11
  import { store as interfaceStore } from '../../store';
11
- import complementaryAreaContext from '../complementary-area-context';
12
12
 
13
13
  /**
14
14
  * Whether the role supports checked state.
@@ -29,17 +29,20 @@ function roleSupportsCheckedState( role ) {
29
29
  ].includes( role );
30
30
  }
31
31
 
32
- function ComplementaryAreaToggle( {
32
+ export default function ComplementaryAreaToggle( {
33
33
  as = Button,
34
34
  scope,
35
- identifier,
36
- icon,
35
+ identifier: identifierProp,
36
+ icon: iconProp,
37
37
  selectedIcon,
38
38
  name,
39
39
  shortcut,
40
40
  ...props
41
41
  } ) {
42
42
  const ComponentToUse = as;
43
+ const context = usePluginContext();
44
+ const icon = iconProp || context.icon;
45
+ const identifier = identifierProp || `${ context.name }/${ name }`;
43
46
  const isSelected = useSelect(
44
47
  ( select ) =>
45
48
  select( interfaceStore ).getActiveComplementaryArea( scope ) ===
@@ -70,5 +73,3 @@ function ComplementaryAreaToggle( {
70
73
  />
71
74
  );
72
75
  }
73
-
74
- export default complementaryAreaContext( ComplementaryAreaToggle );
@@ -105,7 +105,7 @@ function InterfaceSkeleton(
105
105
  /* translators: accessibility text for the secondary sidebar landmark region. */
106
106
  secondarySidebar: __( 'Block Library' ),
107
107
  /* translators: accessibility text for the settings landmark region. */
108
- sidebar: __( 'Settings' ),
108
+ sidebar: _x( 'Settings', 'settings landmark area' ),
109
109
  /* translators: accessibility text for the publish landmark region. */
110
110
  actions: __( 'Publish' ),
111
111
  /* translators: accessibility text for the footer landmark region. */
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _plugins = require("@wordpress/plugins");
8
- /**
9
- * WordPress dependencies
10
- */
11
- var _default = exports.default = (0, _plugins.withPluginContext)((context, ownProps) => {
12
- return {
13
- icon: ownProps.icon || context.icon,
14
- identifier: ownProps.identifier || `${context.name}/${ownProps.name}`
15
- };
16
- });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_plugins","require","_default","exports","default","withPluginContext","context","ownProps","icon","identifier","name"],"sources":["@wordpress/interface/src/components/complementary-area-context/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withPluginContext } from '@wordpress/plugins';\n\nexport default withPluginContext( ( context, ownProps ) => {\n\treturn {\n\t\ticon: ownProps.icon || context.icon,\n\t\tidentifier:\n\t\t\townProps.identifier || `${ context.name }/${ ownProps.name }`,\n\t};\n} );\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAKe,IAAAC,0BAAiB,EAAE,CAAEC,OAAO,EAAEC,QAAQ,KAAM;EAC1D,OAAO;IACNC,IAAI,EAAED,QAAQ,CAACC,IAAI,IAAIF,OAAO,CAACE,IAAI;IACnCC,UAAU,EACTF,QAAQ,CAACE,UAAU,IAAI,GAAIH,OAAO,CAACI,IAAI,IAAMH,QAAQ,CAACG,IAAI;EAC5D,CAAC;AACF,CAAE,CAAC","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { withPluginContext } from '@wordpress/plugins';
5
- export default withPluginContext((context, ownProps) => {
6
- return {
7
- icon: ownProps.icon || context.icon,
8
- identifier: ownProps.identifier || `${context.name}/${ownProps.name}`
9
- };
10
- });
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["withPluginContext","context","ownProps","icon","identifier","name"],"sources":["@wordpress/interface/src/components/complementary-area-context/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { withPluginContext } from '@wordpress/plugins';\n\nexport default withPluginContext( ( context, ownProps ) => {\n\treturn {\n\t\ticon: ownProps.icon || context.icon,\n\t\tidentifier:\n\t\t\townProps.identifier || `${ context.name }/${ ownProps.name }`,\n\t};\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,QAAQ,oBAAoB;AAEtD,eAAeA,iBAAiB,CAAE,CAAEC,OAAO,EAAEC,QAAQ,KAAM;EAC1D,OAAO;IACNC,IAAI,EAAED,QAAQ,CAACC,IAAI,IAAIF,OAAO,CAACE,IAAI;IACnCC,UAAU,EACTF,QAAQ,CAACE,UAAU,IAAI,GAAIH,OAAO,CAACI,IAAI,IAAMH,QAAQ,CAACG,IAAI;EAC5D,CAAC;AACF,CAAE,CAAC","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { withPluginContext } from '@wordpress/plugins';
5
-
6
- export default withPluginContext( ( context, ownProps ) => {
7
- return {
8
- icon: ownProps.icon || context.icon,
9
- identifier:
10
- ownProps.identifier || `${ context.name }/${ ownProps.name }`,
11
- };
12
- } );