@wordpress/customize-widgets 3.6.0 → 3.9.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.
- package/CHANGELOG.md +6 -0
- package/build/components/customize-widgets/use-clear-selected-block.js.map +1 -1
- package/build/components/focus-control/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +11 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/sidebar-block-editor/index.js +3 -7
- package/build/components/sidebar-block-editor/index.js.map +1 -1
- package/build/components/sidebar-block-editor/sidebar-adapter.js.map +1 -1
- package/build/controls/inserter-outer-section.js.map +1 -1
- package/build-module/components/customize-widgets/use-clear-selected-block.js.map +1 -1
- package/build-module/components/focus-control/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +11 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/sidebar-block-editor/index.js +3 -6
- package/build-module/components/sidebar-block-editor/index.js.map +1 -1
- package/build-module/components/sidebar-block-editor/sidebar-adapter.js.map +1 -1
- package/build-module/controls/inserter-outer-section.js.map +1 -1
- package/build-style/style-rtl.css +5 -1
- package/build-style/style.css +5 -1
- package/package.json +21 -21
- package/src/components/customize-widgets/use-clear-selected-block.js +2 -3
- package/src/components/focus-control/index.js +4 -4
- package/src/components/keyboard-shortcut-help-modal/config.js +8 -0
- package/src/components/sidebar-block-editor/index.js +2 -9
- package/src/components/sidebar-block-editor/sidebar-adapter.js +2 -4
- package/src/components/sidebar-block-editor/style.scss +9 -1
- package/src/controls/inserter-outer-section.js +4 -5
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/customize-widgets/use-clear-selected-block.js"],"names":["useClearSelectedBlock","sidebarControl","popoverRef","hasSelectedBlock","hasMultiSelection","blockEditorStore","clearSelectedBlock","current","inspector","container","ownerDocument","ownerWindow","defaultView","handleClearSelectedBlock","element","contains","closest","expanded","handleMouseDown","event","target","handleBlur","activeElement","addEventListener","removeEventListener"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgCC,cAAhC,EAAgDC,UAAhD,EAA6D;AAC3E,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/customize-widgets/use-clear-selected-block.js"],"names":["useClearSelectedBlock","sidebarControl","popoverRef","hasSelectedBlock","hasMultiSelection","blockEditorStore","clearSelectedBlock","current","inspector","container","ownerDocument","ownerWindow","defaultView","handleClearSelectedBlock","element","contains","closest","expanded","handleMouseDown","event","target","handleBlur","activeElement","addEventListener","removeEventListener"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,qBAAT,CAAgCC,cAAhC,EAAgDC,UAAhD,EAA6D;AAC3E,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MACL,qBAAWC,kBAAX,CADD;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAyB,uBAAaD,kBAAb,CAA/B;AAEA,0BAAW,MAAM;AAChB,QAAKH,UAAU,CAACK,OAAX,IAAsBN,cAA3B,EAA4C;AAC3C,YAAMO,SAAS,GAAGP,cAAc,CAACO,SAAjC;AACA,YAAMC,SAAS,GAAGR,cAAc,CAACQ,SAAf,CAA0B,CAA1B,CAAlB;AACA,YAAMC,aAAa,GAAGD,SAAS,CAACC,aAAhC;AACA,YAAMC,WAAW,GAAGD,aAAa,CAACE,WAAlC;;AAEA,eAASC,wBAAT,CAAmCC,OAAnC,EAA6C;AAC5C,aACC;AACA,SAAEX,gBAAgB,MAAMC,iBAAiB,EAAzC,KACA;AACAU,QAAAA,OAFA,IAGAJ,aAAa,CAACK,QAAd,CAAwBD,OAAxB,CAHA,IAIA;AACA,SAAEL,SAAS,CAACM,QAAV,CAAoBD,OAApB,CALF,IAMA,CAAEZ,UAAU,CAACK,OAAX,CAAmBQ,QAAnB,CAA6BD,OAA7B,CANF,IAOA,CAAEA,OAAO,CAACE,OAAR,CAAiB,iBAAjB,CAPF,IAQA;AACA,SAAER,SAAS,CAACS,QAAV,EAXH,EAYE;AACDX,UAAAA,kBAAkB;AAClB;AACD,OAtB0C,CAwB3C;;;AACA,eAASY,eAAT,CAA0BC,KAA1B,EAAkC;AACjCN,QAAAA,wBAAwB,CAAEM,KAAK,CAACC,MAAR,CAAxB;AACA,OA3B0C,CA4B3C;;;AACA,eAASC,UAAT,GAAsB;AACrBR,QAAAA,wBAAwB,CAAEH,aAAa,CAACY,aAAhB,CAAxB;AACA;;AAEDZ,MAAAA,aAAa,CAACa,gBAAd,CAAgC,WAAhC,EAA6CL,eAA7C;AACAP,MAAAA,WAAW,CAACY,gBAAZ,CAA8B,MAA9B,EAAsCF,UAAtC;AAEA,aAAO,MAAM;AACZX,QAAAA,aAAa,CAACc,mBAAd,CACC,WADD,EAECN,eAFD;AAIAP,QAAAA,WAAW,CAACa,mBAAZ,CAAiC,MAAjC,EAAyCH,UAAzC;AACA,OAND;AAOA;AACD,GA7CD,EA6CG,CACFnB,UADE,EAEFD,cAFE,EAGFE,gBAHE,EAIFC,iBAJE,EAKFE,kBALE,CA7CH;AAoDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * We can't just use <BlockSelectionClearer> because the customizer has\n * many root nodes rather than just one in the post editor.\n * We need to listen to the focus events in all those roots, and also in\n * the preview iframe.\n * This hook will clear the selected block when focusing outside the editor,\n * with a few exceptions:\n * 1. Focusing on popovers.\n * 2. Focusing on the inspector.\n * 3. Focusing on any modals/dialogs.\n * These cases are normally triggered by user interactions from the editor,\n * not by explicitly focusing outside the editor, hence no need for clearing.\n *\n * @param {Object} sidebarControl The sidebar control instance.\n * @param {Object} popoverRef The ref object of the popover node container.\n */\nexport default function useClearSelectedBlock( sidebarControl, popoverRef ) {\n\tconst { hasSelectedBlock, hasMultiSelection } =\n\t\tuseSelect( blockEditorStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( popoverRef.current && sidebarControl ) {\n\t\t\tconst inspector = sidebarControl.inspector;\n\t\t\tconst container = sidebarControl.container[ 0 ];\n\t\t\tconst ownerDocument = container.ownerDocument;\n\t\t\tconst ownerWindow = ownerDocument.defaultView;\n\n\t\t\tfunction handleClearSelectedBlock( element ) {\n\t\t\t\tif (\n\t\t\t\t\t// 1. Make sure there are blocks being selected.\n\t\t\t\t\t( hasSelectedBlock() || hasMultiSelection() ) &&\n\t\t\t\t\t// 2. The element should exist in the DOM (not deleted).\n\t\t\t\t\telement &&\n\t\t\t\t\townerDocument.contains( element ) &&\n\t\t\t\t\t// 3. It should also not exist in the container, the popover, nor the dialog.\n\t\t\t\t\t! container.contains( element ) &&\n\t\t\t\t\t! popoverRef.current.contains( element ) &&\n\t\t\t\t\t! element.closest( '[role=\"dialog\"]' ) &&\n\t\t\t\t\t// 4. The inspector should not be opened.\n\t\t\t\t\t! inspector.expanded()\n\t\t\t\t) {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Handle mouse down in the same document.\n\t\t\tfunction handleMouseDown( event ) {\n\t\t\t\thandleClearSelectedBlock( event.target );\n\t\t\t}\n\t\t\t// Handle focusing outside the current document, like to iframes.\n\t\t\tfunction handleBlur() {\n\t\t\t\thandleClearSelectedBlock( ownerDocument.activeElement );\n\t\t\t}\n\n\t\t\townerDocument.addEventListener( 'mousedown', handleMouseDown );\n\t\t\townerWindow.addEventListener( 'blur', handleBlur );\n\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'mousedown',\n\t\t\t\t\thandleMouseDown\n\t\t\t\t);\n\t\t\t\townerWindow.removeEventListener( 'blur', handleBlur );\n\t\t\t};\n\t\t}\n\t}, [\n\t\tpopoverRef,\n\t\tsidebarControl,\n\t\thasSelectedBlock,\n\t\thasMultiSelection,\n\t\tclearSelectedBlock,\n\t] );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/focus-control/index.js"],"names":["FocusControlContext","FocusControl","api","sidebarControls","children","focusedWidgetIdRef","setFocusedWidgetIdRef","current","focusWidget","widgetId","sidebarControl","widgets","setting","get","includes","sectionInstance","expand","completeCallback","handleFocus","settingId","handleReady","previewer","preview","bind","unbind","context","useFocusControl"],"mappings":";;;;;;;;AAGA;;AAYA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,mBAAmB,GAAG,6BAA5B;;AAEe,SAASC,YAAT,OAA4D;AAAA,MAArC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,eAAP;AAAwBC,IAAAA;AAAxB,GAAqC;AAC1E,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU;AAC/DC,IAAAA,OAAO,EAAE;AADsD,GAAV,CAAtD;AAIA,QAAMC,WAAW,GAAG,0BACjBC,QAAF,IAAgB;AACf,SAAM,MAAMC,cAAZ,IAA8BP,eAA9B,EAAgD;AAC/C,YAAMQ,OAAO,GAAGD,cAAc,CAACE,OAAf,CAAuBC,GAAvB,EAAhB;;AAEA,UAAKF,OAAO,CAACG,QAAR,CAAkBL,QAAlB,CAAL,EAAoC;AACnCC,QAAAA,cAAc,CAACK,eAAf,CAA+BC,MAA/B,CAAuC;AACtC;AACA;AACAC,UAAAA,gBAAgB,GAAG;AAClB;AACA;AACAX,YAAAA,qBAAqB,CAAE;AAAEC,cAAAA,OAAO,EAAEE;AAAX,aAAF,CAArB;AACA;;AAPqC,SAAvC;AAUA;AACA;AACD;AACD,GAnBkB,EAoBnB,CAAEN,eAAF,CApBmB,CAApB;AAuBA,0BAAW,MAAM;AAChB,aAASe,WAAT,CAAsBC,SAAtB,EAAkC;AACjC,YAAMV,QAAQ,GAAG,gCAAqBU,SAArB,CAAjB;AAEAX,MAAAA,WAAW,CAAEC,QAAF,CAAX;AACA;;AAED,aAASW,WAAT,GAAuB;AACtBlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBC,IAAtB,CACC,2BADD,EAECL,WAFD;AAIA;;AAEDhB,IAAAA,GAAG,CAACmB,SAAJ,CAAcE,IAAd,CAAoB,OAApB,EAA6BH,WAA7B;AAEA,WAAO,MAAM;AACZlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcG,MAAd,CAAsB,OAAtB,EAA+BJ,WAA/B;AACAlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBE,MAAtB,CACC,2BADD,EAECN,WAFD;AAIA,KAND;AAOA,GAvBD,EAuBG,CAAEhB,GAAF,EAAOM,WAAP,CAvBH;AAyBA,QAAMiB,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/focus-control/index.js"],"names":["FocusControlContext","FocusControl","api","sidebarControls","children","focusedWidgetIdRef","setFocusedWidgetIdRef","current","focusWidget","widgetId","sidebarControl","widgets","setting","get","includes","sectionInstance","expand","completeCallback","handleFocus","settingId","handleReady","previewer","preview","bind","unbind","context","useFocusControl"],"mappings":";;;;;;;;AAGA;;AAYA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,mBAAmB,GAAG,6BAA5B;;AAEe,SAASC,YAAT,OAA4D;AAAA,MAArC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,eAAP;AAAwBC,IAAAA;AAAxB,GAAqC;AAC1E,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU;AAC/DC,IAAAA,OAAO,EAAE;AADsD,GAAV,CAAtD;AAIA,QAAMC,WAAW,GAAG,0BACjBC,QAAF,IAAgB;AACf,SAAM,MAAMC,cAAZ,IAA8BP,eAA9B,EAAgD;AAC/C,YAAMQ,OAAO,GAAGD,cAAc,CAACE,OAAf,CAAuBC,GAAvB,EAAhB;;AAEA,UAAKF,OAAO,CAACG,QAAR,CAAkBL,QAAlB,CAAL,EAAoC;AACnCC,QAAAA,cAAc,CAACK,eAAf,CAA+BC,MAA/B,CAAuC;AACtC;AACA;AACAC,UAAAA,gBAAgB,GAAG;AAClB;AACA;AACAX,YAAAA,qBAAqB,CAAE;AAAEC,cAAAA,OAAO,EAAEE;AAAX,aAAF,CAArB;AACA;;AAPqC,SAAvC;AAUA;AACA;AACD;AACD,GAnBkB,EAoBnB,CAAEN,eAAF,CApBmB,CAApB;AAuBA,0BAAW,MAAM;AAChB,aAASe,WAAT,CAAsBC,SAAtB,EAAkC;AACjC,YAAMV,QAAQ,GAAG,gCAAqBU,SAArB,CAAjB;AAEAX,MAAAA,WAAW,CAAEC,QAAF,CAAX;AACA;;AAED,aAASW,WAAT,GAAuB;AACtBlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBC,IAAtB,CACC,2BADD,EAECL,WAFD;AAIA;;AAEDhB,IAAAA,GAAG,CAACmB,SAAJ,CAAcE,IAAd,CAAoB,OAApB,EAA6BH,WAA7B;AAEA,WAAO,MAAM;AACZlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcG,MAAd,CAAsB,OAAtB,EAA+BJ,WAA/B;AACAlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBE,MAAtB,CACC,2BADD,EAECN,WAFD;AAIA,KAND;AAOA,GAvBD,EAuBG,CAAEhB,GAAF,EAAOM,WAAP,CAvBH;AAyBA,QAAMiB,OAAO,GAAG,sBACf,MAAM,CAAEpB,kBAAF,EAAsBG,WAAtB,CADS,EAEf,CAAEH,kBAAF,EAAsBG,WAAtB,CAFe,CAAhB;AAKA,SACC,4BAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAGiB;AAAtC,KACGrB,QADH,CADD;AAKA;;AAEM,MAAMsB,eAAe,GAAG,MAAM,yBAAY1B,mBAAZ,CAA9B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst FocusControlContext = createContext();\n\nexport default function FocusControl( { api, sidebarControls, children } ) {\n\tconst [ focusedWidgetIdRef, setFocusedWidgetIdRef ] = useState( {\n\t\tcurrent: null,\n\t} );\n\n\tconst focusWidget = useCallback(\n\t\t( widgetId ) => {\n\t\t\tfor ( const sidebarControl of sidebarControls ) {\n\t\t\t\tconst widgets = sidebarControl.setting.get();\n\n\t\t\t\tif ( widgets.includes( widgetId ) ) {\n\t\t\t\t\tsidebarControl.sectionInstance.expand( {\n\t\t\t\t\t\t// Schedule it after the complete callback so that\n\t\t\t\t\t\t// it won't be overridden by the \"Back\" button focus.\n\t\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t\t// Create a \"ref-like\" object every time to ensure\n\t\t\t\t\t\t\t// the same widget id can also triggers the focus control.\n\t\t\t\t\t\t\tsetFocusedWidgetIdRef( { current: widgetId } );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ sidebarControls ]\n\t);\n\n\tuseEffect( () => {\n\t\tfunction handleFocus( settingId ) {\n\t\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\t\tfocusWidget( widgetId );\n\t\t}\n\n\t\tfunction handleReady() {\n\t\t\tapi.previewer.preview.bind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t}\n\n\t\tapi.previewer.bind( 'ready', handleReady );\n\n\t\treturn () => {\n\t\t\tapi.previewer.unbind( 'ready', handleReady );\n\t\t\tapi.previewer.preview.unbind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t};\n\t}, [ api, focusWidget ] );\n\n\tconst context = useMemo(\n\t\t() => [ focusedWidgetIdRef, focusWidget ],\n\t\t[ focusedWidgetIdRef, focusWidget ]\n\t);\n\n\treturn (\n\t\t<FocusControlContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</FocusControlContext.Provider>\n\t);\n}\n\nexport const useFocusControl = () => useContext( FocusControlContext );\n"]}
|
|
@@ -34,12 +34,23 @@ const textFormattingShortcuts = [{
|
|
|
34
34
|
character: 'k'
|
|
35
35
|
},
|
|
36
36
|
description: (0, _i18n.__)('Remove a link.')
|
|
37
|
+
}, {
|
|
38
|
+
keyCombination: {
|
|
39
|
+
character: '[['
|
|
40
|
+
},
|
|
41
|
+
description: (0, _i18n.__)('Insert a link to a post or page')
|
|
37
42
|
}, {
|
|
38
43
|
keyCombination: {
|
|
39
44
|
modifier: 'primary',
|
|
40
45
|
character: 'u'
|
|
41
46
|
},
|
|
42
47
|
description: (0, _i18n.__)('Underline the selected text.')
|
|
48
|
+
}, {
|
|
49
|
+
keyCombination: {
|
|
50
|
+
modifier: 'access',
|
|
51
|
+
character: 'd'
|
|
52
|
+
},
|
|
53
|
+
description: (0, _i18n.__)('Strikethrough the selected text.')
|
|
43
54
|
}];
|
|
44
55
|
exports.textFormattingShortcuts = textFormattingShortcuts;
|
|
45
56
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/config.js"],"names":["textFormattingShortcuts","keyCombination","modifier","character","description"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,uBAAuB,GAAG,CACtC;AACCC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,8BAAJ;AAFd,CADsC,EAKtC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,gCAAJ;AAFd,CALsC,EAStC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,wCAAJ;AAFd,CATsC,EAatC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,cAAZ;AAA4BC,IAAAA,SAAS,EAAE;AAAvC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,gBAAJ;AAFd,CAbsC,EAiBtC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,8BAAJ;AAFd,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/config.js"],"names":["textFormattingShortcuts","keyCombination","modifier","character","description"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,uBAAuB,GAAG,CACtC;AACCC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,8BAAJ;AAFd,CADsC,EAKtC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,gCAAJ;AAFd,CALsC,EAStC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,wCAAJ;AAFd,CATsC,EAatC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,cAAZ;AAA4BC,IAAAA,SAAS,EAAE;AAAvC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,gBAAJ;AAFd,CAbsC,EAiBtC;AACCH,EAAAA,cAAc,EAAE;AAAEE,IAAAA,SAAS,EAAE;AAAb,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,iCAAJ;AAFd,CAjBsC,EAqBtC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,8BAAJ;AAFd,CArBsC,EAyBtC;AACCH,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,QAAZ;AAAsBC,IAAAA,SAAS,EAAE;AAAjC,GADjB;AAECC,EAAAA,WAAW,EAAE,cAAI,kCAAJ;AAFd,CAzBsC,CAAhC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const textFormattingShortcuts = [\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'b' },\n\t\tdescription: __( 'Make the selected text bold.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'i' },\n\t\tdescription: __( 'Make the selected text italic.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'k' },\n\t\tdescription: __( 'Convert the selected text into a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primaryShift', character: 'k' },\n\t\tdescription: __( 'Remove a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { character: '[[' },\n\t\tdescription: __( 'Insert a link to a post or page' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'u' },\n\t\tdescription: __( 'Underline the selected text.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'access', character: 'd' },\n\t\tdescription: __( 'Strikethrough the selected text.' ),\n\t},\n];\n"]}
|
|
@@ -9,8 +9,6 @@ exports.default = SidebarBlockEditor;
|
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
12
|
-
var _lodash = require("lodash");
|
|
13
|
-
|
|
14
12
|
var _coreData = require("@wordpress/core-data");
|
|
15
13
|
|
|
16
14
|
var _data = require("@wordpress/data");
|
|
@@ -35,10 +33,6 @@ var _keyboardShortcuts = _interopRequireDefault(require("../keyboard-shortcuts")
|
|
|
35
33
|
|
|
36
34
|
var _blockAppender = _interopRequireDefault(require("../block-appender"));
|
|
37
35
|
|
|
38
|
-
/**
|
|
39
|
-
* External dependencies
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
36
|
/**
|
|
43
37
|
* WordPress dependencies
|
|
44
38
|
*/
|
|
@@ -60,11 +54,13 @@ function SidebarBlockEditor(_ref) {
|
|
|
60
54
|
keepCaretInsideBlock,
|
|
61
55
|
isWelcomeGuideActive
|
|
62
56
|
} = (0, _data.useSelect)(select => {
|
|
57
|
+
var _select$canUser;
|
|
58
|
+
|
|
63
59
|
const {
|
|
64
60
|
get
|
|
65
61
|
} = select(_preferences.store);
|
|
66
62
|
return {
|
|
67
|
-
hasUploadPermissions: (
|
|
63
|
+
hasUploadPermissions: (_select$canUser = select(_coreData.store).canUser('create', 'media')) !== null && _select$canUser !== void 0 ? _select$canUser : true,
|
|
68
64
|
isFixedToolbarActive: !!get('core/customize-widgets', 'fixedToolbar'),
|
|
69
65
|
keepCaretInsideBlock: !!get('core/customize-widgets', 'keepCaretInsideBlock'),
|
|
70
66
|
isWelcomeGuideActive: !!get('core/customize-widgets', 'welcomeGuide')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"names":["SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","select","get","preferencesStore","coreStore","canUser","settings","mediaUploadBlockEditor","onError","argumentsObject","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","undo","redo","save","defaultEditorStyles","BlockAppender","event","preventDefault","contentContainer","onClose"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"names":["SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","select","get","preferencesStore","coreStore","canUser","settings","mediaUploadBlockEditor","onError","argumentsObject","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","undo","redo","save","defaultEditorStyles","BlockAppender","event","preventDefault","contentContainer","onClose"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tBlockSelectionClearer,\n\tBlockInspector,\n\tCopyHandler,\n\tObserveTyping,\n\tWritingFlow,\n\tBlockEditorKeyboardShortcuts,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableEditorStyles as EditorStyles,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={ isFixedToolbarActive }\n\t\t\t\t/>\n\n\t\t\t\t<CopyHandler>\n\t\t\t\t\t<BlockTools>\n\t\t\t\t\t\t<EditorStyles styles={ settings.defaultEditorStyles } />\n\t\t\t\t\t\t<BlockSelectionClearer>\n\t\t\t\t\t\t\t<WritingFlow className=\"editor-styles-wrapper\">\n\t\t\t\t\t\t\t\t<ObserveTyping>\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\trenderAppender={ BlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ObserveTyping>\n\t\t\t\t\t\t\t</WritingFlow>\n\t\t\t\t\t\t</BlockSelectionClearer>\n\t\t\t\t\t</BlockTools>\n\t\t\t\t</CopyHandler>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"names":["wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[\n\t\t\tthis.historyIndex\n\t\t] = this._getWidgetIds().map( ( widgetId ) =>\n\t\t\tthis.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"names":["wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/controls/inserter-outer-section.js"],"names":["getInserterOuterSection","wp","customize","window","OuterSection","onChangeExpanded","expanded","args","section","each","params","type","id","collapse","sectionConstructor","outer","InserterOuterSection","constructor","activeElementBeforeExpanded","ownerWindow","contentContainer","ownerDocument","defaultView","addEventListener","event","keyCode","ESCAPE","code","defaultPrevented","preventDefault","stopPropagation","customizeWidgetsStore","setIsInserterOpened","addClass","isFromInternalAction","bind","open","activeElement","expand","completeCallback","searchBox","focus","tabbable","find","close","contains"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,uBAAT,GAAmC;AACjD,QAAM;AACLC,IAAAA,EAAE,EAAE;AAAEC,MAAAA;AAAF;AADC,MAEFC,MAFJ;AAIA,QAAMC,YAAY,GAAGF,SAAS,CAACE,YAA/B,CALiD,CAMjD;AACA;AACA;;AACAF,EAAAA,SAAS,CAACE,YAAV,GAAyB,cAAcA,YAAd,CAA2B;AACnDC,IAAAA,gBAAgB,CAAEC,QAAF,EAAYC,IAAZ,EAAmB;AAClC,UAAKD,QAAL,EAAgB;AACfJ,QAAAA,SAAS,CAACM,OAAV,CAAkBC,IAAlB,CAA0BD,OAAF,IAAe;AACtC,cACCA,OAAO,CAACE,MAAR,CAAeC,IAAf,KAAwB,OAAxB,IACAH,OAAO,CAACI,EAAR,KAAe,KAAKA,EAFrB,EAGE;AACD,gBAAKJ,OAAO,CAACF,QAAR,EAAL,EAA0B;AACzBE,cAAAA,OAAO,CAACK,QAAR;AACA;AACD;AACD,SATD;AAUA;;AAED,aAAO,MAAMR,gBAAN,CAAwBC,QAAxB,EAAkCC,IAAlC,CAAP;AACA;;AAhBkD,GAApD,CATiD,CA2BjD;;AACAL,EAAAA,SAAS,CAACY,kBAAV,CAA6BC,KAA7B,GAAqCb,SAAS,CAACE,YAA/C;AAEA,SAAO,MAAMY,oBAAN,SAAmCd,SAAS,CAACE,YAA7C,CAA0D;AAChEa,IAAAA,WAAW,GAAY;AACtB,YAAO,YAAP,EADsB,CAGtB;AACA;;AACA,WAAKP,MAAL,CAAYC,IAAZ,GAAmB,OAAnB;AAEA,WAAKO,2BAAL,GAAmC,IAAnC;AAEA,YAAMC,WAAW,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/controls/inserter-outer-section.js"],"names":["getInserterOuterSection","wp","customize","window","OuterSection","onChangeExpanded","expanded","args","section","each","params","type","id","collapse","sectionConstructor","outer","InserterOuterSection","constructor","activeElementBeforeExpanded","ownerWindow","contentContainer","ownerDocument","defaultView","addEventListener","event","keyCode","ESCAPE","code","defaultPrevented","preventDefault","stopPropagation","customizeWidgetsStore","setIsInserterOpened","addClass","isFromInternalAction","bind","open","activeElement","expand","completeCallback","searchBox","focus","tabbable","find","close","contains"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as customizeWidgetsStore } from '../store';\n\nexport default function getInserterOuterSection() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\tconst OuterSection = customize.OuterSection;\n\t// Override the OuterSection class to handle multiple outer sections.\n\t// It closes all the other outer sections whenever one is opened.\n\t// The result is that at most one outer section can be opened at the same time.\n\tcustomize.OuterSection = class extends OuterSection {\n\t\tonChangeExpanded( expanded, args ) {\n\t\t\tif ( expanded ) {\n\t\t\t\tcustomize.section.each( ( section ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsection.params.type === 'outer' &&\n\t\t\t\t\t\tsection.id !== this.id\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ( section.expanded() ) {\n\t\t\t\t\t\t\tsection.collapse();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn super.onChangeExpanded( expanded, args );\n\t\t}\n\t};\n\t// Handle constructor so that \"params.type\" can be correctly pointed to \"outer\".\n\tcustomize.sectionConstructor.outer = customize.OuterSection;\n\n\treturn class InserterOuterSection extends customize.OuterSection {\n\t\tconstructor( ...args ) {\n\t\t\tsuper( ...args );\n\n\t\t\t// This is necessary since we're creating a new class which is not identical to the original OuterSection.\n\t\t\t// @See https://github.com/WordPress/wordpress-develop/blob/42b05c397c50d9dc244083eff52991413909d4bd/src/js/_enqueues/wp/customize/controls.js#L1427-L1436\n\t\t\tthis.params.type = 'outer';\n\n\t\t\tthis.activeElementBeforeExpanded = null;\n\n\t\t\tconst ownerWindow =\n\t\t\t\tthis.contentContainer[ 0 ].ownerDocument.defaultView;\n\n\t\t\t// Handle closing the inserter when pressing the Escape key.\n\t\t\townerWindow.addEventListener(\n\t\t\t\t'keydown',\n\t\t\t\t( event ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.expanded() &&\n\t\t\t\t\t\t( event.keyCode === ESCAPE ||\n\t\t\t\t\t\t\tevent.code === 'Escape' ) &&\n\t\t\t\t\t\t! event.defaultPrevented\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// Use capture mode to make this run before other event listeners.\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tthis.contentContainer.addClass( 'widgets-inserter' );\n\n\t\t\t// Set a flag if the state is being changed from open() or close().\n\t\t\t// Don't propagate the event if it's an internal action to prevent infinite loop.\n\t\t\tthis.isFromInternalAction = false;\n\t\t\tthis.expanded.bind( () => {\n\t\t\t\tif ( ! this.isFromInternalAction ) {\n\t\t\t\t\t// Propagate the event to React to sync the state.\n\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\tthis.expanded()\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.isFromInternalAction = false;\n\t\t\t} );\n\t\t}\n\t\topen() {\n\t\t\tif ( ! this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tthis.activeElementBeforeExpanded =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.expand( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// We have to do this in a \"completeCallback\" or else the elements will not yet be visible/tabbable.\n\t\t\t\t\t\t// The first one should be the close button,\n\t\t\t\t\t\t// we want to skip it and choose the second one instead, which is the search box.\n\t\t\t\t\t\tconst searchBox =\n\t\t\t\t\t\t\tfocus.tabbable.find( contentContainer )[ 1 ];\n\t\t\t\t\t\tif ( searchBox ) {\n\t\t\t\t\t\t\tsearchBox.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\tclose() {\n\t\t\tif ( this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tconst activeElement =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.collapse( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t// Only do this if the active element which triggers the action is inside the inserter,\n\t\t\t\t\t\t// (the close button for instance). In that case the focus will be lost.\n\t\t\t\t\t\t// Otherwise, we don't hijack the focus when the user is focusing on other elements\n\t\t\t\t\t\t// (like the quick inserter).\n\t\t\t\t\t\tif ( contentContainer.contains( activeElement ) ) {\n\t\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t\tif ( this.activeElementBeforeExpanded ) {\n\t\t\t\t\t\t\t\tthis.activeElementBeforeExpanded.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/customize-widgets/use-clear-selected-block.js"],"names":["useEffect","useDispatch","useSelect","store","blockEditorStore","useClearSelectedBlock","sidebarControl","popoverRef","hasSelectedBlock","hasMultiSelection","clearSelectedBlock","current","inspector","container","ownerDocument","ownerWindow","defaultView","handleClearSelectedBlock","element","contains","closest","expanded","handleMouseDown","event","target","handleBlur","activeElement","addEventListener","removeEventListener"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,qBAAT,CAAgCC,cAAhC,EAAgDC,UAAhD,EAA6D;AAC3E,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/customize-widgets/use-clear-selected-block.js"],"names":["useEffect","useDispatch","useSelect","store","blockEditorStore","useClearSelectedBlock","sidebarControl","popoverRef","hasSelectedBlock","hasMultiSelection","clearSelectedBlock","current","inspector","container","ownerDocument","ownerWindow","defaultView","handleClearSelectedBlock","element","contains","closest","expanded","handleMouseDown","event","target","handleBlur","activeElement","addEventListener","removeEventListener"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,qBAAT,CAAgCC,cAAhC,EAAgDC,UAAhD,EAA6D;AAC3E,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MACLP,SAAS,CAAEE,gBAAF,CADV;AAEA,QAAM;AAAEM,IAAAA;AAAF,MAAyBT,WAAW,CAAEG,gBAAF,CAA1C;AAEAJ,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKO,UAAU,CAACI,OAAX,IAAsBL,cAA3B,EAA4C;AAC3C,YAAMM,SAAS,GAAGN,cAAc,CAACM,SAAjC;AACA,YAAMC,SAAS,GAAGP,cAAc,CAACO,SAAf,CAA0B,CAA1B,CAAlB;AACA,YAAMC,aAAa,GAAGD,SAAS,CAACC,aAAhC;AACA,YAAMC,WAAW,GAAGD,aAAa,CAACE,WAAlC;;AAEA,eAASC,wBAAT,CAAmCC,OAAnC,EAA6C;AAC5C,aACC;AACA,SAAEV,gBAAgB,MAAMC,iBAAiB,EAAzC,KACA;AACAS,QAAAA,OAFA,IAGAJ,aAAa,CAACK,QAAd,CAAwBD,OAAxB,CAHA,IAIA;AACA,SAAEL,SAAS,CAACM,QAAV,CAAoBD,OAApB,CALF,IAMA,CAAEX,UAAU,CAACI,OAAX,CAAmBQ,QAAnB,CAA6BD,OAA7B,CANF,IAOA,CAAEA,OAAO,CAACE,OAAR,CAAiB,iBAAjB,CAPF,IAQA;AACA,SAAER,SAAS,CAACS,QAAV,EAXH,EAYE;AACDX,UAAAA,kBAAkB;AAClB;AACD,OAtB0C,CAwB3C;;;AACA,eAASY,eAAT,CAA0BC,KAA1B,EAAkC;AACjCN,QAAAA,wBAAwB,CAAEM,KAAK,CAACC,MAAR,CAAxB;AACA,OA3B0C,CA4B3C;;;AACA,eAASC,UAAT,GAAsB;AACrBR,QAAAA,wBAAwB,CAAEH,aAAa,CAACY,aAAhB,CAAxB;AACA;;AAEDZ,MAAAA,aAAa,CAACa,gBAAd,CAAgC,WAAhC,EAA6CL,eAA7C;AACAP,MAAAA,WAAW,CAACY,gBAAZ,CAA8B,MAA9B,EAAsCF,UAAtC;AAEA,aAAO,MAAM;AACZX,QAAAA,aAAa,CAACc,mBAAd,CACC,WADD,EAECN,eAFD;AAIAP,QAAAA,WAAW,CAACa,mBAAZ,CAAiC,MAAjC,EAAyCH,UAAzC;AACA,OAND;AAOA;AACD,GA7CQ,EA6CN,CACFlB,UADE,EAEFD,cAFE,EAGFE,gBAHE,EAIFC,iBAJE,EAKFC,kBALE,CA7CM,CAAT;AAoDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * We can't just use <BlockSelectionClearer> because the customizer has\n * many root nodes rather than just one in the post editor.\n * We need to listen to the focus events in all those roots, and also in\n * the preview iframe.\n * This hook will clear the selected block when focusing outside the editor,\n * with a few exceptions:\n * 1. Focusing on popovers.\n * 2. Focusing on the inspector.\n * 3. Focusing on any modals/dialogs.\n * These cases are normally triggered by user interactions from the editor,\n * not by explicitly focusing outside the editor, hence no need for clearing.\n *\n * @param {Object} sidebarControl The sidebar control instance.\n * @param {Object} popoverRef The ref object of the popover node container.\n */\nexport default function useClearSelectedBlock( sidebarControl, popoverRef ) {\n\tconst { hasSelectedBlock, hasMultiSelection } =\n\t\tuseSelect( blockEditorStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( popoverRef.current && sidebarControl ) {\n\t\t\tconst inspector = sidebarControl.inspector;\n\t\t\tconst container = sidebarControl.container[ 0 ];\n\t\t\tconst ownerDocument = container.ownerDocument;\n\t\t\tconst ownerWindow = ownerDocument.defaultView;\n\n\t\t\tfunction handleClearSelectedBlock( element ) {\n\t\t\t\tif (\n\t\t\t\t\t// 1. Make sure there are blocks being selected.\n\t\t\t\t\t( hasSelectedBlock() || hasMultiSelection() ) &&\n\t\t\t\t\t// 2. The element should exist in the DOM (not deleted).\n\t\t\t\t\telement &&\n\t\t\t\t\townerDocument.contains( element ) &&\n\t\t\t\t\t// 3. It should also not exist in the container, the popover, nor the dialog.\n\t\t\t\t\t! container.contains( element ) &&\n\t\t\t\t\t! popoverRef.current.contains( element ) &&\n\t\t\t\t\t! element.closest( '[role=\"dialog\"]' ) &&\n\t\t\t\t\t// 4. The inspector should not be opened.\n\t\t\t\t\t! inspector.expanded()\n\t\t\t\t) {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Handle mouse down in the same document.\n\t\t\tfunction handleMouseDown( event ) {\n\t\t\t\thandleClearSelectedBlock( event.target );\n\t\t\t}\n\t\t\t// Handle focusing outside the current document, like to iframes.\n\t\t\tfunction handleBlur() {\n\t\t\t\thandleClearSelectedBlock( ownerDocument.activeElement );\n\t\t\t}\n\n\t\t\townerDocument.addEventListener( 'mousedown', handleMouseDown );\n\t\t\townerWindow.addEventListener( 'blur', handleBlur );\n\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'mousedown',\n\t\t\t\t\thandleMouseDown\n\t\t\t\t);\n\t\t\t\townerWindow.removeEventListener( 'blur', handleBlur );\n\t\t\t};\n\t\t}\n\t}, [\n\t\tpopoverRef,\n\t\tsidebarControl,\n\t\thasSelectedBlock,\n\t\thasMultiSelection,\n\t\tclearSelectedBlock,\n\t] );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/focus-control/index.js"],"names":["createContext","useState","useEffect","useContext","useCallback","useMemo","settingIdToWidgetId","FocusControlContext","FocusControl","api","sidebarControls","children","focusedWidgetIdRef","setFocusedWidgetIdRef","current","focusWidget","widgetId","sidebarControl","widgets","setting","get","includes","sectionInstance","expand","completeCallback","handleFocus","settingId","handleReady","previewer","preview","bind","unbind","context","useFocusControl"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,QAFD,EAGCC,SAHD,EAICC,UAJD,EAKCC,WALD,EAMCC,OAND,QAOO,oBAPP;AASA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,aAApC;AAEA,MAAMC,mBAAmB,GAAGP,aAAa,EAAzC;AAEA,eAAe,SAASQ,YAAT,OAA4D;AAAA,MAArC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,eAAP;AAAwBC,IAAAA;AAAxB,GAAqC;AAC1E,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgDZ,QAAQ,CAAE;AAC/Da,IAAAA,OAAO,EAAE;AADsD,GAAF,CAA9D;AAIA,QAAMC,WAAW,GAAGX,WAAW,CAC5BY,QAAF,IAAgB;AACf,SAAM,MAAMC,cAAZ,IAA8BP,eAA9B,EAAgD;AAC/C,YAAMQ,OAAO,GAAGD,cAAc,CAACE,OAAf,CAAuBC,GAAvB,EAAhB;;AAEA,UAAKF,OAAO,CAACG,QAAR,CAAkBL,QAAlB,CAAL,EAAoC;AACnCC,QAAAA,cAAc,CAACK,eAAf,CAA+BC,MAA/B,CAAuC;AACtC;AACA;AACAC,UAAAA,gBAAgB,GAAG;AAClB;AACA;AACAX,YAAAA,qBAAqB,CAAE;AAAEC,cAAAA,OAAO,EAAEE;AAAX,aAAF,CAArB;AACA;;AAPqC,SAAvC;AAUA;AACA;AACD;AACD,GAnB6B,EAoB9B,CAAEN,eAAF,CApB8B,CAA/B;AAuBAR,EAAAA,SAAS,CAAE,MAAM;AAChB,aAASuB,WAAT,CAAsBC,SAAtB,EAAkC;AACjC,YAAMV,QAAQ,GAAGV,mBAAmB,CAAEoB,SAAF,CAApC;AAEAX,MAAAA,WAAW,CAAEC,QAAF,CAAX;AACA;;AAED,aAASW,WAAT,GAAuB;AACtBlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBC,IAAtB,CACC,2BADD,EAECL,WAFD;AAIA;;AAEDhB,IAAAA,GAAG,CAACmB,SAAJ,CAAcE,IAAd,CAAoB,OAApB,EAA6BH,WAA7B;AAEA,WAAO,MAAM;AACZlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcG,MAAd,CAAsB,OAAtB,EAA+BJ,WAA/B;AACAlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBE,MAAtB,CACC,2BADD,EAECN,WAFD;AAIA,KAND;AAOA,GAvBQ,EAuBN,CAAEhB,GAAF,EAAOM,WAAP,CAvBM,CAAT;AAyBA,QAAMiB,OAAO,GAAG3B,OAAO,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/focus-control/index.js"],"names":["createContext","useState","useEffect","useContext","useCallback","useMemo","settingIdToWidgetId","FocusControlContext","FocusControl","api","sidebarControls","children","focusedWidgetIdRef","setFocusedWidgetIdRef","current","focusWidget","widgetId","sidebarControl","widgets","setting","get","includes","sectionInstance","expand","completeCallback","handleFocus","settingId","handleReady","previewer","preview","bind","unbind","context","useFocusControl"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,QAFD,EAGCC,SAHD,EAICC,UAJD,EAKCC,WALD,EAMCC,OAND,QAOO,oBAPP;AASA;AACA;AACA;;AACA,SAASC,mBAAT,QAAoC,aAApC;AAEA,MAAMC,mBAAmB,GAAGP,aAAa,EAAzC;AAEA,eAAe,SAASQ,YAAT,OAA4D;AAAA,MAArC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,eAAP;AAAwBC,IAAAA;AAAxB,GAAqC;AAC1E,QAAM,CAAEC,kBAAF,EAAsBC,qBAAtB,IAAgDZ,QAAQ,CAAE;AAC/Da,IAAAA,OAAO,EAAE;AADsD,GAAF,CAA9D;AAIA,QAAMC,WAAW,GAAGX,WAAW,CAC5BY,QAAF,IAAgB;AACf,SAAM,MAAMC,cAAZ,IAA8BP,eAA9B,EAAgD;AAC/C,YAAMQ,OAAO,GAAGD,cAAc,CAACE,OAAf,CAAuBC,GAAvB,EAAhB;;AAEA,UAAKF,OAAO,CAACG,QAAR,CAAkBL,QAAlB,CAAL,EAAoC;AACnCC,QAAAA,cAAc,CAACK,eAAf,CAA+BC,MAA/B,CAAuC;AACtC;AACA;AACAC,UAAAA,gBAAgB,GAAG;AAClB;AACA;AACAX,YAAAA,qBAAqB,CAAE;AAAEC,cAAAA,OAAO,EAAEE;AAAX,aAAF,CAArB;AACA;;AAPqC,SAAvC;AAUA;AACA;AACD;AACD,GAnB6B,EAoB9B,CAAEN,eAAF,CApB8B,CAA/B;AAuBAR,EAAAA,SAAS,CAAE,MAAM;AAChB,aAASuB,WAAT,CAAsBC,SAAtB,EAAkC;AACjC,YAAMV,QAAQ,GAAGV,mBAAmB,CAAEoB,SAAF,CAApC;AAEAX,MAAAA,WAAW,CAAEC,QAAF,CAAX;AACA;;AAED,aAASW,WAAT,GAAuB;AACtBlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBC,IAAtB,CACC,2BADD,EAECL,WAFD;AAIA;;AAEDhB,IAAAA,GAAG,CAACmB,SAAJ,CAAcE,IAAd,CAAoB,OAApB,EAA6BH,WAA7B;AAEA,WAAO,MAAM;AACZlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcG,MAAd,CAAsB,OAAtB,EAA+BJ,WAA/B;AACAlB,MAAAA,GAAG,CAACmB,SAAJ,CAAcC,OAAd,CAAsBE,MAAtB,CACC,2BADD,EAECN,WAFD;AAIA,KAND;AAOA,GAvBQ,EAuBN,CAAEhB,GAAF,EAAOM,WAAP,CAvBM,CAAT;AAyBA,QAAMiB,OAAO,GAAG3B,OAAO,CACtB,MAAM,CAAEO,kBAAF,EAAsBG,WAAtB,CADgB,EAEtB,CAAEH,kBAAF,EAAsBG,WAAtB,CAFsB,CAAvB;AAKA,SACC,cAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAGiB;AAAtC,KACGrB,QADH,CADD;AAKA;AAED,OAAO,MAAMsB,eAAe,GAAG,MAAM9B,UAAU,CAAEI,mBAAF,CAAxC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst FocusControlContext = createContext();\n\nexport default function FocusControl( { api, sidebarControls, children } ) {\n\tconst [ focusedWidgetIdRef, setFocusedWidgetIdRef ] = useState( {\n\t\tcurrent: null,\n\t} );\n\n\tconst focusWidget = useCallback(\n\t\t( widgetId ) => {\n\t\t\tfor ( const sidebarControl of sidebarControls ) {\n\t\t\t\tconst widgets = sidebarControl.setting.get();\n\n\t\t\t\tif ( widgets.includes( widgetId ) ) {\n\t\t\t\t\tsidebarControl.sectionInstance.expand( {\n\t\t\t\t\t\t// Schedule it after the complete callback so that\n\t\t\t\t\t\t// it won't be overridden by the \"Back\" button focus.\n\t\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t\t// Create a \"ref-like\" object every time to ensure\n\t\t\t\t\t\t\t// the same widget id can also triggers the focus control.\n\t\t\t\t\t\t\tsetFocusedWidgetIdRef( { current: widgetId } );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ sidebarControls ]\n\t);\n\n\tuseEffect( () => {\n\t\tfunction handleFocus( settingId ) {\n\t\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\t\tfocusWidget( widgetId );\n\t\t}\n\n\t\tfunction handleReady() {\n\t\t\tapi.previewer.preview.bind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t}\n\n\t\tapi.previewer.bind( 'ready', handleReady );\n\n\t\treturn () => {\n\t\t\tapi.previewer.unbind( 'ready', handleReady );\n\t\t\tapi.previewer.preview.unbind(\n\t\t\t\t'focus-control-for-setting',\n\t\t\t\thandleFocus\n\t\t\t);\n\t\t};\n\t}, [ api, focusWidget ] );\n\n\tconst context = useMemo(\n\t\t() => [ focusedWidgetIdRef, focusWidget ],\n\t\t[ focusedWidgetIdRef, focusWidget ]\n\t);\n\n\treturn (\n\t\t<FocusControlContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</FocusControlContext.Provider>\n\t);\n}\n\nexport const useFocusControl = () => useContext( FocusControlContext );\n"]}
|
|
@@ -26,11 +26,22 @@ export const textFormattingShortcuts = [{
|
|
|
26
26
|
character: 'k'
|
|
27
27
|
},
|
|
28
28
|
description: __('Remove a link.')
|
|
29
|
+
}, {
|
|
30
|
+
keyCombination: {
|
|
31
|
+
character: '[['
|
|
32
|
+
},
|
|
33
|
+
description: __('Insert a link to a post or page')
|
|
29
34
|
}, {
|
|
30
35
|
keyCombination: {
|
|
31
36
|
modifier: 'primary',
|
|
32
37
|
character: 'u'
|
|
33
38
|
},
|
|
34
39
|
description: __('Underline the selected text.')
|
|
40
|
+
}, {
|
|
41
|
+
keyCombination: {
|
|
42
|
+
modifier: 'access',
|
|
43
|
+
character: 'd'
|
|
44
|
+
},
|
|
45
|
+
description: __('Strikethrough the selected text.')
|
|
35
46
|
}];
|
|
36
47
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/config.js"],"names":["__","textFormattingShortcuts","keyCombination","modifier","character","description"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,uBAAuB,GAAG,CACtC;AACCC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,8BAAF;AAFhB,CADsC,EAKtC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,gCAAF;AAFhB,CALsC,EAStC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,wCAAF;AAFhB,CATsC,EAatC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,cAAZ;AAA4BC,IAAAA,SAAS,EAAE;AAAvC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,gBAAF;AAFhB,CAbsC,EAiBtC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,8BAAF;AAFhB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/keyboard-shortcut-help-modal/config.js"],"names":["__","textFormattingShortcuts","keyCombination","modifier","character","description"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AAEA,OAAO,MAAMC,uBAAuB,GAAG,CACtC;AACCC,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,8BAAF;AAFhB,CADsC,EAKtC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,gCAAF;AAFhB,CALsC,EAStC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,wCAAF;AAFhB,CATsC,EAatC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,cAAZ;AAA4BC,IAAAA,SAAS,EAAE;AAAvC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,gBAAF;AAFhB,CAbsC,EAiBtC;AACCE,EAAAA,cAAc,EAAE;AAAEE,IAAAA,SAAS,EAAE;AAAb,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,iCAAF;AAFhB,CAjBsC,EAqBtC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAZ;AAAuBC,IAAAA,SAAS,EAAE;AAAlC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,8BAAF;AAFhB,CArBsC,EAyBtC;AACCE,EAAAA,cAAc,EAAE;AAAEC,IAAAA,QAAQ,EAAE,QAAZ;AAAsBC,IAAAA,SAAS,EAAE;AAAjC,GADjB;AAECC,EAAAA,WAAW,EAAEL,EAAE,CAAE,kCAAF;AAFhB,CAzBsC,CAAhC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const textFormattingShortcuts = [\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'b' },\n\t\tdescription: __( 'Make the selected text bold.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'i' },\n\t\tdescription: __( 'Make the selected text italic.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'k' },\n\t\tdescription: __( 'Convert the selected text into a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primaryShift', character: 'k' },\n\t\tdescription: __( 'Remove a link.' ),\n\t},\n\t{\n\t\tkeyCombination: { character: '[[' },\n\t\tdescription: __( 'Insert a link to a post or page' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'primary', character: 'u' },\n\t\tdescription: __( 'Underline the selected text.' ),\n\t},\n\t{\n\t\tkeyCombination: { modifier: 'access', character: 'd' },\n\t\tdescription: __( 'Strikethrough the selected text.' ),\n\t},\n];\n"]}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { defaultTo } from 'lodash';
|
|
7
3
|
/**
|
|
8
4
|
* WordPress dependencies
|
|
9
5
|
*/
|
|
10
|
-
|
|
11
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
12
7
|
import { useSelect } from '@wordpress/data';
|
|
13
8
|
import { useMemo, createPortal } from '@wordpress/element';
|
|
@@ -39,11 +34,13 @@ export default function SidebarBlockEditor(_ref) {
|
|
|
39
34
|
keepCaretInsideBlock,
|
|
40
35
|
isWelcomeGuideActive
|
|
41
36
|
} = useSelect(select => {
|
|
37
|
+
var _select$canUser;
|
|
38
|
+
|
|
42
39
|
const {
|
|
43
40
|
get
|
|
44
41
|
} = select(preferencesStore);
|
|
45
42
|
return {
|
|
46
|
-
hasUploadPermissions:
|
|
43
|
+
hasUploadPermissions: (_select$canUser = select(coreStore).canUser('create', 'media')) !== null && _select$canUser !== void 0 ? _select$canUser : true,
|
|
47
44
|
isFixedToolbarActive: !!get('core/customize-widgets', 'fixedToolbar'),
|
|
48
45
|
keepCaretInsideBlock: !!get('core/customize-widgets', 'keepCaretInsideBlock'),
|
|
49
46
|
isWelcomeGuideActive: !!get('core/customize-widgets', 'welcomeGuide')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/index.js"],"names":["store","coreStore","useSelect","useMemo","createPortal","BlockList","BlockTools","BlockSelectionClearer","BlockInspector","CopyHandler","ObserveTyping","WritingFlow","BlockEditorKeyboardShortcuts","__unstableBlockSettingsMenuFirstItem","__unstableEditorStyles","EditorStyles","uploadMedia","preferencesStore","BlockInspectorButton","Header","useInserter","SidebarEditorProvider","WelcomeGuide","KeyboardShortcuts","BlockAppender","SidebarBlockEditor","blockEditorSettings","sidebar","inserter","inspector","isInserterOpened","setIsInserterOpened","hasUploadPermissions","isFixedToolbarActive","keepCaretInsideBlock","isWelcomeGuideActive","select","get","canUser","settings","mediaUploadBlockEditor","onError","argumentsObject","wpAllowedMimeTypes","allowedMimeTypes","message","__experimentalSetIsInserterOpened","mediaUpload","hasFixedToolbar","__unstableHasCustomAppender","undo","redo","save","defaultEditorStyles","event","preventDefault","contentContainer","onClose"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, createPortal } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tBlockSelectionClearer,\n\tBlockInspector,\n\tCopyHandler,\n\tObserveTyping,\n\tWritingFlow,\n\tBlockEditorKeyboardShortcuts,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__unstableEditorStyles as EditorStyles,\n} from '@wordpress/block-editor';\nimport { uploadMedia } from '@wordpress/media-utils';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from '../block-inspector-button';\nimport Header from '../header';\nimport useInserter from '../inserter/use-inserter';\nimport SidebarEditorProvider from './sidebar-editor-provider';\nimport WelcomeGuide from '../welcome-guide';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport BlockAppender from '../block-appender';\n\nexport default function SidebarBlockEditor( {\n\tblockEditorSettings,\n\tsidebar,\n\tinserter,\n\tinspector,\n} ) {\n\tconst [ isInserterOpened, setIsInserterOpened ] = useInserter( inserter );\n\tconst {\n\t\thasUploadPermissions,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tisWelcomeGuideActive,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\treturn {\n\t\t\thasUploadPermissions:\n\t\t\t\tselect( coreStore ).canUser( 'create', 'media' ) ?? true,\n\t\t\tisFixedToolbarActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tisWelcomeGuideActive: !! get(\n\t\t\t\t'core/customize-widgets',\n\t\t\t\t'welcomeGuide'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst settings = useMemo( () => {\n\t\tlet mediaUploadBlockEditor;\n\t\tif ( hasUploadPermissions ) {\n\t\t\tmediaUploadBlockEditor = ( { onError, ...argumentsObject } ) => {\n\t\t\t\tuploadMedia( {\n\t\t\t\t\twpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,\n\t\t\t\t\tonError: ( { message } ) => onError( message ),\n\t\t\t\t\t...argumentsObject,\n\t\t\t\t} );\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...blockEditorSettings,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tmediaUpload: mediaUploadBlockEditor,\n\t\t\thasFixedToolbar: isFixedToolbarActive,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t__unstableHasCustomAppender: true,\n\t\t};\n\t}, [\n\t\thasUploadPermissions,\n\t\tblockEditorSettings,\n\t\tisFixedToolbarActive,\n\t\tkeepCaretInsideBlock,\n\t\tsetIsInserterOpened,\n\t] );\n\n\tif ( isWelcomeGuideActive ) {\n\t\treturn <WelcomeGuide sidebar={ sidebar } />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockEditorKeyboardShortcuts.Register />\n\t\t\t<KeyboardShortcuts.Register />\n\n\t\t\t<SidebarEditorProvider sidebar={ sidebar } settings={ settings }>\n\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\tundo={ sidebar.undo }\n\t\t\t\t\tredo={ sidebar.redo }\n\t\t\t\t\tsave={ sidebar.save }\n\t\t\t\t/>\n\n\t\t\t\t<Header\n\t\t\t\t\tsidebar={ sidebar }\n\t\t\t\t\tinserter={ inserter }\n\t\t\t\t\tisInserterOpened={ isInserterOpened }\n\t\t\t\t\tsetIsInserterOpened={ setIsInserterOpened }\n\t\t\t\t\tisFixedToolbarActive={ isFixedToolbarActive }\n\t\t\t\t/>\n\n\t\t\t\t<CopyHandler>\n\t\t\t\t\t<BlockTools>\n\t\t\t\t\t\t<EditorStyles styles={ settings.defaultEditorStyles } />\n\t\t\t\t\t\t<BlockSelectionClearer>\n\t\t\t\t\t\t\t<WritingFlow className=\"editor-styles-wrapper\">\n\t\t\t\t\t\t\t\t<ObserveTyping>\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\trenderAppender={ BlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ObserveTyping>\n\t\t\t\t\t\t\t</WritingFlow>\n\t\t\t\t\t\t</BlockSelectionClearer>\n\t\t\t\t\t</BlockTools>\n\t\t\t\t</CopyHandler>\n\n\t\t\t\t{ createPortal(\n\t\t\t\t\t// This is a temporary hack to prevent button component inside <BlockInspector>\n\t\t\t\t\t// from submitting form when type=\"button\" is not specified.\n\t\t\t\t\t<form onSubmit={ ( event ) => event.preventDefault() }>\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t</form>,\n\t\t\t\t\tinspector.contentContainer[ 0 ]\n\t\t\t\t) }\n\t\t\t</SidebarEditorProvider>\n\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton\n\t\t\t\t\t\tinspector={ inspector }\n\t\t\t\t\t\tcloseMenu={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"names":["settingIdToWidgetId","wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[\n\t\t\tthis.historyIndex\n\t\t] = this._getWidgetIds().map( ( widgetId ) =>\n\t\t\tthis.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/components/sidebar-block-editor/sidebar-adapter.js"],"names":["settingIdToWidgetId","wp","window","parseWidgetId","widgetId","matches","match","idBase","number","parseInt","widgetIdToSettingId","debounce","leading","callback","timeout","isLeading","timerID","debounced","args","result","apply","clearTimeout","setTimeout","cancel","SidebarAdapter","constructor","setting","api","locked","widgetsCache","WeakMap","subscribers","Set","history","_getWidgetIds","map","getWidget","historyIndex","historySubscribers","_debounceSetHistory","_pushHistory","_replaceHistory","bind","_handleSettingChange","_handleAllSettingsChange","undo","redo","save","subscribe","add","delete","getWidgets","_emit","get","slice","forEach","listener","prevWidgets","id","startsWith","includes","_createWidget","widget","widgetModel","customize","Widgets","availableWidgets","findWhere","id_base","set","settingId","settingArgs","transport","data","selectiveRefreshableWidgets","previewer","create","instance","_removeWidget","remove","_updateWidget","prevWidget","has","_updateWidgets","nextWidgets","addedWidgetIds","nextWidgetIds","nextWidget","push","deletedWidgets","filter","setWidgets","hasUndo","hasRedo","length","_seek","currentWidgets","widgets","subscribeHistory"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { settingIdToWidgetId } from '../../utils';\n\nconst { wp } = window;\n\nfunction parseWidgetId( widgetId ) {\n\tconst matches = widgetId.match( /^(.+)-(\\d+)$/ );\n\tif ( matches ) {\n\t\treturn {\n\t\t\tidBase: matches[ 1 ],\n\t\t\tnumber: parseInt( matches[ 2 ], 10 ),\n\t\t};\n\t}\n\n\t// Likely an old single widget.\n\treturn { idBase: widgetId };\n}\n\nfunction widgetIdToSettingId( widgetId ) {\n\tconst { idBase, number } = parseWidgetId( widgetId );\n\tif ( number ) {\n\t\treturn `widget_${ idBase }[${ number }]`;\n\t}\n\n\treturn `widget_${ idBase }`;\n}\n\n/**\n * This is a custom debounce function to call different callbacks depending on\n * whether it's the _leading_ call or not.\n *\n * @param {Function} leading The callback that gets called first.\n * @param {Function} callback The callback that gets called after the first time.\n * @param {number} timeout The debounced time in milliseconds.\n * @return {Function} The debounced function.\n */\nfunction debounce( leading, callback, timeout ) {\n\tlet isLeading = false;\n\tlet timerID;\n\n\tfunction debounced( ...args ) {\n\t\tconst result = ( isLeading ? callback : leading ).apply( this, args );\n\n\t\tisLeading = true;\n\n\t\tclearTimeout( timerID );\n\n\t\ttimerID = setTimeout( () => {\n\t\t\tisLeading = false;\n\t\t}, timeout );\n\n\t\treturn result;\n\t}\n\n\tdebounced.cancel = () => {\n\t\tisLeading = false;\n\t\tclearTimeout( timerID );\n\t};\n\n\treturn debounced;\n}\n\nexport default class SidebarAdapter {\n\tconstructor( setting, api ) {\n\t\tthis.setting = setting;\n\t\tthis.api = api;\n\n\t\tthis.locked = false;\n\t\tthis.widgetsCache = new WeakMap();\n\t\tthis.subscribers = new Set();\n\n\t\tthis.history = [\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex = 0;\n\t\tthis.historySubscribers = new Set();\n\t\t// Debounce the input for 1 second.\n\t\tthis._debounceSetHistory = debounce(\n\t\t\tthis._pushHistory,\n\t\t\tthis._replaceHistory,\n\t\t\t1000\n\t\t);\n\n\t\tthis.setting.bind( this._handleSettingChange.bind( this ) );\n\t\tthis.api.bind( 'change', this._handleAllSettingsChange.bind( this ) );\n\n\t\tthis.undo = this.undo.bind( this );\n\t\tthis.redo = this.redo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t}\n\n\tsubscribe( callback ) {\n\t\tthis.subscribers.add( callback );\n\n\t\treturn () => {\n\t\t\tthis.subscribers.delete( callback );\n\t\t};\n\t}\n\n\tgetWidgets() {\n\t\treturn this.history[ this.historyIndex ];\n\t}\n\n\t_emit( ...args ) {\n\t\tfor ( const callback of this.subscribers ) {\n\t\t\tcallback( ...args );\n\t\t}\n\t}\n\n\t_getWidgetIds() {\n\t\treturn this.setting.get();\n\t}\n\n\t_pushHistory() {\n\t\tthis.history = [\n\t\t\t...this.history.slice( 0, this.historyIndex + 1 ),\n\t\t\tthis._getWidgetIds().map( ( widgetId ) =>\n\t\t\t\tthis.getWidget( widgetId )\n\t\t\t),\n\t\t];\n\t\tthis.historyIndex += 1;\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t}\n\n\t_replaceHistory() {\n\t\tthis.history[ this.historyIndex ] = this._getWidgetIds().map(\n\t\t\t( widgetId ) => this.getWidget( widgetId )\n\t\t);\n\t}\n\n\t_handleSettingChange() {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_handleAllSettingsChange( setting ) {\n\t\tif ( this.locked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! setting.id.startsWith( 'widget_' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst widgetId = settingIdToWidgetId( setting.id );\n\t\tif ( ! this.setting.get().includes( widgetId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevWidgets = this.getWidgets();\n\n\t\tthis._pushHistory();\n\n\t\tthis._emit( prevWidgets, this.getWidgets() );\n\t}\n\n\t_createWidget( widget ) {\n\t\tconst widgetModel = wp.customize.Widgets.availableWidgets.findWhere( {\n\t\t\tid_base: widget.idBase,\n\t\t} );\n\n\t\tlet number = widget.number;\n\t\tif ( widgetModel.get( 'is_multi' ) && ! number ) {\n\t\t\twidgetModel.set(\n\t\t\t\t'multi_number',\n\t\t\t\twidgetModel.get( 'multi_number' ) + 1\n\t\t\t);\n\t\t\tnumber = widgetModel.get( 'multi_number' );\n\t\t}\n\n\t\tconst settingId = number\n\t\t\t? `widget_${ widget.idBase }[${ number }]`\n\t\t\t: `widget_${ widget.idBase }`;\n\n\t\tconst settingArgs = {\n\t\t\ttransport: wp.customize.Widgets.data.selectiveRefreshableWidgets[\n\t\t\t\twidgetModel.get( 'id_base' )\n\t\t\t]\n\t\t\t\t? 'postMessage'\n\t\t\t\t: 'refresh',\n\t\t\tpreviewer: this.setting.previewer,\n\t\t};\n\t\tconst setting = this.api.create(\n\t\t\tsettingId,\n\t\t\tsettingId,\n\t\t\t'',\n\t\t\tsettingArgs\n\t\t);\n\t\tsetting.set( widget.instance );\n\n\t\tconst widgetId = settingIdToWidgetId( settingId );\n\n\t\treturn widgetId;\n\t}\n\n\t_removeWidget( widget ) {\n\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( setting ) {\n\t\t\tconst instance = setting.get();\n\t\t\tthis.widgetsCache.delete( instance );\n\t\t}\n\n\t\tthis.api.remove( settingId );\n\t}\n\n\t_updateWidget( widget ) {\n\t\tconst prevWidget = this.getWidget( widget.id );\n\n\t\t// Bail out update if nothing changed.\n\t\tif ( prevWidget === widget ) {\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Update existing setting if only the widget's instance changed.\n\t\tif (\n\t\t\tprevWidget.idBase &&\n\t\t\twidget.idBase &&\n\t\t\tprevWidget.idBase === widget.idBase\n\t\t) {\n\t\t\tconst settingId = widgetIdToSettingId( widget.id );\n\t\t\tthis.api( settingId ).set( widget.instance );\n\t\t\treturn widget.id;\n\t\t}\n\n\t\t// Otherwise delete and re-create.\n\t\tthis._removeWidget( widget );\n\t\treturn this._createWidget( widget );\n\t}\n\n\tgetWidget( widgetId ) {\n\t\tif ( ! widgetId ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { idBase, number } = parseWidgetId( widgetId );\n\t\tconst settingId = widgetIdToSettingId( widgetId );\n\t\tconst setting = this.api( settingId );\n\n\t\tif ( ! setting ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst instance = setting.get();\n\n\t\tif ( this.widgetsCache.has( instance ) ) {\n\t\t\treturn this.widgetsCache.get( instance );\n\t\t}\n\n\t\tconst widget = {\n\t\t\tid: widgetId,\n\t\t\tidBase,\n\t\t\tnumber,\n\t\t\tinstance,\n\t\t};\n\n\t\tthis.widgetsCache.set( instance, widget );\n\n\t\treturn widget;\n\t}\n\n\t_updateWidgets( nextWidgets ) {\n\t\tthis.locked = true;\n\n\t\tconst addedWidgetIds = [];\n\n\t\tconst nextWidgetIds = nextWidgets.map( ( nextWidget ) => {\n\t\t\tif ( nextWidget.id && this.getWidget( nextWidget.id ) ) {\n\t\t\t\taddedWidgetIds.push( null );\n\n\t\t\t\treturn this._updateWidget( nextWidget );\n\t\t\t}\n\n\t\t\tconst widgetId = this._createWidget( nextWidget );\n\n\t\t\taddedWidgetIds.push( widgetId );\n\n\t\t\treturn widgetId;\n\t\t} );\n\n\t\tconst deletedWidgets = this.getWidgets().filter(\n\t\t\t( widget ) => ! nextWidgetIds.includes( widget.id )\n\t\t);\n\t\tdeletedWidgets.forEach( ( widget ) => this._removeWidget( widget ) );\n\n\t\tthis.setting.set( nextWidgetIds );\n\n\t\tthis.locked = false;\n\n\t\treturn addedWidgetIds;\n\t}\n\n\tsetWidgets( nextWidgets ) {\n\t\tconst addedWidgetIds = this._updateWidgets( nextWidgets );\n\n\t\tthis._debounceSetHistory();\n\n\t\treturn addedWidgetIds;\n\t}\n\n\t/**\n\t * Undo/Redo related features\n\t */\n\thasUndo() {\n\t\treturn this.historyIndex > 0;\n\t}\n\n\thasRedo() {\n\t\treturn this.historyIndex < this.history.length - 1;\n\t}\n\n\t_seek( historyIndex ) {\n\t\tconst currentWidgets = this.getWidgets();\n\n\t\tthis.historyIndex = historyIndex;\n\n\t\tconst widgets = this.history[ this.historyIndex ];\n\n\t\tthis._updateWidgets( widgets );\n\n\t\tthis._emit( currentWidgets, this.getWidgets() );\n\n\t\tthis.historySubscribers.forEach( ( listener ) => listener() );\n\t\tthis._debounceSetHistory.cancel();\n\t}\n\n\tundo() {\n\t\tif ( ! this.hasUndo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex - 1 );\n\t}\n\n\tredo() {\n\t\tif ( ! this.hasRedo() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._seek( this.historyIndex + 1 );\n\t}\n\n\tsubscribeHistory( listener ) {\n\t\tthis.historySubscribers.add( listener );\n\n\t\treturn () => {\n\t\t\tthis.historySubscribers.delete( listener );\n\t\t};\n\t}\n\n\tsave() {\n\t\tthis.api.previewer.save();\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/customize-widgets/src/controls/inserter-outer-section.js"],"names":["ESCAPE","focus","dispatch","store","customizeWidgetsStore","getInserterOuterSection","wp","customize","window","OuterSection","onChangeExpanded","expanded","args","section","each","params","type","id","collapse","sectionConstructor","outer","InserterOuterSection","constructor","activeElementBeforeExpanded","ownerWindow","contentContainer","ownerDocument","defaultView","addEventListener","event","keyCode","code","defaultPrevented","preventDefault","stopPropagation","setIsInserterOpened","addClass","isFromInternalAction","bind","open","activeElement","expand","completeCallback","searchBox","tabbable","find","close","contains"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,qBAAvB;AACA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,QAAT,QAAyB,iBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,qBAAlB,QAA+C,UAA/C;AAEA,eAAe,SAASC,uBAAT,GAAmC;AACjD,QAAM;AACLC,IAAAA,EAAE,EAAE;AAAEC,MAAAA;AAAF;AADC,MAEFC,MAFJ;AAIA,QAAMC,YAAY,GAAGF,SAAS,CAACE,YAA/B,CALiD,CAMjD;AACA;AACA;;AACAF,EAAAA,SAAS,CAACE,YAAV,GAAyB,cAAcA,YAAd,CAA2B;AACnDC,IAAAA,gBAAgB,CAAEC,QAAF,EAAYC,IAAZ,EAAmB;AAClC,UAAKD,QAAL,EAAgB;AACfJ,QAAAA,SAAS,CAACM,OAAV,CAAkBC,IAAlB,CAA0BD,OAAF,IAAe;AACtC,cACCA,OAAO,CAACE,MAAR,CAAeC,IAAf,KAAwB,OAAxB,IACAH,OAAO,CAACI,EAAR,KAAe,KAAKA,EAFrB,EAGE;AACD,gBAAKJ,OAAO,CAACF,QAAR,EAAL,EAA0B;AACzBE,cAAAA,OAAO,CAACK,QAAR;AACA;AACD;AACD,SATD;AAUA;;AAED,aAAO,MAAMR,gBAAN,CAAwBC,QAAxB,EAAkCC,IAAlC,CAAP;AACA;;AAhBkD,GAApD,CATiD,CA2BjD;;AACAL,EAAAA,SAAS,CAACY,kBAAV,CAA6BC,KAA7B,GAAqCb,SAAS,CAACE,YAA/C;AAEA,SAAO,MAAMY,oBAAN,SAAmCd,SAAS,CAACE,YAA7C,CAA0D;AAChEa,IAAAA,WAAW,GAAY;AACtB,YAAO,YAAP,EADsB,CAGtB;AACA;;AACA,WAAKP,MAAL,CAAYC,IAAZ,GAAmB,OAAnB;AAEA,WAAKO,2BAAL,GAAmC,IAAnC;AAEA,YAAMC,WAAW,
|
|
1
|
+
{"version":3,"sources":["@wordpress/customize-widgets/src/controls/inserter-outer-section.js"],"names":["ESCAPE","focus","dispatch","store","customizeWidgetsStore","getInserterOuterSection","wp","customize","window","OuterSection","onChangeExpanded","expanded","args","section","each","params","type","id","collapse","sectionConstructor","outer","InserterOuterSection","constructor","activeElementBeforeExpanded","ownerWindow","contentContainer","ownerDocument","defaultView","addEventListener","event","keyCode","code","defaultPrevented","preventDefault","stopPropagation","setIsInserterOpened","addClass","isFromInternalAction","bind","open","activeElement","expand","completeCallback","searchBox","tabbable","find","close","contains"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as customizeWidgetsStore } from '../store';\n\nexport default function getInserterOuterSection() {\n\tconst {\n\t\twp: { customize },\n\t} = window;\n\n\tconst OuterSection = customize.OuterSection;\n\t// Override the OuterSection class to handle multiple outer sections.\n\t// It closes all the other outer sections whenever one is opened.\n\t// The result is that at most one outer section can be opened at the same time.\n\tcustomize.OuterSection = class extends OuterSection {\n\t\tonChangeExpanded( expanded, args ) {\n\t\t\tif ( expanded ) {\n\t\t\t\tcustomize.section.each( ( section ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsection.params.type === 'outer' &&\n\t\t\t\t\t\tsection.id !== this.id\n\t\t\t\t\t) {\n\t\t\t\t\t\tif ( section.expanded() ) {\n\t\t\t\t\t\t\tsection.collapse();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn super.onChangeExpanded( expanded, args );\n\t\t}\n\t};\n\t// Handle constructor so that \"params.type\" can be correctly pointed to \"outer\".\n\tcustomize.sectionConstructor.outer = customize.OuterSection;\n\n\treturn class InserterOuterSection extends customize.OuterSection {\n\t\tconstructor( ...args ) {\n\t\t\tsuper( ...args );\n\n\t\t\t// This is necessary since we're creating a new class which is not identical to the original OuterSection.\n\t\t\t// @See https://github.com/WordPress/wordpress-develop/blob/42b05c397c50d9dc244083eff52991413909d4bd/src/js/_enqueues/wp/customize/controls.js#L1427-L1436\n\t\t\tthis.params.type = 'outer';\n\n\t\t\tthis.activeElementBeforeExpanded = null;\n\n\t\t\tconst ownerWindow =\n\t\t\t\tthis.contentContainer[ 0 ].ownerDocument.defaultView;\n\n\t\t\t// Handle closing the inserter when pressing the Escape key.\n\t\t\townerWindow.addEventListener(\n\t\t\t\t'keydown',\n\t\t\t\t( event ) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.expanded() &&\n\t\t\t\t\t\t( event.keyCode === ESCAPE ||\n\t\t\t\t\t\t\tevent.code === 'Escape' ) &&\n\t\t\t\t\t\t! event.defaultPrevented\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// Use capture mode to make this run before other event listeners.\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\tthis.contentContainer.addClass( 'widgets-inserter' );\n\n\t\t\t// Set a flag if the state is being changed from open() or close().\n\t\t\t// Don't propagate the event if it's an internal action to prevent infinite loop.\n\t\t\tthis.isFromInternalAction = false;\n\t\t\tthis.expanded.bind( () => {\n\t\t\t\tif ( ! this.isFromInternalAction ) {\n\t\t\t\t\t// Propagate the event to React to sync the state.\n\t\t\t\t\tdispatch( customizeWidgetsStore ).setIsInserterOpened(\n\t\t\t\t\t\tthis.expanded()\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.isFromInternalAction = false;\n\t\t\t} );\n\t\t}\n\t\topen() {\n\t\t\tif ( ! this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tthis.activeElementBeforeExpanded =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.expand( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// We have to do this in a \"completeCallback\" or else the elements will not yet be visible/tabbable.\n\t\t\t\t\t\t// The first one should be the close button,\n\t\t\t\t\t\t// we want to skip it and choose the second one instead, which is the search box.\n\t\t\t\t\t\tconst searchBox =\n\t\t\t\t\t\t\tfocus.tabbable.find( contentContainer )[ 1 ];\n\t\t\t\t\t\tif ( searchBox ) {\n\t\t\t\t\t\t\tsearchBox.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\tclose() {\n\t\t\tif ( this.expanded() ) {\n\t\t\t\tconst contentContainer = this.contentContainer[ 0 ];\n\t\t\t\tconst activeElement =\n\t\t\t\t\tcontentContainer.ownerDocument.activeElement;\n\n\t\t\t\tthis.isFromInternalAction = true;\n\n\t\t\t\tthis.collapse( {\n\t\t\t\t\tcompleteCallback() {\n\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t// Only do this if the active element which triggers the action is inside the inserter,\n\t\t\t\t\t\t// (the close button for instance). In that case the focus will be lost.\n\t\t\t\t\t\t// Otherwise, we don't hijack the focus when the user is focusing on other elements\n\t\t\t\t\t\t// (like the quick inserter).\n\t\t\t\t\t\tif ( contentContainer.contains( activeElement ) ) {\n\t\t\t\t\t\t\t// Return back the focus when closing the inserter.\n\t\t\t\t\t\t\tif ( this.activeElementBeforeExpanded ) {\n\t\t\t\t\t\t\t\tthis.activeElementBeforeExpanded.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t};\n}\n"]}
|
|
@@ -242,10 +242,14 @@
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
245
|
-
position: fixed;
|
|
245
|
+
position: fixed !important;
|
|
246
246
|
z-index: 7;
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
+
.customize-widgets-popover .components-popover {
|
|
250
|
+
position: fixed !important;
|
|
251
|
+
}
|
|
252
|
+
|
|
249
253
|
.customize-widgets-welcome-guide__image__wrapper {
|
|
250
254
|
background: #00a0d2;
|
|
251
255
|
text-align: center;
|
package/build-style/style.css
CHANGED
|
@@ -242,10 +242,14 @@
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
245
|
-
position: fixed;
|
|
245
|
+
position: fixed !important;
|
|
246
246
|
z-index: 7;
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
+
.customize-widgets-popover .components-popover {
|
|
250
|
+
position: fixed !important;
|
|
251
|
+
}
|
|
252
|
+
|
|
249
253
|
.customize-widgets-welcome-guide__image__wrapper {
|
|
250
254
|
background: #00a0d2;
|
|
251
255
|
text-align: center;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/customize-widgets",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.0",
|
|
4
4
|
"description": "Widgets blocks in Customizer Module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -24,25 +24,25 @@
|
|
|
24
24
|
"react-native": "src/index",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@babel/runtime": "^7.16.0",
|
|
27
|
-
"@wordpress/block-editor": "^9.
|
|
28
|
-
"@wordpress/block-library": "^7.
|
|
29
|
-
"@wordpress/blocks": "^11.
|
|
30
|
-
"@wordpress/components": "^19.
|
|
31
|
-
"@wordpress/compose": "^5.
|
|
32
|
-
"@wordpress/core-data": "^4.
|
|
33
|
-
"@wordpress/data": "^6.
|
|
34
|
-
"@wordpress/dom": "^3.
|
|
35
|
-
"@wordpress/element": "^4.
|
|
36
|
-
"@wordpress/hooks": "^3.
|
|
37
|
-
"@wordpress/i18n": "^4.
|
|
38
|
-
"@wordpress/icons": "^9.
|
|
39
|
-
"@wordpress/interface": "^4.
|
|
40
|
-
"@wordpress/is-shallow-equal": "^4.
|
|
41
|
-
"@wordpress/keyboard-shortcuts": "^3.
|
|
42
|
-
"@wordpress/keycodes": "^3.
|
|
43
|
-
"@wordpress/media-utils": "^4.
|
|
44
|
-
"@wordpress/preferences": "^2.
|
|
45
|
-
"@wordpress/widgets": "^2.
|
|
27
|
+
"@wordpress/block-editor": "^9.4.0",
|
|
28
|
+
"@wordpress/block-library": "^7.9.0",
|
|
29
|
+
"@wordpress/blocks": "^11.11.0",
|
|
30
|
+
"@wordpress/components": "^19.14.0",
|
|
31
|
+
"@wordpress/compose": "^5.10.0",
|
|
32
|
+
"@wordpress/core-data": "^4.10.0",
|
|
33
|
+
"@wordpress/data": "^6.12.0",
|
|
34
|
+
"@wordpress/dom": "^3.12.0",
|
|
35
|
+
"@wordpress/element": "^4.10.0",
|
|
36
|
+
"@wordpress/hooks": "^3.12.0",
|
|
37
|
+
"@wordpress/i18n": "^4.12.0",
|
|
38
|
+
"@wordpress/icons": "^9.3.0",
|
|
39
|
+
"@wordpress/interface": "^4.11.0",
|
|
40
|
+
"@wordpress/is-shallow-equal": "^4.12.0",
|
|
41
|
+
"@wordpress/keyboard-shortcuts": "^3.10.0",
|
|
42
|
+
"@wordpress/keycodes": "^3.12.0",
|
|
43
|
+
"@wordpress/media-utils": "^4.3.0",
|
|
44
|
+
"@wordpress/preferences": "^2.4.0",
|
|
45
|
+
"@wordpress/widgets": "^2.10.0",
|
|
46
46
|
"classnames": "^2.3.1",
|
|
47
47
|
"lodash": "^4.17.21"
|
|
48
48
|
},
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "a80eeb62ec7cb1418b9915c277e084a29d6665e3"
|
|
57
57
|
}
|
|
@@ -22,9 +22,8 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
|
22
22
|
* @param {Object} popoverRef The ref object of the popover node container.
|
|
23
23
|
*/
|
|
24
24
|
export default function useClearSelectedBlock( sidebarControl, popoverRef ) {
|
|
25
|
-
const { hasSelectedBlock, hasMultiSelection } =
|
|
26
|
-
blockEditorStore
|
|
27
|
-
);
|
|
25
|
+
const { hasSelectedBlock, hasMultiSelection } =
|
|
26
|
+
useSelect( blockEditorStore );
|
|
28
27
|
const { clearSelectedBlock } = useDispatch( blockEditorStore );
|
|
29
28
|
|
|
30
29
|
useEffect( () => {
|
|
@@ -70,10 +70,10 @@ export default function FocusControl( { api, sidebarControls, children } ) {
|
|
|
70
70
|
};
|
|
71
71
|
}, [ api, focusWidget ] );
|
|
72
72
|
|
|
73
|
-
const context = useMemo(
|
|
74
|
-
focusedWidgetIdRef,
|
|
75
|
-
focusWidget
|
|
76
|
-
|
|
73
|
+
const context = useMemo(
|
|
74
|
+
() => [ focusedWidgetIdRef, focusWidget ],
|
|
75
|
+
[ focusedWidgetIdRef, focusWidget ]
|
|
76
|
+
);
|
|
77
77
|
|
|
78
78
|
return (
|
|
79
79
|
<FocusControlContext.Provider value={ context }>
|
|
@@ -20,8 +20,16 @@ export const textFormattingShortcuts = [
|
|
|
20
20
|
keyCombination: { modifier: 'primaryShift', character: 'k' },
|
|
21
21
|
description: __( 'Remove a link.' ),
|
|
22
22
|
},
|
|
23
|
+
{
|
|
24
|
+
keyCombination: { character: '[[' },
|
|
25
|
+
description: __( 'Insert a link to a post or page' ),
|
|
26
|
+
},
|
|
23
27
|
{
|
|
24
28
|
keyCombination: { modifier: 'primary', character: 'u' },
|
|
25
29
|
description: __( 'Underline the selected text.' ),
|
|
26
30
|
},
|
|
31
|
+
{
|
|
32
|
+
keyCombination: { modifier: 'access', character: 'd' },
|
|
33
|
+
description: __( 'Strikethrough the selected text.' ),
|
|
34
|
+
},
|
|
27
35
|
];
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { defaultTo } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -50,10 +45,8 @@ export default function SidebarBlockEditor( {
|
|
|
50
45
|
} = useSelect( ( select ) => {
|
|
51
46
|
const { get } = select( preferencesStore );
|
|
52
47
|
return {
|
|
53
|
-
hasUploadPermissions:
|
|
54
|
-
select( coreStore ).canUser( 'create', 'media' ),
|
|
55
|
-
true
|
|
56
|
-
),
|
|
48
|
+
hasUploadPermissions:
|
|
49
|
+
select( coreStore ).canUser( 'create', 'media' ) ?? true,
|
|
57
50
|
isFixedToolbarActive: !! get(
|
|
58
51
|
'core/customize-widgets',
|
|
59
52
|
'fixedToolbar'
|
|
@@ -128,10 +128,8 @@ export default class SidebarAdapter {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
_replaceHistory() {
|
|
131
|
-
this.history[
|
|
132
|
-
this.
|
|
133
|
-
] = this._getWidgetIds().map( ( widgetId ) =>
|
|
134
|
-
this.getWidget( widgetId )
|
|
131
|
+
this.history[ this.historyIndex ] = this._getWidgetIds().map(
|
|
132
|
+
( widgetId ) => this.getWidget( widgetId )
|
|
135
133
|
);
|
|
136
134
|
}
|
|
137
135
|
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
.customize-control-sidebar_block_editor .block-editor-block-list__block-popover {
|
|
16
|
-
|
|
16
|
+
// FloatingUI library used in Popover component forces us to have an "absolute" inline style.
|
|
17
|
+
// We need to override this in the customizer.
|
|
18
|
+
position: fixed !important;
|
|
17
19
|
z-index: z-index(".customize-widgets__block-toolbar");
|
|
18
20
|
}
|
|
21
|
+
|
|
22
|
+
.customize-widgets-popover .components-popover {
|
|
23
|
+
// FloatingUI library used in Popover component forces us to have an "absolute" inline style.
|
|
24
|
+
// We need to override this in the customizer.
|
|
25
|
+
position: fixed !important;
|
|
26
|
+
}
|
|
@@ -50,8 +50,8 @@ export default function getInserterOuterSection() {
|
|
|
50
50
|
|
|
51
51
|
this.activeElementBeforeExpanded = null;
|
|
52
52
|
|
|
53
|
-
const ownerWindow =
|
|
54
|
-
.defaultView;
|
|
53
|
+
const ownerWindow =
|
|
54
|
+
this.contentContainer[ 0 ].ownerDocument.defaultView;
|
|
55
55
|
|
|
56
56
|
// Handle closing the inserter when pressing the Escape key.
|
|
57
57
|
ownerWindow.addEventListener(
|
|
@@ -102,9 +102,8 @@ export default function getInserterOuterSection() {
|
|
|
102
102
|
// We have to do this in a "completeCallback" or else the elements will not yet be visible/tabbable.
|
|
103
103
|
// The first one should be the close button,
|
|
104
104
|
// we want to skip it and choose the second one instead, which is the search box.
|
|
105
|
-
const searchBox =
|
|
106
|
-
contentContainer
|
|
107
|
-
)[ 1 ];
|
|
105
|
+
const searchBox =
|
|
106
|
+
focus.tabbable.find( contentContainer )[ 1 ];
|
|
108
107
|
if ( searchBox ) {
|
|
109
108
|
searchBox.focus();
|
|
110
109
|
}
|