|
|
- /******/ (function() { // webpackBootstrap
- /******/ "use strict";
- /******/ // The require scope
- /******/ var __webpack_require__ = {};
- /******/
- /************************************************************************/
- /******/ /* webpack/runtime/define property getters */
- /******/ !function() {
- /******/ // define getter functions for harmony exports
- /******/ __webpack_require__.d = function(exports, definition) {
- /******/ for(var key in definition) {
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
- /******/ }
- /******/ }
- /******/ };
- /******/ }();
- /******/
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
- /******/ !function() {
- /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
- /******/ }();
- /******/
- /******/ /* webpack/runtime/make namespace object */
- /******/ !function() {
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/ }();
- /******/
- /************************************************************************/
- var __webpack_exports__ = {};
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
-
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- PreferenceToggleMenuItem: function() { return /* reexport */ PreferenceToggleMenuItem; },
- store: function() { return /* reexport */ store; }
- });
-
- // NAMESPACE OBJECT: ./node_modules/@wordpress/preferences/build-module/store/actions.js
- var actions_namespaceObject = {};
- __webpack_require__.r(actions_namespaceObject);
- __webpack_require__.d(actions_namespaceObject, {
- set: function() { return set; },
- setDefaults: function() { return setDefaults; },
- setPersistenceLayer: function() { return setPersistenceLayer; },
- toggle: function() { return toggle; }
- });
-
- // NAMESPACE OBJECT: ./node_modules/@wordpress/preferences/build-module/store/selectors.js
- var selectors_namespaceObject = {};
- __webpack_require__.r(selectors_namespaceObject);
- __webpack_require__.d(selectors_namespaceObject, {
- get: function() { return get; }
- });
-
- ;// CONCATENATED MODULE: external ["wp","element"]
- var external_wp_element_namespaceObject = window["wp"]["element"];
- ;// CONCATENATED MODULE: external ["wp","data"]
- var external_wp_data_namespaceObject = window["wp"]["data"];
- ;// CONCATENATED MODULE: external ["wp","components"]
- var external_wp_components_namespaceObject = window["wp"]["components"];
- ;// CONCATENATED MODULE: external ["wp","i18n"]
- var external_wp_i18n_namespaceObject = window["wp"]["i18n"];
- ;// CONCATENATED MODULE: external ["wp","primitives"]
- var external_wp_primitives_namespaceObject = window["wp"]["primitives"];
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js
-
- /**
- * WordPress dependencies
- */
-
- const check = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24"
- }, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, {
- d: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
- }));
- /* harmony default export */ var library_check = (check);
-
- ;// CONCATENATED MODULE: external ["wp","a11y"]
- var external_wp_a11y_namespaceObject = window["wp"]["a11y"];
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/store/reducer.js
- /**
- * WordPress dependencies
- */
-
-
- /**
- * Reducer returning the defaults for user preferences.
- *
- * This is kept intentionally separate from the preferences
- * themselves so that defaults are not persisted.
- *
- * @param {Object} state Current state.
- * @param {Object} action Dispatched action.
- *
- * @return {Object} Updated state.
- */
- function defaults(state = {}, action) {
- if (action.type === 'SET_PREFERENCE_DEFAULTS') {
- const {
- scope,
- defaults: values
- } = action;
- return {
- ...state,
- [scope]: {
- ...state[scope],
- ...values
- }
- };
- }
- return state;
- }
-
- /**
- * Higher order reducer that does the following:
- * - Merges any data from the persistence layer into the state when the
- * `SET_PERSISTENCE_LAYER` action is received.
- * - Passes any preferences changes to the persistence layer.
- *
- * @param {Function} reducer The preferences reducer.
- *
- * @return {Function} The enhanced reducer.
- */
- function withPersistenceLayer(reducer) {
- let persistenceLayer;
- return (state, action) => {
- // Setup the persistence layer, and return the persisted data
- // as the state.
- if (action.type === 'SET_PERSISTENCE_LAYER') {
- const {
- persistenceLayer: persistence,
- persistedData
- } = action;
- persistenceLayer = persistence;
- return persistedData;
- }
- const nextState = reducer(state, action);
- if (action.type === 'SET_PREFERENCE_VALUE') {
- persistenceLayer?.set(nextState);
- }
- return nextState;
- };
- }
-
- /**
- * Reducer returning the user preferences.
- *
- * @param {Object} state Current state.
- * @param {Object} action Dispatched action.
- *
- * @return {Object} Updated state.
- */
- const preferences = withPersistenceLayer((state = {}, action) => {
- if (action.type === 'SET_PREFERENCE_VALUE') {
- const {
- scope,
- name,
- value
- } = action;
- return {
- ...state,
- [scope]: {
- ...state[scope],
- [name]: value
- }
- };
- }
- return state;
- });
- /* harmony default export */ var reducer = ((0,external_wp_data_namespaceObject.combineReducers)({
- defaults,
- preferences
- }));
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/store/actions.js
- /**
- * Returns an action object used in signalling that a preference should be
- * toggled.
- *
- * @param {string} scope The preference scope (e.g. core/edit-post).
- * @param {string} name The preference name.
- */
- function toggle(scope, name) {
- return function ({
- select,
- dispatch
- }) {
- const currentValue = select.get(scope, name);
- dispatch.set(scope, name, !currentValue);
- };
- }
-
- /**
- * Returns an action object used in signalling that a preference should be set
- * to a value
- *
- * @param {string} scope The preference scope (e.g. core/edit-post).
- * @param {string} name The preference name.
- * @param {*} value The value to set.
- *
- * @return {Object} Action object.
- */
- function set(scope, name, value) {
- return {
- type: 'SET_PREFERENCE_VALUE',
- scope,
- name,
- value
- };
- }
-
- /**
- * Returns an action object used in signalling that preference defaults should
- * be set.
- *
- * @param {string} scope The preference scope (e.g. core/edit-post).
- * @param {Object<string, *>} defaults A key/value map of preference names to values.
- *
- * @return {Object} Action object.
- */
- function setDefaults(scope, defaults) {
- return {
- type: 'SET_PREFERENCE_DEFAULTS',
- scope,
- defaults
- };
- }
-
- /** @typedef {() => Promise<Object>} WPPreferencesPersistenceLayerGet */
- /** @typedef {(Object) => void} WPPreferencesPersistenceLayerSet */
- /**
- * @typedef WPPreferencesPersistenceLayer
- *
- * @property {WPPreferencesPersistenceLayerGet} get An async function that gets data from the persistence layer.
- * @property {WPPreferencesPersistenceLayerSet} set A function that sets data in the persistence layer.
- */
-
- /**
- * Sets the persistence layer.
- *
- * When a persistence layer is set, the preferences store will:
- * - call `get` immediately and update the store state to the value returned.
- * - call `set` with all preferences whenever a preference changes value.
- *
- * `setPersistenceLayer` should ideally be dispatched at the start of an
- * application's lifecycle, before any other actions have been dispatched to
- * the preferences store.
- *
- * @param {WPPreferencesPersistenceLayer} persistenceLayer The persistence layer.
- *
- * @return {Object} Action object.
- */
- async function setPersistenceLayer(persistenceLayer) {
- const persistedData = await persistenceLayer.get();
- return {
- type: 'SET_PERSISTENCE_LAYER',
- persistenceLayer,
- persistedData
- };
- }
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/store/selectors.js
- /**
- * Returns a boolean indicating whether a prefer is active for a particular
- * scope.
- *
- * @param {Object} state The store state.
- * @param {string} scope The scope of the feature (e.g. core/edit-post).
- * @param {string} name The name of the feature.
- *
- * @return {*} Is the feature enabled?
- */
- function get(state, scope, name) {
- const value = state.preferences[scope]?.[name];
- return value !== undefined ? value : state.defaults[scope]?.[name];
- }
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/store/constants.js
- /**
- * The identifier for the data store.
- *
- * @type {string}
- */
- const STORE_NAME = 'core/preferences';
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/store/index.js
- /**
- * WordPress dependencies
- */
-
-
- /**
- * Internal dependencies
- */
-
-
-
-
-
- /**
- * Store definition for the interface namespace.
- *
- * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
- *
- * @type {Object}
- */
- const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, {
- reducer: reducer,
- actions: actions_namespaceObject,
- selectors: selectors_namespaceObject
- });
- (0,external_wp_data_namespaceObject.register)(store);
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/components/preference-toggle-menu-item/index.js
-
- /**
- * WordPress dependencies
- */
-
-
-
-
-
-
- /**
- * Internal dependencies
- */
-
- function PreferenceToggleMenuItem({
- scope,
- name,
- label,
- info,
- messageActivated,
- messageDeactivated,
- shortcut,
- onToggle = () => null,
- disabled = false
- }) {
- const isActive = (0,external_wp_data_namespaceObject.useSelect)(select => !!select(store).get(scope, name), [scope, name]);
- const {
- toggle
- } = (0,external_wp_data_namespaceObject.useDispatch)(store);
- const speakMessage = () => {
- if (isActive) {
- const message = messageDeactivated || (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: preference name, e.g. 'Fullscreen mode' */
- (0,external_wp_i18n_namespaceObject.__)('Preference deactivated - %s'), label);
- (0,external_wp_a11y_namespaceObject.speak)(message);
- } else {
- const message = messageActivated || (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: preference name, e.g. 'Fullscreen mode' */
- (0,external_wp_i18n_namespaceObject.__)('Preference activated - %s'), label);
- (0,external_wp_a11y_namespaceObject.speak)(message);
- }
- };
- return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.MenuItem, {
- icon: isActive && library_check,
- isSelected: isActive,
- onClick: () => {
- onToggle();
- toggle(scope, name);
- speakMessage();
- },
- role: "menuitemcheckbox",
- info: info,
- shortcut: shortcut,
- disabled: disabled
- }, label);
- }
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/components/index.js
-
-
- ;// CONCATENATED MODULE: ./node_modules/@wordpress/preferences/build-module/index.js
-
-
-
- (window.wp = window.wp || {}).preferences = __webpack_exports__;
- /******/ })()
- ;
|