@wordpress/nux 9.34.0 → 9.35.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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.35.0 (2025-11-12)
6
+
5
7
  ## 9.34.0 (2025-10-29)
6
8
 
7
9
  ## 9.33.0 (2025-10-17)
@@ -15,13 +15,14 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/nux/src/components/dot-tip/index.js
18
20
  var dot_tip_exports = {};
19
21
  __export(dot_tip_exports, {
20
22
  DotTip: () => DotTip,
21
23
  default: () => dot_tip_default
22
24
  });
23
25
  module.exports = __toCommonJS(dot_tip_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
26
  var import_compose = require("@wordpress/compose");
26
27
  var import_components = require("@wordpress/components");
27
28
  var import_i18n = require("@wordpress/i18n");
@@ -29,6 +30,7 @@ var import_data = require("@wordpress/data");
29
30
  var import_element = require("@wordpress/element");
30
31
  var import_icons = require("@wordpress/icons");
31
32
  var import_store = require("../../store");
33
+ var import_jsx_runtime = require("react/jsx-runtime");
32
34
  function onClick(event) {
33
35
  event.stopPropagation();
34
36
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dot-tip/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { Popover, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as nuxStore } from '../../store';\n\nfunction onClick( event ) {\n\t// Tips are often nested within buttons. We stop propagation so that clicking\n\t// on a tip doesn't result in the button being clicked.\n\tevent.stopPropagation();\n}\n\nexport function DotTip( {\n\tposition = 'middle right',\n\tchildren,\n\tisVisible,\n\thasNextTip,\n\tonDismiss,\n\tonDisable,\n} ) {\n\tconst anchorParent = useRef( null );\n\tconst onFocusOutsideCallback = useCallback(\n\t\t( event ) => {\n\t\t\tif ( ! anchorParent.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( anchorParent.current.contains( event.relatedTarget ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonDisable();\n\t\t},\n\t\t[ onDisable, anchorParent ]\n\t);\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tclassName=\"nux-dot-tip\"\n\t\t\tposition={ position }\n\t\t\tfocusOnMount\n\t\t\trole=\"dialog\"\n\t\t\taria-label={ __( 'Editor tips' ) }\n\t\t\tonClick={ onClick }\n\t\t\tonFocusOutside={ onFocusOutsideCallback }\n\t\t>\n\t\t\t<p>{ children }</p>\n\t\t\t<p>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onDismiss }\n\t\t\t\t>\n\t\t\t\t\t{ hasNextTip ? __( 'See next tip' ) : __( 'Got it' ) }\n\t\t\t\t</Button>\n\t\t\t</p>\n\t\t\t<Button\n\t\t\t\tsize=\"small\"\n\t\t\t\tclassName=\"nux-dot-tip__disable\"\n\t\t\t\ticon={ close }\n\t\t\t\tlabel={ __( 'Disable tips' ) }\n\t\t\t\tonClick={ onDisable }\n\t\t\t/>\n\t\t</Popover>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { tipId } ) => {\n\t\tconst { isTipVisible, getAssociatedGuide } = select( nuxStore );\n\t\tconst associatedGuide = getAssociatedGuide( tipId );\n\t\treturn {\n\t\t\tisVisible: isTipVisible( tipId ),\n\t\t\thasNextTip: !! ( associatedGuide && associatedGuide.nextTipId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { tipId } ) => {\n\t\tconst { dismissTip, disableTips } = dispatch( nuxStore );\n\t\treturn {\n\t\t\tonDismiss() {\n\t\t\t\tdismissTip( tipId );\n\t\t\t},\n\t\t\tonDisable() {\n\t\t\t\tdisableTips();\n\t\t\t},\n\t\t};\n\t} )\n)( DotTip );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CE;AA5CF,qBAAwB;AACxB,wBAAgC;AAChC,kBAAmB;AACnB,kBAAyC;AACzC,qBAAoC;AACpC,mBAAsB;AAKtB,mBAAkC;AAElC,SAAS,QAAS,OAAQ;AAGzB,QAAM,gBAAgB;AACvB;AAEO,SAAS,OAAQ;AAAA,EACvB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,mBAAe,uBAAQ,IAAK;AAClC,QAAM,6BAAyB;AAAA,IAC9B,CAAE,UAAW;AACZ,UAAK,CAAE,aAAa,SAAU;AAC7B;AAAA,MACD;AACA,UAAK,aAAa,QAAQ,SAAU,MAAM,aAAc,GAAI;AAC3D;AAAA,MACD;AACA,gBAAU;AAAA,IACX;AAAA,IACA,CAAE,WAAW,YAAa;AAAA,EAC3B;AACA,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,cAAY;AAAA,MACZ,MAAK;AAAA,MACL,kBAAa,gBAAI,aAAc;AAAA,MAC/B;AAAA,MACA,gBAAiB;AAAA,MAEjB;AAAA,oDAAC,OAAI,UAAU;AAAA,QACf,4CAAC,OACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU;AAAA,YAER,2BAAa,gBAAI,cAAe,QAAI,gBAAI,QAAS;AAAA;AAAA,QACpD,GACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,MAAO;AAAA,YACP,WAAQ,gBAAI,cAAe;AAAA,YAC3B,SAAU;AAAA;AAAA,QACX;AAAA;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,sBAAQ;AAAA,MACd,wBAAY,CAAE,QAAQ,EAAE,MAAM,MAAO;AACpC,UAAM,EAAE,cAAc,mBAAmB,IAAI,OAAQ,aAAAA,KAAS;AAC9D,UAAM,kBAAkB,mBAAoB,KAAM;AAClD,WAAO;AAAA,MACN,WAAW,aAAc,KAAM;AAAA,MAC/B,YAAY,CAAC,EAAI,mBAAmB,gBAAgB;AAAA,IACrD;AAAA,EACD,CAAE;AAAA,MACF,0BAAc,CAAE,UAAU,EAAE,MAAM,MAAO;AACxC,UAAM,EAAE,YAAY,YAAY,IAAI,SAAU,aAAAA,KAAS;AACvD,WAAO;AAAA,MACN,YAAY;AACX,mBAAY,KAAM;AAAA,MACnB;AAAA,MACA,YAAY;AACX,oBAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD,CAAE;AACH,EAAG,MAAO;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAwB;AACxB,wBAAgC;AAChC,kBAAmB;AACnB,kBAAyC;AACzC,qBAAoC;AACpC,mBAAsB;AAKtB,mBAAkC;AAkChC;AAhCF,SAAS,QAAS,OAAQ;AAGzB,QAAM,gBAAgB;AACvB;AAEO,SAAS,OAAQ;AAAA,EACvB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,mBAAe,uBAAQ,IAAK;AAClC,QAAM,6BAAyB;AAAA,IAC9B,CAAE,UAAW;AACZ,UAAK,CAAE,aAAa,SAAU;AAC7B;AAAA,MACD;AACA,UAAK,aAAa,QAAQ,SAAU,MAAM,aAAc,GAAI;AAC3D;AAAA,MACD;AACA,gBAAU;AAAA,IACX;AAAA,IACA,CAAE,WAAW,YAAa;AAAA,EAC3B;AACA,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,cAAY;AAAA,MACZ,MAAK;AAAA,MACL,kBAAa,gBAAI,aAAc;AAAA,MAC/B;AAAA,MACA,gBAAiB;AAAA,MAEjB;AAAA,oDAAC,OAAI,UAAU;AAAA,QACf,4CAAC,OACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU;AAAA,YAER,2BAAa,gBAAI,cAAe,QAAI,gBAAI,QAAS;AAAA;AAAA,QACpD,GACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,MAAO;AAAA,YACP,WAAQ,gBAAI,cAAe;AAAA,YAC3B,SAAU;AAAA;AAAA,QACX;AAAA;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,sBAAQ;AAAA,MACd,wBAAY,CAAE,QAAQ,EAAE,MAAM,MAAO;AACpC,UAAM,EAAE,cAAc,mBAAmB,IAAI,OAAQ,aAAAA,KAAS;AAC9D,UAAM,kBAAkB,mBAAoB,KAAM;AAClD,WAAO;AAAA,MACN,WAAW,aAAc,KAAM;AAAA,MAC/B,YAAY,CAAC,EAAI,mBAAmB,gBAAgB;AAAA,IACrD;AAAA,EACD,CAAE;AAAA,MACF,0BAAc,CAAE,UAAU,EAAE,MAAM,MAAO;AACxC,UAAM,EAAE,YAAY,YAAY,IAAI,SAAU,aAAAA,KAAS;AACvD,WAAO;AAAA,MACN,YAAY;AACX,mBAAY,KAAM;AAAA,MACnB;AAAA,MACA,YAAY;AACX,oBAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD,CAAE;AACH,EAAG,MAAO;",
6
6
  "names": ["nuxStore"]
7
7
  }
package/build/index.js CHANGED
@@ -25,6 +25,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // packages/nux/src/index.js
28
30
  var index_exports = {};
29
31
  __export(index_exports, {
30
32
  DotTip: () => import_dot_tip.default,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport { store } from './store';\nexport { default as DotTip } from './components/dot-tip';\n\ndeprecated( 'wp.nux', {\n\tsince: '5.4',\n\thint: 'wp.components.Guide can be used to show a user guide.',\n\tversion: '6.2',\n} );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuB;AAEvB,mBAAsB;AACtB,qBAAkC;AAAA,IAElC,kBAAAA,SAAY,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACV,CAAE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAuB;AAEvB,mBAAsB;AACtB,qBAAkC;AAAA,IAElC,kBAAAA,SAAY,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACV,CAAE;",
6
6
  "names": ["deprecated"]
7
7
  }
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/nux/src/store/actions.js
18
20
  var actions_exports = {};
19
21
  __export(actions_exports, {
20
22
  disableTips: () => disableTips,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/actions.js"],
4
4
  "sourcesContent": ["/**\n * Returns an action object that, when dispatched, presents a guide that takes\n * the user through a series of tips step by step.\n *\n * @param {string[]} tipIds Which tips to show in the guide.\n *\n * @return {Object} Action object.\n */\nexport function triggerGuide( tipIds ) {\n\treturn {\n\t\ttype: 'TRIGGER_GUIDE',\n\t\ttipIds,\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, dismisses the given tip. A\n * dismissed tip will not show again.\n *\n * @param {string} id The tip to dismiss.\n *\n * @return {Object} Action object.\n */\nexport function dismissTip( id ) {\n\treturn {\n\t\ttype: 'DISMISS_TIP',\n\t\tid,\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, prevents all tips from\n * showing again.\n *\n * @return {Object} Action object.\n */\nexport function disableTips() {\n\treturn {\n\t\ttype: 'DISABLE_TIPS',\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, makes all tips show again.\n *\n * @return {Object} Action object.\n */\nexport function enableTips() {\n\treturn {\n\t\ttype: 'ENABLE_TIPS',\n\t};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,aAAc,QAAS;AACtC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAUO,SAAS,WAAY,IAAK;AAChC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAQO,SAAS,cAAc;AAC7B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAOO,SAAS,aAAa;AAC5B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,aAAc,QAAS;AACtC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAUO,SAAS,WAAY,IAAK;AAChC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAQO,SAAS,cAAc;AAC7B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAOO,SAAS,aAAa;AAC5B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;",
6
6
  "names": []
7
7
  }
@@ -25,6 +25,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // packages/nux/src/store/index.js
28
30
  var store_exports = {};
29
31
  __export(store_exports, {
30
32
  store: () => store
@@ -34,8 +36,8 @@ var import_data = require("@wordpress/data");
34
36
  var import_reducer = __toESM(require("./reducer"));
35
37
  var actions = __toESM(require("./actions"));
36
38
  var selectors = __toESM(require("./selectors"));
37
- const STORE_NAME = "core/nux";
38
- const store = (0, import_data.createReduxStore)(STORE_NAME, {
39
+ var STORE_NAME = "core/nux";
40
+ var store = (0, import_data.createReduxStore)(STORE_NAME, {
39
41
  reducer: import_reducer.default,
40
42
  actions,
41
43
  selectors,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as actions from './actions';\nimport * as selectors from './selectors';\n\nconst STORE_NAME = 'core/nux';\n\n/**\n * Store definition for the nux namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n\tpersist: [ 'preferences' ],\n} );\n\n// Once we build a more generic persistence plugin that works across types of stores\n// we'd be able to replace this with a register call.\nregisterStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n\tpersist: [ 'preferences' ],\n} );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAgD;AAKhD,qBAAoB;AACpB,cAAyB;AACzB,gBAA2B;AAE3B,MAAM,aAAa;AASZ,MAAM,YAAQ,8BAAkB,YAAY;AAAA,EAClD,wBAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;AAAA,IAIF,2BAAe,YAAY;AAAA,EAC1B,wBAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAgD;AAKhD,qBAAoB;AACpB,cAAyB;AACzB,gBAA2B;AAE3B,IAAM,aAAa;AASZ,IAAM,YAAQ,8BAAkB,YAAY;AAAA,EAClD,wBAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;AAAA,IAIF,2BAAe,YAAY;AAAA,EAC1B,wBAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;",
6
6
  "names": ["reducer"]
7
7
  }
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/nux/src/store/reducer.js
18
20
  var reducer_exports = {};
19
21
  __export(reducer_exports, {
20
22
  areTipsEnabled: () => areTipsEnabled,
@@ -52,7 +54,7 @@ function dismissedTips(state = {}, action) {
52
54
  }
53
55
  return state;
54
56
  }
55
- const preferences = (0, import_data.combineReducers)({ areTipsEnabled, dismissedTips });
57
+ var preferences = (0, import_data.combineReducers)({ areTipsEnabled, dismissedTips });
56
58
  var reducer_default = (0, import_data.combineReducers)({ guides, preferences });
57
59
  // Annotate the CommonJS export names for ESM import in node:
58
60
  0 && (module.exports = {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/reducer.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer that tracks which tips are in a guide. Each guide is represented by\n * an array which contains the tip identifiers contained within that guide.\n *\n * @param {Array} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Array} Updated state.\n */\nexport function guides( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'TRIGGER_GUIDE':\n\t\t\treturn [ ...state, action.tipIds ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer that tracks whether or not tips are globally enabled.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function areTipsEnabled( state = true, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'DISABLE_TIPS':\n\t\t\treturn false;\n\n\t\tcase 'ENABLE_TIPS':\n\t\t\treturn true;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer that tracks which tips have been dismissed. If the state object\n * contains a tip identifier, then that tip is dismissed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function dismissedTips( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'DISMISS_TIP':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.id ]: true,\n\t\t\t};\n\n\t\tcase 'ENABLE_TIPS':\n\t\t\treturn {};\n\t}\n\n\treturn state;\n}\n\nconst preferences = combineReducers( { areTipsEnabled, dismissedTips } );\n\nexport default combineReducers( { guides, preferences } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAgC;AAWzB,SAAS,OAAQ,QAAQ,CAAC,GAAG,QAAS;AAC5C,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO,CAAE,GAAG,OAAO,OAAO,MAAO;AAAA,EACnC;AAEA,SAAO;AACR;AAUO,SAAS,eAAgB,QAAQ,MAAM,QAAS;AACtD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAWO,SAAS,cAAe,QAAQ,CAAC,GAAG,QAAS;AACnD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,QACN,GAAG;AAAA,QACH,CAAE,OAAO,EAAG,GAAG;AAAA,MAChB;AAAA,IAED,KAAK;AACJ,aAAO,CAAC;AAAA,EACV;AAEA,SAAO;AACR;AAEA,MAAM,kBAAc,6BAAiB,EAAE,gBAAgB,cAAc,CAAE;AAEvE,IAAO,sBAAQ,6BAAiB,EAAE,QAAQ,YAAY,CAAE;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAgC;AAWzB,SAAS,OAAQ,QAAQ,CAAC,GAAG,QAAS;AAC5C,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO,CAAE,GAAG,OAAO,OAAO,MAAO;AAAA,EACnC;AAEA,SAAO;AACR;AAUO,SAAS,eAAgB,QAAQ,MAAM,QAAS;AACtD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAWO,SAAS,cAAe,QAAQ,CAAC,GAAG,QAAS;AACnD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,QACN,GAAG;AAAA,QACH,CAAE,OAAO,EAAG,GAAG;AAAA,MAChB;AAAA,IAED,KAAK;AACJ,aAAO,CAAC;AAAA,EACV;AAEA,SAAO;AACR;AAEA,IAAM,kBAAc,6BAAiB,EAAE,gBAAgB,cAAc,CAAE;AAEvE,IAAO,sBAAQ,6BAAiB,EAAE,QAAQ,YAAY,CAAE;",
6
6
  "names": []
7
7
  }
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/nux/src/store/selectors.js
18
20
  var selectors_exports = {};
19
21
  __export(selectors_exports, {
20
22
  areTipsEnabled: () => areTipsEnabled,
@@ -23,7 +25,7 @@ __export(selectors_exports, {
23
25
  });
24
26
  module.exports = __toCommonJS(selectors_exports);
25
27
  var import_data = require("@wordpress/data");
26
- const getAssociatedGuide = (0, import_data.createSelector)(
28
+ var getAssociatedGuide = (0, import_data.createSelector)(
27
29
  (state, tipId) => {
28
30
  for (const tipIds of state.guides) {
29
31
  if (tipIds.includes(tipId)) {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/selectors.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createSelector } from '@wordpress/data';\n\n/**\n * An object containing information about a guide.\n *\n * @typedef {Object} NUXGuideInfo\n * @property {string[]} tipIds Which tips the guide contains.\n * @property {?string} currentTipId The guide's currently showing tip.\n * @property {?string} nextTipId The guide's next tip to show.\n */\n\n/**\n * Returns an object describing the guide, if any, that the given tip is a part\n * of.\n *\n * @param {Object} state Global application state.\n * @param {string} tipId The tip to query.\n *\n * @return {?NUXGuideInfo} Information about the associated guide.\n */\nexport const getAssociatedGuide = createSelector(\n\t( state, tipId ) => {\n\t\tfor ( const tipIds of state.guides ) {\n\t\t\tif ( tipIds.includes( tipId ) ) {\n\t\t\t\tconst nonDismissedTips = tipIds.filter(\n\t\t\t\t\t( tId ) =>\n\t\t\t\t\t\t! Object.keys(\n\t\t\t\t\t\t\tstate.preferences.dismissedTips\n\t\t\t\t\t\t).includes( tId )\n\t\t\t\t);\n\t\t\t\tconst [ currentTipId = null, nextTipId = null ] =\n\t\t\t\t\tnonDismissedTips;\n\t\t\t\treturn { tipIds, currentTipId, nextTipId };\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t},\n\t( state ) => [ state.guides, state.preferences.dismissedTips ]\n);\n\n/**\n * Determines whether or not the given tip is showing. Tips are hidden if they\n * are disabled, have been dismissed, or are not the current tip in any\n * guide that they have been added to.\n *\n * @param {Object} state Global application state.\n * @param {string} tipId The tip to query.\n *\n * @return {boolean} Whether or not the given tip is showing.\n */\nexport function isTipVisible( state, tipId ) {\n\tif ( ! state.preferences.areTipsEnabled ) {\n\t\treturn false;\n\t}\n\n\tif ( state.preferences.dismissedTips?.hasOwnProperty( tipId ) ) {\n\t\treturn false;\n\t}\n\n\tconst associatedGuide = getAssociatedGuide( state, tipId );\n\tif ( associatedGuide && associatedGuide.currentTipId !== tipId ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Returns whether or not tips are globally enabled.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether tips are globally enabled.\n */\nexport function areTipsEnabled( state ) {\n\treturn state.preferences.areTipsEnabled;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA+B;AAoBxB,MAAM,yBAAqB;AAAA,EACjC,CAAE,OAAO,UAAW;AACnB,eAAY,UAAU,MAAM,QAAS;AACpC,UAAK,OAAO,SAAU,KAAM,GAAI;AAC/B,cAAM,mBAAmB,OAAO;AAAA,UAC/B,CAAE,QACD,CAAE,OAAO;AAAA,YACR,MAAM,YAAY;AAAA,UACnB,EAAE,SAAU,GAAI;AAAA,QAClB;AACA,cAAM,CAAE,eAAe,MAAM,YAAY,IAAK,IAC7C;AACD,eAAO,EAAE,QAAQ,cAAc,UAAU;AAAA,MAC1C;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EACA,CAAE,UAAW,CAAE,MAAM,QAAQ,MAAM,YAAY,aAAc;AAC9D;AAYO,SAAS,aAAc,OAAO,OAAQ;AAC5C,MAAK,CAAE,MAAM,YAAY,gBAAiB;AACzC,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,YAAY,eAAe,eAAgB,KAAM,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,mBAAoB,OAAO,KAAM;AACzD,MAAK,mBAAmB,gBAAgB,iBAAiB,OAAQ;AAChE,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AASO,SAAS,eAAgB,OAAQ;AACvC,SAAO,MAAM,YAAY;AAC1B;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA+B;AAoBxB,IAAM,yBAAqB;AAAA,EACjC,CAAE,OAAO,UAAW;AACnB,eAAY,UAAU,MAAM,QAAS;AACpC,UAAK,OAAO,SAAU,KAAM,GAAI;AAC/B,cAAM,mBAAmB,OAAO;AAAA,UAC/B,CAAE,QACD,CAAE,OAAO;AAAA,YACR,MAAM,YAAY;AAAA,UACnB,EAAE,SAAU,GAAI;AAAA,QAClB;AACA,cAAM,CAAE,eAAe,MAAM,YAAY,IAAK,IAC7C;AACD,eAAO,EAAE,QAAQ,cAAc,UAAU;AAAA,MAC1C;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EACA,CAAE,UAAW,CAAE,MAAM,QAAQ,MAAM,YAAY,aAAc;AAC9D;AAYO,SAAS,aAAc,OAAO,OAAQ;AAC5C,MAAK,CAAE,MAAM,YAAY,gBAAiB;AACzC,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,YAAY,eAAe,eAAgB,KAAM,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,mBAAoB,OAAO,KAAM;AACzD,MAAK,mBAAmB,gBAAgB,iBAAiB,OAAQ;AAChE,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AASO,SAAS,eAAgB,OAAQ;AACvC,SAAO,MAAM,YAAY;AAC1B;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // packages/nux/src/components/dot-tip/index.js
2
2
  import { compose } from "@wordpress/compose";
3
3
  import { Popover, Button } from "@wordpress/components";
4
4
  import { __ } from "@wordpress/i18n";
@@ -6,6 +6,7 @@ import { withSelect, withDispatch } from "@wordpress/data";
6
6
  import { useCallback, useRef } from "@wordpress/element";
7
7
  import { close } from "@wordpress/icons";
8
8
  import { store as nuxStore } from "../../store";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
9
10
  function onClick(event) {
10
11
  event.stopPropagation();
11
12
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dot-tip/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { Popover, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as nuxStore } from '../../store';\n\nfunction onClick( event ) {\n\t// Tips are often nested within buttons. We stop propagation so that clicking\n\t// on a tip doesn't result in the button being clicked.\n\tevent.stopPropagation();\n}\n\nexport function DotTip( {\n\tposition = 'middle right',\n\tchildren,\n\tisVisible,\n\thasNextTip,\n\tonDismiss,\n\tonDisable,\n} ) {\n\tconst anchorParent = useRef( null );\n\tconst onFocusOutsideCallback = useCallback(\n\t\t( event ) => {\n\t\t\tif ( ! anchorParent.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( anchorParent.current.contains( event.relatedTarget ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonDisable();\n\t\t},\n\t\t[ onDisable, anchorParent ]\n\t);\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tclassName=\"nux-dot-tip\"\n\t\t\tposition={ position }\n\t\t\tfocusOnMount\n\t\t\trole=\"dialog\"\n\t\t\taria-label={ __( 'Editor tips' ) }\n\t\t\tonClick={ onClick }\n\t\t\tonFocusOutside={ onFocusOutsideCallback }\n\t\t>\n\t\t\t<p>{ children }</p>\n\t\t\t<p>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onDismiss }\n\t\t\t\t>\n\t\t\t\t\t{ hasNextTip ? __( 'See next tip' ) : __( 'Got it' ) }\n\t\t\t\t</Button>\n\t\t\t</p>\n\t\t\t<Button\n\t\t\t\tsize=\"small\"\n\t\t\t\tclassName=\"nux-dot-tip__disable\"\n\t\t\t\ticon={ close }\n\t\t\t\tlabel={ __( 'Disable tips' ) }\n\t\t\t\tonClick={ onDisable }\n\t\t\t/>\n\t\t</Popover>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { tipId } ) => {\n\t\tconst { isTipVisible, getAssociatedGuide } = select( nuxStore );\n\t\tconst associatedGuide = getAssociatedGuide( tipId );\n\t\treturn {\n\t\t\tisVisible: isTipVisible( tipId ),\n\t\t\thasNextTip: !! ( associatedGuide && associatedGuide.nextTipId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { tipId } ) => {\n\t\tconst { dismissTip, disableTips } = dispatch( nuxStore );\n\t\treturn {\n\t\t\tonDismiss() {\n\t\t\t\tdismissTip( tipId );\n\t\t\t},\n\t\t\tonDisable() {\n\t\t\t\tdisableTips();\n\t\t\t},\n\t\t};\n\t} )\n)( DotTip );\n"],
5
- "mappings": "AA+CE,SASC,KATD;AA5CF,SAAS,eAAe;AACxB,SAAS,SAAS,cAAc;AAChC,SAAS,UAAU;AACnB,SAAS,YAAY,oBAAoB;AACzC,SAAS,aAAa,cAAc;AACpC,SAAS,aAAa;AAKtB,SAAS,SAAS,gBAAgB;AAElC,SAAS,QAAS,OAAQ;AAGzB,QAAM,gBAAgB;AACvB;AAEO,SAAS,OAAQ;AAAA,EACvB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAe,OAAQ,IAAK;AAClC,QAAM,yBAAyB;AAAA,IAC9B,CAAE,UAAW;AACZ,UAAK,CAAE,aAAa,SAAU;AAC7B;AAAA,MACD;AACA,UAAK,aAAa,QAAQ,SAAU,MAAM,aAAc,GAAI;AAC3D;AAAA,MACD;AACA,gBAAU;AAAA,IACX;AAAA,IACA,CAAE,WAAW,YAAa;AAAA,EAC3B;AACA,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,cAAY;AAAA,MACZ,MAAK;AAAA,MACL,cAAa,GAAI,aAAc;AAAA,MAC/B;AAAA,MACA,gBAAiB;AAAA,MAEjB;AAAA,4BAAC,OAAI,UAAU;AAAA,QACf,oBAAC,OACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU;AAAA,YAER,uBAAa,GAAI,cAAe,IAAI,GAAI,QAAS;AAAA;AAAA,QACpD,GACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,MAAO;AAAA,YACP,OAAQ,GAAI,cAAe;AAAA,YAC3B,SAAU;AAAA;AAAA,QACX;AAAA;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,kBAAQ;AAAA,EACd,WAAY,CAAE,QAAQ,EAAE,MAAM,MAAO;AACpC,UAAM,EAAE,cAAc,mBAAmB,IAAI,OAAQ,QAAS;AAC9D,UAAM,kBAAkB,mBAAoB,KAAM;AAClD,WAAO;AAAA,MACN,WAAW,aAAc,KAAM;AAAA,MAC/B,YAAY,CAAC,EAAI,mBAAmB,gBAAgB;AAAA,IACrD;AAAA,EACD,CAAE;AAAA,EACF,aAAc,CAAE,UAAU,EAAE,MAAM,MAAO;AACxC,UAAM,EAAE,YAAY,YAAY,IAAI,SAAU,QAAS;AACvD,WAAO;AAAA,MACN,YAAY;AACX,mBAAY,KAAM;AAAA,MACnB;AAAA,MACA,YAAY;AACX,oBAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD,CAAE;AACH,EAAG,MAAO;",
5
+ "mappings": ";AAGA,SAAS,eAAe;AACxB,SAAS,SAAS,cAAc;AAChC,SAAS,UAAU;AACnB,SAAS,YAAY,oBAAoB;AACzC,SAAS,aAAa,cAAc;AACpC,SAAS,aAAa;AAKtB,SAAS,SAAS,gBAAgB;AAkChC,SASC,KATD;AAhCF,SAAS,QAAS,OAAQ;AAGzB,QAAM,gBAAgB;AACvB;AAEO,SAAS,OAAQ;AAAA,EACvB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eAAe,OAAQ,IAAK;AAClC,QAAM,yBAAyB;AAAA,IAC9B,CAAE,UAAW;AACZ,UAAK,CAAE,aAAa,SAAU;AAC7B;AAAA,MACD;AACA,UAAK,aAAa,QAAQ,SAAU,MAAM,aAAc,GAAI;AAC3D;AAAA,MACD;AACA,gBAAU;AAAA,IACX;AAAA,IACA,CAAE,WAAW,YAAa;AAAA,EAC3B;AACA,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,cAAY;AAAA,MACZ,MAAK;AAAA,MACL,cAAa,GAAI,aAAc;AAAA,MAC/B;AAAA,MACA,gBAAiB;AAAA,MAEjB;AAAA,4BAAC,OAAI,UAAU;AAAA,QACf,oBAAC,OACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU;AAAA,YAER,uBAAa,GAAI,cAAe,IAAI,GAAI,QAAS;AAAA;AAAA,QACpD,GACD;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,MAAO;AAAA,YACP,OAAQ,GAAI,cAAe;AAAA,YAC3B,SAAU;AAAA;AAAA,QACX;AAAA;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,kBAAQ;AAAA,EACd,WAAY,CAAE,QAAQ,EAAE,MAAM,MAAO;AACpC,UAAM,EAAE,cAAc,mBAAmB,IAAI,OAAQ,QAAS;AAC9D,UAAM,kBAAkB,mBAAoB,KAAM;AAClD,WAAO;AAAA,MACN,WAAW,aAAc,KAAM;AAAA,MAC/B,YAAY,CAAC,EAAI,mBAAmB,gBAAgB;AAAA,IACrD;AAAA,EACD,CAAE;AAAA,EACF,aAAc,CAAE,UAAU,EAAE,MAAM,MAAO;AACxC,UAAM,EAAE,YAAY,YAAY,IAAI,SAAU,QAAS;AACvD,WAAO;AAAA,MACN,YAAY;AACX,mBAAY,KAAM;AAAA,MACnB;AAAA,MACA,YAAY;AACX,oBAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD,CAAE;AACH,EAAG,MAAO;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,4 @@
1
+ // packages/nux/src/index.js
1
2
  import deprecated from "@wordpress/deprecated";
2
3
  import { store } from "./store";
3
4
  import { default as default2 } from "./components/dot-tip";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport { store } from './store';\nexport { default as DotTip } from './components/dot-tip';\n\ndeprecated( 'wp.nux', {\n\tsince: '5.4',\n\thint: 'wp.components.Guide can be used to show a user guide.',\n\tversion: '6.2',\n} );\n"],
5
- "mappings": "AAGA,OAAO,gBAAgB;AAEvB,SAAS,aAAa;AACtB,SAAoB,WAAXA,gBAAyB;AAElC,WAAY,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACV,CAAE;",
5
+ "mappings": ";AAGA,OAAO,gBAAgB;AAEvB,SAAS,aAAa;AACtB,SAAoB,WAAXA,gBAAyB;AAElC,WAAY,UAAU;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AACV,CAAE;",
6
6
  "names": ["default"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ // packages/nux/src/store/actions.js
1
2
  function triggerGuide(tipIds) {
2
3
  return {
3
4
  type: "TRIGGER_GUIDE",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/actions.js"],
4
4
  "sourcesContent": ["/**\n * Returns an action object that, when dispatched, presents a guide that takes\n * the user through a series of tips step by step.\n *\n * @param {string[]} tipIds Which tips to show in the guide.\n *\n * @return {Object} Action object.\n */\nexport function triggerGuide( tipIds ) {\n\treturn {\n\t\ttype: 'TRIGGER_GUIDE',\n\t\ttipIds,\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, dismisses the given tip. A\n * dismissed tip will not show again.\n *\n * @param {string} id The tip to dismiss.\n *\n * @return {Object} Action object.\n */\nexport function dismissTip( id ) {\n\treturn {\n\t\ttype: 'DISMISS_TIP',\n\t\tid,\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, prevents all tips from\n * showing again.\n *\n * @return {Object} Action object.\n */\nexport function disableTips() {\n\treturn {\n\t\ttype: 'DISABLE_TIPS',\n\t};\n}\n\n/**\n * Returns an action object that, when dispatched, makes all tips show again.\n *\n * @return {Object} Action object.\n */\nexport function enableTips() {\n\treturn {\n\t\ttype: 'ENABLE_TIPS',\n\t};\n}\n"],
5
- "mappings": "AAQO,SAAS,aAAc,QAAS;AACtC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAUO,SAAS,WAAY,IAAK;AAChC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAQO,SAAS,cAAc;AAC7B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAOO,SAAS,aAAa;AAC5B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;",
5
+ "mappings": ";AAQO,SAAS,aAAc,QAAS;AACtC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAUO,SAAS,WAAY,IAAK;AAChC,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;AAQO,SAAS,cAAc;AAC7B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAOO,SAAS,aAAa;AAC5B,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,10 @@
1
+ // packages/nux/src/store/index.js
1
2
  import { createReduxStore, registerStore } from "@wordpress/data";
2
3
  import reducer from "./reducer";
3
4
  import * as actions from "./actions";
4
5
  import * as selectors from "./selectors";
5
- const STORE_NAME = "core/nux";
6
- const store = createReduxStore(STORE_NAME, {
6
+ var STORE_NAME = "core/nux";
7
+ var store = createReduxStore(STORE_NAME, {
7
8
  reducer,
8
9
  actions,
9
10
  selectors,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as actions from './actions';\nimport * as selectors from './selectors';\n\nconst STORE_NAME = 'core/nux';\n\n/**\n * Store definition for the nux namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n\tpersist: [ 'preferences' ],\n} );\n\n// Once we build a more generic persistence plugin that works across types of stores\n// we'd be able to replace this with a register call.\nregisterStore( STORE_NAME, {\n\treducer,\n\tactions,\n\tselectors,\n\tpersist: [ 'preferences' ],\n} );\n"],
5
- "mappings": "AAGA,SAAS,kBAAkB,qBAAqB;AAKhD,OAAO,aAAa;AACpB,YAAY,aAAa;AACzB,YAAY,eAAe;AAE3B,MAAM,aAAa;AASZ,MAAM,QAAQ,iBAAkB,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;AAIF,cAAe,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;",
5
+ "mappings": ";AAGA,SAAS,kBAAkB,qBAAqB;AAKhD,OAAO,aAAa;AACpB,YAAY,aAAa;AACzB,YAAY,eAAe;AAE3B,IAAM,aAAa;AASZ,IAAM,QAAQ,iBAAkB,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;AAIF,cAAe,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAE,aAAc;AAC1B,CAAE;",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,4 @@
1
+ // packages/nux/src/store/reducer.js
1
2
  import { combineReducers } from "@wordpress/data";
2
3
  function guides(state = [], action) {
3
4
  switch (action.type) {
@@ -27,7 +28,7 @@ function dismissedTips(state = {}, action) {
27
28
  }
28
29
  return state;
29
30
  }
30
- const preferences = combineReducers({ areTipsEnabled, dismissedTips });
31
+ var preferences = combineReducers({ areTipsEnabled, dismissedTips });
31
32
  var reducer_default = combineReducers({ guides, preferences });
32
33
  export {
33
34
  areTipsEnabled,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/reducer.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer that tracks which tips are in a guide. Each guide is represented by\n * an array which contains the tip identifiers contained within that guide.\n *\n * @param {Array} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Array} Updated state.\n */\nexport function guides( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'TRIGGER_GUIDE':\n\t\t\treturn [ ...state, action.tipIds ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer that tracks whether or not tips are globally enabled.\n *\n * @param {boolean} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function areTipsEnabled( state = true, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'DISABLE_TIPS':\n\t\t\treturn false;\n\n\t\tcase 'ENABLE_TIPS':\n\t\t\treturn true;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer that tracks which tips have been dismissed. If the state object\n * contains a tip identifier, then that tip is dismissed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function dismissedTips( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'DISMISS_TIP':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.id ]: true,\n\t\t\t};\n\n\t\tcase 'ENABLE_TIPS':\n\t\t\treturn {};\n\t}\n\n\treturn state;\n}\n\nconst preferences = combineReducers( { areTipsEnabled, dismissedTips } );\n\nexport default combineReducers( { guides, preferences } );\n"],
5
- "mappings": "AAGA,SAAS,uBAAuB;AAWzB,SAAS,OAAQ,QAAQ,CAAC,GAAG,QAAS;AAC5C,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO,CAAE,GAAG,OAAO,OAAO,MAAO;AAAA,EACnC;AAEA,SAAO;AACR;AAUO,SAAS,eAAgB,QAAQ,MAAM,QAAS;AACtD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAWO,SAAS,cAAe,QAAQ,CAAC,GAAG,QAAS;AACnD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,QACN,GAAG;AAAA,QACH,CAAE,OAAO,EAAG,GAAG;AAAA,MAChB;AAAA,IAED,KAAK;AACJ,aAAO,CAAC;AAAA,EACV;AAEA,SAAO;AACR;AAEA,MAAM,cAAc,gBAAiB,EAAE,gBAAgB,cAAc,CAAE;AAEvE,IAAO,kBAAQ,gBAAiB,EAAE,QAAQ,YAAY,CAAE;",
5
+ "mappings": ";AAGA,SAAS,uBAAuB;AAWzB,SAAS,OAAQ,QAAQ,CAAC,GAAG,QAAS;AAC5C,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO,CAAE,GAAG,OAAO,OAAO,MAAO;AAAA,EACnC;AAEA,SAAO;AACR;AAUO,SAAS,eAAgB,QAAQ,MAAM,QAAS;AACtD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAWO,SAAS,cAAe,QAAQ,CAAC,GAAG,QAAS;AACnD,UAAS,OAAO,MAAO;AAAA,IACtB,KAAK;AACJ,aAAO;AAAA,QACN,GAAG;AAAA,QACH,CAAE,OAAO,EAAG,GAAG;AAAA,MAChB;AAAA,IAED,KAAK;AACJ,aAAO,CAAC;AAAA,EACV;AAEA,SAAO;AACR;AAEA,IAAM,cAAc,gBAAiB,EAAE,gBAAgB,cAAc,CAAE;AAEvE,IAAO,kBAAQ,gBAAiB,EAAE,QAAQ,YAAY,CAAE;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
+ // packages/nux/src/store/selectors.js
1
2
  import { createSelector } from "@wordpress/data";
2
- const getAssociatedGuide = createSelector(
3
+ var getAssociatedGuide = createSelector(
3
4
  (state, tipId) => {
4
5
  for (const tipIds of state.guides) {
5
6
  if (tipIds.includes(tipId)) {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/store/selectors.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createSelector } from '@wordpress/data';\n\n/**\n * An object containing information about a guide.\n *\n * @typedef {Object} NUXGuideInfo\n * @property {string[]} tipIds Which tips the guide contains.\n * @property {?string} currentTipId The guide's currently showing tip.\n * @property {?string} nextTipId The guide's next tip to show.\n */\n\n/**\n * Returns an object describing the guide, if any, that the given tip is a part\n * of.\n *\n * @param {Object} state Global application state.\n * @param {string} tipId The tip to query.\n *\n * @return {?NUXGuideInfo} Information about the associated guide.\n */\nexport const getAssociatedGuide = createSelector(\n\t( state, tipId ) => {\n\t\tfor ( const tipIds of state.guides ) {\n\t\t\tif ( tipIds.includes( tipId ) ) {\n\t\t\t\tconst nonDismissedTips = tipIds.filter(\n\t\t\t\t\t( tId ) =>\n\t\t\t\t\t\t! Object.keys(\n\t\t\t\t\t\t\tstate.preferences.dismissedTips\n\t\t\t\t\t\t).includes( tId )\n\t\t\t\t);\n\t\t\t\tconst [ currentTipId = null, nextTipId = null ] =\n\t\t\t\t\tnonDismissedTips;\n\t\t\t\treturn { tipIds, currentTipId, nextTipId };\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t},\n\t( state ) => [ state.guides, state.preferences.dismissedTips ]\n);\n\n/**\n * Determines whether or not the given tip is showing. Tips are hidden if they\n * are disabled, have been dismissed, or are not the current tip in any\n * guide that they have been added to.\n *\n * @param {Object} state Global application state.\n * @param {string} tipId The tip to query.\n *\n * @return {boolean} Whether or not the given tip is showing.\n */\nexport function isTipVisible( state, tipId ) {\n\tif ( ! state.preferences.areTipsEnabled ) {\n\t\treturn false;\n\t}\n\n\tif ( state.preferences.dismissedTips?.hasOwnProperty( tipId ) ) {\n\t\treturn false;\n\t}\n\n\tconst associatedGuide = getAssociatedGuide( state, tipId );\n\tif ( associatedGuide && associatedGuide.currentTipId !== tipId ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Returns whether or not tips are globally enabled.\n *\n * @param {Object} state Global application state.\n *\n * @return {boolean} Whether tips are globally enabled.\n */\nexport function areTipsEnabled( state ) {\n\treturn state.preferences.areTipsEnabled;\n}\n"],
5
- "mappings": "AAGA,SAAS,sBAAsB;AAoBxB,MAAM,qBAAqB;AAAA,EACjC,CAAE,OAAO,UAAW;AACnB,eAAY,UAAU,MAAM,QAAS;AACpC,UAAK,OAAO,SAAU,KAAM,GAAI;AAC/B,cAAM,mBAAmB,OAAO;AAAA,UAC/B,CAAE,QACD,CAAE,OAAO;AAAA,YACR,MAAM,YAAY;AAAA,UACnB,EAAE,SAAU,GAAI;AAAA,QAClB;AACA,cAAM,CAAE,eAAe,MAAM,YAAY,IAAK,IAC7C;AACD,eAAO,EAAE,QAAQ,cAAc,UAAU;AAAA,MAC1C;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EACA,CAAE,UAAW,CAAE,MAAM,QAAQ,MAAM,YAAY,aAAc;AAC9D;AAYO,SAAS,aAAc,OAAO,OAAQ;AAC5C,MAAK,CAAE,MAAM,YAAY,gBAAiB;AACzC,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,YAAY,eAAe,eAAgB,KAAM,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,mBAAoB,OAAO,KAAM;AACzD,MAAK,mBAAmB,gBAAgB,iBAAiB,OAAQ;AAChE,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AASO,SAAS,eAAgB,OAAQ;AACvC,SAAO,MAAM,YAAY;AAC1B;",
5
+ "mappings": ";AAGA,SAAS,sBAAsB;AAoBxB,IAAM,qBAAqB;AAAA,EACjC,CAAE,OAAO,UAAW;AACnB,eAAY,UAAU,MAAM,QAAS;AACpC,UAAK,OAAO,SAAU,KAAM,GAAI;AAC/B,cAAM,mBAAmB,OAAO;AAAA,UAC/B,CAAE,QACD,CAAE,OAAO;AAAA,YACR,MAAM,YAAY;AAAA,UACnB,EAAE,SAAU,GAAI;AAAA,QAClB;AACA,cAAM,CAAE,eAAe,MAAM,YAAY,IAAK,IAC7C;AACD,eAAO,EAAE,QAAQ,cAAc,UAAU;AAAA,MAC1C;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AAAA,EACA,CAAE,UAAW,CAAE,MAAM,QAAQ,MAAM,YAAY,aAAc;AAC9D;AAYO,SAAS,aAAc,OAAO,OAAQ;AAC5C,MAAK,CAAE,MAAM,YAAY,gBAAiB;AACzC,WAAO;AAAA,EACR;AAEA,MAAK,MAAM,YAAY,eAAe,eAAgB,KAAM,GAAI;AAC/D,WAAO;AAAA,EACR;AAEA,QAAM,kBAAkB,mBAAoB,OAAO,KAAM;AACzD,MAAK,mBAAmB,gBAAgB,iBAAiB,OAAQ;AAChE,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AASO,SAAS,eAAgB,OAAQ;AACvC,SAAO,MAAM,YAAY;AAC1B;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/nux",
3
- "version": "9.34.0",
3
+ "version": "9.35.0",
4
4
  "description": "NUX (New User eXperience) module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -40,14 +40,14 @@
40
40
  "{src,build,build-module}/{index.js,store/index.js}"
41
41
  ],
42
42
  "dependencies": {
43
- "@wordpress/base-styles": "^6.10.0",
44
- "@wordpress/components": "^30.7.0",
45
- "@wordpress/compose": "^7.34.0",
46
- "@wordpress/data": "^10.34.0",
47
- "@wordpress/deprecated": "^4.34.0",
48
- "@wordpress/element": "^6.34.0",
49
- "@wordpress/i18n": "^6.7.0",
50
- "@wordpress/icons": "^11.1.0"
43
+ "@wordpress/base-styles": "^6.11.0",
44
+ "@wordpress/components": "^30.8.0",
45
+ "@wordpress/compose": "^7.35.0",
46
+ "@wordpress/data": "^10.35.0",
47
+ "@wordpress/deprecated": "^4.35.0",
48
+ "@wordpress/element": "^6.35.0",
49
+ "@wordpress/i18n": "^6.8.0",
50
+ "@wordpress/icons": "^11.2.0"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^18.0.0",
@@ -56,5 +56,5 @@
56
56
  "publishConfig": {
57
57
  "access": "public"
58
58
  },
59
- "gitHead": "ceebff807958d2e8fc755b5a20473939c78b4d1d"
59
+ "gitHead": "77aa1f194edceafe8ac2a1b9438bf84b557e76e3"
60
60
  }