@plaudit/gutenberg-api-extensions 2.77.3 → 2.77.5

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.
@@ -10,13 +10,13 @@ export function BaseSortableItemsControl({ value, onChange, onRemove, onReorder,
10
10
  const addDisabled = max !== undefined && listLength >= max;
11
11
  const removeDisabled = min !== undefined && listLength <= min;
12
12
  const { baseControlProps, controlProps } = useBaseControlProps({ ...wrapperProps, label: Label ? _jsx(Label, {}) : label });
13
- return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "plaudit-sortable-items-container", children: _jsx(Reorder.Group, { axis: "y", onReorder: commit, values: keyedValues, children: keyedValues.map((datum, index) => _jsx(SortableItemsListNode, { addDisabled: addDisabled, datum: datum, index: index, listLength: listLength, makeChild: makeChild, makeIndexedItemActions: makeIndexedItemActions, removeDisabled: removeDisabled }, datum[1])) }) }), buttonsArea({ addHandler, disabled: addDisabled }), Messages && _jsx(Messages, {})] });
13
+ return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "plaudit-sortable-items-container", children: _jsx(Reorder.Group, { axis: "y", onReorder: commit, values: keyedValues, children: keyedValues.map((datum, index) => _jsx(SortableItemsListNode, { addDisabled: addDisabled, datum: datum, index: index, listLength: listLength, makeChild: makeChild, makeIndexedItemActions: makeIndexedItemActions, removeDisabled: removeDisabled }, datum.key)) }) }), buttonsArea({ addHandler, disabled: addDisabled }), Messages && _jsx(Messages, {})] });
14
14
  }
15
15
  function SortableItemsListNode({ datum, index, listLength, makeChild, makeIndexedItemActions, removeDisabled }) {
16
- const { remove, moveUp, moveDown, change } = makeIndexedItemActions(index);
16
+ const { remove, moveUp, moveDown, change } = makeIndexedItemActions(index, datum.key);
17
17
  //TODO: If used, implement addBefore and addAfter the same way as moveUp and moveDown
18
18
  const dragControls = useDragControls();
19
19
  const dragStartHandler = useCallback((event) => dragControls.start(event), [dragControls]);
20
- return _jsxs(Reorder.Item, { className: "plaudit-sortable-items-row", "data-index": index, dragListener: false, dragControls: dragControls, layout: "position", value: datum, children: [_jsxs("div", { className: "plaudit-sortable-items-ordering-controls", children: [_jsx("div", { className: "plaudit-sortable-items-ordering-control", children: _jsx(Icon, { icon: dragHandle, onPointerDown: dragStartHandler }) }), _jsxs("div", { className: "plaudit-sortable-items-ordering-control", children: [_jsx(Button, { icon: "arrow-up", "aria-label": "Move Up", disabled: index < 1, onClick: moveUp }), _jsx(Button, { icon: "arrow-down", "aria-label": "Move Down", disabled: index >= listLength - 1, onClick: moveDown })] })] }), _jsx("div", { className: "plaudit-sortable-items-inputs plaudit-sortable-items-padded", children: makeChild(datum[0], change, index) }), _jsx("div", { className: "plaudit-sortable-items-presence-controls plaudit-sortable-items-padded", children: _jsx(Button, { icon: "remove", disabled: removeDisabled, onClick: remove, "aria-label": "Remove" }) })] });
20
+ return _jsxs(Reorder.Item, { className: "plaudit-sortable-items-row", "data-index": index, dragListener: false, dragControls: dragControls, layout: "position", value: datum, children: [_jsxs("div", { className: "plaudit-sortable-items-ordering-controls", children: [_jsx("div", { className: "plaudit-sortable-items-ordering-control", children: _jsx(Icon, { icon: dragHandle, onPointerDown: dragStartHandler }) }), _jsxs("div", { className: "plaudit-sortable-items-ordering-control", children: [_jsx(Button, { icon: "arrow-up", "aria-label": "Move Up", disabled: index < 1, onClick: moveUp }), _jsx(Button, { icon: "arrow-down", "aria-label": "Move Down", disabled: index >= listLength - 1, onClick: moveDown })] })] }), _jsx("div", { className: "plaudit-sortable-items-inputs plaudit-sortable-items-padded", children: makeChild(datum.value, change, index) }), _jsx("div", { className: "plaudit-sortable-items-presence-controls plaudit-sortable-items-padded", children: _jsx(Button, { icon: "remove", disabled: removeDisabled, onClick: remove, "aria-label": "Remove" }) })] });
21
21
  }
22
22
  //# sourceMappingURL=BaseSortableItemsControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSortableItemsControl.js","sourceRoot":"","sources":["../../src/controls/BaseSortableItemsControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseSortableItemsControl.js","sourceRoot":"","sources":["../../src/controls/BaseSortableItemsControl.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type Attachment, type Context } from "@wordpress/core-data";
1
2
  import type { ProvidedSlot } from "../blocks";
2
3
  import { type ReactNode } from "react";
3
4
  export type ImageData = {
@@ -20,3 +21,9 @@ export type ImageControlProps = {
20
21
  Messages?: ProvidedSlot;
21
22
  };
22
23
  export declare function ImageControl(props: ImageControlProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare const RETAINED_FIELDS: readonly ["id", "title", "filename", "url", "alt", "description", "caption", "name", "date", "modified", "menuOrder", "mime", "meta", "height", "width", "orientation"];
25
+ type HypotheticalImageDataType<C extends Context> = Partial<Attachment<C>> & ImageData['media'] & {
26
+ [k in typeof RETAINED_FIELDS[number]]?: k extends keyof Attachment<C> ? Attachment<C>[k] : unknown;
27
+ };
28
+ export declare function filterImageValueForSaving<C extends Context = 'edit'>(attachment: HypotheticalImageDataType<C>): Pick<HypotheticalImageDataType<C>, typeof RETAINED_FIELDS[number]>;
29
+ export {};
@@ -1,16 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { MediaUpload, MediaUploadCheck } from "@wordpress/block-editor";
3
3
  import { BaseControl, Button, FocalPointPicker, ResponsiveWrapper, useBaseControlProps } from "@wordpress/components";
4
+ import { store as coreStore } from "@wordpress/core-data";
4
5
  import { useSelect } from "@wordpress/data";
5
6
  import { useCallback, useMemo } from "@wordpress/element";
6
7
  import { __ } from "@wordpress/i18n";
7
8
  export function ImageControl(props) {
8
9
  const { label, help, value, Label, Messages } = props;
9
- const media = useSelect(select => value?.media?.id ? select('core').getMedia(value.media.id) : undefined, [value]);
10
- const { baseControlProps, controlProps } = useBaseControlProps({ label: props.Label ? _jsx(props.Label, {}) : label, help });
10
+ const media = useSelect(select => value?.media?.id ? select(coreStore).getMedia(value.media.id) : undefined, [value]);
11
+ const { baseControlProps, controlProps } = useBaseControlProps({ label: Label ? _jsx(Label, {}) : label, help });
11
12
  return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "editor-post-featured-image", children: media
12
13
  ? _jsx(ImageControlWithUploadedImage, { ...props, media: media })
13
- : _jsx(ImageControlWithoutUploadedImage, { ...props, media: media }) }), props.Messages && _jsx(props.Messages, {})] });
14
+ : _jsx(ImageControlWithoutUploadedImage, { ...props, media: media }) }), Messages && _jsx(Messages, {})] });
15
+ }
16
+ export const RETAINED_FIELDS = ["id", "title", "filename", "url", "alt", "description", "caption", "name", "date", "modified", "menuOrder", "mime", "meta", "height", "width", "orientation"];
17
+ export function filterImageValueForSaving(attachment) {
18
+ return Object.fromEntries(Object.entries(attachment).filter((entry) => RETAINED_FIELDS.includes(entry[0])));
14
19
  }
15
20
  const ALLOWED_TYPES = ['image'];
16
21
  function ImageControlWithUploadedImage(props) {
@@ -52,9 +57,9 @@ function mergeInUpdatedValuePart(value, partName, part) {
52
57
  return undefined;
53
58
  }
54
59
  else if (value === undefined) {
55
- return { media: prt, pos: { x: 50, y: 50 } };
60
+ return { media: filterImageValueForSaving(prt), pos: { x: 50, y: 50 } };
56
61
  }
57
- return { media: prt, pos: { x: value.pos?.x ?? 50, y: value.pos?.y ?? 50 } };
62
+ return { media: filterImageValueForSaving(prt), pos: { x: value.pos?.x ?? 50, y: value.pos?.y ?? 50 } };
58
63
  }
59
64
  else if (value === undefined || !value.media?.id) {
60
65
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"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"}
@@ -8,20 +8,24 @@ type SortableItemsModelArgs<D> = Listeners<D> & {
8
8
  emptyValue?: D;
9
9
  value?: D[];
10
10
  };
11
- export declare function useSortableItemsModel<D>({ onAdd, onChange, onRemove, onReorder, emptyValue, value }: SortableItemsModelArgs<D>): {
12
- keyedValues: [D, number][];
13
- makeIndexedItemActions(index: number): {
14
- add: (value: D) => void;
15
- remove: () => void;
16
- moveUp: () => void;
17
- moveDown: () => void;
18
- change: (value: D) => void;
19
- };
20
- add: (value: D, index?: number) => void;
21
- addEmptyValue: ((index?: number) => void) | undefined;
22
- remove: (index: number) => void;
23
- move: (oldIndex: number, newIndex: number) => void;
24
- change: (value: D, index: number) => void;
25
- commit: (keyedValues: [D, number][]) => void;
11
+ export type SortableItemsModelKey = ReturnType<typeof crypto.randomUUID>;
12
+ export type KeyedValue<D> = {
13
+ value: D;
14
+ key: SortableItemsModelKey;
15
+ };
16
+ export type KeyedValues<D> = KeyedValue<D>[];
17
+ export type IndexedItemActions<D> = {
18
+ add(value: D): void;
19
+ remove(): void;
20
+ moveUp(): void;
21
+ moveDown(): void;
22
+ change(value: D): void;
23
+ };
24
+ export type IndexedItemActionsMaker<D> = (index: number, key: SortableItemsModelKey) => IndexedItemActions<D>;
25
+ export declare function useSortableItemsModel<D>(args: SortableItemsModelArgs<D>): {
26
+ keyedValues: KeyedValues<D>;
27
+ add(value: D, index?: number): void;
28
+ commit(keyedValues: KeyedValues<D>): void;
29
+ makeIndexedItemActions: IndexedItemActionsMaker<D>;
26
30
  };
27
31
  export {};
@@ -1,136 +1,42 @@
1
- import { useEffect, useMemo, useReducer } from "@wordpress/element";
1
+ import { useEffect, useMemo, useState } from "@wordpress/element";
2
2
  import { Immer } from "immer";
3
3
  import { clone } from "../../lib/helpers";
4
- export function useSortableItemsModel({ onAdd, onChange, onRemove, onReorder, emptyValue, value }) {
5
- const [state, dispatch] = useReducer((prevState, action) => {
6
- switch (action.type) {
7
- case "add": {
8
- const newItemIndex = action.index ?? prevState.value?.length ?? 0;
9
- const newValue = prevState.value?.toSpliced(newItemIndex, 0, action.value) ?? [action.value];
10
- const nextItemKey = prevState.nextItemKey + 1;
11
- onAdd?.(newItemIndex, action.value);
12
- onChange?.(newValue);
13
- return {
14
- ...prevState,
15
- value: newValue,
16
- keyedValues: prevState.keyedValues.concat([[action.value, nextItemKey]]),
17
- nextItemKey
18
- };
19
- }
20
- case "remove": {
21
- const newValue = prevState.value?.toSpliced(action.index, 1) ?? [];
22
- onRemove?.(action.index);
23
- onChange?.(newValue);
24
- return {
25
- ...prevState,
26
- value: newValue,
27
- keyedValues: prevState.keyedValues.toSpliced(action.index, 1)
28
- };
29
- }
30
- case "move": {
31
- const { newIndex, oldIndex } = action;
32
- if (newIndex === oldIndex) {
33
- return prevState;
34
- }
35
- const newValue = swap(prevState.value ?? [], newIndex, oldIndex);
36
- const changesStart = Math.min(newIndex, oldIndex);
37
- newValue.splice(changesStart, newValue.length, ...newValue.slice(changesStart).map(v => clone(v)));
38
- onReorder?.(oldIndex, newIndex);
39
- onChange?.(newValue);
40
- return {
41
- ...prevState,
42
- value: newValue,
43
- keyedValues: swap(prevState.keyedValues, newIndex, oldIndex).map(([_, k], i) => [newValue[i], k])
44
- };
45
- }
46
- case "change": {
47
- const newValue = (prevState.value ?? []).toSpliced(action.index, 1, action.value);
48
- onChange?.(newValue);
49
- return {
50
- ...prevState,
51
- value: newValue,
52
- keyedValues: prevState.keyedValues.map((v, i) => i === action.index ? [action.value, v[1]] : v)
53
- };
54
- }
55
- case "commit":
56
- const newValue = action.keyedValues.map(([v]) => v);
57
- onChange?.(newValue);
58
- return {
59
- ...prevState,
60
- value: newValue,
61
- keyedValues: action.keyedValues
62
- };
63
- case "refresh":
64
- const nextState = (new Immer({ autoFreeze: false })).produce(prevState, (draft) => {
65
- for (const [key, value] of Object.entries(action.listeners)) {
66
- draft.listeners[key] = value;
67
- }
68
- if (prevState.value !== action.value) {
69
- draft.value = action.value;
70
- if (action.value !== undefined && action.value.length !== prevState.keyedValues.length) {
71
- draft.keyedValues = action.value.map((v, i) => [v,
72
- prevState.keyedValues[i] !== undefined && prevState.keyedValues[i][0] === v ? prevState.keyedValues[i][1] : draft.nextItemKey++]);
73
- }
74
- }
75
- });
76
- if (prevState.value !== action.value && action.value !== undefined && action.value.length === prevState.keyedValues.length) {
77
- for (let i = 0; i < action.value.length; i++) {
78
- nextState.keyedValues[i][0] = action.value[i];
79
- }
80
- }
81
- return nextState;
82
- default:
83
- return prevState;
84
- }
85
- }, { keyedValues: [], listeners: {}, nextItemKey: 0 });
86
- useEffect(() => {
87
- dispatch({ type: "refresh", listeners: { onAdd, onChange, onRemove, onReorder }, value });
88
- }, [value, onAdd, onChange, onRemove, onReorder, dispatch]);
4
+ export function useSortableItemsModel(args) {
5
+ const { mutators, state } = usePseudoReducerBasedStateManagement(args);
6
+ const { emptyValue } = args;
89
7
  // We use a separate memo for the actions because dispatch should change significantly less-often than state
90
8
  const actions = useMemo(() => {
91
- const outer = {
9
+ return ({
92
10
  add: (value, index) => {
93
- dispatch({ type: "add", value, index });
11
+ mutators.add({ value, index });
12
+ },
13
+ commit: (keyedValues) => {
14
+ mutators.commit({ keyedValues });
94
15
  },
95
16
  addEmptyValue: emptyValue !== undefined && emptyValue !== null ? (index) => {
96
- outer.add(typeof emptyValue === 'object' ? { ...emptyValue } : emptyValue, index);
17
+ mutators.add({ value: typeof emptyValue === 'object' ? { ...emptyValue } : emptyValue, index });
97
18
  } : undefined,
98
- remove: (index) => {
99
- dispatch({ type: "remove", index });
100
- },
101
- move: (oldIndex, newIndex) => {
102
- dispatch({ type: "move", oldIndex, newIndex });
103
- },
104
- change: (value, index) => {
105
- dispatch({ type: "change", value, index });
106
- },
107
- commit: (keyedValues) => {
108
- dispatch({ type: "commit", keyedValues });
109
- }
110
- };
111
- return ({
112
- ...outer,
113
- makeIndexedItemActions(index) {
19
+ makeIndexedItemActions(index, key) {
114
20
  return useMemo(() => ({
115
21
  add: (value) => {
116
- return outer.add(value);
22
+ mutators.add({ value, index });
117
23
  },
118
24
  remove: () => {
119
- return outer.remove(index);
25
+ mutators.remove({ key });
120
26
  },
121
27
  moveUp: () => {
122
- return outer.move(index, index - 1);
28
+ mutators.move({ oldIndex: index, newIndex: index - 1 });
123
29
  },
124
30
  moveDown: () => {
125
- return outer.move(index, index + 1);
31
+ mutators.move({ oldIndex: index, newIndex: index + 1 });
126
32
  },
127
33
  change: (value) => {
128
- return outer.change(value, index);
34
+ mutators.change({ value, index });
129
35
  }
130
- }), [index, dispatch]);
36
+ }), [index, key, mutators]);
131
37
  }
132
38
  });
133
- }, [dispatch, emptyValue]);
39
+ }, [emptyValue, mutators]);
134
40
  return { ...actions, keyedValues: state.keyedValues };
135
41
  }
136
42
  function swap(value, newIndex, oldIndex) {
@@ -144,4 +50,102 @@ function swap(value, newIndex, oldIndex) {
144
50
  }
145
51
  return splicedValue;
146
52
  }
53
+ function usePseudoReducerBasedStateManagement({ value, onAdd, onChange, onRemove, onReorder }) {
54
+ const [state, setState] = useState({ keyedValues: [], listeners: {} });
55
+ const mutators = useMemo(() => {
56
+ return {
57
+ add({ value, index }) {
58
+ const newItemIndex = index ?? state.value?.length ?? 0;
59
+ const newValue = state.value?.toSpliced(newItemIndex, 0, value) ?? [value];
60
+ onAdd?.(newItemIndex, value);
61
+ onChange?.(newValue);
62
+ setState({
63
+ ...state,
64
+ value: newValue,
65
+ keyedValues: state.keyedValues.toSpliced(newItemIndex, 0, { value: value, key: crypto.randomUUID() })
66
+ });
67
+ },
68
+ remove({ key }) {
69
+ const actionIndex = state.keyedValues?.findIndex(({ key: k }) => k === key) ?? -1;
70
+ if (actionIndex === -1) {
71
+ return;
72
+ }
73
+ const newValue = state.value?.toSpliced(actionIndex, 1) ?? [];
74
+ onRemove?.(actionIndex);
75
+ onChange?.(newValue);
76
+ setState({
77
+ ...state,
78
+ value: newValue,
79
+ keyedValues: state.keyedValues.toSpliced(actionIndex, 1)
80
+ });
81
+ },
82
+ move({ oldIndex, newIndex }) {
83
+ if (newIndex === oldIndex) {
84
+ return;
85
+ }
86
+ const newValue = swap(state.value ?? [], newIndex, oldIndex);
87
+ const changesStart = Math.min(newIndex, oldIndex);
88
+ newValue.splice(changesStart, newValue.length, ...newValue.slice(changesStart).map(v => clone(v)));
89
+ onReorder?.(oldIndex, newIndex);
90
+ onChange?.(newValue);
91
+ setState({
92
+ ...state,
93
+ value: newValue,
94
+ keyedValues: swap(state.keyedValues, newIndex, oldIndex).map(({ key }, i) => ({
95
+ value: newValue[i],
96
+ key
97
+ }))
98
+ });
99
+ },
100
+ change({ value, index }) {
101
+ const newValue = (state.value ?? []).toSpliced(index, 1, value);
102
+ onChange?.(newValue);
103
+ setState({
104
+ ...state,
105
+ value: newValue,
106
+ keyedValues: state.keyedValues.toSpliced(index, 1, { ...state.keyedValues[index], value })
107
+ });
108
+ },
109
+ commit({ keyedValues }) {
110
+ const newValue = keyedValues.map(({ value }) => value);
111
+ onChange?.(newValue);
112
+ setState({
113
+ ...state,
114
+ value: newValue,
115
+ keyedValues
116
+ });
117
+ },
118
+ refresh(args) {
119
+ const prevState = state;
120
+ setState((new Immer({ autoFreeze: false })).produce(prevState, (draft) => {
121
+ for (const [key, value] of Object.entries(args.listeners)) {
122
+ draft.listeners[key] = value;
123
+ }
124
+ if (prevState.value !== args.value) {
125
+ draft.value = args.value;
126
+ if (args.value !== undefined) {
127
+ if (args.value.length !== prevState.keyedValues.length) {
128
+ draft.keyedValues = args.value.map((v, i) => {
129
+ return {
130
+ value: v,
131
+ key: prevState.keyedValues[i] !== undefined && prevState.keyedValues[i].value === v ? prevState.keyedValues[i].key : crypto.randomUUID()
132
+ };
133
+ });
134
+ }
135
+ else {
136
+ for (let i = 0; i < args.value.length; i++) {
137
+ draft.keyedValues[i].value = args.value[i];
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }));
143
+ }
144
+ };
145
+ }, [state, onAdd, onChange, onRemove, onReorder]);
146
+ useEffect(() => {
147
+ mutators.refresh({ listeners: { onAdd, onChange, onRemove, onReorder }, value });
148
+ }, [value, onAdd, onChange, onRemove, onReorder, mutators]);
149
+ return { mutators, state };
150
+ }
147
151
  //# sourceMappingURL=useSortableItemsModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSortableItemsModel.js","sourceRoot":"","sources":["../../../src/controls/hooks/useSortableItemsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSortableItemsModel.js","sourceRoot":"","sources":["../../../src/controls/hooks/useSortableItemsModel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plaudit/gutenberg-api-extensions",
3
- "version": "2.77.3",
3
+ "version": "2.77.5",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "files": [
6
6
  "./build",