@wordpress/components 28.8.1 → 28.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/build/guide/index.js +1 -0
  3. package/build/guide/index.js.map +1 -1
  4. package/build/navigator/navigator-provider/component.js +3 -4
  5. package/build/navigator/navigator-provider/component.js.map +1 -1
  6. package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  7. package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  8. package/build/tools-panel/tools-panel/hook.js +183 -109
  9. package/build/tools-panel/tools-panel/hook.js.map +1 -1
  10. package/build/utils/config-values.js +1 -12
  11. package/build/utils/config-values.js.map +1 -1
  12. package/build-module/guide/index.js +1 -0
  13. package/build-module/guide/index.js.map +1 -1
  14. package/build-module/navigator/navigator-provider/component.js +3 -4
  15. package/build-module/navigator/navigator-provider/component.js.map +1 -1
  16. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
  17. package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
  18. package/build-module/tools-panel/tools-panel/hook.js +184 -110
  19. package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
  20. package/build-module/utils/config-values.js +1 -12
  21. package/build-module/utils/config-values.js.map +1 -1
  22. package/build-types/guide/index.d.ts.map +1 -1
  23. package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
  24. package/build-types/tools-panel/tools-panel/hook.d.ts +2 -2
  25. package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
  26. package/build-types/utils/config-values.d.ts +0 -10
  27. package/package.json +12 -12
  28. package/src/guide/index.tsx +1 -0
  29. package/src/navigator/navigator-provider/component.tsx +3 -2
  30. package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +1 -1
  31. package/src/tools-panel/tools-panel/hook.ts +221 -163
  32. package/src/utils/config-values.js +1 -15
  33. package/tsconfig.tsbuildinfo +1 -1
@@ -19,20 +19,27 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
19
19
  */
20
20
 
21
21
  const DEFAULT_COLUMNS = 2;
22
+ function emptyMenuItems() {
23
+ return {
24
+ default: {},
25
+ optional: {}
26
+ };
27
+ }
28
+ function emptyState() {
29
+ return {
30
+ panelItems: [],
31
+ menuItemOrder: [],
32
+ menuItems: emptyMenuItems()
33
+ };
34
+ }
22
35
  const generateMenuItems = ({
23
36
  panelItems,
24
37
  shouldReset,
25
38
  currentMenuItems,
26
39
  menuItemOrder
27
40
  }) => {
28
- const newMenuItems = {
29
- default: {},
30
- optional: {}
31
- };
32
- const menuItems = {
33
- default: {},
34
- optional: {}
35
- };
41
+ const newMenuItems = emptyMenuItems();
42
+ const menuItems = emptyMenuItems();
36
43
  panelItems.forEach(({
37
44
  hasValue,
38
45
  isShownByDefault,
@@ -71,7 +78,128 @@ const generateMenuItems = ({
71
78
  });
72
79
  return menuItems;
73
80
  };
74
- const isMenuItemTypeEmpty = obj => obj && Object.keys(obj).length === 0;
81
+ function panelItemsReducer(panelItems, action) {
82
+ switch (action.type) {
83
+ case 'REGISTER_PANEL':
84
+ {
85
+ const newItems = [...panelItems];
86
+ // If an item with this label has already been registered, remove it
87
+ // first. This can happen when an item is moved between the default
88
+ // and optional groups.
89
+ const existingIndex = newItems.findIndex(oldItem => oldItem.label === action.item.label);
90
+ if (existingIndex !== -1) {
91
+ newItems.splice(existingIndex, 1);
92
+ }
93
+ newItems.push(action.item);
94
+ return newItems;
95
+ }
96
+ case 'UNREGISTER_PANEL':
97
+ {
98
+ const index = panelItems.findIndex(item => item.label === action.label);
99
+ if (index !== -1) {
100
+ const newItems = [...panelItems];
101
+ newItems.splice(index, 1);
102
+ return newItems;
103
+ }
104
+ return panelItems;
105
+ }
106
+ default:
107
+ return panelItems;
108
+ }
109
+ }
110
+ function menuItemOrderReducer(menuItemOrder, action) {
111
+ switch (action.type) {
112
+ case 'REGISTER_PANEL':
113
+ {
114
+ // Track the initial order of item registration. This is used for
115
+ // maintaining menu item order later.
116
+ if (menuItemOrder.includes(action.item.label)) {
117
+ return menuItemOrder;
118
+ }
119
+ return [...menuItemOrder, action.item.label];
120
+ }
121
+ default:
122
+ return menuItemOrder;
123
+ }
124
+ }
125
+ function menuItemsReducer(state, action) {
126
+ switch (action.type) {
127
+ case 'REGISTER_PANEL':
128
+ case 'UNREGISTER_PANEL':
129
+ // generate new menu items from original `menuItems` and updated `panelItems` and `menuItemOrder`
130
+ return generateMenuItems({
131
+ currentMenuItems: state.menuItems,
132
+ panelItems: state.panelItems,
133
+ menuItemOrder: state.menuItemOrder,
134
+ shouldReset: false
135
+ });
136
+ case 'RESET_ALL':
137
+ return generateMenuItems({
138
+ panelItems: state.panelItems,
139
+ menuItemOrder: state.menuItemOrder,
140
+ shouldReset: true
141
+ });
142
+ case 'UPDATE_VALUE':
143
+ {
144
+ const oldValue = state.menuItems[action.group][action.label];
145
+ if (action.value === oldValue) {
146
+ return state.menuItems;
147
+ }
148
+ return {
149
+ ...state.menuItems,
150
+ [action.group]: {
151
+ ...state.menuItems[action.group],
152
+ [action.label]: action.value
153
+ }
154
+ };
155
+ }
156
+ case 'TOGGLE_VALUE':
157
+ {
158
+ const currentItem = state.panelItems.find(item => item.label === action.label);
159
+ if (!currentItem) {
160
+ return state.menuItems;
161
+ }
162
+ const menuGroup = currentItem.isShownByDefault ? 'default' : 'optional';
163
+ const newMenuItems = {
164
+ ...state.menuItems,
165
+ [menuGroup]: {
166
+ ...state.menuItems[menuGroup],
167
+ [action.label]: !state.menuItems[menuGroup][action.label]
168
+ }
169
+ };
170
+ return newMenuItems;
171
+ }
172
+ default:
173
+ return state.menuItems;
174
+ }
175
+ }
176
+ function panelReducer(state, action) {
177
+ const panelItems = panelItemsReducer(state.panelItems, action);
178
+ const menuItemOrder = menuItemOrderReducer(state.menuItemOrder, action);
179
+ // `menuItemsReducer` is a bit unusual because it generates new state from original `menuItems`
180
+ // and the updated `panelItems` and `menuItemOrder`.
181
+ const menuItems = menuItemsReducer({
182
+ panelItems,
183
+ menuItemOrder,
184
+ menuItems: state.menuItems
185
+ }, action);
186
+ return {
187
+ panelItems,
188
+ menuItemOrder,
189
+ menuItems
190
+ };
191
+ }
192
+ function resetAllFiltersReducer(filters, action) {
193
+ switch (action.type) {
194
+ case 'REGISTER':
195
+ return [...filters, action.filter];
196
+ case 'UNREGISTER':
197
+ return filters.filter(f => f !== action.filter);
198
+ default:
199
+ return filters;
200
+ }
201
+ }
202
+ const isMenuItemTypeEmpty = obj => Object.keys(obj).length === 0;
75
203
  function useToolsPanel(props) {
76
204
  const {
77
205
  className,
@@ -98,32 +226,18 @@ function useToolsPanel(props) {
98
226
  }, [wasResetting]);
99
227
 
100
228
  // Allow panel items to register themselves.
101
- const [panelItems, setPanelItems] = (0, _element.useState)([]);
102
- const [menuItemOrder, setMenuItemOrder] = (0, _element.useState)([]);
103
- const [resetAllFilters, setResetAllFilters] = (0, _element.useState)([]);
229
+ const [{
230
+ panelItems,
231
+ menuItems
232
+ }, panelDispatch] = (0, _element.useReducer)(panelReducer, undefined, emptyState);
233
+ const [resetAllFilters, dispatchResetAllFilters] = (0, _element.useReducer)(resetAllFiltersReducer, []);
104
234
  const registerPanelItem = (0, _element.useCallback)(item => {
105
235
  // Add item to panel items.
106
- setPanelItems(items => {
107
- const newItems = [...items];
108
- // If an item with this label has already been registered, remove it
109
- // first. This can happen when an item is moved between the default
110
- // and optional groups.
111
- const existingIndex = newItems.findIndex(oldItem => oldItem.label === item.label);
112
- if (existingIndex !== -1) {
113
- newItems.splice(existingIndex, 1);
114
- }
115
- return [...newItems, item];
116
- });
117
-
118
- // Track the initial order of item registration. This is used for
119
- // maintaining menu item order later.
120
- setMenuItemOrder(items => {
121
- if (items.includes(item.label)) {
122
- return items;
123
- }
124
- return [...items, item.label];
236
+ panelDispatch({
237
+ type: 'REGISTER_PANEL',
238
+ item
125
239
  });
126
- }, [setPanelItems, setMenuItemOrder]);
240
+ }, []);
127
241
 
128
242
  // Panels need to deregister on unmount to avoid orphans in menu state.
129
243
  // This is an issue when panel items are being injected via SlotFills.
@@ -132,96 +246,58 @@ function useToolsPanel(props) {
132
246
  // controls, e.g. both panels have a "padding" control, the
133
247
  // deregistration of the first panel doesn't occur until after the
134
248
  // registration of the next.
135
- setPanelItems(items => {
136
- const newItems = [...items];
137
- const index = newItems.findIndex(item => item.label === label);
138
- if (index !== -1) {
139
- newItems.splice(index, 1);
140
- }
141
- return newItems;
142
- });
143
- }, [setPanelItems]);
144
- const registerResetAllFilter = (0, _element.useCallback)(newFilter => {
145
- setResetAllFilters(filters => {
146
- return [...filters, newFilter];
249
+ panelDispatch({
250
+ type: 'UNREGISTER_PANEL',
251
+ label
147
252
  });
148
- }, [setResetAllFilters]);
149
- const deregisterResetAllFilter = (0, _element.useCallback)(filterToRemove => {
150
- setResetAllFilters(filters => {
151
- return filters.filter(filter => filter !== filterToRemove);
253
+ }, []);
254
+ const registerResetAllFilter = (0, _element.useCallback)(filter => {
255
+ dispatchResetAllFilters({
256
+ type: 'REGISTER',
257
+ filter
152
258
  });
153
- }, [setResetAllFilters]);
154
-
155
- // Manage and share display state of menu items representing child controls.
156
- const [menuItems, setMenuItems] = (0, _element.useState)({
157
- default: {},
158
- optional: {}
159
- });
160
-
161
- // Setup menuItems state as panel items register themselves.
162
- (0, _element.useEffect)(() => {
163
- setMenuItems(prevState => {
164
- const items = generateMenuItems({
165
- panelItems,
166
- shouldReset: false,
167
- currentMenuItems: prevState,
168
- menuItemOrder
169
- });
170
- return items;
259
+ }, []);
260
+ const deregisterResetAllFilter = (0, _element.useCallback)(filter => {
261
+ dispatchResetAllFilters({
262
+ type: 'UNREGISTER',
263
+ filter
171
264
  });
172
- }, [panelItems, setMenuItems, menuItemOrder]);
265
+ }, []);
173
266
 
174
267
  // Updates the status of the panel’s menu items. For default items the
175
268
  // value represents whether it differs from the default and for optional
176
269
  // items whether the item is shown.
177
270
  const flagItemCustomization = (0, _element.useCallback)((value, label, group = 'default') => {
178
- setMenuItems(items => {
179
- const newState = {
180
- ...items,
181
- [group]: {
182
- ...items[group],
183
- [label]: value
184
- }
185
- };
186
- return newState;
271
+ panelDispatch({
272
+ type: 'UPDATE_VALUE',
273
+ group,
274
+ label,
275
+ value
187
276
  });
188
- }, [setMenuItems]);
277
+ }, []);
189
278
 
190
279
  // Whether all optional menu items are hidden or not must be tracked
191
280
  // in order to later determine if the panel display is empty and handle
192
281
  // conditional display of a plus icon to indicate the presence of further
193
282
  // menu items.
194
- const [areAllOptionalControlsHidden, setAreAllOptionalControlsHidden] = (0, _element.useState)(false);
195
- (0, _element.useEffect)(() => {
196
- if (isMenuItemTypeEmpty(menuItems?.default) && !isMenuItemTypeEmpty(menuItems?.optional)) {
197
- const allControlsHidden = !Object.entries(menuItems.optional).some(([, isSelected]) => isSelected);
198
- setAreAllOptionalControlsHidden(allControlsHidden);
199
- }
200
- }, [menuItems, setAreAllOptionalControlsHidden]);
283
+ const areAllOptionalControlsHidden = (0, _element.useMemo)(() => {
284
+ return isMenuItemTypeEmpty(menuItems.default) && !isMenuItemTypeEmpty(menuItems.optional) && Object.values(menuItems.optional).every(isSelected => !isSelected);
285
+ }, [menuItems]);
201
286
  const cx = (0, _useCx.useCx)();
202
287
  const classes = (0, _element.useMemo)(() => {
203
288
  const wrapperStyle = hasInnerWrapper && styles.ToolsPanelWithInnerWrapper(DEFAULT_COLUMNS);
204
- const emptyStyle = isMenuItemTypeEmpty(menuItems?.default) && areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
289
+ const emptyStyle = areAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;
205
290
  return cx(styles.ToolsPanel(DEFAULT_COLUMNS), wrapperStyle, emptyStyle, className);
206
- }, [areAllOptionalControlsHidden, className, cx, hasInnerWrapper, menuItems]);
291
+ }, [areAllOptionalControlsHidden, className, cx, hasInnerWrapper]);
207
292
 
208
293
  // Toggle the checked state of a menu item which is then used to determine
209
294
  // display of the item within the panel.
210
295
  const toggleItem = (0, _element.useCallback)(label => {
211
- const currentItem = panelItems.find(item => item.label === label);
212
- if (!currentItem) {
213
- return;
214
- }
215
- const menuGroup = currentItem.isShownByDefault ? 'default' : 'optional';
216
- const newMenuItems = {
217
- ...menuItems,
218
- [menuGroup]: {
219
- ...menuItems[menuGroup],
220
- [label]: !menuItems[menuGroup][label]
221
- }
222
- };
223
- setMenuItems(newMenuItems);
224
- }, [menuItems, panelItems, setMenuItems]);
296
+ panelDispatch({
297
+ type: 'TOGGLE_VALUE',
298
+ label
299
+ });
300
+ }, []);
225
301
 
226
302
  // Resets display of children and executes resetAll callback if available.
227
303
  const resetAllItems = (0, _element.useCallback)(() => {
@@ -231,30 +307,28 @@ function useToolsPanel(props) {
231
307
  }
232
308
 
233
309
  // Turn off display of all non-default items.
234
- const resetMenuItems = generateMenuItems({
235
- panelItems,
236
- menuItemOrder,
237
- shouldReset: true
310
+ panelDispatch({
311
+ type: 'RESET_ALL'
238
312
  });
239
- setMenuItems(resetMenuItems);
240
- }, [panelItems, resetAllFilters, resetAll, setMenuItems, menuItemOrder]);
313
+ }, [resetAllFilters, resetAll]);
241
314
 
242
315
  // Assist ItemGroup styling when there are potentially hidden placeholder
243
316
  // items by identifying first & last items that are toggled on for display.
244
317
  const getFirstVisibleItemLabel = items => {
245
318
  const optionalItems = menuItems.optional || {};
246
- const firstItem = items.find(item => item.isShownByDefault || !!optionalItems[item.label]);
319
+ const firstItem = items.find(item => item.isShownByDefault || optionalItems[item.label]);
247
320
  return firstItem?.label;
248
321
  };
249
322
  const firstDisplayedItem = getFirstVisibleItemLabel(panelItems);
250
323
  const lastDisplayedItem = getFirstVisibleItemLabel([...panelItems].reverse());
324
+ const hasMenuItems = panelItems.length > 0;
251
325
  const panelContext = (0, _element.useMemo)(() => ({
252
326
  areAllOptionalControlsHidden,
253
327
  deregisterPanelItem,
254
328
  deregisterResetAllFilter,
255
329
  firstDisplayedItem,
256
330
  flagItemCustomization,
257
- hasMenuItems: !!panelItems.length,
331
+ hasMenuItems,
258
332
  isResetting: isResettingRef.current,
259
333
  lastDisplayedItem,
260
334
  menuItems,
@@ -264,7 +338,7 @@ function useToolsPanel(props) {
264
338
  shouldRenderPlaceholderItems,
265
339
  __experimentalFirstVisibleItemClass,
266
340
  __experimentalLastVisibleItemClass
267
- }), [areAllOptionalControlsHidden, deregisterPanelItem, deregisterResetAllFilter, firstDisplayedItem, flagItemCustomization, lastDisplayedItem, menuItems, panelId, panelItems, registerResetAllFilter, registerPanelItem, shouldRenderPlaceholderItems, __experimentalFirstVisibleItemClass, __experimentalLastVisibleItemClass]);
341
+ }), [areAllOptionalControlsHidden, deregisterPanelItem, deregisterResetAllFilter, firstDisplayedItem, flagItemCustomization, lastDisplayedItem, menuItems, panelId, hasMenuItems, registerResetAllFilter, registerPanelItem, shouldRenderPlaceholderItems, __experimentalFirstVisibleItemClass, __experimentalLastVisibleItemClass]);
268
342
  return {
269
343
  ...otherProps,
270
344
  headingLevel,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","styles","_interopRequireWildcard","_context","_useCx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_COLUMNS","generateMenuItems","panelItems","shouldReset","currentMenuItems","menuItemOrder","newMenuItems","optional","menuItems","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","key","keys","isMenuItemTypeEmpty","obj","length","useToolsPanel","props","className","headingLevel","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","useContextSystem","isResettingRef","useRef","wasResetting","current","useEffect","setPanelItems","useState","setMenuItemOrder","resetAllFilters","setResetAllFilters","registerPanelItem","useCallback","item","items","newItems","existingIndex","findIndex","oldItem","splice","includes","deregisterPanelItem","index","registerResetAllFilter","newFilter","filters","deregisterResetAllFilter","filterToRemove","filter","setMenuItems","prevState","flagItemCustomization","newState","areAllOptionalControlsHidden","setAreAllOptionalControlsHidden","allControlsHidden","entries","some","isSelected","cx","useCx","classes","useMemo","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","currentItem","find","menuGroup","resetAllItems","resetMenuItems","getFirstVisibleItemLabel","optionalItems","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","panelContext","hasMenuItems","isResetting"],"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n\tResetAllFilter,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n\tmenuItemOrder,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst newMenuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\tconst menuItems: ToolsPanelMenuItems = { default: {}, optional: {} };\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label has already been flagged as customized\n\t\t// (for default controls), or toggled on (for optional controls), do not\n\t\t// overwrite its value as those controls would lose that state.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value = existingItemValue ? existingItemValue : hasValue();\n\n\t\tnewMenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\t// Loop the known, previously registered items first to maintain menu order.\n\tmenuItemOrder.forEach( ( key ) => {\n\t\tif ( newMenuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\n\t\tif ( newMenuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\t// Loop newMenuItems object adding any that aren't in the known items order.\n\tObject.keys( newMenuItems.default ).forEach( ( key ) => {\n\t\tif ( ! menuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\t} );\n\n\tObject.keys( newMenuItems.optional ).forEach( ( key ) => {\n\t\tif ( ! menuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\treturn menuItems;\n};\n\nconst isMenuItemTypeEmpty = (\n\tobj?: ToolsPanelMenuItems[ ToolsPanelMenuItemKey ]\n) => obj && Object.keys( obj ).length === 0;\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\theadingLevel = 2,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper = false,\n\t\tshouldRenderPlaceholderItems = false,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResettingRef = useRef( false );\n\tconst wasResetting = isResettingRef.current;\n\n\t// `isResettingRef` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResettingRef.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ panelItems, setPanelItems ] = useState< ToolsPanelItem[] >( [] );\n\tconst [ menuItemOrder, setMenuItemOrder ] = useState< string[] >( [] );\n\tconst [ resetAllFilters, setResetAllFilters ] = useState<\n\t\tResetAllFilter[]\n\t>( [] );\n\n\tconst registerPanelItem = useCallback(\n\t\t( item: ToolsPanelItem ) => {\n\t\t\t// Add item to panel items.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t\t// and optional groups.\n\t\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t\t( oldItem ) => oldItem.label === item.label\n\t\t\t\t);\n\t\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t\t}\n\t\t\t\treturn [ ...newItems, item ];\n\t\t\t} );\n\n\t\t\t// Track the initial order of item registration. This is used for\n\t\t\t// maintaining menu item order later.\n\t\t\tsetMenuItemOrder( ( items ) => {\n\t\t\t\tif ( items.includes( item.label ) ) {\n\t\t\t\t\treturn items;\n\t\t\t\t}\n\n\t\t\t\treturn [ ...items, item.label ];\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems, setMenuItemOrder ]\n\t);\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback(\n\t\t( label: string ) => {\n\t\t\t// When switching selections between components injecting matching\n\t\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t\t// deregistration of the first panel doesn't occur until after the\n\t\t\t// registration of the next.\n\t\t\tsetPanelItems( ( items ) => {\n\t\t\t\tconst newItems = [ ...items ];\n\t\t\t\tconst index = newItems.findIndex(\n\t\t\t\t\t( item ) => item.label === label\n\t\t\t\t);\n\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\t}\n\t\t\t\treturn newItems;\n\t\t\t} );\n\t\t},\n\t\t[ setPanelItems ]\n\t);\n\n\tconst registerResetAllFilter = useCallback(\n\t\t( newFilter: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn [ ...filters, newFilter ];\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\tconst deregisterResetAllFilter = useCallback(\n\t\t( filterToRemove: ResetAllFilter ) => {\n\t\t\tsetResetAllFilters( ( filters ) => {\n\t\t\t\treturn filters.filter(\n\t\t\t\t\t( filter ) => filter !== filterToRemove\n\t\t\t\t);\n\t\t\t} );\n\t\t},\n\t\t[ setResetAllFilters ]\n\t);\n\n\t// Manage and share display state of menu items representing child controls.\n\tconst [ menuItems, setMenuItems ] = useState< ToolsPanelMenuItems >( {\n\t\tdefault: {},\n\t\toptional: {},\n\t} );\n\n\t// Setup menuItems state as panel items register themselves.\n\tuseEffect( () => {\n\t\tsetMenuItems( ( prevState ) => {\n\t\t\tconst items = generateMenuItems( {\n\t\t\t\tpanelItems,\n\t\t\t\tshouldReset: false,\n\t\t\t\tcurrentMenuItems: prevState,\n\t\t\t\tmenuItemOrder,\n\t\t\t} );\n\t\t\treturn items;\n\t\t} );\n\t}, [ panelItems, setMenuItems, menuItemOrder ] );\n\n\t// Updates the status of the panel’s menu items. For default items the\n\t// value represents whether it differs from the default and for optional\n\t// items whether the item is shown.\n\tconst flagItemCustomization = useCallback(\n\t\t(\n\t\t\tvalue: boolean,\n\t\t\tlabel: string,\n\t\t\tgroup: ToolsPanelMenuItemKey = 'default'\n\t\t) => {\n\t\t\tsetMenuItems( ( items ) => {\n\t\t\t\tconst newState = {\n\t\t\t\t\t...items,\n\t\t\t\t\t[ group ]: {\n\t\t\t\t\t\t...items[ group ],\n\t\t\t\t\t\t[ label ]: value,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn newState;\n\t\t\t} );\n\t\t},\n\t\t[ setMenuItems ]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst [ areAllOptionalControlsHidden, setAreAllOptionalControlsHidden ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\t! isMenuItemTypeEmpty( menuItems?.optional )\n\t\t) {\n\t\t\tconst allControlsHidden = ! Object.entries(\n\t\t\t\tmenuItems.optional\n\t\t\t).some( ( [ , isSelected ] ) => isSelected );\n\t\t\tsetAreAllOptionalControlsHidden( allControlsHidden );\n\t\t}\n\t}, [ menuItems, setAreAllOptionalControlsHidden ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\tisMenuItemTypeEmpty( menuItems?.default ) &&\n\t\t\tareAllOptionalControlsHidden &&\n\t\t\tstyles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx(\n\t\t\tstyles.ToolsPanel( DEFAULT_COLUMNS ),\n\t\t\twrapperStyle,\n\t\t\temptyStyle,\n\t\t\tclassName\n\t\t);\n\t}, [\n\t\tareAllOptionalControlsHidden,\n\t\tclassName,\n\t\tcx,\n\t\thasInnerWrapper,\n\t\tmenuItems,\n\t] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback(\n\t\t( label: string ) => {\n\t\t\tconst currentItem = panelItems.find(\n\t\t\t\t( item ) => item.label === label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...menuItems[ menuGroup ],\n\t\t\t\t\t[ label ]: ! menuItems[ menuGroup ][ label ],\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tsetMenuItems( newMenuItems );\n\t\t},\n\t\t[ menuItems, panelItems, setMenuItems ]\n\t);\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResettingRef.current = true;\n\t\t\tresetAll( resetAllFilters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tconst resetMenuItems = generateMenuItems( {\n\t\t\tpanelItems,\n\t\t\tmenuItemOrder,\n\t\t\tshouldReset: true,\n\t\t} );\n\t\tsetMenuItems( resetMenuItems );\n\t}, [ panelItems, resetAllFilters, resetAll, setMenuItems, menuItemOrder ] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || !! optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems: !! panelItems.length,\n\t\t\tisResetting: isResettingRef.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tregisterResetAllFilter,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tpanelItems,\n\t\t\tregisterResetAllFilter,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\theadingLevel,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","styles","_interopRequireWildcard","_context","_useCx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_COLUMNS","emptyMenuItems","optional","emptyState","panelItems","menuItemOrder","menuItems","generateMenuItems","shouldReset","currentMenuItems","newMenuItems","forEach","hasValue","isShownByDefault","label","group","existingItemValue","value","key","keys","panelItemsReducer","action","type","newItems","existingIndex","findIndex","oldItem","item","splice","push","index","menuItemOrderReducer","includes","menuItemsReducer","state","oldValue","currentItem","find","menuGroup","panelReducer","resetAllFiltersReducer","filters","filter","f","isMenuItemTypeEmpty","obj","length","useToolsPanel","props","className","headingLevel","resetAll","panelId","hasInnerWrapper","shouldRenderPlaceholderItems","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","otherProps","useContextSystem","isResettingRef","useRef","wasResetting","current","useEffect","panelDispatch","useReducer","undefined","resetAllFilters","dispatchResetAllFilters","registerPanelItem","useCallback","deregisterPanelItem","registerResetAllFilter","deregisterResetAllFilter","flagItemCustomization","areAllOptionalControlsHidden","useMemo","values","every","isSelected","cx","useCx","classes","wrapperStyle","ToolsPanelWithInnerWrapper","emptyStyle","ToolsPanelHiddenInnerWrapper","ToolsPanel","toggleItem","resetAllItems","getFirstVisibleItemLabel","items","optionalItems","firstItem","firstDisplayedItem","lastDisplayedItem","reverse","hasMenuItems","panelContext","isResetting"],"sources":["@wordpress/components/src/tools-panel/tools-panel/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseReducer,\n\tuseRef,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type {\n\tToolsPanelItem,\n\tToolsPanelMenuItemKey,\n\tToolsPanelMenuItems,\n\tToolsPanelMenuItemsConfig,\n\tToolsPanelProps,\n\tResetAllFilter,\n} from '../types';\n\nconst DEFAULT_COLUMNS = 2;\n\ntype PanelItemsState = {\n\tpanelItems: ToolsPanelItem[];\n\tmenuItemOrder: string[];\n\tmenuItems: ToolsPanelMenuItems;\n};\n\ntype PanelItemsAction =\n\t| { type: 'REGISTER_PANEL'; item: ToolsPanelItem }\n\t| { type: 'UNREGISTER_PANEL'; label: string }\n\t| {\n\t\t\ttype: 'UPDATE_VALUE';\n\t\t\tgroup: ToolsPanelMenuItemKey;\n\t\t\tlabel: string;\n\t\t\tvalue: boolean;\n\t }\n\t| { type: 'TOGGLE_VALUE'; label: string }\n\t| { type: 'RESET_ALL' };\n\nfunction emptyMenuItems(): ToolsPanelMenuItems {\n\treturn { default: {}, optional: {} };\n}\n\nfunction emptyState(): PanelItemsState {\n\treturn { panelItems: [], menuItemOrder: [], menuItems: emptyMenuItems() };\n}\n\nconst generateMenuItems = ( {\n\tpanelItems,\n\tshouldReset,\n\tcurrentMenuItems,\n\tmenuItemOrder,\n}: ToolsPanelMenuItemsConfig ) => {\n\tconst newMenuItems: ToolsPanelMenuItems = emptyMenuItems();\n\tconst menuItems: ToolsPanelMenuItems = emptyMenuItems();\n\n\tpanelItems.forEach( ( { hasValue, isShownByDefault, label } ) => {\n\t\tconst group = isShownByDefault ? 'default' : 'optional';\n\n\t\t// If a menu item for this label has already been flagged as customized\n\t\t// (for default controls), or toggled on (for optional controls), do not\n\t\t// overwrite its value as those controls would lose that state.\n\t\tconst existingItemValue = currentMenuItems?.[ group ]?.[ label ];\n\t\tconst value = existingItemValue ? existingItemValue : hasValue();\n\n\t\tnewMenuItems[ group ][ label ] = shouldReset ? false : value;\n\t} );\n\n\t// Loop the known, previously registered items first to maintain menu order.\n\tmenuItemOrder.forEach( ( key ) => {\n\t\tif ( newMenuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\n\t\tif ( newMenuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\t// Loop newMenuItems object adding any that aren't in the known items order.\n\tObject.keys( newMenuItems.default ).forEach( ( key ) => {\n\t\tif ( ! menuItems.default.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.default[ key ] = newMenuItems.default[ key ];\n\t\t}\n\t} );\n\n\tObject.keys( newMenuItems.optional ).forEach( ( key ) => {\n\t\tif ( ! menuItems.optional.hasOwnProperty( key ) ) {\n\t\t\tmenuItems.optional[ key ] = newMenuItems.optional[ key ];\n\t\t}\n\t} );\n\n\treturn menuItems;\n};\n\nfunction panelItemsReducer(\n\tpanelItems: ToolsPanelItem[],\n\taction: PanelItemsAction\n) {\n\tswitch ( action.type ) {\n\t\tcase 'REGISTER_PANEL': {\n\t\t\tconst newItems = [ ...panelItems ];\n\t\t\t// If an item with this label has already been registered, remove it\n\t\t\t// first. This can happen when an item is moved between the default\n\t\t\t// and optional groups.\n\t\t\tconst existingIndex = newItems.findIndex(\n\t\t\t\t( oldItem ) => oldItem.label === action.item.label\n\t\t\t);\n\t\t\tif ( existingIndex !== -1 ) {\n\t\t\t\tnewItems.splice( existingIndex, 1 );\n\t\t\t}\n\t\t\tnewItems.push( action.item );\n\t\t\treturn newItems;\n\t\t}\n\t\tcase 'UNREGISTER_PANEL': {\n\t\t\tconst index = panelItems.findIndex(\n\t\t\t\t( item ) => item.label === action.label\n\t\t\t);\n\t\t\tif ( index !== -1 ) {\n\t\t\t\tconst newItems = [ ...panelItems ];\n\t\t\t\tnewItems.splice( index, 1 );\n\t\t\t\treturn newItems;\n\t\t\t}\n\t\t\treturn panelItems;\n\t\t}\n\t\tdefault:\n\t\t\treturn panelItems;\n\t}\n}\n\nfunction menuItemOrderReducer(\n\tmenuItemOrder: string[],\n\taction: PanelItemsAction\n) {\n\tswitch ( action.type ) {\n\t\tcase 'REGISTER_PANEL': {\n\t\t\t// Track the initial order of item registration. This is used for\n\t\t\t// maintaining menu item order later.\n\t\t\tif ( menuItemOrder.includes( action.item.label ) ) {\n\t\t\t\treturn menuItemOrder;\n\t\t\t}\n\n\t\t\treturn [ ...menuItemOrder, action.item.label ];\n\t\t}\n\t\tdefault:\n\t\t\treturn menuItemOrder;\n\t}\n}\n\nfunction menuItemsReducer( state: PanelItemsState, action: PanelItemsAction ) {\n\tswitch ( action.type ) {\n\t\tcase 'REGISTER_PANEL':\n\t\tcase 'UNREGISTER_PANEL':\n\t\t\t// generate new menu items from original `menuItems` and updated `panelItems` and `menuItemOrder`\n\t\t\treturn generateMenuItems( {\n\t\t\t\tcurrentMenuItems: state.menuItems,\n\t\t\t\tpanelItems: state.panelItems,\n\t\t\t\tmenuItemOrder: state.menuItemOrder,\n\t\t\t\tshouldReset: false,\n\t\t\t} );\n\t\tcase 'RESET_ALL':\n\t\t\treturn generateMenuItems( {\n\t\t\t\tpanelItems: state.panelItems,\n\t\t\t\tmenuItemOrder: state.menuItemOrder,\n\t\t\t\tshouldReset: true,\n\t\t\t} );\n\t\tcase 'UPDATE_VALUE': {\n\t\t\tconst oldValue = state.menuItems[ action.group ][ action.label ];\n\t\t\tif ( action.value === oldValue ) {\n\t\t\t\treturn state.menuItems;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state.menuItems,\n\t\t\t\t[ action.group ]: {\n\t\t\t\t\t...state.menuItems[ action.group ],\n\t\t\t\t\t[ action.label ]: action.value,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'TOGGLE_VALUE': {\n\t\t\tconst currentItem = state.panelItems.find(\n\t\t\t\t( item ) => item.label === action.label\n\t\t\t);\n\n\t\t\tif ( ! currentItem ) {\n\t\t\t\treturn state.menuItems;\n\t\t\t}\n\n\t\t\tconst menuGroup = currentItem.isShownByDefault\n\t\t\t\t? 'default'\n\t\t\t\t: 'optional';\n\n\t\t\tconst newMenuItems = {\n\t\t\t\t...state.menuItems,\n\t\t\t\t[ menuGroup ]: {\n\t\t\t\t\t...state.menuItems[ menuGroup ],\n\t\t\t\t\t[ action.label ]:\n\t\t\t\t\t\t! state.menuItems[ menuGroup ][ action.label ],\n\t\t\t\t},\n\t\t\t};\n\t\t\treturn newMenuItems;\n\t\t}\n\n\t\tdefault:\n\t\t\treturn state.menuItems;\n\t}\n}\n\nfunction panelReducer( state: PanelItemsState, action: PanelItemsAction ) {\n\tconst panelItems = panelItemsReducer( state.panelItems, action );\n\tconst menuItemOrder = menuItemOrderReducer( state.menuItemOrder, action );\n\t// `menuItemsReducer` is a bit unusual because it generates new state from original `menuItems`\n\t// and the updated `panelItems` and `menuItemOrder`.\n\tconst menuItems = menuItemsReducer(\n\t\t{ panelItems, menuItemOrder, menuItems: state.menuItems },\n\t\taction\n\t);\n\n\treturn { panelItems, menuItemOrder, menuItems };\n}\n\nfunction resetAllFiltersReducer(\n\tfilters: ResetAllFilter[],\n\taction: { type: 'REGISTER' | 'UNREGISTER'; filter: ResetAllFilter }\n) {\n\tswitch ( action.type ) {\n\t\tcase 'REGISTER':\n\t\t\treturn [ ...filters, action.filter ];\n\t\tcase 'UNREGISTER':\n\t\t\treturn filters.filter( ( f ) => f !== action.filter );\n\t\tdefault:\n\t\t\treturn filters;\n\t}\n}\n\nconst isMenuItemTypeEmpty = (\n\tobj: ToolsPanelMenuItems[ ToolsPanelMenuItemKey ]\n) => Object.keys( obj ).length === 0;\n\nexport function useToolsPanel(\n\tprops: WordPressComponentProps< ToolsPanelProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\theadingLevel = 2,\n\t\tresetAll,\n\t\tpanelId,\n\t\thasInnerWrapper = false,\n\t\tshouldRenderPlaceholderItems = false,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanel' );\n\n\tconst isResettingRef = useRef( false );\n\tconst wasResetting = isResettingRef.current;\n\n\t// `isResettingRef` is cleared via this hook to effectively batch together\n\t// the resetAll task. Without this, the flag is cleared after the first\n\t// control updates and forces a rerender with subsequent controls then\n\t// believing they need to reset, unfortunately using stale data.\n\tuseEffect( () => {\n\t\tif ( wasResetting ) {\n\t\t\tisResettingRef.current = false;\n\t\t}\n\t}, [ wasResetting ] );\n\n\t// Allow panel items to register themselves.\n\tconst [ { panelItems, menuItems }, panelDispatch ] = useReducer(\n\t\tpanelReducer,\n\t\tundefined,\n\t\temptyState\n\t);\n\n\tconst [ resetAllFilters, dispatchResetAllFilters ] = useReducer(\n\t\tresetAllFiltersReducer,\n\t\t[]\n\t);\n\n\tconst registerPanelItem = useCallback( ( item: ToolsPanelItem ) => {\n\t\t// Add item to panel items.\n\t\tpanelDispatch( { type: 'REGISTER_PANEL', item } );\n\t}, [] );\n\n\t// Panels need to deregister on unmount to avoid orphans in menu state.\n\t// This is an issue when panel items are being injected via SlotFills.\n\tconst deregisterPanelItem = useCallback( ( label: string ) => {\n\t\t// When switching selections between components injecting matching\n\t\t// controls, e.g. both panels have a \"padding\" control, the\n\t\t// deregistration of the first panel doesn't occur until after the\n\t\t// registration of the next.\n\t\tpanelDispatch( { type: 'UNREGISTER_PANEL', label } );\n\t}, [] );\n\n\tconst registerResetAllFilter = useCallback( ( filter: ResetAllFilter ) => {\n\t\tdispatchResetAllFilters( { type: 'REGISTER', filter } );\n\t}, [] );\n\n\tconst deregisterResetAllFilter = useCallback(\n\t\t( filter: ResetAllFilter ) => {\n\t\t\tdispatchResetAllFilters( { type: 'UNREGISTER', filter } );\n\t\t},\n\t\t[]\n\t);\n\n\t// Updates the status of the panel’s menu items. For default items the\n\t// value represents whether it differs from the default and for optional\n\t// items whether the item is shown.\n\tconst flagItemCustomization = useCallback(\n\t\t(\n\t\t\tvalue: boolean,\n\t\t\tlabel: string,\n\t\t\tgroup: ToolsPanelMenuItemKey = 'default'\n\t\t) => {\n\t\t\tpanelDispatch( { type: 'UPDATE_VALUE', group, label, value } );\n\t\t},\n\t\t[]\n\t);\n\n\t// Whether all optional menu items are hidden or not must be tracked\n\t// in order to later determine if the panel display is empty and handle\n\t// conditional display of a plus icon to indicate the presence of further\n\t// menu items.\n\tconst areAllOptionalControlsHidden = useMemo( () => {\n\t\treturn (\n\t\t\tisMenuItemTypeEmpty( menuItems.default ) &&\n\t\t\t! isMenuItemTypeEmpty( menuItems.optional ) &&\n\t\t\tObject.values( menuItems.optional ).every(\n\t\t\t\t( isSelected ) => ! isSelected\n\t\t\t)\n\t\t);\n\t}, [ menuItems ] );\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst wrapperStyle =\n\t\t\thasInnerWrapper &&\n\t\t\tstyles.ToolsPanelWithInnerWrapper( DEFAULT_COLUMNS );\n\t\tconst emptyStyle =\n\t\t\tareAllOptionalControlsHidden && styles.ToolsPanelHiddenInnerWrapper;\n\n\t\treturn cx(\n\t\t\tstyles.ToolsPanel( DEFAULT_COLUMNS ),\n\t\t\twrapperStyle,\n\t\t\temptyStyle,\n\t\t\tclassName\n\t\t);\n\t}, [ areAllOptionalControlsHidden, className, cx, hasInnerWrapper ] );\n\n\t// Toggle the checked state of a menu item which is then used to determine\n\t// display of the item within the panel.\n\tconst toggleItem = useCallback( ( label: string ) => {\n\t\tpanelDispatch( { type: 'TOGGLE_VALUE', label } );\n\t}, [] );\n\n\t// Resets display of children and executes resetAll callback if available.\n\tconst resetAllItems = useCallback( () => {\n\t\tif ( typeof resetAll === 'function' ) {\n\t\t\tisResettingRef.current = true;\n\t\t\tresetAll( resetAllFilters );\n\t\t}\n\n\t\t// Turn off display of all non-default items.\n\t\tpanelDispatch( { type: 'RESET_ALL' } );\n\t}, [ resetAllFilters, resetAll ] );\n\n\t// Assist ItemGroup styling when there are potentially hidden placeholder\n\t// items by identifying first & last items that are toggled on for display.\n\tconst getFirstVisibleItemLabel = ( items: ToolsPanelItem[] ) => {\n\t\tconst optionalItems = menuItems.optional || {};\n\t\tconst firstItem = items.find(\n\t\t\t( item ) => item.isShownByDefault || optionalItems[ item.label ]\n\t\t);\n\n\t\treturn firstItem?.label;\n\t};\n\n\tconst firstDisplayedItem = getFirstVisibleItemLabel( panelItems );\n\tconst lastDisplayedItem = getFirstVisibleItemLabel(\n\t\t[ ...panelItems ].reverse()\n\t);\n\n\tconst hasMenuItems = panelItems.length > 0;\n\n\tconst panelContext = useMemo(\n\t\t() => ( {\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\thasMenuItems,\n\t\t\tisResetting: isResettingRef.current,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\tregisterPanelItem,\n\t\t\tregisterResetAllFilter,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t} ),\n\t\t[\n\t\t\tareAllOptionalControlsHidden,\n\t\t\tderegisterPanelItem,\n\t\t\tderegisterResetAllFilter,\n\t\t\tfirstDisplayedItem,\n\t\t\tflagItemCustomization,\n\t\t\tlastDisplayedItem,\n\t\t\tmenuItems,\n\t\t\tpanelId,\n\t\t\thasMenuItems,\n\t\t\tregisterResetAllFilter,\n\t\t\tregisterPanelItem,\n\t\t\tshouldRenderPlaceholderItems,\n\t\t\t__experimentalFirstVisibleItemClass,\n\t\t\t__experimentalLastVisibleItemClass,\n\t\t]\n\t);\n\n\treturn {\n\t\t...otherProps,\n\t\theadingLevel,\n\t\tpanelContext,\n\t\tresetAllItems,\n\t\ttoggleItem,\n\t\tclassName: classes,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,6 @@ var _colorsValues = require("./colors-values");
12
12
 
13
13
  const CONTROL_HEIGHT = '36px';
14
14
  const CONTROL_PROPS = {
15
- controlSurfaceColor: _colorsValues.COLORS.white,
16
- controlTextActiveColor: _colorsValues.COLORS.theme.accent,
17
15
  // These values should be shared with TextControl.
18
16
  controlPaddingX: 12,
19
17
  controlPaddingXSmall: 8,
@@ -21,26 +19,17 @@ const CONTROL_PROPS = {
21
19
  // TODO: Deprecate
22
20
 
23
21
  controlBackgroundColor: _colorsValues.COLORS.white,
24
- controlBoxShadow: 'transparent',
25
22
  controlBoxShadowFocus: `0 0 0 0.5px ${_colorsValues.COLORS.theme.accent}`,
26
- controlDestructiveBorderColor: _colorsValues.COLORS.alert.red,
27
23
  controlHeight: CONTROL_HEIGHT,
28
24
  controlHeightXSmall: `calc( ${CONTROL_HEIGHT} * 0.6 )`,
29
25
  controlHeightSmall: `calc( ${CONTROL_HEIGHT} * 0.8 )`,
30
26
  controlHeightLarge: `calc( ${CONTROL_HEIGHT} * 1.2 )`,
31
27
  controlHeightXLarge: `calc( ${CONTROL_HEIGHT} * 1.4 )`
32
28
  };
33
- const TOGGLE_GROUP_CONTROL_PROPS = {
34
- toggleGroupControlBackgroundColor: CONTROL_PROPS.controlBackgroundColor,
35
- toggleGroupControlBorderColor: _colorsValues.COLORS.ui.border,
36
- toggleGroupControlBackdropBackgroundColor: CONTROL_PROPS.controlSurfaceColor,
37
- toggleGroupControlBackdropBorderColor: _colorsValues.COLORS.ui.border,
38
- toggleGroupControlButtonColorActive: CONTROL_PROPS.controlBackgroundColor
39
- };
40
29
 
41
30
  // Using Object.assign to avoid creating circular references when emitting
42
31
  // TypeScript type declarations.
43
- var _default = exports.default = Object.assign({}, CONTROL_PROPS, TOGGLE_GROUP_CONTROL_PROPS, {
32
+ var _default = exports.default = Object.assign({}, CONTROL_PROPS, {
44
33
  colorDivider: 'rgba(0, 0, 0, 0.1)',
45
34
  colorScrollbarThumb: 'rgba(0, 0, 0, 0.2)',
46
35
  colorScrollbarThumbHover: 'rgba(0, 0, 0, 0.5)',
@@ -1 +1 @@
1
- {"version":3,"names":["_space","require","_colorsValues","CONTROL_HEIGHT","CONTROL_PROPS","controlSurfaceColor","COLORS","white","controlTextActiveColor","theme","accent","controlPaddingX","controlPaddingXSmall","controlPaddingXLarge","controlBackgroundColor","controlBoxShadow","controlBoxShadowFocus","controlDestructiveBorderColor","alert","red","controlHeight","controlHeightXSmall","controlHeightSmall","controlHeightLarge","controlHeightXLarge","TOGGLE_GROUP_CONTROL_PROPS","toggleGroupControlBackgroundColor","toggleGroupControlBorderColor","ui","border","toggleGroupControlBackdropBackgroundColor","toggleGroupControlBackdropBorderColor","toggleGroupControlButtonColorActive","_default","exports","default","Object","assign","colorDivider","colorScrollbarThumb","colorScrollbarThumbHover","colorScrollbarTrack","elevationIntensity","radiusXSmall","radiusSmall","radiusMedium","radiusLarge","radiusFull","radiusRound","borderWidth","borderWidthFocus","borderWidthTab","spinnerSize","fontSize","fontSizeH1","fontSizeH2","fontSizeH3","fontSizeH4","fontSizeH5","fontSizeH6","fontSizeInputMobile","fontSizeMobile","fontSizeSmall","fontSizeXSmall","fontLineHeightBase","fontWeight","fontWeightHeading","gridBase","cardPaddingXSmall","space","cardPaddingSmall","cardPaddingMedium","cardPaddingLarge","elevationXSmall","elevationSmall","elevationMedium","elevationLarge","surfaceBackgroundColor","surfaceBackgroundSubtleColor","surfaceBackgroundTintColor","surfaceBorderColor","surfaceBorderBoldColor","surfaceBorderSubtleColor","surfaceBackgroundTertiaryColor","surfaceColor","transitionDuration","transitionDurationFast","transitionDurationFaster","transitionDurationFastest","transitionTimingFunction","transitionTimingFunctionControl"],"sources":["@wordpress/components/src/utils/config-values.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { space } from './space';\nimport { COLORS } from './colors-values';\n\nconst CONTROL_HEIGHT = '36px';\n\nconst CONTROL_PROPS = {\n\tcontrolSurfaceColor: COLORS.white,\n\tcontrolTextActiveColor: COLORS.theme.accent,\n\n\t// These values should be shared with TextControl.\n\tcontrolPaddingX: 12,\n\tcontrolPaddingXSmall: 8,\n\tcontrolPaddingXLarge: 12 * 1.3334, // TODO: Deprecate\n\n\tcontrolBackgroundColor: COLORS.white,\n\tcontrolBoxShadow: 'transparent',\n\tcontrolBoxShadowFocus: `0 0 0 0.5px ${ COLORS.theme.accent }`,\n\tcontrolDestructiveBorderColor: COLORS.alert.red,\n\tcontrolHeight: CONTROL_HEIGHT,\n\tcontrolHeightXSmall: `calc( ${ CONTROL_HEIGHT } * 0.6 )`,\n\tcontrolHeightSmall: `calc( ${ CONTROL_HEIGHT } * 0.8 )`,\n\tcontrolHeightLarge: `calc( ${ CONTROL_HEIGHT } * 1.2 )`,\n\tcontrolHeightXLarge: `calc( ${ CONTROL_HEIGHT } * 1.4 )`,\n};\n\nconst TOGGLE_GROUP_CONTROL_PROPS = {\n\ttoggleGroupControlBackgroundColor: CONTROL_PROPS.controlBackgroundColor,\n\ttoggleGroupControlBorderColor: COLORS.ui.border,\n\ttoggleGroupControlBackdropBackgroundColor:\n\t\tCONTROL_PROPS.controlSurfaceColor,\n\ttoggleGroupControlBackdropBorderColor: COLORS.ui.border,\n\ttoggleGroupControlButtonColorActive: CONTROL_PROPS.controlBackgroundColor,\n};\n\n// Using Object.assign to avoid creating circular references when emitting\n// TypeScript type declarations.\nexport default Object.assign( {}, CONTROL_PROPS, TOGGLE_GROUP_CONTROL_PROPS, {\n\tcolorDivider: 'rgba(0, 0, 0, 0.1)',\n\tcolorScrollbarThumb: 'rgba(0, 0, 0, 0.2)',\n\tcolorScrollbarThumbHover: 'rgba(0, 0, 0, 0.5)',\n\tcolorScrollbarTrack: 'rgba(0, 0, 0, 0.04)',\n\televationIntensity: 1,\n\tradiusXSmall: '1px',\n\tradiusSmall: '2px',\n\tradiusMedium: '4px',\n\tradiusLarge: '8px',\n\tradiusFull: '9999px',\n\tradiusRound: '50%',\n\tborderWidth: '1px',\n\tborderWidthFocus: '1.5px',\n\tborderWidthTab: '4px',\n\tspinnerSize: 16,\n\tfontSize: '13px',\n\tfontSizeH1: 'calc(2.44 * 13px)',\n\tfontSizeH2: 'calc(1.95 * 13px)',\n\tfontSizeH3: 'calc(1.56 * 13px)',\n\tfontSizeH4: 'calc(1.25 * 13px)',\n\tfontSizeH5: '13px',\n\tfontSizeH6: 'calc(0.8 * 13px)',\n\tfontSizeInputMobile: '16px',\n\tfontSizeMobile: '15px',\n\tfontSizeSmall: 'calc(0.92 * 13px)',\n\tfontSizeXSmall: 'calc(0.75 * 13px)',\n\tfontLineHeightBase: '1.4',\n\tfontWeight: 'normal',\n\tfontWeightHeading: '600',\n\tgridBase: '4px',\n\tcardPaddingXSmall: `${ space( 2 ) }`,\n\tcardPaddingSmall: `${ space( 4 ) }`,\n\tcardPaddingMedium: `${ space( 4 ) } ${ space( 6 ) }`,\n\tcardPaddingLarge: `${ space( 6 ) } ${ space( 8 ) }`,\n\televationXSmall: `0 1px 1px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02), 0 3px 3px rgba(0, 0, 0, 0.02), 0 4px 4px rgba(0, 0, 0, 0.01)`,\n\televationSmall: `0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 3px rgba(0, 0, 0, 0.04), 0 6px 6px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.02)`,\n\televationMedium: `0 2px 3px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.02)`,\n\televationLarge: `0 5px 15px rgba(0, 0, 0, 0.08), 0 15px 27px rgba(0, 0, 0, 0.07), 0 30px 36px rgba(0, 0, 0, 0.04), 0 50px 43px rgba(0, 0, 0, 0.02)`,\n\tsurfaceBackgroundColor: COLORS.white,\n\tsurfaceBackgroundSubtleColor: '#F3F3F3',\n\tsurfaceBackgroundTintColor: '#F5F5F5',\n\tsurfaceBorderColor: 'rgba(0, 0, 0, 0.1)',\n\tsurfaceBorderBoldColor: 'rgba(0, 0, 0, 0.15)',\n\tsurfaceBorderSubtleColor: 'rgba(0, 0, 0, 0.05)',\n\tsurfaceBackgroundTertiaryColor: COLORS.white,\n\tsurfaceColor: COLORS.white,\n\ttransitionDuration: '200ms',\n\ttransitionDurationFast: '160ms',\n\ttransitionDurationFaster: '120ms',\n\ttransitionDurationFastest: '100ms',\n\ttransitionTimingFunction: 'cubic-bezier(0.08, 0.52, 0.52, 1)',\n\ttransitionTimingFunctionControl: 'cubic-bezier(0.12, 0.8, 0.32, 1)',\n} );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_space","require","_colorsValues","CONTROL_HEIGHT","CONTROL_PROPS","controlPaddingX","controlPaddingXSmall","controlPaddingXLarge","controlBackgroundColor","COLORS","white","controlBoxShadowFocus","theme","accent","controlHeight","controlHeightXSmall","controlHeightSmall","controlHeightLarge","controlHeightXLarge","_default","exports","default","Object","assign","colorDivider","colorScrollbarThumb","colorScrollbarThumbHover","colorScrollbarTrack","elevationIntensity","radiusXSmall","radiusSmall","radiusMedium","radiusLarge","radiusFull","radiusRound","borderWidth","borderWidthFocus","borderWidthTab","spinnerSize","fontSize","fontSizeH1","fontSizeH2","fontSizeH3","fontSizeH4","fontSizeH5","fontSizeH6","fontSizeInputMobile","fontSizeMobile","fontSizeSmall","fontSizeXSmall","fontLineHeightBase","fontWeight","fontWeightHeading","gridBase","cardPaddingXSmall","space","cardPaddingSmall","cardPaddingMedium","cardPaddingLarge","elevationXSmall","elevationSmall","elevationMedium","elevationLarge","surfaceBackgroundColor","surfaceBackgroundSubtleColor","surfaceBackgroundTintColor","surfaceBorderColor","surfaceBorderBoldColor","surfaceBorderSubtleColor","surfaceBackgroundTertiaryColor","surfaceColor","transitionDuration","transitionDurationFast","transitionDurationFaster","transitionDurationFastest","transitionTimingFunction","transitionTimingFunctionControl"],"sources":["@wordpress/components/src/utils/config-values.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { space } from './space';\nimport { COLORS } from './colors-values';\n\nconst CONTROL_HEIGHT = '36px';\n\nconst CONTROL_PROPS = {\n\t// These values should be shared with TextControl.\n\tcontrolPaddingX: 12,\n\tcontrolPaddingXSmall: 8,\n\tcontrolPaddingXLarge: 12 * 1.3334, // TODO: Deprecate\n\n\tcontrolBackgroundColor: COLORS.white,\n\tcontrolBoxShadowFocus: `0 0 0 0.5px ${ COLORS.theme.accent }`,\n\tcontrolHeight: CONTROL_HEIGHT,\n\tcontrolHeightXSmall: `calc( ${ CONTROL_HEIGHT } * 0.6 )`,\n\tcontrolHeightSmall: `calc( ${ CONTROL_HEIGHT } * 0.8 )`,\n\tcontrolHeightLarge: `calc( ${ CONTROL_HEIGHT } * 1.2 )`,\n\tcontrolHeightXLarge: `calc( ${ CONTROL_HEIGHT } * 1.4 )`,\n};\n\n// Using Object.assign to avoid creating circular references when emitting\n// TypeScript type declarations.\nexport default Object.assign( {}, CONTROL_PROPS, {\n\tcolorDivider: 'rgba(0, 0, 0, 0.1)',\n\tcolorScrollbarThumb: 'rgba(0, 0, 0, 0.2)',\n\tcolorScrollbarThumbHover: 'rgba(0, 0, 0, 0.5)',\n\tcolorScrollbarTrack: 'rgba(0, 0, 0, 0.04)',\n\televationIntensity: 1,\n\tradiusXSmall: '1px',\n\tradiusSmall: '2px',\n\tradiusMedium: '4px',\n\tradiusLarge: '8px',\n\tradiusFull: '9999px',\n\tradiusRound: '50%',\n\tborderWidth: '1px',\n\tborderWidthFocus: '1.5px',\n\tborderWidthTab: '4px',\n\tspinnerSize: 16,\n\tfontSize: '13px',\n\tfontSizeH1: 'calc(2.44 * 13px)',\n\tfontSizeH2: 'calc(1.95 * 13px)',\n\tfontSizeH3: 'calc(1.56 * 13px)',\n\tfontSizeH4: 'calc(1.25 * 13px)',\n\tfontSizeH5: '13px',\n\tfontSizeH6: 'calc(0.8 * 13px)',\n\tfontSizeInputMobile: '16px',\n\tfontSizeMobile: '15px',\n\tfontSizeSmall: 'calc(0.92 * 13px)',\n\tfontSizeXSmall: 'calc(0.75 * 13px)',\n\tfontLineHeightBase: '1.4',\n\tfontWeight: 'normal',\n\tfontWeightHeading: '600',\n\tgridBase: '4px',\n\tcardPaddingXSmall: `${ space( 2 ) }`,\n\tcardPaddingSmall: `${ space( 4 ) }`,\n\tcardPaddingMedium: `${ space( 4 ) } ${ space( 6 ) }`,\n\tcardPaddingLarge: `${ space( 6 ) } ${ space( 8 ) }`,\n\televationXSmall: `0 1px 1px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02), 0 3px 3px rgba(0, 0, 0, 0.02), 0 4px 4px rgba(0, 0, 0, 0.01)`,\n\televationSmall: `0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 3px rgba(0, 0, 0, 0.04), 0 6px 6px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.02)`,\n\televationMedium: `0 2px 3px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.02)`,\n\televationLarge: `0 5px 15px rgba(0, 0, 0, 0.08), 0 15px 27px rgba(0, 0, 0, 0.07), 0 30px 36px rgba(0, 0, 0, 0.04), 0 50px 43px rgba(0, 0, 0, 0.02)`,\n\tsurfaceBackgroundColor: COLORS.white,\n\tsurfaceBackgroundSubtleColor: '#F3F3F3',\n\tsurfaceBackgroundTintColor: '#F5F5F5',\n\tsurfaceBorderColor: 'rgba(0, 0, 0, 0.1)',\n\tsurfaceBorderBoldColor: 'rgba(0, 0, 0, 0.15)',\n\tsurfaceBorderSubtleColor: 'rgba(0, 0, 0, 0.05)',\n\tsurfaceBackgroundTertiaryColor: COLORS.white,\n\tsurfaceColor: COLORS.white,\n\ttransitionDuration: '200ms',\n\ttransitionDurationFast: '160ms',\n\ttransitionDurationFaster: '120ms',\n\ttransitionDurationFastest: '100ms',\n\ttransitionTimingFunction: 'cubic-bezier(0.08, 0.52, 0.52, 1)',\n\ttransitionTimingFunctionControl: 'cubic-bezier(0.12, 0.8, 0.32, 1)',\n} );\n"],"mappings":"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","ignoreList":[]}
@@ -140,6 +140,7 @@ function Guide({
140
140
  className: "components-guide__finish-button",
141
141
  variant: "primary",
142
142
  onClick: onFinish,
143
+ __next40pxDefaultSize: true,
143
144
  children: finishButtonText
144
145
  })]
145
146
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","useEffect","Children","useRef","deprecated","__","Modal","Button","PageControl","jsx","_jsx","jsxs","_jsxs","Guide","children","className","contentLabel","finishButtonText","onFinish","pages","ref","currentPage","setCurrentPage","frame","current","querySelector","HTMLElement","focus","count","since","alternative","_Children$map","map","child","content","canGoBack","canGoForward","length","goBack","goForward","isDismissible","onRequestClose","onKeyDown","event","code","preventDefault","image","numberOfPages","variant","onClick","__next40pxDefaultSize"],"sources":["@wordpress/components/src/guide/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, Children, useRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Modal from '../modal';\nimport Button from '../button';\nimport PageControl from './page-control';\nimport type { GuideProps } from './types';\n\n/**\n * `Guide` is a React component that renders a _user guide_ in a modal. The guide consists of several pages which the user can step through one by one. The guide is finished when the modal is closed or when the user clicks _Finish_ on the last page of the guide.\n *\n * ```jsx\n * function MyTutorial() {\n * \tconst [ isOpen, setIsOpen ] = useState( true );\n *\n * \tif ( ! isOpen ) {\n * \t\treturn null;\n * \t}\n *\n * \treturn (\n * \t\t<Guide\n * \t\t\tonFinish={ () => setIsOpen( false ) }\n * \t\t\tpages={ [\n * \t\t\t\t{\n * \t\t\t\t\tcontent: <p>Welcome to the ACME Store!</p>,\n * \t\t\t\t},\n * \t\t\t\t{\n * \t\t\t\t\timage: <img src=\"https://acmestore.com/add-to-cart.png\" />,\n * \t\t\t\t\tcontent: (\n * \t\t\t\t\t\t<p>\n * \t\t\t\t\t\t\tClick <i>Add to Cart</i> to buy a product.\n * \t\t\t\t\t\t</p>\n * \t\t\t\t\t),\n * \t\t\t\t},\n * \t\t\t] }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction Guide( {\n\tchildren,\n\tclassName,\n\tcontentLabel,\n\tfinishButtonText = __( 'Finish' ),\n\tonFinish,\n\tpages = [],\n}: GuideProps ) {\n\tconst ref = useRef< HTMLDivElement >( null );\n\tconst [ currentPage, setCurrentPage ] = useState( 0 );\n\n\tuseEffect( () => {\n\t\t// Place focus at the top of the guide on mount and when the page changes.\n\t\tconst frame = ref.current?.querySelector( '.components-guide' );\n\t\tif ( frame instanceof HTMLElement ) {\n\t\t\tframe.focus();\n\t\t}\n\t}, [ currentPage ] );\n\n\tuseEffect( () => {\n\t\tif ( Children.count( children ) ) {\n\t\t\tdeprecated( 'Passing children to <Guide>', {\n\t\t\t\tsince: '5.5',\n\t\t\t\talternative: 'the `pages` prop',\n\t\t\t} );\n\t\t}\n\t}, [ children ] );\n\n\tif ( Children.count( children ) ) {\n\t\tpages =\n\t\t\tChildren.map( children, ( child ) => ( {\n\t\t\t\tcontent: child,\n\t\t\t} ) ) ?? [];\n\t}\n\n\tconst canGoBack = currentPage > 0;\n\tconst canGoForward = currentPage < pages.length - 1;\n\n\tconst goBack = () => {\n\t\tif ( canGoBack ) {\n\t\t\tsetCurrentPage( currentPage - 1 );\n\t\t}\n\t};\n\n\tconst goForward = () => {\n\t\tif ( canGoForward ) {\n\t\t\tsetCurrentPage( currentPage + 1 );\n\t\t}\n\t};\n\n\tif ( pages.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName={ clsx( 'components-guide', className ) }\n\t\t\tcontentLabel={ contentLabel }\n\t\t\tisDismissible={ pages.length > 1 }\n\t\t\tonRequestClose={ onFinish }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\tgoBack();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( event.code === 'ArrowRight' ) {\n\t\t\t\t\tgoForward();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t<div className=\"components-guide__container\">\n\t\t\t\t<div className=\"components-guide__page\">\n\t\t\t\t\t{ pages[ currentPage ].image }\n\n\t\t\t\t\t{ pages.length > 1 && (\n\t\t\t\t\t\t<PageControl\n\t\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\t\tnumberOfPages={ pages.length }\n\t\t\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ pages[ currentPage ].content }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-guide__footer\">\n\t\t\t\t\t{ canGoBack && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__back-button\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ goBack }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Previous' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__forward-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ goForward }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Next' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__finish-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ onFinish }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default Guide;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","useEffect","Children","useRef","deprecated","__","Modal","Button","PageControl","jsx","_jsx","jsxs","_jsxs","Guide","children","className","contentLabel","finishButtonText","onFinish","pages","ref","currentPage","setCurrentPage","frame","current","querySelector","HTMLElement","focus","count","since","alternative","_Children$map","map","child","content","canGoBack","canGoForward","length","goBack","goForward","isDismissible","onRequestClose","onKeyDown","event","code","preventDefault","image","numberOfPages","variant","onClick","__next40pxDefaultSize"],"sources":["@wordpress/components/src/guide/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, Children, useRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Modal from '../modal';\nimport Button from '../button';\nimport PageControl from './page-control';\nimport type { GuideProps } from './types';\n\n/**\n * `Guide` is a React component that renders a _user guide_ in a modal. The guide consists of several pages which the user can step through one by one. The guide is finished when the modal is closed or when the user clicks _Finish_ on the last page of the guide.\n *\n * ```jsx\n * function MyTutorial() {\n * \tconst [ isOpen, setIsOpen ] = useState( true );\n *\n * \tif ( ! isOpen ) {\n * \t\treturn null;\n * \t}\n *\n * \treturn (\n * \t\t<Guide\n * \t\t\tonFinish={ () => setIsOpen( false ) }\n * \t\t\tpages={ [\n * \t\t\t\t{\n * \t\t\t\t\tcontent: <p>Welcome to the ACME Store!</p>,\n * \t\t\t\t},\n * \t\t\t\t{\n * \t\t\t\t\timage: <img src=\"https://acmestore.com/add-to-cart.png\" />,\n * \t\t\t\t\tcontent: (\n * \t\t\t\t\t\t<p>\n * \t\t\t\t\t\t\tClick <i>Add to Cart</i> to buy a product.\n * \t\t\t\t\t\t</p>\n * \t\t\t\t\t),\n * \t\t\t\t},\n * \t\t\t] }\n * \t\t/>\n * \t);\n * }\n * ```\n */\nfunction Guide( {\n\tchildren,\n\tclassName,\n\tcontentLabel,\n\tfinishButtonText = __( 'Finish' ),\n\tonFinish,\n\tpages = [],\n}: GuideProps ) {\n\tconst ref = useRef< HTMLDivElement >( null );\n\tconst [ currentPage, setCurrentPage ] = useState( 0 );\n\n\tuseEffect( () => {\n\t\t// Place focus at the top of the guide on mount and when the page changes.\n\t\tconst frame = ref.current?.querySelector( '.components-guide' );\n\t\tif ( frame instanceof HTMLElement ) {\n\t\t\tframe.focus();\n\t\t}\n\t}, [ currentPage ] );\n\n\tuseEffect( () => {\n\t\tif ( Children.count( children ) ) {\n\t\t\tdeprecated( 'Passing children to <Guide>', {\n\t\t\t\tsince: '5.5',\n\t\t\t\talternative: 'the `pages` prop',\n\t\t\t} );\n\t\t}\n\t}, [ children ] );\n\n\tif ( Children.count( children ) ) {\n\t\tpages =\n\t\t\tChildren.map( children, ( child ) => ( {\n\t\t\t\tcontent: child,\n\t\t\t} ) ) ?? [];\n\t}\n\n\tconst canGoBack = currentPage > 0;\n\tconst canGoForward = currentPage < pages.length - 1;\n\n\tconst goBack = () => {\n\t\tif ( canGoBack ) {\n\t\t\tsetCurrentPage( currentPage - 1 );\n\t\t}\n\t};\n\n\tconst goForward = () => {\n\t\tif ( canGoForward ) {\n\t\t\tsetCurrentPage( currentPage + 1 );\n\t\t}\n\t};\n\n\tif ( pages.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName={ clsx( 'components-guide', className ) }\n\t\t\tcontentLabel={ contentLabel }\n\t\t\tisDismissible={ pages.length > 1 }\n\t\t\tonRequestClose={ onFinish }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\tgoBack();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( event.code === 'ArrowRight' ) {\n\t\t\t\t\tgoForward();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t<div className=\"components-guide__container\">\n\t\t\t\t<div className=\"components-guide__page\">\n\t\t\t\t\t{ pages[ currentPage ].image }\n\n\t\t\t\t\t{ pages.length > 1 && (\n\t\t\t\t\t\t<PageControl\n\t\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\t\tnumberOfPages={ pages.length }\n\t\t\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ pages[ currentPage ].content }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-guide__footer\">\n\t\t\t\t\t{ canGoBack && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__back-button\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ goBack }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Previous' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__forward-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ goForward }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Next' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__finish-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ onFinish }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default Guide;\n"],"mappings":"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","ignoreList":[]}