@wordpress/components 19.0.0 → 19.0.1
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/CHANGELOG.md +6 -0
- package/CONTRIBUTING.md +12 -12
- package/build/angle-picker-control/index.js +3 -1
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/base-control/index.js +1 -1
- package/build/base-control/index.js.map +1 -1
- package/build/color-edit/index.js +180 -199
- package/build/color-edit/index.js.map +1 -1
- package/build/color-edit/styles.js +112 -0
- package/build/color-edit/styles.js.map +1 -0
- package/build/color-list-picker/index.js +6 -1
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +86 -21
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/styles.js +31 -0
- package/build/color-palette/styles.js.map +1 -0
- package/build/color-picker/component.js +7 -18
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/picker.js +3 -3
- package/build/color-picker/picker.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +0 -1
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +1 -0
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/gradient-picker/index.js +69 -9
- package/build/gradient-picker/index.js.map +1 -1
- package/build/index.native.js +9 -0
- package/build/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +4 -2
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +140 -0
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build/mobile/link-settings/index.native.js +3 -2
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +4 -2
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/modal/index.js +10 -3
- package/build/modal/index.js.map +1 -1
- package/build/navigation/group/index.js +1 -2
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +8 -27
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +2 -2
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +34 -29
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/popover/index.js +4 -2
- package/build/popover/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +33 -29
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/search-control/index.js +37 -14
- package/build/search-control/index.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/tools-panel/styles.js +18 -23
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +10 -7
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +3 -1
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +3 -0
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/utils/hooks/index.js +8 -0
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/hooks/use-combined-ref.js +28 -0
- package/build/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-module/angle-picker-control/index.js +3 -1
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/base-control/index.js +1 -1
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/color-edit/index.js +175 -201
- package/build-module/color-edit/index.js.map +1 -1
- package/build-module/color-edit/styles.js +90 -0
- package/build-module/color-edit/styles.js.map +1 -0
- package/build-module/color-list-picker/index.js +6 -1
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +85 -22
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/styles.js +27 -0
- package/build-module/color-palette/styles.js.map +1 -0
- package/build-module/color-picker/component.js +7 -16
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/picker.js +4 -4
- package/build-module/color-picker/picker.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +0 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +1 -0
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/gradient-picker/index.js +67 -9
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +3 -2
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +121 -0
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build-module/mobile/link-settings/index.native.js +3 -2
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +4 -2
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/modal/index.js +10 -4
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigation/group/index.js +1 -2
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +8 -24
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +3 -3
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +31 -27
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/popover/index.js +4 -2
- package/build-module/popover/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +33 -29
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/search-control/index.js +36 -15
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/tools-panel/styles.js +16 -23
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +10 -6
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +2 -1
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +3 -0
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/utils/hooks/index.js +1 -0
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/hooks/use-combined-ref.js +25 -0
- package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-style/style-rtl.css +39 -51
- package/build-style/style.css +39 -51
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/tools-panel/styles.d.ts +1 -1
- package/build-types/tools-panel/styles.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/utils/hooks/index.d.ts +1 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
- package/package.json +6 -6
- package/src/angle-picker-control/index.js +3 -1
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
- package/src/base-control/index.js +1 -1
- package/src/circular-option-picker/style.scss +3 -5
- package/src/color-edit/index.js +248 -274
- package/src/color-edit/style.scss +4 -45
- package/src/color-edit/styles.js +97 -0
- package/src/color-list-picker/index.js +5 -0
- package/src/color-list-picker/style.scss +4 -0
- package/src/color-palette/index.js +90 -26
- package/src/color-palette/style.scss +18 -0
- package/src/color-palette/styles.js +19 -0
- package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
- package/src/color-picker/component.tsx +6 -17
- package/src/color-picker/picker.tsx +6 -4
- package/src/color-picker/test/index.js +0 -15
- package/src/duotone-picker/custom-duotone-bar.js +0 -1
- package/src/duotone-picker/duotone-picker.js +1 -0
- package/src/gradient-picker/index.js +79 -11
- package/src/heading/test/__snapshots__/index.js.snap +1 -1
- package/src/index.native.js +1 -0
- package/src/mobile/bottom-sheet/cell.native.js +7 -2
- package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
- package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
- package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
- package/src/mobile/link-settings/index.native.js +3 -2
- package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
- package/src/mobile/link-settings/style.native.scss +17 -0
- package/src/mobile/picker/index.android.js +2 -1
- package/src/modal/README.md +8 -0
- package/src/modal/index.js +60 -45
- package/src/modal/style.scss +5 -0
- package/src/navigation/group/index.js +1 -2
- package/src/navigation/menu/menu-title-search.js +11 -26
- package/src/navigation/menu/menu-title.js +4 -4
- package/src/navigation/styles/navigation-styles.js +29 -52
- package/src/popover/index.js +2 -2
- package/src/range-control/styles/range-control-styles.js +4 -1
- package/src/resizable-box/style.scss +5 -0
- package/src/search-control/index.js +47 -23
- package/src/style.scss +1 -0
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/index.js.snap +2 -2
- package/src/tools-panel/stories/index.js +21 -19
- package/src/tools-panel/styles.ts +18 -26
- package/src/tools-panel/tools-panel/component.tsx +7 -4
- package/src/tools-panel/tools-panel/hook.ts +4 -1
- package/src/tools-panel/tools-panel-header/component.tsx +1 -0
- package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
- package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
- package/src/utils/hooks/index.js +1 -0
- package/src/utils/hooks/use-combined-ref.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -12,7 +11,7 @@ import { createElement } from "@wordpress/element";
|
|
|
12
11
|
import ToolsPanelHeader from '../tools-panel-header';
|
|
13
12
|
import { ToolsPanelContext } from '../context';
|
|
14
13
|
import { useToolsPanel } from './hook';
|
|
15
|
-
import {
|
|
14
|
+
import { Grid } from '../../grid';
|
|
16
15
|
import { contextConnect } from '../../ui/context';
|
|
17
16
|
|
|
18
17
|
const ToolsPanel = (props, forwardedRef) => {
|
|
@@ -22,11 +21,16 @@ const ToolsPanel = (props, forwardedRef) => {
|
|
|
22
21
|
panelContext,
|
|
23
22
|
resetAllItems,
|
|
24
23
|
toggleItem,
|
|
25
|
-
|
|
26
|
-
} = useToolsPanel(props);
|
|
27
|
-
|
|
24
|
+
className
|
|
25
|
+
} = useToolsPanel(props); // Props are not directly passed through to avoid exposing Grid props
|
|
26
|
+
// until agreement has been reached on how ToolsPanel layout should be
|
|
27
|
+
// handled.
|
|
28
|
+
|
|
29
|
+
return createElement(Grid, {
|
|
30
|
+
columns: 2,
|
|
31
|
+
className: className,
|
|
28
32
|
ref: forwardedRef
|
|
29
|
-
}
|
|
33
|
+
}, createElement(ToolsPanelContext.Provider, {
|
|
30
34
|
value: panelContext
|
|
31
35
|
}, createElement(ToolsPanelHeader, {
|
|
32
36
|
label: label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/component.tsx"],"names":["ToolsPanelHeader","ToolsPanelContext","useToolsPanel","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/component.tsx"],"names":["ToolsPanelHeader","ToolsPanelContext","useToolsPanel","Grid","contextConnect","ToolsPanel","props","forwardedRef","children","label","panelContext","resetAllItems","toggleItem","className","ConnectedToolsPanel"],"mappings":";;AAAA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA,OAAOA,gBAAP,MAA6B,uBAA7B;AACA,SAASC,iBAAT,QAAkC,YAAlC;AACA,SAASC,aAAT,QAA8B,QAA9B;AACA,SAASC,IAAT,QAAqB,YAArB;AACA,SAASC,cAAT,QAAwD,kBAAxD;;AAGA,MAAMC,UAAU,GAAG,CAClBC,KADkB,EAElBC,YAFkB,KAGd;AACJ,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,KAFK;AAGLC,IAAAA,YAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,UALK;AAMLC,IAAAA;AANK,MAOFX,aAAa,CAAEI,KAAF,CAPjB,CADI,CAUJ;AACA;AACA;;AACA,SACC,cAAC,IAAD;AAAM,IAAA,OAAO,EAAG,CAAhB;AAAoB,IAAA,SAAS,EAAGO,SAAhC;AAA4C,IAAA,GAAG,EAAGN;AAAlD,KACC,cAAC,iBAAD,CAAmB,QAAnB;AAA4B,IAAA,KAAK,EAAGG;AAApC,KACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGD,KADT;AAEC,IAAA,QAAQ,EAAGE,aAFZ;AAGC,IAAA,UAAU,EAAGC;AAHd,IADD,EAMGJ,QANH,CADD,CADD;AAYA,CA5BD;;AA8BA,MAAMM,mBAAmB,GAAGV,cAAc,CAAEC,UAAF,EAAc,YAAd,CAA1C;AAEA,eAAeS,mBAAf","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { Ref } from 'react';\n\n/**\n * Internal dependencies\n */\nimport ToolsPanelHeader from '../tools-panel-header';\nimport { ToolsPanelContext } from '../context';\nimport { useToolsPanel } from './hook';\nimport { Grid } from '../../grid';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport type { ToolsPanelProps } from '../types';\n\nconst ToolsPanel = (\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >,\n\tforwardedRef: Ref< any >\n) => {\n\tconst {\n\t\tchildren,\n\t\tlabel,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName,\n\t} = useToolsPanel( props );\n\n\t// Props are not directly passed through to avoid exposing Grid props\n\t// until agreement has been reached on how ToolsPanel layout should be\n\t// handled.\n\treturn (\n\t\t<Grid columns={ 2 } className={ className } ref={ forwardedRef }>\n\t\t\t<ToolsPanelContext.Provider value={ panelContext }>\n\t\t\t\t<ToolsPanelHeader\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tresetAll={ resetAllItems }\n\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t/>\n\t\t\t\t{ children }\n\t\t\t</ToolsPanelContext.Provider>\n\t\t</Grid>\n\t);\n};\n\nconst ConnectedToolsPanel = contextConnect( ToolsPanel, 'ToolsPanel' );\n\nexport default ConnectedToolsPanel;\n"]}
|
|
@@ -9,6 +9,7 @@ import { useEffect, useMemo, useRef, useState } from '@wordpress/element';
|
|
|
9
9
|
import * as styles from '../styles';
|
|
10
10
|
import { useContextSystem } from '../../ui/context';
|
|
11
11
|
import { useCx } from '../../utils/hooks/use-cx';
|
|
12
|
+
const DEFAULT_COLUMNS = 2;
|
|
12
13
|
|
|
13
14
|
const generateMenuItems = ({
|
|
14
15
|
panelItems,
|
|
@@ -110,7 +111,7 @@ export function useToolsPanel(props) {
|
|
|
110
111
|
const cx = useCx();
|
|
111
112
|
const classes = useMemo(() => {
|
|
112
113
|
const hasDefaultMenuItems = (menuItems === null || menuItems === void 0 ? void 0 : menuItems.default) && !!Object.keys(menuItems === null || menuItems === void 0 ? void 0 : menuItems.default).length;
|
|
113
|
-
const wrapperStyle = hasInnerWrapper && styles.ToolsPanelWithInnerWrapper;
|
|
114
|
+
const wrapperStyle = hasInnerWrapper && styles.ToolsPanelWithInnerWrapper(DEFAULT_COLUMNS);
|
|
114
115
|
const emptyStyle = !hasDefaultMenuItems && areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
|
|
115
116
|
return cx(styles.ToolsPanel, wrapperStyle, emptyStyle, className);
|
|
116
117
|
}, [className, hasInnerWrapper, menuItems, areAllOptionalControlsHidden]); // Toggle the checked state of a menu item which is then used to determine
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","generateMenuItems","panelItems","shouldReset","menuItems","default","optional","forEach","hasValue","isShownByDefault","label","group","useToolsPanel","props","className","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","otherProps","isResetting","wasResetting","current","setPanelItems","registerPanelItem","item","items","deregisterPanelItem","index","findIndex","splice","setMenuItems","flagItemCustomization","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","optionalItems","Object","entries","allControlsHidden","length","some","isSelected","cx","classes","hasDefaultMenuItems","keys","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","newMenuItems","getResetAllFilters","filters","resetAllFilter","push","resetAllItems","resetMenuItems","panelContext","hasMenuItems"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,OAApB,EAA6BC,MAA7B,EAAqCC,QAArC,QAAqD,oBAArD;AAEA;AACA;AACA;;AACA,OAAO,KAAKC,MAAZ,MAAwB,WAAxB;AACA,SAASC,gBAAT,QAA0D,kBAA1D;AACA,SAASC,KAAT,QAAsB,0BAAtB;;AASA,MAAMC,iBAAiB,GAAG,CAAE;AAC3BC,EAAAA,UAD2B;AAE3BC,EAAAA;AAF2B,CAAF,KAGQ;AACjC,QAAMC,SAA8B,GAAG;AAAEC,IAAAA,OAAO,EAAE,EAAX;AAAeC,IAAAA,QAAQ,EAAE;AAAzB,GAAvC;AAEAJ,EAAAA,UAAU,CAACK,OAAX,CAAoB,CAAE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,gBAAZ;AAA8BC,IAAAA;AAA9B,GAAF,KAA6C;AAChE,UAAMC,KAAK,GAAGF,gBAAgB,GAAG,SAAH,GAAe,UAA7C;AACAL,IAAAA,SAAS,CAAEO,KAAF,CAAT,CAAoBD,KAApB,IAA8BP,WAAW,GAAG,KAAH,GAAWK,QAAQ,EAA5D;AACA,GAHD;AAKA,SAAOJ,SAAP;AACA,CAZD;;AAcA,OAAO,SAASQ,aAAT,CACNC,KADM,EAEL;AACD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA,4BALK;AAML,OAAGC;AANE,MAOFpB,gBAAgB,CAAEc,KAAF,EAAS,YAAT,CAPpB;AASA,QAAMO,WAAW,GAAGxB,MAAM,CAAE,KAAF,CAA1B;AACA,QAAMyB,YAAY,GAAGD,WAAW,CAACE,OAAjC,CAXC,CAaD;AACA;AACA;AACA;;AACA5B,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK2B,YAAL,EAAoB;AACnBD,MAAAA,WAAW,CAACE,OAAZ,GAAsB,KAAtB;AACA;AACD,GAJQ,EAIN,CAAED,YAAF,CAJM,CAAT,CAjBC,CAuBD;;AACA,QAAM,CAAEnB,UAAF,EAAcqB,aAAd,IAAgC1B,QAAQ,CAAsB,EAAtB,CAA9C;;AAEA,QAAM2B,iBAAiB,GAAKC,IAAF,IAA4B;AACrDF,IAAAA,aAAa,CAAIG,KAAF,IAAa,CAAE,GAAGA,KAAL,EAAYD,IAAZ,CAAf,CAAb;AACA,GAFD,CA1BC,CA8BD;AACA;;;AACA,QAAME,mBAAmB,GAAKjB,KAAF,IAAqB;AAChD;AACA;AACA;AACA;AACA,UAAMkB,KAAK,GAAG1B,UAAU,CAAC2B,SAAX,CAAwBJ,IAAF,IAAYA,IAAI,CAACf,KAAL,KAAeA,KAAjD,CAAd;;AAEA,QAAKkB,KAAK,KAAK,CAAC,CAAhB,EAAoB;AACnBL,MAAAA,aAAa,CAAIG,KAAF,IAAaA,KAAK,CAACI,MAAN,CAAcF,KAAd,EAAqB,CAArB,CAAf,CAAb;AACA;AACD,GAVD,CAhCC,CA4CD;;;AACA,QAAM,CAAExB,SAAF,EAAa2B,YAAb,IAA8BlC,QAAQ,CAAyB;AACpEQ,IAAAA,OAAO,EAAE,EAD2D;AAEpEC,IAAAA,QAAQ,EAAE;AAF0D,GAAzB,CAA5C,CA7CC,CAkDD;;AACAZ,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMgC,KAAK,GAAGzB,iBAAiB,CAAE;AAChCC,MAAAA,UADgC;AAEhCC,MAAAA,WAAW,EAAE;AAFmB,KAAF,CAA/B;AAIA4B,IAAAA,YAAY,CAAEL,KAAF,CAAZ;AACA,GANQ,EAMN,CAAExB,UAAF,CANM,CAAT,CAnDC,CA2DD;AACA;AACA;AACA;;AACA,QAAM8B,qBAAqB,GAAG,CAC7BtB,KAD6B,EAE7BC,KAA4B,GAAG,SAFF,KAGzB;AACJoB,IAAAA,YAAY,CAAE,EACb,GAAG3B,SADU;AAEb,OAAEO,KAAF,GAAW,EACV,GAAGP,SAAS,CAAEO,KAAF,CADF;AAEV,SAAED,KAAF,GAAW;AAFD;AAFE,KAAF,CAAZ;AAOA,GAXD,CA/DC,CA4ED;AACA;AACA;AACA;;;AACA,QAAM,CACLuB,4BADK,EAELC,+BAFK,IAGFrC,QAAQ,CAAE,KAAF,CAHZ;AAKAH,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKU,SAAS,CAACE,QAAf,EAA0B;AACzB,YAAM6B,aAAa,GAAGC,MAAM,CAACC,OAAP,CAAgBjC,SAAS,CAACE,QAA1B,CAAtB;AACA,YAAMgC,iBAAiB,GACtBH,aAAa,CAACI,MAAd,GAAuB,CAAvB,IACA,CAAEJ,aAAa,CAACK,IAAd,CAAoB,CAAE,GAAIC,UAAJ,CAAF,KAAwBA,UAA5C,CAFH;AAGAP,MAAAA,+BAA+B,CAAEI,iBAAF,CAA/B;AACA;AACD,GARQ,EAQN,CAAElC,SAAS,CAACE,QAAZ,CARM,CAAT;AAUA,QAAMoC,EAAE,GAAG1C,KAAK,EAAhB;AACA,QAAM2C,OAAO,GAAGhD,OAAO,CAAE,MAAM;AAC9B,UAAMiD,mBAAmB,GACxB,CAAAxC,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,OAAX,KAAsB,CAAC,CAAE+B,MAAM,CAACS,IAAP,CAAazC,SAAb,aAAaA,SAAb,uBAAaA,SAAS,CAAEC,OAAxB,EAAkCkC,MAD5D;AAEA,UAAMO,YAAY,GACjB7B,eAAe,IAAInB,MAAM,CAACiD,0BAD3B;AAEA,UAAMC,UAAU,GACf,CAAEJ,mBAAF,IACAX,4BADA,IAEAnC,MAAM,CAACmD,4BAHR;AAKA,WAAOP,EAAE,CAAE5C,MAAM,CAACoD,UAAT,EAAqBJ,YAArB,EAAmCE,UAAnC,EAA+ClC,SAA/C,CAAT;AACA,GAXsB,EAWpB,CACFA,SADE,EAEFG,eAFE,EAGFb,SAHE,EAIF6B,4BAJE,CAXoB,CAAvB,CAhGC,CAkHD;AACA;;AACA,QAAMkB,UAAU,GAAKzC,KAAF,IAAqB;AACvC,UAAM0C,WAAW,GAAGlD,UAAU,CAACmD,IAAX,CAAmB5B,IAAF,IAAYA,IAAI,CAACf,KAAL,KAAeA,KAA5C,CAApB;;AAEA,QAAK,CAAE0C,WAAP,EAAqB;AACpB;AACA;;AAED,UAAME,SAAS,GAAGF,WAAW,CAAC3C,gBAAZ,GAA+B,SAA/B,GAA2C,UAA7D;AAEA,UAAM8C,YAAY,GAAG,EACpB,GAAGnD,SADiB;AAEpB,OAAEkD,SAAF,GAAe,EACd,GAAGlD,SAAS,CAAEkD,SAAF,CADE;AAEd,SAAE5C,KAAF,GAAW,CAAEN,SAAS,CAAEkD,SAAF,CAAT,CAAwB5C,KAAxB;AAFC;AAFK,KAArB;AAQAqB,IAAAA,YAAY,CAAEwB,YAAF,CAAZ;AACA,GAlBD;;AAoBA,QAAMC,kBAAkB,GAAG,MAAM;AAChC,UAAMC,OAA4B,GAAG,EAArC;AAEAvD,IAAAA,UAAU,CAACK,OAAX,CAAsBkB,IAAF,IAAY;AAC/B,UAAKA,IAAI,CAACiC,cAAV,EAA2B;AAC1BD,QAAAA,OAAO,CAACE,IAAR,CAAclC,IAAI,CAACiC,cAAnB;AACA;AACD,KAJD;AAKA,WAAOD,OAAP;AACA,GATD,CAxIC,CAmJD;;;AACA,QAAMG,aAAa,GAAG,MAAM;AAC3B,QAAK,OAAO7C,QAAP,KAAoB,UAAzB,EAAsC;AACrCK,MAAAA,WAAW,CAACE,OAAZ,GAAsB,IAAtB;AACAP,MAAAA,QAAQ,CAAEyC,kBAAkB,EAApB,CAAR;AACA,KAJ0B,CAM3B;;;AACA,UAAMK,cAAc,GAAG5D,iBAAiB,CAAE;AACzCC,MAAAA,UADyC;AAEzCC,MAAAA,WAAW,EAAE;AAF4B,KAAF,CAAxC;AAIA4B,IAAAA,YAAY,CAAE8B,cAAF,CAAZ;AACA,GAZD;;AAcA,QAAMC,YAAY,GAAG;AACpB9C,IAAAA,OADoB;AAEpBZ,IAAAA,SAFoB;AAGpBoB,IAAAA,iBAHoB;AAIpBG,IAAAA,mBAJoB;AAKpBK,IAAAA,qBALoB;AAMpBC,IAAAA,4BANoB;AAOpB8B,IAAAA,YAAY,EAAE,CAAC,CAAE7D,UAAU,CAACqC,MAPR;AAQpBnB,IAAAA,WAAW,EAAEA,WAAW,CAACE,OARL;AASpBJ,IAAAA;AAToB,GAArB;AAYA,SAAO,EACN,GAAGC,UADG;AAEN2C,IAAAA,YAFM;AAGNF,IAAAA,aAHM;AAINT,IAAAA,UAJM;AAKNrC,IAAAA,SAAS,EAAE6B;AALL,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n} from '../types';\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\t\tmenuItems[ group ][ label ] = shouldReset ? false : hasValue();\n\t} );\n\n\treturn menuItems;\n};\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper,\n\t\tshouldRenderPlaceholderItems,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\n\tconst registerPanelItem = ( item: ToolsPanelItem ) => {\n\t\tsetPanelItems( ( items ) => [ ...items, item ] );\n\t};\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = ( label: string ) => {\n\t\t// When switching selections between components injecting matching\n\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t// deregistration of the first panel doesn't occur until after the\n\t\t// registration of the next.\n\t\tconst index = panelItems.findIndex( ( item ) => item.label === label );\n\n\t\tif ( index !== -1 ) {\n\t\t\tsetPanelItems( ( items ) => items.splice( index, 1 ) );\n\t\t}\n\t};\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tconst items = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: false,\n\t\t} );\n\t\tsetMenuItems( items );\n\t}, [ panelItems ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t//.we need to update that when their value is customized.\n\tconst flagItemCustomization = (\n\t\tlabel: string,\n\t\tgroup: ToolsPanelMenuItemKey = 'default'\n\t) => {\n\t\tsetMenuItems( {\n\t\t\t...menuItems,\n\t\t\t[ group ]: {\n\t\t\t\t...menuItems[ group ],\n\t\t\t\t[ label ]: true,\n\t\t\t},\n\t\t} );\n\t};\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [\n\t\tareAllOptionalControlsHidden,\n\t\tsetAreAllOptionalControlsHidden,\n\t] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( menuItems.optional ) {\n\t\t\tconst optionalItems = Object.entries( menuItems.optional );\n\t\t\tconst allControlsHidden =\n\t\t\t\toptionalItems.length > 0 &&\n\t\t\t\t! optionalItems.some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems.optional ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst hasDefaultMenuItems =\n\t\t\tmenuItems?.default && !! Object.keys( menuItems?.default ).length;\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper && styles.ToolsPanelWithInnerWrapper;\n\t\tconst emptyStyle =\n\t\t\t! hasDefaultMenuItems &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx( styles.ToolsPanel, wrapperStyle, emptyStyle, className );\n\t}, [\n\t\tclassName,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t\tareAllOptionalControlsHidden,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = ( label: string ) => {\n\t\tconst currentItem = panelItems.find( ( item ) => item.label === label );\n\n\t\tif ( ! currentItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst menuGroup = currentItem.isShownByDefault ? 'default' : 'optional';\n\n\t\tconst newMenuItems = {\n\t\t\t...menuItems,\n\t\t\t[ menuGroup ]: {\n\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t},\n\t\t};\n\n\t\tsetMenuItems( newMenuItems );\n\t};\n\n\tconst getResetAllFilters = () => {\n\t\tconst filters: Array< () => void > = [];\n\n\t\tpanelItems.forEach( ( item ) => {\n\t\t\tif ( item.resetAllFilter ) {\n\t\t\t\tfilters.push( item.resetAllFilter );\n\t\t\t}\n\t\t} );\n\t\treturn filters;\n\t};\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\t\t\tresetAll( getResetAllFilters() );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t};\n\n\tconst panelContext = {\n\t\tpanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tareAllOptionalControlsHidden,\n\t\thasMenuItems: !! panelItems.length,\n\t\tisResetting: isResetting.current,\n\t\tshouldRenderPlaceholderItems,\n\t};\n\n\treturn {\n\t\t...otherProps,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"names":["useEffect","useMemo","useRef","useState","styles","useContextSystem","useCx","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","menuItems","default","optional","forEach","hasValue","isShownByDefault","label","group","useToolsPanel","props","className","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","otherProps","isResetting","wasResetting","current","setPanelItems","registerPanelItem","item","items","deregisterPanelItem","index","findIndex","splice","setMenuItems","flagItemCustomization","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","optionalItems","Object","entries","allControlsHidden","length","some","isSelected","cx","classes","hasDefaultMenuItems","keys","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","newMenuItems","getResetAllFilters","filters","resetAllFilter","push","resetAllItems","resetMenuItems","panelContext","hasMenuItems"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useContextSystem, WordPressComponentProps } from '../../ui/context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\t\tmenuItems[ group ][ label ] = shouldReset ? false : hasValue();\n\t} );\n\n\treturn menuItems;\n};\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper,\n\t\tshouldRenderPlaceholderItems,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResetting = useRef( false );\n\tconst wasResetting = isResetting.current;\n\n\t// `isResetting` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResetting.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\n\tconst registerPanelItem = ( item: ToolsPanelItem ) => {\n\t\tsetPanelItems( ( items ) => [ ...items, item ] );\n\t};\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = ( label: string ) => {\n\t\t// When switching selections between components injecting matching\n\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t// deregistration of the first panel doesn't occur until after the\n\t\t// registration of the next.\n\t\tconst index = panelItems.findIndex( ( item ) => item.label === label );\n\n\t\tif ( index !== -1 ) {\n\t\t\tsetPanelItems( ( items ) => items.splice( index, 1 ) );\n\t\t}\n\t};\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tconst items = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: false,\n\t\t} );\n\t\tsetMenuItems( items );\n\t}, [ panelItems ] );\n\n\t// Force a menu item to be checked.\n\t// This is intended for use with default panel items. They are displayed\n\t// separately to optional items and have different display states,\n\t//.we need to update that when their value is customized.\n\tconst flagItemCustomization = (\n\t\tlabel: string,\n\t\tgroup: ToolsPanelMenuItemKey = 'default'\n\t) => {\n\t\tsetMenuItems( {\n\t\t\t...menuItems,\n\t\t\t[ group ]: {\n\t\t\t\t...menuItems[ group ],\n\t\t\t\t[ label ]: true,\n\t\t\t},\n\t\t} );\n\t};\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [\n\t\tareAllOptionalControlsHidden,\n\t\tsetAreAllOptionalControlsHidden,\n\t] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( menuItems.optional ) {\n\t\t\tconst optionalItems = Object.entries( menuItems.optional );\n\t\t\tconst allControlsHidden =\n\t\t\t\toptionalItems.length > 0 &&\n\t\t\t\t! optionalItems.some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems.optional ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst hasDefaultMenuItems =\n\t\t\tmenuItems?.default && !! Object.keys( menuItems?.default ).length;\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\t! hasDefaultMenuItems &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx( styles.ToolsPanel, wrapperStyle, emptyStyle, className );\n\t}, [\n\t\tclassName,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t\tareAllOptionalControlsHidden,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = ( label: string ) => {\n\t\tconst currentItem = panelItems.find( ( item ) => item.label === label );\n\n\t\tif ( ! currentItem ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst menuGroup = currentItem.isShownByDefault ? 'default' : 'optional';\n\n\t\tconst newMenuItems = {\n\t\t\t...menuItems,\n\t\t\t[ menuGroup ]: {\n\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t},\n\t\t};\n\n\t\tsetMenuItems( newMenuItems );\n\t};\n\n\tconst getResetAllFilters = () => {\n\t\tconst filters: Array< () => void > = [];\n\n\t\tpanelItems.forEach( ( item ) => {\n\t\t\tif ( item.resetAllFilter ) {\n\t\t\t\tfilters.push( item.resetAllFilter );\n\t\t\t}\n\t\t} );\n\t\treturn filters;\n\t};\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResetting.current = true;\n\t\t\tresetAll( getResetAllFilters() );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t};\n\n\tconst panelContext = {\n\t\tpanelId,\n\t\tmenuItems,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tareAllOptionalControlsHidden,\n\t\thasMenuItems: !! panelItems.length,\n\t\tisResetting: isResetting.current,\n\t\tshouldRenderPlaceholderItems,\n\t};\n\n\treturn {\n\t\t...otherProps,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/component.tsx"],"names":["check","reset","moreVertical","plus","__","_x","sprintf","DropdownMenu","MenuGroup","MenuItem","HStack","Heading","useToolsPanelHeader","contextConnect","noop","DefaultControlsGroup","items","onClose","toggleItem","length","map","label","hasValue","icon","itemLabel","undefined","OptionalControlsGroup","isSelected","ToolsPanelHeader","props","forwardedRef","areAllOptionalControlsHidden","dropdownMenuClassName","hasMenuItems","headingClassName","labelText","menuItems","resetAll","headerProps","defaultItems","Object","entries","default","optionalItems","optional","dropDownMenuIcon","dropDownMenuLabelText","className","ConnectedToolsPanelHeader"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/tools-panel/tools-panel-header/component.tsx"],"names":["check","reset","moreVertical","plus","__","_x","sprintf","DropdownMenu","MenuGroup","MenuItem","HStack","Heading","useToolsPanelHeader","contextConnect","noop","DefaultControlsGroup","items","onClose","toggleItem","length","map","label","hasValue","icon","itemLabel","undefined","OptionalControlsGroup","isSelected","ToolsPanelHeader","props","forwardedRef","areAllOptionalControlsHidden","dropdownMenuClassName","hasMenuItems","headingClassName","labelText","menuItems","resetAll","headerProps","defaultItems","Object","entries","default","optionalItems","optional","dropDownMenuIcon","dropDownMenuLabelText","className","isSmall","ConnectedToolsPanelHeader"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { Ref } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { check, reset, moreVertical, plus } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport DropdownMenu from '../../dropdown-menu';\nimport MenuGroup from '../../menu-group';\nimport MenuItem from '../../menu-item';\nimport { HStack } from '../../h-stack';\nimport { Heading } from '../../heading';\nimport { useToolsPanelHeader } from './hook';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport type {\n\tToolsPanelControlsGroupProps,\n\tToolsPanelHeaderProps,\n} from '../types';\n\nconst noop = () => {};\n\nconst DefaultControlsGroup = ( {\n\titems,\n\tonClose,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup>\n\t\t\t{ items.map( ( [ label, hasValue ] ) => {\n\t\t\t\tconst icon = hasValue ? reset : check;\n\t\t\t\tconst itemLabel = hasValue\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control being reset e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Reset %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: undefined;\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ true }\n\t\t\t\t\t\tdisabled={ ! hasValue }\n\t\t\t\t\t\tlabel={ itemLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst OptionalControlsGroup = ( {\n\titems,\n\tonClose,\n\ttoggleItem,\n}: ToolsPanelControlsGroupProps ) => {\n\tif ( ! items.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup>\n\t\t\t{ items.map( ( [ label, isSelected ] ) => {\n\t\t\t\tconst itemLabel = isSelected\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control being hidden and reset e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Hide and reset %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s: The name of the control to display e.g. \"Padding\".\n\t\t\t\t\t\t\t__( 'Show %s' ),\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t );\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\ticon={ isSelected && check }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tlabel={ itemLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\ttoggleItem( label );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</MenuGroup>\n\t);\n};\n\nconst ToolsPanelHeader = (\n\tprops: WordPressComponentProps< ToolsPanelHeaderProps, 'h2' >,\n\tforwardedRef: Ref< any >\n) => {\n\tconst {\n\t\tareAllOptionalControlsHidden,\n\t\tdropdownMenuClassName,\n\t\thasMenuItems,\n\t\theadingClassName,\n\t\tlabel: labelText,\n\t\tmenuItems,\n\t\tresetAll,\n\t\ttoggleItem,\n\t\t...headerProps\n\t} = useToolsPanelHeader( props );\n\n\tif ( ! labelText ) {\n\t\treturn null;\n\t}\n\n\tconst defaultItems = Object.entries( menuItems?.default || {} );\n\tconst optionalItems = Object.entries( menuItems?.optional || {} );\n\tconst dropDownMenuIcon = areAllOptionalControlsHidden ? plus : moreVertical;\n\tconst dropDownMenuLabelText = areAllOptionalControlsHidden\n\t\t? _x(\n\t\t\t\t'View and add options',\n\t\t\t\t'Button label to reveal tool panel options'\n\t\t )\n\t\t: _x( 'View options', 'Button label to reveal tool panel options' );\n\n\treturn (\n\t\t<HStack { ...headerProps } ref={ forwardedRef }>\n\t\t\t<Heading level={ 2 } className={ headingClassName }>\n\t\t\t\t{ labelText }\n\t\t\t</Heading>\n\t\t\t{ hasMenuItems && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ dropDownMenuIcon }\n\t\t\t\t\tlabel={ dropDownMenuLabelText }\n\t\t\t\t\tmenuProps={ { className: dropdownMenuClassName } }\n\t\t\t\t\ttoggleProps={ { isSmall: true } }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose = noop } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<DefaultControlsGroup\n\t\t\t\t\t\t\t\titems={ defaultItems }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<OptionalControlsGroup\n\t\t\t\t\t\t\t\titems={ optionalItems }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\ttoggleItem={ toggleItem }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tvariant={ 'tertiary' }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tresetAll();\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Reset all' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n};\n\nconst ConnectedToolsPanelHeader = contextConnect(\n\tToolsPanelHeader,\n\t'ToolsPanelHeader'\n);\n\nexport default ConnectedToolsPanelHeader;\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as useControlledState } from './use-controlled-state';
|
|
2
2
|
export { default as useUpdateEffect } from './use-update-effect';
|
|
3
|
+
export { useCombinedRef } from './use-combined-ref';
|
|
3
4
|
export { useControlledValue } from './use-controlled-value';
|
|
4
5
|
export { useCx } from './use-cx';
|
|
5
6
|
export { useLatestRef } from './use-latest-ref';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/utils/hooks/index.js"],"names":["default","useControlledState","useUpdateEffect","useControlledValue","useCx","useLatestRef"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAApB,QAA8C,wBAA9C;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,qBAA3C;AACA,SAASC,kBAAT,QAAmC,wBAAnC;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,YAAT,QAA6B,kBAA7B","sourcesContent":["export { default as useControlledState } from './use-controlled-state';\nexport { default as useUpdateEffect } from './use-update-effect';\nexport { useControlledValue } from './use-controlled-value';\nexport { useCx } from './use-cx';\nexport { useLatestRef } from './use-latest-ref';\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/utils/hooks/index.js"],"names":["default","useControlledState","useUpdateEffect","useCombinedRef","useControlledValue","useCx","useLatestRef"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAApB,QAA8C,wBAA9C;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,qBAA3C;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,SAASC,kBAAT,QAAmC,wBAAnC;AACA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,YAAT,QAA6B,kBAA7B","sourcesContent":["export { default as useControlledState } from './use-controlled-state';\nexport { default as useUpdateEffect } from './use-update-effect';\nexport { useCombinedRef } from './use-combined-ref';\nexport { useControlledValue } from './use-controlled-value';\nexport { useCx } from './use-cx';\nexport { useLatestRef } from './use-latest-ref';\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useRef, useEffect } from '@wordpress/element';
|
|
5
|
+
/**
|
|
6
|
+
* External dependencies
|
|
7
|
+
*/
|
|
8
|
+
// eslint-disable-next-line no-restricted-imports
|
|
9
|
+
|
|
10
|
+
export function useCombinedRef(...refs) {
|
|
11
|
+
const targetRef = useRef(null);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
refs.forEach(ref => {
|
|
14
|
+
if (!ref) return;
|
|
15
|
+
|
|
16
|
+
if (typeof ref === 'function') {
|
|
17
|
+
ref(targetRef.current);
|
|
18
|
+
} else {
|
|
19
|
+
ref.current = targetRef.current;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}, [refs]);
|
|
23
|
+
return targetRef;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=use-combined-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/utils/hooks/use-combined-ref.ts"],"names":["useRef","useEffect","useCombinedRef","refs","targetRef","forEach","ref","current"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,oBAAlC;AACA;AACA;AACA;AACA;;AAKA,OAAO,SAASC,cAAT,CAAkD,GAAGC,IAArD,EAAwE;AAC9E,QAAMC,SAAS,GAAGJ,MAAM,CAAE,IAAF,CAAxB;AAEAC,EAAAA,SAAS,CAAE,MAAM;AAChBE,IAAAA,IAAI,CAACE,OAAL,CAAgBC,GAAF,IAAW;AACxB,UAAK,CAAEA,GAAP,EAAa;;AAEb,UAAK,OAAOA,GAAP,KAAe,UAApB,EAAiC;AAChCA,QAAAA,GAAG,CAAEF,SAAS,CAACG,OAAZ,CAAH;AACA,OAFD,MAEO;AACND,QAAAA,GAAG,CAACC,OAAJ,GAAcH,SAAS,CAACG,OAAxB;AACA;AACD,KARD;AASA,GAVQ,EAUN,CAAEJ,IAAF,CAVM,CAAT;AAYA,SAAOC,SAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\n/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type { MutableRefObject, RefCallback } from 'react';\n\ntype Ref< T > = MutableRefObject< T | null > | RefCallback< T | null >;\n\nexport function useCombinedRef< T extends HTMLElement >( ...refs: Ref< T >[] ) {\n\tconst targetRef = useRef( null );\n\n\tuseEffect( () => {\n\t\trefs.forEach( ( ref ) => {\n\t\t\tif ( ! ref ) return;\n\n\t\t\tif ( typeof ref === 'function' ) {\n\t\t\t\tref( targetRef.current );\n\t\t\t} else {\n\t\t\t\tref.current = targetRef.current;\n\t\t\t}\n\t\t} );\n\t}, [ refs ] );\n\n\treturn targetRef;\n}\n"]}
|
|
@@ -638,15 +638,15 @@ svg.components-checkbox-control__checked {
|
|
|
638
638
|
justify-content: flex-end;
|
|
639
639
|
}
|
|
640
640
|
.components-circular-option-picker .components-circular-option-picker__swatches {
|
|
641
|
-
|
|
641
|
+
display: flex;
|
|
642
|
+
flex-wrap: wrap;
|
|
643
|
+
gap: 12px;
|
|
642
644
|
}
|
|
643
645
|
|
|
644
646
|
.components-circular-option-picker__option-wrapper {
|
|
645
647
|
display: inline-block;
|
|
646
648
|
height: 28px;
|
|
647
649
|
width: 28px;
|
|
648
|
-
margin-left: 12px;
|
|
649
|
-
margin-bottom: 12px;
|
|
650
650
|
vertical-align: top;
|
|
651
651
|
transform: scale(1);
|
|
652
652
|
transition: 100ms transform ease;
|
|
@@ -753,55 +753,12 @@ svg.components-checkbox-control__checked {
|
|
|
753
753
|
line-height: 22px;
|
|
754
754
|
}
|
|
755
755
|
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
display: block;
|
|
762
|
-
margin: 8px;
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
.components-color-edit__color-option.is-hover {
|
|
766
|
-
background: #e0e0e0;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
.components-color-edit__cancel-button {
|
|
770
|
-
float: left;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
.components-color-edit__color-option-color-name {
|
|
774
|
-
width: 100%;
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
.components-color-edit__label-and-insert-container {
|
|
778
|
-
display: flex;
|
|
779
|
-
align-items: center;
|
|
780
|
-
justify-content: space-between;
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
.components-color-edit__insert-button {
|
|
784
|
-
margin-top: -8px;
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
.components-color-edit__hidden-control {
|
|
788
|
-
position: relative;
|
|
789
|
-
right: -9999px;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
.components-color-edit__color-option-color-name-input .components-base-control__field {
|
|
793
|
-
margin-bottom: 0;
|
|
794
|
-
margin-left: 8px;
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
.components-color-edit__slug-input {
|
|
798
|
-
margin-right: 8px;
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
.components-color-edit__reset-button {
|
|
802
|
-
float: left;
|
|
756
|
+
@media (min-width: 782px) {
|
|
757
|
+
.components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content {
|
|
758
|
+
margin-left: 156px;
|
|
759
|
+
margin-top: -49px;
|
|
760
|
+
}
|
|
803
761
|
}
|
|
804
|
-
|
|
805
762
|
.component-color-indicator {
|
|
806
763
|
width: 25px;
|
|
807
764
|
height: 16px;
|
|
@@ -901,6 +858,27 @@ input.components-combobox-control__input[type=text]:focus {
|
|
|
901
858
|
width: 100%;
|
|
902
859
|
}
|
|
903
860
|
|
|
861
|
+
.components-color-list-picker__color-picker {
|
|
862
|
+
margin: 8px 0;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.components-color-palette__custom-color {
|
|
866
|
+
border: none;
|
|
867
|
+
background: none;
|
|
868
|
+
outline: 0;
|
|
869
|
+
display: block;
|
|
870
|
+
border-radius: 2px;
|
|
871
|
+
height: 48px;
|
|
872
|
+
text-align: left;
|
|
873
|
+
width: 100%;
|
|
874
|
+
background-image: repeating-linear-gradient(-45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0), repeating-linear-gradient(-45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0);
|
|
875
|
+
background-position: 100% 0, 25px 25px;
|
|
876
|
+
background-size: calc(2 * 25px) calc(2 * 25px);
|
|
877
|
+
box-sizing: border-box;
|
|
878
|
+
color: #fff;
|
|
879
|
+
cursor: pointer;
|
|
880
|
+
}
|
|
881
|
+
|
|
904
882
|
.components-custom-gradient-picker__gradient-bar:not(.has-gradient) {
|
|
905
883
|
opacity: 0.4;
|
|
906
884
|
}
|
|
@@ -3153,6 +3131,12 @@ body.is-dragging-components-draggable {
|
|
|
3153
3131
|
animation-delay: 0s;
|
|
3154
3132
|
}
|
|
3155
3133
|
}
|
|
3134
|
+
@media (min-width: 600px) {
|
|
3135
|
+
.components-modal__frame.is-full-screen {
|
|
3136
|
+
width: 90vw;
|
|
3137
|
+
min-height: 90vh;
|
|
3138
|
+
}
|
|
3139
|
+
}
|
|
3156
3140
|
@media (min-width: 960px) {
|
|
3157
3141
|
.components-modal__frame {
|
|
3158
3142
|
max-height: 70%;
|
|
@@ -3912,6 +3896,10 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
|
|
|
3912
3896
|
display: block;
|
|
3913
3897
|
}
|
|
3914
3898
|
|
|
3899
|
+
.components-resizable-box__container > img {
|
|
3900
|
+
width: inherit;
|
|
3901
|
+
}
|
|
3902
|
+
|
|
3915
3903
|
.components-resizable-box__handle::after {
|
|
3916
3904
|
display: block;
|
|
3917
3905
|
content: "";
|
package/build-style/style.css
CHANGED
|
@@ -638,15 +638,15 @@ svg.components-checkbox-control__checked {
|
|
|
638
638
|
justify-content: flex-end;
|
|
639
639
|
}
|
|
640
640
|
.components-circular-option-picker .components-circular-option-picker__swatches {
|
|
641
|
-
|
|
641
|
+
display: flex;
|
|
642
|
+
flex-wrap: wrap;
|
|
643
|
+
gap: 12px;
|
|
642
644
|
}
|
|
643
645
|
|
|
644
646
|
.components-circular-option-picker__option-wrapper {
|
|
645
647
|
display: inline-block;
|
|
646
648
|
height: 28px;
|
|
647
649
|
width: 28px;
|
|
648
|
-
margin-right: 12px;
|
|
649
|
-
margin-bottom: 12px;
|
|
650
650
|
vertical-align: top;
|
|
651
651
|
transform: scale(1);
|
|
652
652
|
transition: 100ms transform ease;
|
|
@@ -753,55 +753,12 @@ svg.components-checkbox-control__checked {
|
|
|
753
753
|
line-height: 22px;
|
|
754
754
|
}
|
|
755
755
|
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
display: block;
|
|
762
|
-
margin: 8px;
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
.components-color-edit__color-option.is-hover {
|
|
766
|
-
background: #e0e0e0;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
.components-color-edit__cancel-button {
|
|
770
|
-
float: right;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
.components-color-edit__color-option-color-name {
|
|
774
|
-
width: 100%;
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
.components-color-edit__label-and-insert-container {
|
|
778
|
-
display: flex;
|
|
779
|
-
align-items: center;
|
|
780
|
-
justify-content: space-between;
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
.components-color-edit__insert-button {
|
|
784
|
-
margin-top: -8px;
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
.components-color-edit__hidden-control {
|
|
788
|
-
position: relative;
|
|
789
|
-
left: -9999px;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
.components-color-edit__color-option-color-name-input .components-base-control__field {
|
|
793
|
-
margin-bottom: 0;
|
|
794
|
-
margin-right: 8px;
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
.components-color-edit__slug-input {
|
|
798
|
-
margin-left: 8px;
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
.components-color-edit__reset-button {
|
|
802
|
-
float: right;
|
|
756
|
+
@media (min-width: 782px) {
|
|
757
|
+
.components-color-edit__color-popover.components-popover .components-popover__content.components-popover__content.components-popover__content {
|
|
758
|
+
margin-right: 156px;
|
|
759
|
+
margin-top: -49px;
|
|
760
|
+
}
|
|
803
761
|
}
|
|
804
|
-
|
|
805
762
|
.component-color-indicator {
|
|
806
763
|
width: 25px;
|
|
807
764
|
height: 16px;
|
|
@@ -901,6 +858,27 @@ input.components-combobox-control__input[type=text]:focus {
|
|
|
901
858
|
width: 100%;
|
|
902
859
|
}
|
|
903
860
|
|
|
861
|
+
.components-color-list-picker__color-picker {
|
|
862
|
+
margin: 8px 0;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.components-color-palette__custom-color {
|
|
866
|
+
border: none;
|
|
867
|
+
background: none;
|
|
868
|
+
outline: 0;
|
|
869
|
+
display: block;
|
|
870
|
+
border-radius: 2px;
|
|
871
|
+
height: 48px;
|
|
872
|
+
text-align: right;
|
|
873
|
+
width: 100%;
|
|
874
|
+
background-image: repeating-linear-gradient(45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0), repeating-linear-gradient(45deg, #e0e0e0 25%, transparent 25%, transparent 75%, #e0e0e0 75%, #e0e0e0);
|
|
875
|
+
background-position: 0 0, 25px 25px;
|
|
876
|
+
background-size: calc(2 * 25px) calc(2 * 25px);
|
|
877
|
+
box-sizing: border-box;
|
|
878
|
+
color: #fff;
|
|
879
|
+
cursor: pointer;
|
|
880
|
+
}
|
|
881
|
+
|
|
904
882
|
.components-custom-gradient-picker__gradient-bar:not(.has-gradient) {
|
|
905
883
|
opacity: 0.4;
|
|
906
884
|
}
|
|
@@ -3161,6 +3139,12 @@ body.is-dragging-components-draggable {
|
|
|
3161
3139
|
animation-delay: 0s;
|
|
3162
3140
|
}
|
|
3163
3141
|
}
|
|
3142
|
+
@media (min-width: 600px) {
|
|
3143
|
+
.components-modal__frame.is-full-screen {
|
|
3144
|
+
width: 90vw;
|
|
3145
|
+
min-height: 90vh;
|
|
3146
|
+
}
|
|
3147
|
+
}
|
|
3164
3148
|
@media (min-width: 960px) {
|
|
3165
3149
|
.components-modal__frame {
|
|
3166
3150
|
max-height: 70%;
|
|
@@ -3926,6 +3910,10 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
|
|
|
3926
3910
|
display: block;
|
|
3927
3911
|
}
|
|
3928
3912
|
|
|
3913
|
+
.components-resizable-box__container > img {
|
|
3914
|
+
width: inherit;
|
|
3915
|
+
}
|
|
3916
|
+
|
|
3929
3917
|
.components-resizable-box__handle::after {
|
|
3930
3918
|
display: block;
|
|
3931
3919
|
content: "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-control-styles.d.ts","sourceRoot":"","sources":["../../../src/range-control/styles/range-control-styles.js"],"names":[],"mappings":"AAoBA;;;0GAUE;AAQF;;;;;0GAWE;AAEF;;;4GAIE;AAEF;;;4GAIE;AAcF;;;;;;4GAcE;AAcF;;;;;;4GAYE;AAEF;;;4GAOE;AAcF;;;;;;4GASE;AAQF;;;;;4GAWE;AAWF;;;;;
|
|
1
|
+
{"version":3,"file":"range-control-styles.d.ts","sourceRoot":"","sources":["../../../src/range-control/styles/range-control-styles.js"],"names":[],"mappings":"AAoBA;;;0GAUE;AAQF;;;;;0GAWE;AAEF;;;4GAIE;AAEF;;;4GAIE;AAcF;;;;;;4GAcE;AAcF;;;;;;4GAYE;AAEF;;;4GAOE;AAcF;;;;;;4GASE;AAQF;;;;;4GAWE;AAWF;;;;;4GAqBE;AAoBF;;;;;4GAYE;AAEF;;;mHAaE;AAsBF;;;;;4GAwBE;AAIF;;;;;;;;;;;;;;;;;;WAYE;AAEF;;;4GAYE"}
|
|
@@ -4,7 +4,7 @@ export declare const ToolsPanel: import("@emotion/utils").SerializedStyles;
|
|
|
4
4
|
* an inner dom element to be injected. The following rule allows for the
|
|
5
5
|
* CSS grid display to be re-established.
|
|
6
6
|
*/
|
|
7
|
-
export declare const ToolsPanelWithInnerWrapper: import("@emotion/utils").SerializedStyles;
|
|
7
|
+
export declare const ToolsPanelWithInnerWrapper: (columns: number) => import("@emotion/utils").SerializedStyles;
|
|
8
8
|
export declare const ToolsPanelHiddenInnerWrapper: import("@emotion/utils").SerializedStyles;
|
|
9
9
|
export declare const ToolsPanelHeader: import("@emotion/utils").SerializedStyles;
|
|
10
10
|
export declare const ToolsPanelHeading: import("@emotion/utils").SerializedStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/tools-panel/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/tools-panel/styles.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,UAAU,2CAMtB,CAAC;AAEF;;;;GAIG;AAEH,eAAO,MAAM,0BAA0B,YAAc,MAAM,8CAS1D,CAAC;AAEF,eAAO,MAAM,4BAA4B,2CAIxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,2CAkB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,2CAS7B,CAAC;AAEF,eAAO,MAAM,cAAc,2CAoB1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAErC,CAAC;AAEF,eAAO,MAAM,YAAY,2CAExB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel/component.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel/component.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAgChD,QAAA,MAAM,mBAAmB,6EAA6C,CAAC;AAEvE,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel/hook.ts"],"names":[],"mappings":";AASA,OAAO,EAAoB,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EACX,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAEnB,eAAe,EACf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel/hook.ts"],"names":[],"mappings":";AASA,OAAO,EAAoB,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EACX,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAEnB,eAAe,EACf,MAAM,UAAU,CAAC;AAkBlB,wBAAgB,aAAa,CAC5B,KAAK,EAAE,uBAAuB,CAAE,eAAe,EAAE,KAAK,CAAE;;;;kCA2BtB,cAAc;qCAMX,MAAM;uCAgCnC,MAAM,UACN,qBAAqB;;;;;;;wBAoDD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiElC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel-header/component.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAEX,qBAAqB,EACrB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/tools-panel/tools-panel-header/component.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAEX,qBAAqB,EACrB,MAAM,UAAU,CAAC;AAmKlB,QAAA,MAAM,yBAAyB,kFAG9B,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as useControlledState } from "./use-controlled-state";
|
|
2
2
|
export { default as useUpdateEffect } from "./use-update-effect";
|
|
3
|
+
export { useCombinedRef } from "./use-combined-ref";
|
|
3
4
|
export { useControlledValue } from "./use-controlled-value";
|
|
4
5
|
export { useCx } from "./use-cx";
|
|
5
6
|
export { useLatestRef } from "./use-latest-ref";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { MutableRefObject, RefCallback } from 'react';
|
|
5
|
+
declare type Ref<T> = MutableRefObject<T | null> | RefCallback<T | null>;
|
|
6
|
+
export declare function useCombinedRef<T extends HTMLElement>(...refs: Ref<T>[]): MutableRefObject<null>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=use-combined-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-combined-ref.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/use-combined-ref.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3D,aAAK,GAAG,CAAE,CAAC,IAAK,gBAAgB,CAAE,CAAC,GAAG,IAAI,CAAE,GAAG,WAAW,CAAE,CAAC,GAAG,IAAI,CAAE,CAAC;AAEvE,wBAAgB,cAAc,CAAE,CAAC,SAAS,WAAW,EAAI,GAAG,IAAI,EAAE,GAAG,CAAE,CAAC,CAAE,EAAE,0BAgB3E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/components",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.1",
|
|
4
4
|
"description": "UI components for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -36,18 +36,18 @@
|
|
|
36
36
|
"@emotion/styled": "^11.3.0",
|
|
37
37
|
"@emotion/utils": "1.0.0",
|
|
38
38
|
"@wordpress/a11y": "^3.2.3",
|
|
39
|
-
"@wordpress/compose": "^5.0.
|
|
39
|
+
"@wordpress/compose": "^5.0.5",
|
|
40
40
|
"@wordpress/date": "^4.2.2",
|
|
41
41
|
"@wordpress/deprecated": "^3.2.2",
|
|
42
|
-
"@wordpress/dom": "^3.2.
|
|
42
|
+
"@wordpress/dom": "^3.2.6",
|
|
43
43
|
"@wordpress/element": "^4.0.3",
|
|
44
44
|
"@wordpress/hooks": "^3.2.1",
|
|
45
45
|
"@wordpress/i18n": "^4.2.3",
|
|
46
|
-
"@wordpress/icons": "^6.0
|
|
46
|
+
"@wordpress/icons": "^6.1.0",
|
|
47
47
|
"@wordpress/is-shallow-equal": "^4.2.0",
|
|
48
48
|
"@wordpress/keycodes": "^3.2.3",
|
|
49
49
|
"@wordpress/primitives": "^3.0.3",
|
|
50
|
-
"@wordpress/rich-text": "^5.0.
|
|
50
|
+
"@wordpress/rich-text": "^5.0.5",
|
|
51
51
|
"@wordpress/warning": "^2.2.2",
|
|
52
52
|
"classnames": "^2.3.1",
|
|
53
53
|
"colord": "^2.7.0",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"publishConfig": {
|
|
75
75
|
"access": "public"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "393c2b5533837fd637e998d23f0124c081a10df0"
|
|
78
78
|
}
|
|
@@ -36,9 +36,9 @@ export const CircleIndicatorWrapper = styled.div`
|
|
|
36
36
|
`;
|
|
37
37
|
|
|
38
38
|
export const CircleIndicator = styled.div`
|
|
39
|
-
background:
|
|
39
|
+
background: ${ COLORS.admin.theme };
|
|
40
40
|
border-radius: 50%;
|
|
41
|
-
border: ${ INNER_CIRCLE_SIZE }px solid
|
|
41
|
+
border: ${ INNER_CIRCLE_SIZE }px solid ${ COLORS.admin.theme };
|
|
42
42
|
bottom: 0;
|
|
43
43
|
box-sizing: border-box;
|
|
44
44
|
display: block;
|