@plaudit/gutenberg-api-extensions 2.43.1 → 2.44.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/build/blocks/MoveError.d.ts +10 -0
- package/build/blocks/MoveError.js +6 -0
- package/build/blocks/MoveError.js.map +1 -0
- package/build/blocks/PathError.d.ts +12 -0
- package/build/blocks/PathError.js +18 -0
- package/build/blocks/PathError.js.map +1 -0
- package/build/blocks/{snp-group-component.d.ts → SNPGroupComponent.d.ts} +6 -7
- package/build/blocks/SNPGroupComponent.js +6 -0
- package/build/blocks/SNPGroupComponent.js.map +1 -0
- package/build/blocks/SNPListComponent.d.ts +8 -0
- package/build/blocks/SNPListComponent.js +15 -0
- package/build/blocks/SNPListComponent.js.map +1 -0
- package/build/blocks/SNPTreeContext.d.ts +10 -0
- package/build/blocks/SNPTreeContext.js +15 -0
- package/build/blocks/SNPTreeContext.js.map +1 -0
- package/build/blocks/common-native-property-constructors.d.ts +14 -8
- package/build/blocks/common-native-property-constructors.js +128 -92
- package/build/blocks/common-native-property-constructors.js.map +1 -1
- package/build/blocks/conditions.d.ts +21 -0
- package/build/blocks/conditions.js +155 -0
- package/build/blocks/conditions.js.map +1 -0
- package/build/blocks/data-controller-manager.d.ts +8 -0
- package/build/blocks/data-controller-manager.js +38 -0
- package/build/blocks/data-controller-manager.js.map +1 -0
- package/build/blocks/data-controller.d.ts +62 -0
- package/build/blocks/data-controller.js +641 -0
- package/build/blocks/data-controller.js.map +1 -0
- package/build/blocks/full-size-toggle-control.d.ts +3 -3
- package/build/blocks/full-size-toggle-control.js +35 -32
- package/build/blocks/full-size-toggle-control.js.map +1 -1
- package/build/blocks/layered-styles-api.d.ts +3 -3
- package/build/blocks/layered-styles-api.js +2 -1
- package/build/blocks/layered-styles-api.js.map +1 -1
- package/build/blocks/layered-styles-impl.js +2 -4
- package/build/blocks/layered-styles-impl.js.map +1 -1
- package/build/blocks/layout/LaidOutProperty.d.ts +6 -0
- package/build/blocks/layout/LaidOutProperty.js +28 -0
- package/build/blocks/layout/LaidOutProperty.js.map +1 -0
- package/build/blocks/layout/LaidOutPropertyRow.d.ts +6 -0
- package/build/blocks/layout/LaidOutPropertyRow.js +12 -0
- package/build/blocks/layout/LaidOutPropertyRow.js.map +1 -0
- package/build/blocks/layout/NodeContext.d.ts +44 -0
- package/build/blocks/layout/NodeContext.js +37 -0
- package/build/blocks/layout/NodeContext.js.map +1 -0
- package/build/blocks/layout/PanelRoot.d.ts +5 -0
- package/build/blocks/layout/PanelRoot.js +23 -0
- package/build/blocks/layout/PanelRoot.js.map +1 -0
- package/build/blocks/layout/TabsRoot.d.ts +7 -0
- package/build/blocks/layout/TabsRoot.js +45 -0
- package/build/blocks/layout/TabsRoot.js.map +1 -0
- package/build/blocks/simple-block.js +6 -10
- package/build/blocks/simple-block.js.map +1 -1
- package/build/blocks/simple-native-property-api.d.ts +63 -28
- package/build/blocks/simple-native-property-api.js +9 -2
- package/build/blocks/simple-native-property-api.js.map +1 -1
- package/build/blocks/simple-native-property-impl.d.ts +0 -6
- package/build/blocks/simple-native-property-impl.js +121 -189
- package/build/blocks/simple-native-property-impl.js.map +1 -1
- package/build/blocks/simple-native-property-internal-shared.d.ts +30 -0
- package/build/blocks/simple-native-property-internal-shared.js +22 -0
- package/build/blocks/simple-native-property-internal-shared.js.map +1 -0
- package/build/blocks/snp-data-store.d.ts +8 -9
- package/build/blocks/snp-data-store.js +56 -31
- package/build/blocks/snp-data-store.js.map +1 -1
- package/build/controls/AsynchronousFormTokenField.d.ts +3 -3
- package/build/controls/AsynchronousFormTokenField.js +4 -18
- package/build/controls/AsynchronousFormTokenField.js.map +1 -1
- package/build/controls/ExtendedPostPicker.d.ts +3 -3
- package/build/controls/ExtendedPostPicker.js +4 -3
- package/build/controls/ExtendedPostPicker.js.map +1 -1
- package/build/controls/ExtendedRadioControl.d.ts +3 -3
- package/build/controls/ExtendedRadioControl.js +3 -11
- package/build/controls/ExtendedRadioControl.js.map +1 -1
- package/build/controls/ImageControl.d.ts +4 -2
- package/build/controls/ImageControl.js +16 -23
- package/build/controls/ImageControl.js.map +1 -1
- package/build/controls/InspectorPanel.d.ts +2 -2
- package/build/controls/InspectorPanel.js +4 -6
- package/build/controls/InspectorPanel.js.map +1 -1
- package/build/controls/LazySuggestionsComboboxControl.d.ts +1 -2
- package/build/controls/LazySuggestionsComboboxControl.js +3 -9
- package/build/controls/LazySuggestionsComboboxControl.js.map +1 -1
- package/build/controls/MultiSelectControl.d.ts +3 -3
- package/build/controls/MultiSelectControl.js +2 -2
- package/build/controls/MultiSelectControl.js.map +1 -1
- package/build/controls/PickOne.d.ts +5 -5
- package/build/controls/PickOne.js +7 -8
- package/build/controls/PickOne.js.map +1 -1
- package/build/controls/PromisableComponent.d.ts +1 -1
- package/build/controls/PromisableComponent.js +3 -3
- package/build/controls/PromisableComponent.js.map +1 -1
- package/build/controls/ProperLinkControl.d.ts +3 -3
- package/build/controls/ProperLinkControl.js +6 -9
- package/build/controls/ProperLinkControl.js.map +1 -1
- package/build/controls/SimpleToggle.d.ts +1 -2
- package/build/controls/SimpleToggle.js +2 -2
- package/build/controls/SimpleToggle.js.map +1 -1
- package/build/controls/SortableItemsControl.d.ts +7 -4
- package/build/controls/SortableItemsControl.js +12 -24
- package/build/controls/SortableItemsControl.js.map +1 -1
- package/build/controls/hooks/useTokenManager.js.map +1 -1
- package/build/editor/post-featured-image.js +34 -33
- package/build/editor/post-featured-image.js.map +1 -1
- package/build/lib/plaudit-icons/column-1.d.ts +1 -2
- package/build/lib/plaudit-icons/column-1.js +2 -3
- package/build/lib/plaudit-icons/column-1.js.map +1 -1
- package/build/lib/plaudit-icons/column-2.d.ts +1 -2
- package/build/lib/plaudit-icons/column-2.js +2 -3
- package/build/lib/plaudit-icons/column-2.js.map +1 -1
- package/build/lib/plaudit-icons/column-3.d.ts +1 -2
- package/build/lib/plaudit-icons/column-3.js +2 -3
- package/build/lib/plaudit-icons/column-3.js.map +1 -1
- package/build/lib/plaudit-icons/placement-center.d.ts +1 -2
- package/build/lib/plaudit-icons/placement-center.js +2 -3
- package/build/lib/plaudit-icons/placement-center.js.map +1 -1
- package/build/lib/plaudit-icons/placement-end.d.ts +1 -2
- package/build/lib/plaudit-icons/placement-end.js +2 -3
- package/build/lib/plaudit-icons/placement-end.js.map +1 -1
- package/build/lib/plaudit-icons/placement-start.d.ts +1 -2
- package/build/lib/plaudit-icons/placement-start.js +2 -3
- package/build/lib/plaudit-icons/placement-start.js.map +1 -1
- package/build/lib/plaudit-icons/placement-stretch.d.ts +1 -2
- package/build/lib/plaudit-icons/placement-stretch.js +2 -3
- package/build/lib/plaudit-icons/placement-stretch.js.map +1 -1
- package/build/lib/plaudit-icons/plaudit-icon.d.ts +1 -2
- package/build/lib/plaudit-icons/plaudit-icon.js +2 -3
- package/build/lib/plaudit-icons/plaudit-icon.js.map +1 -1
- package/build/lib/plaudit-icons/reusable-block-marker.d.ts +1 -2
- package/build/lib/plaudit-icons/reusable-block-marker.js +2 -3
- package/build/lib/plaudit-icons/reusable-block-marker.js.map +1 -1
- package/package.json +16 -12
- package/styles/editor.pcss +47 -0
- package/build/blocks/base-data-store.d.ts +0 -19
- package/build/blocks/base-data-store.js +0 -151
- package/build/blocks/base-data-store.js.map +0 -1
- package/build/blocks/data-store-list-holder.d.ts +0 -10
- package/build/blocks/data-store-list-holder.js +0 -55
- package/build/blocks/data-store-list-holder.js.map +0 -1
- package/build/blocks/object-data-store.d.ts +0 -15
- package/build/blocks/object-data-store.js +0 -41
- package/build/blocks/object-data-store.js.map +0 -1
- package/build/blocks/snp-group-component.js +0 -17
- package/build/blocks/snp-group-component.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BlockName, HydratedSimpleNativeProperty, SimpleNativePanel, SimpleNativeTab } from "./simple-native-property-api";
|
|
2
|
+
import { LayeredBlockStylesConfig } from "./layered-styles-api";
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
plauditSimpleNativePanelsAndTabs?: PlauditSimpleNativePanelsAndTabsRegistry;
|
|
6
|
+
plauditLayeredBlockStyles?: PlauditLayeredBlockStylesRegistry;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export type HydratedSimpleNativeTabItem = Omit<HydratedSimpleNativePanel, 'group'>;
|
|
10
|
+
export type HydratedSimpleNativeTab = Omit<SimpleNativeTab, 'items'> & {
|
|
11
|
+
items: HydratedSimpleNativeTabItem[];
|
|
12
|
+
};
|
|
13
|
+
export type HydratedSimpleNativeTabGroup = {
|
|
14
|
+
[tabTitle: string]: HydratedSimpleNativeTab;
|
|
15
|
+
};
|
|
16
|
+
export type HydratedSimpleNativePanel = Omit<SimpleNativePanel, 'properties'> & {
|
|
17
|
+
properties: HydratedLaidOutProperties;
|
|
18
|
+
};
|
|
19
|
+
export type HydratedLaidOutProperties = (HydratedSimpleNativeProperty | HydratedSimpleNativeProperty[])[];
|
|
20
|
+
export type PlauditSimpleNativePanelsAndTabsRegistry = {
|
|
21
|
+
[blockName in BlockName]: Array<SimpleNativePanel | SimpleNativeTab>;
|
|
22
|
+
};
|
|
23
|
+
export declare function getSimpleNativePanelsAndTabsRegistry(create: false): PlauditSimpleNativePanelsAndTabsRegistry | undefined;
|
|
24
|
+
export declare function getSimpleNativePanelsAndTabsRegistry(create?: true): PlauditSimpleNativePanelsAndTabsRegistry;
|
|
25
|
+
export declare function getSimpleNativePanelsAndTabsForBlock(blockName: BlockName): (SimpleNativePanel | SimpleNativeTab)[] | undefined;
|
|
26
|
+
export type PlauditLayeredBlockStylesRegistry = Map<BlockName, LayeredBlockStylesConfig['layers']>;
|
|
27
|
+
export declare function getLayeredBlockStylesRegistry(create: false): PlauditLayeredBlockStylesRegistry | undefined;
|
|
28
|
+
export declare function getLayeredBlockStylesRegistry(create?: true): PlauditLayeredBlockStylesRegistry;
|
|
29
|
+
export declare function getLayeredStylesForBlock(blockName: BlockName): import("./layered-styles-api").LayeredBlockStyleLayer[] | undefined;
|
|
30
|
+
export declare function isRootLevelPanelGroup(panelGroup: string | undefined): panelGroup is "settings" | "default" | "advanced" | "styles" | undefined;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function getSimpleNativePanelsAndTabsRegistry(create) {
|
|
2
|
+
if (create !== false && window.plauditSimpleNativePanelsAndTabs === undefined) {
|
|
3
|
+
return window.plauditSimpleNativePanelsAndTabs = {};
|
|
4
|
+
}
|
|
5
|
+
return window.plauditSimpleNativePanelsAndTabs;
|
|
6
|
+
}
|
|
7
|
+
export function getSimpleNativePanelsAndTabsForBlock(blockName) {
|
|
8
|
+
return window.plauditSimpleNativePanelsAndTabs?.[blockName];
|
|
9
|
+
}
|
|
10
|
+
export function getLayeredBlockStylesRegistry(create) {
|
|
11
|
+
if (create !== false && window.plauditLayeredBlockStyles === undefined) {
|
|
12
|
+
return window.plauditLayeredBlockStyles = new Map();
|
|
13
|
+
}
|
|
14
|
+
return window.plauditLayeredBlockStyles;
|
|
15
|
+
}
|
|
16
|
+
export function getLayeredStylesForBlock(blockName) {
|
|
17
|
+
return window.plauditLayeredBlockStyles?.get(blockName);
|
|
18
|
+
}
|
|
19
|
+
export function isRootLevelPanelGroup(panelGroup) {
|
|
20
|
+
return panelGroup === undefined || panelGroup === "default" || panelGroup === "advanced" || panelGroup === "settings" || panelGroup === "styles";
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=simple-native-property-internal-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-native-property-internal-shared.js","sourceRoot":"","sources":["../../src/blocks/simple-native-property-internal-shared.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,oCAAoC,CAAC,MAAgB;IACpE,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,gCAAgC,KAAK,SAAS,EAAE,CAAC;QAC/E,OAAO,MAAM,CAAC,gCAAgC,GAAG,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC,gCAAgC,CAAC;AAChD,CAAC;AACD,MAAM,UAAU,oCAAoC,CAAC,SAAoB;IACxE,OAAO,MAAM,CAAC,gCAAgC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC;AAKD,MAAM,UAAU,6BAA6B,CAAC,MAAgB;IAC7D,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC,yBAAyB,CAAC;AACzC,CAAC;AACD,MAAM,UAAU,wBAAwB,CAAC,SAAoB;IAC5D,OAAO,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAA4B;IACjE,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,QAAQ,CAAC;AAClJ,CAAC"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { BaseDataStore } from "./base-data-store";
|
|
2
1
|
import type { ActualBlockEditProps } from "./common-native-property-constructors";
|
|
3
|
-
import type { DataStore,
|
|
4
|
-
export declare abstract class SNPDataStore
|
|
2
|
+
import type { DataStore, SimpleNativePanel, SimpleNativeTab } from "./simple-native-property-api";
|
|
3
|
+
export declare abstract class SNPDataStore implements DataStore<ActualBlockEditProps> {
|
|
5
4
|
protected explicitBlockEditProps: ActualBlockEditProps;
|
|
6
|
-
private explicitParent?;
|
|
7
5
|
private attributeCache;
|
|
8
|
-
|
|
6
|
+
private readonly managedPropertyNames;
|
|
7
|
+
constructor(explicitBlockEditProps: ActualBlockEditProps, panelOrTab: SimpleNativePanel | SimpleNativeTab | Array<SimpleNativePanel | SimpleNativeTab>);
|
|
9
8
|
get blockEditProps(): ActualBlockEditProps;
|
|
10
|
-
|
|
11
|
-
getValue(prop: Pick<SimpleNativeProperty, 'name' | 'default'>): any;
|
|
9
|
+
getValue(attr: string): any;
|
|
12
10
|
setValue(attr: string, value: any): void;
|
|
13
|
-
|
|
11
|
+
handlesProperty(name: string): boolean;
|
|
12
|
+
reattach(explicitBlockEditProps: ActualBlockEditProps): this;
|
|
14
13
|
protected abstract getAttribute(name: string): any;
|
|
15
14
|
protected abstract setAttribute(name: string, value: any): void;
|
|
16
|
-
injectDefaultsFromProperties
|
|
15
|
+
private injectDefaultsFromProperties;
|
|
17
16
|
}
|
|
@@ -1,57 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export class SNPDataStore {
|
|
2
|
+
explicitBlockEditProps;
|
|
3
|
+
attributeCache = Object.create(null);
|
|
4
|
+
managedPropertyNames;
|
|
5
|
+
constructor(explicitBlockEditProps, panelOrTab) {
|
|
5
6
|
this.explicitBlockEditProps = explicitBlockEditProps;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
else {
|
|
12
|
-
for (const item of panelOrTab.items) {
|
|
13
|
-
if ('properties' in item) {
|
|
14
|
-
this.injectDefaultsFromProperties(item.properties);
|
|
15
|
-
}
|
|
16
|
-
else if (Array.isArray(item)) {
|
|
17
|
-
this.injectDefaultsFromProperties(item);
|
|
7
|
+
const managedPropertyNames = Object.create(null);
|
|
8
|
+
if (Array.isArray(panelOrTab)) {
|
|
9
|
+
for (const pot of panelOrTab) {
|
|
10
|
+
if ('properties' in pot) {
|
|
11
|
+
this.injectDefaultsFromProperties(pot.properties, managedPropertyNames);
|
|
18
12
|
}
|
|
19
13
|
else {
|
|
20
|
-
|
|
14
|
+
for (const item of pot.items) {
|
|
15
|
+
if ('properties' in item) {
|
|
16
|
+
this.injectDefaultsFromProperties(item.properties, managedPropertyNames);
|
|
17
|
+
}
|
|
18
|
+
else if (Array.isArray(item)) {
|
|
19
|
+
this.injectDefaultsFromProperties(item, managedPropertyNames);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.injectDefaultsFromProperties([item], managedPropertyNames);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if ('properties' in panelOrTab) {
|
|
30
|
+
this.injectDefaultsFromProperties(panelOrTab.properties, managedPropertyNames);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
for (const item of panelOrTab.items) {
|
|
34
|
+
if ('properties' in item) {
|
|
35
|
+
this.injectDefaultsFromProperties(item.properties, managedPropertyNames);
|
|
36
|
+
}
|
|
37
|
+
else if (Array.isArray(item)) {
|
|
38
|
+
this.injectDefaultsFromProperties(item, managedPropertyNames);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.injectDefaultsFromProperties([item], managedPropertyNames);
|
|
42
|
+
}
|
|
21
43
|
}
|
|
22
44
|
}
|
|
23
45
|
}
|
|
46
|
+
this.managedPropertyNames = managedPropertyNames;
|
|
24
47
|
}
|
|
25
48
|
get blockEditProps() {
|
|
26
49
|
return this.explicitBlockEditProps;
|
|
27
50
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
getValue(prop) {
|
|
32
|
-
if (prop.name in this.attributeCache) {
|
|
33
|
-
return this.attributeCache[prop.name];
|
|
51
|
+
getValue(attr) {
|
|
52
|
+
if (attr in this.attributeCache) {
|
|
53
|
+
return this.attributeCache[attr];
|
|
34
54
|
}
|
|
35
|
-
const existingValue = this.getAttribute(
|
|
36
|
-
return this.attributeCache[
|
|
55
|
+
const existingValue = this.getAttribute(attr);
|
|
56
|
+
return this.attributeCache[attr] = existingValue;
|
|
37
57
|
}
|
|
38
58
|
setValue(attr, value) {
|
|
39
59
|
this.attributeCache[attr] = value;
|
|
40
60
|
return this.setAttribute(attr, value);
|
|
41
61
|
}
|
|
42
|
-
|
|
62
|
+
handlesProperty(name) {
|
|
63
|
+
return name in this.managedPropertyNames;
|
|
64
|
+
}
|
|
65
|
+
reattach(explicitBlockEditProps) {
|
|
43
66
|
this.explicitBlockEditProps = explicitBlockEditProps;
|
|
44
|
-
this.explicitParent = parent;
|
|
45
67
|
this.attributeCache = Object.create(null);
|
|
46
68
|
return this;
|
|
47
69
|
}
|
|
48
|
-
injectDefaultsFromProperties(properties) {
|
|
70
|
+
injectDefaultsFromProperties(properties, managedPropertyNames) {
|
|
49
71
|
for (const property of properties) {
|
|
50
72
|
if (Array.isArray(property)) {
|
|
51
|
-
this.injectDefaultsFromProperties(property);
|
|
73
|
+
this.injectDefaultsFromProperties(property, managedPropertyNames);
|
|
52
74
|
}
|
|
53
|
-
else
|
|
54
|
-
this.
|
|
75
|
+
else {
|
|
76
|
+
if (this.getAttribute(property.name) === undefined && property.default !== undefined) {
|
|
77
|
+
this.setAttribute(property.name, property.default);
|
|
78
|
+
}
|
|
79
|
+
managedPropertyNames[property.name] = true;
|
|
55
80
|
}
|
|
56
81
|
}
|
|
57
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snp-data-store.js","sourceRoot":"","sources":["../../src/blocks/snp-data-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snp-data-store.js","sourceRoot":"","sources":["../../src/blocks/snp-data-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TokenItem } from "@wordpress/components/build-types/form-token-field/types";
|
|
2
|
-
import
|
|
2
|
+
import type { SNPControlSlots } from "../blocks";
|
|
3
3
|
export declare const enum ValidationState {
|
|
4
4
|
Valid = "success",
|
|
5
5
|
Invalid = "error",
|
|
@@ -14,7 +14,7 @@ type AsynchronousFormTokenFieldPropsBase = {
|
|
|
14
14
|
makeTokenFromSuggestion(suggestion: string): TokenItem;
|
|
15
15
|
validator?: (value: string) => boolean;
|
|
16
16
|
expandOnFocus?: boolean;
|
|
17
|
-
}
|
|
17
|
+
} & Partial<Pick<SNPControlSlots, 'Messages'>>;
|
|
18
18
|
type AsynchronousFormTokenFieldPropsSingle = AsynchronousFormTokenFieldPropsBase & {
|
|
19
19
|
value?: string;
|
|
20
20
|
onChange: (value: string) => void;
|
|
@@ -26,5 +26,5 @@ type AsynchronousFormTokenFieldPropsMultiple = AsynchronousFormTokenFieldPropsBa
|
|
|
26
26
|
multiple?: true | undefined;
|
|
27
27
|
};
|
|
28
28
|
export type AsynchronousFormTokenFieldProps = AsynchronousFormTokenFieldPropsSingle | AsynchronousFormTokenFieldPropsMultiple;
|
|
29
|
-
export declare function AsynchronousFormTokenField(props: AsynchronousFormTokenFieldProps):
|
|
29
|
+
export declare function AsynchronousFormTokenField(props: AsynchronousFormTokenFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
30
30
|
export {};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
2
|
import { Spinner, FormTokenField } from '@wordpress/components';
|
|
2
3
|
import { __ } from "@wordpress/i18n";
|
|
3
4
|
import { useMultiSingleConversionLayer } from "./hooks/useMultiSingleConversionLayer";
|
|
4
5
|
import { useSuggestions } from "./hooks/useSuggestions";
|
|
5
6
|
import { useTokenManager } from "./hooks/useTokenManager";
|
|
6
|
-
import
|
|
7
|
+
import { useCallback } from "react";
|
|
7
8
|
// The strange values correspond to the literals that are expected by TokenItem.status, which allows the assignment code to be cleaner
|
|
8
9
|
export var ValidationState;
|
|
9
10
|
(function (ValidationState) {
|
|
@@ -22,24 +23,9 @@ export function AsynchronousFormTokenField(props) {
|
|
|
22
23
|
const displayTransform = useCallback((token) => tokenTitleMappings[token] ?? token, [tokenTitleMappings]);
|
|
23
24
|
const onFocus = useCallback(() => setInput(input), [input]);
|
|
24
25
|
if (isInitializing) {
|
|
25
|
-
return
|
|
26
|
+
return _jsx(Spinner, {});
|
|
26
27
|
}
|
|
27
28
|
//TODO: If focus is in field but user hasn't started typing, show a message telling them to start typing
|
|
28
|
-
return
|
|
29
|
-
React.createElement(FormTokenField, { value: currentTokens, label: props.label, placeholder: "Start typing to see suggestions", suggestions: suggestions, onChange: dispatchValueUpdate, maxLength: props.multiple === false ? 1 : undefined, __experimentalValidateInput: props.validator, __experimentalAutoSelectFirstMatch: true, __experimentalExpandOnFocus: expandOnFocus, displayTransform: displayTransform, onInputChange: setInput, onFocus: onFocus }),
|
|
30
|
-
help && React.createElement("div", null,
|
|
31
|
-
React.createElement("span", { className: "components-form-token-field__help" }, help)),
|
|
32
|
-
hasLoadingError && React.createElement("div", null,
|
|
33
|
-
React.createElement(Spinner, null),
|
|
34
|
-
React.createElement("span", { className: "components-form-token-field__help" }, __("An Error Occurred While Loading Suggestions"))),
|
|
35
|
-
isLoading && React.createElement("div", null,
|
|
36
|
-
React.createElement(Spinner, null),
|
|
37
|
-
React.createElement("span", { className: "components-form-token-field__help" }, __("Updating Suggestions"))),
|
|
38
|
-
hasValidationError && React.createElement("div", null,
|
|
39
|
-
React.createElement(Spinner, null),
|
|
40
|
-
React.createElement("span", { className: "components-form-token-field__help" }, __("An Error Occurred While Validating"))),
|
|
41
|
-
isValidating && React.createElement("div", null,
|
|
42
|
-
React.createElement(Spinner, null),
|
|
43
|
-
React.createElement("span", { className: "components-form-token-field__help" }, __("Validating"))));
|
|
29
|
+
return _jsxs(_Fragment, { children: [_jsx(FormTokenField, { value: currentTokens, label: props.label, placeholder: "Start typing to see suggestions", suggestions: suggestions, onChange: dispatchValueUpdate, maxLength: props.multiple === false ? 1 : undefined, __experimentalValidateInput: props.validator, __experimentalAutoSelectFirstMatch: true, __experimentalExpandOnFocus: expandOnFocus, displayTransform: displayTransform, onInputChange: setInput, onFocus: onFocus }), help && _jsx("div", { children: _jsx("span", { className: "components-form-token-field__help", children: help }) }), hasLoadingError && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("An Error Occurred While Loading Suggestions") })] }), isLoading && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Updating Suggestions") })] }), hasValidationError && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("An Error Occurred While Validating") })] }), isValidating && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Validating") })] })] });
|
|
44
30
|
}
|
|
45
31
|
//# sourceMappingURL=AsynchronousFormTokenField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsynchronousFormTokenField.js","sourceRoot":"","sources":["../../src/controls/AsynchronousFormTokenField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAC,EAAE,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"AsynchronousFormTokenField.js","sourceRoot":"","sources":["../../src/controls/AsynchronousFormTokenField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { SNPControlSlots } from "../blocks";
|
|
2
2
|
type ExtendedPostPickerPropsBase = {
|
|
3
3
|
label?: string;
|
|
4
4
|
help?: string;
|
|
5
5
|
postTypes?: string[];
|
|
6
6
|
placeholder?: string;
|
|
7
|
-
}
|
|
7
|
+
} & Partial<Pick<SNPControlSlots, 'Messages'>>;
|
|
8
8
|
type ExtendedPostPickerPropsSingle = ExtendedPostPickerPropsBase & {
|
|
9
9
|
onChange: (value: string) => void;
|
|
10
10
|
value?: string;
|
|
@@ -17,5 +17,5 @@ type ExtendedPostPickerPropsMultiple = ExtendedPostPickerPropsBase & {
|
|
|
17
17
|
};
|
|
18
18
|
export type ExtendedPostPickerProps = ExtendedPostPickerPropsSingle | ExtendedPostPickerPropsMultiple;
|
|
19
19
|
export type ExtendedPostPickerConstructorProps = ExtendedPostPickerProps;
|
|
20
|
-
export declare function ExtendedPostPicker(props: ExtendedPostPickerProps):
|
|
20
|
+
export declare function ExtendedPostPicker(props: ExtendedPostPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { AsynchronousFormTokenField, ValidationState } from "./AsynchronousFormTokenField";
|
|
2
3
|
import { isNumeric, requestPostsFromAPI } from "./shared";
|
|
3
|
-
import
|
|
4
|
+
import { useCallback } from "react";
|
|
4
5
|
export function ExtendedPostPicker(props) {
|
|
5
6
|
const { multiple, value, postTypes, ...remainder } = props;
|
|
6
7
|
const suggestionQuery = useCallback((input) => requestPostsFromAPI({ search: input, postTypes: postTypes?.join(',') })
|
|
@@ -8,10 +9,10 @@ export function ExtendedPostPicker(props) {
|
|
|
8
9
|
const validationQuery = useCallback((idsBeingValidated) => requestPostsFromAPI({ ids: idsBeingValidated.join(','), postTypes: postTypes?.join(',') })
|
|
9
10
|
.then(posts => posts.map((post) => ({ value: post.id, title: post.title, status: ValidationState.Valid }))), [postTypes]);
|
|
10
11
|
if (props.multiple === false) {
|
|
11
|
-
return
|
|
12
|
+
return _jsx(AsynchronousFormTokenField, { ...remainder, value: props.value, multiple: false, onChange: props.onChange, makeTokenFromSuggestion: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
|
|
12
13
|
}
|
|
13
14
|
else {
|
|
14
|
-
return
|
|
15
|
+
return _jsx(AsynchronousFormTokenField, { ...remainder, value: props.value, multiple: true, onChange: props.onChange, makeTokenFromSuggestion: makeTokenFromSuggestion, suggestionQuery: suggestionQuery, validationQuery: validationQuery, validator: validator });
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
function makeTokenFromSuggestion(token) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedPostPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedPostPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtendedPostPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedPostPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { WordPressComponentProps } from "@wordpress/components/build-types/context";
|
|
2
2
|
import type { RadioControlProps } from "@wordpress/components/build-types/radio-control/types";
|
|
3
|
-
import
|
|
3
|
+
import type { SNPControlSlots } from "../blocks";
|
|
4
4
|
export type ExtendedRadioControlProps = WordPressComponentProps<RadioControlProps & {
|
|
5
5
|
allowCustom?: boolean;
|
|
6
|
-
}, 'input', false>;
|
|
6
|
+
}, 'input', false> & Partial<SNPControlSlots>;
|
|
7
7
|
/**
|
|
8
8
|
* This is a variant of WordPress'
|
|
9
9
|
*/
|
|
10
|
-
export declare function ExtendedRadioControl(props: ExtendedRadioControlProps):
|
|
10
|
+
export declare function ExtendedRadioControl(props: ExtendedRadioControlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { BaseControl, __experimentalVStack as VStack } from "@wordpress/components";
|
|
2
3
|
import { useInstanceId } from "@wordpress/compose";
|
|
3
4
|
import { useCallback, useState } from "@wordpress/element";
|
|
4
|
-
import React from "react";
|
|
5
5
|
/**
|
|
6
6
|
* This is a variant of WordPress'
|
|
7
7
|
*/
|
|
8
8
|
export function ExtendedRadioControl(props) {
|
|
9
|
-
const { label, className, selected, help, onChange, hideLabelFromVision, options = [], allowCustom, ...additionalProps } = props;
|
|
9
|
+
const { label, className, selected, help, onChange, hideLabelFromVision, options = [], allowCustom, Label, Messages, ...additionalProps } = props;
|
|
10
10
|
const instanceId = useInstanceId(ExtendedRadioControl);
|
|
11
11
|
const id = `inspector-radio-control-${instanceId}`;
|
|
12
12
|
const [valueIsCustom, setValueIsCustom] = useState(() => options.find(option => option.value === selected) === undefined);
|
|
@@ -25,14 +25,6 @@ export function ExtendedRadioControl(props) {
|
|
|
25
25
|
}
|
|
26
26
|
const distinctnessSet = new Set();
|
|
27
27
|
const classNames = [...className?.split(/\s+/g) ?? [], 'components-radio-control'].filter(cn => distinctnessSet.add(cn)).join(' ');
|
|
28
|
-
return (
|
|
29
|
-
React.createElement(VStack, { spacing: 1 },
|
|
30
|
-
options.map((option, index) => (React.createElement("div", { key: `${id}-${index}`, className: "components-radio-control__option" },
|
|
31
|
-
React.createElement("input", { id: `${id}-${index}`, className: "components-radio-control__input", type: "radio", name: id, value: option.value, onChange: onChangeValue, checked: option.value === selected, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }),
|
|
32
|
-
React.createElement("label", { className: "components-radio-control__label", htmlFor: `${id}-${index}` }, option.label)))),
|
|
33
|
-
allowCustom && React.createElement("div", { key: `${id}-${options.length}`, className: "components-radio-control__option" },
|
|
34
|
-
React.createElement("input", { id: `${id}-${options.length}`, className: "components-radio-control__input", type: "radio", name: id, value: customValue ?? '', onChange: onChangeValue, checked: valueIsCustom, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }),
|
|
35
|
-
React.createElement("label", { id: `${id}-custom-label`, className: "components-radio-control__label", htmlFor: `${id}-${options.length}` }, "Custom:"),
|
|
36
|
-
React.createElement("input", { "aria-labelledby": `${id}-custom-label`, type: "text", value: customValue ?? '', onChange: onChangeCustom })))));
|
|
28
|
+
return (_jsxs(BaseControl, { __nextHasNoMarginBottom: true, label: Label ? _jsx(Label, {}) : label, id: id, hideLabelFromVision: hideLabelFromVision, help: help, className: classNames, children: [_jsxs(VStack, { spacing: 1, children: [options.map((option, index) => (_jsxs("div", { className: "components-radio-control__option", children: [_jsx("input", { id: `${id}-${index}`, className: "components-radio-control__input", type: "radio", name: id, value: option.value, onChange: onChangeValue, checked: option.value === selected, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), _jsx("label", { className: "components-radio-control__label", htmlFor: `${id}-${index}`, children: option.label })] }, `${id}-${index}`))), allowCustom && _jsxs("div", { className: "components-radio-control__option", children: [_jsx("input", { id: `${id}-${options.length}`, className: "components-radio-control__input", type: "radio", name: id, value: customValue ?? '', onChange: onChangeValue, checked: valueIsCustom, "aria-describedby": !!help ? `${id}__help` : undefined, ...additionalProps }), _jsx("label", { id: `${id}-custom-label`, className: "components-radio-control__label", htmlFor: `${id}-${options.length}`, children: "Custom:" }), _jsx("input", { "aria-labelledby": `${id}-custom-label`, type: "text", value: customValue ?? '', onChange: onChangeCustom })] }, `${id}-${options.length}`)] }), Messages && _jsx(Messages, {})] }));
|
|
37
29
|
}
|
|
38
30
|
//# sourceMappingURL=ExtendedRadioControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendedRadioControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedRadioControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAE,oBAAoB,IAAI,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtendedRadioControl.js","sourceRoot":"","sources":["../../src/controls/ExtendedRadioControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ProvidedSlot } from "../blocks";
|
|
2
2
|
export type ImageData = {
|
|
3
3
|
media?: {
|
|
4
4
|
id?: number;
|
|
@@ -15,5 +15,7 @@ export type ImageControlProps = {
|
|
|
15
15
|
help?: string;
|
|
16
16
|
onChange: (value?: Record<string | number, unknown>) => void;
|
|
17
17
|
value?: ImageData;
|
|
18
|
+
Label?: ProvidedSlot;
|
|
19
|
+
Messages?: ProvidedSlot;
|
|
18
20
|
};
|
|
19
|
-
export declare function ImageControl(props: ImageControlProps):
|
|
21
|
+
export declare function ImageControl(props: ImageControlProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
2
|
import { MediaUpload, MediaUploadCheck } from "@wordpress/block-editor";
|
|
2
3
|
import { BaseControl, Button, FocalPointPicker, ResponsiveWrapper, useBaseControlProps } from "@wordpress/components";
|
|
3
4
|
import { useSelect } from "@wordpress/data";
|
|
4
5
|
import { useCallback, useMemo } from "@wordpress/element";
|
|
5
6
|
import { __ } from "@wordpress/i18n";
|
|
6
|
-
import React from "react";
|
|
7
7
|
export function ImageControl(props) {
|
|
8
|
-
const { label, help, value } = props;
|
|
8
|
+
const { label, help, value, Label, Messages } = props;
|
|
9
9
|
const media = useSelect(select => value?.media?.id ? select('core').getMedia(value.media.id) : undefined, [value]);
|
|
10
|
-
const { baseControlProps, controlProps } = useBaseControlProps({ label, help });
|
|
11
|
-
return
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
: React.createElement(ImageControlWithoutUploadedImage, { ...props, media: media })));
|
|
10
|
+
const { baseControlProps, controlProps } = useBaseControlProps({ label: props.Label ? _jsx(props.Label, {}) : label, help });
|
|
11
|
+
return _jsxs(BaseControl, { ...baseControlProps, children: [_jsx("div", { ...controlProps, className: "editor-post-featured-image", children: media
|
|
12
|
+
? _jsx(ImageControlWithUploadedImage, { ...props, media: media })
|
|
13
|
+
: _jsx(ImageControlWithoutUploadedImage, { ...props, media: media }) }), props.Messages && _jsx(props.Messages, {})] });
|
|
15
14
|
}
|
|
16
15
|
const ALLOWED_TYPES = ['image'];
|
|
17
16
|
function ImageControlWithUploadedImage(props) {
|
|
18
17
|
const { includeFocalPointPicker, media, onChange, value } = props;
|
|
19
18
|
const onFPPChange = useCallback((pos) => onChange(mergeInUpdatedValuePart(value, 'pos', { x: pos.x * 100, y: pos.y * 100 })), [onChange, value]);
|
|
20
19
|
const onSelect = useCallback((media) => onChange(mergeInUpdatedValuePart(value, 'media', media)), [onChange, value]);
|
|
21
|
-
const renderOpenButton = useCallback(({ open }) =>
|
|
20
|
+
const renderOpenButton = useCallback(({ open }) => _jsx(Button, { onClick: open, variant: "secondary", children: __('Replace image', 'plaudit') }), []);
|
|
22
21
|
const clear = useCallback(() => onChange(undefined), [onChange]);
|
|
23
22
|
const fppValue = useMemo(() => ({
|
|
24
23
|
x: (value?.pos?.x ?? 50) / 100,
|
|
@@ -26,28 +25,22 @@ function ImageControlWithUploadedImage(props) {
|
|
|
26
25
|
}), [value?.pos?.x, value?.pos?.y]);
|
|
27
26
|
let fppOrMedia;
|
|
28
27
|
if (includeFocalPointPicker !== false) {
|
|
29
|
-
fppOrMedia =
|
|
28
|
+
fppOrMedia = _jsx(FocalPointPicker, { onChange: onFPPChange, url: value?.media?.url ?? '', value: fppValue });
|
|
30
29
|
}
|
|
31
30
|
else {
|
|
32
|
-
fppOrMedia =
|
|
33
|
-
React.createElement("img", { src: value?.media?.url ?? '', alt: "The currently-selected image." }));
|
|
31
|
+
fppOrMedia = _jsx(ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: _jsx("img", { src: value?.media?.url ?? '', alt: "The currently-selected image." }) });
|
|
34
32
|
}
|
|
35
|
-
return
|
|
36
|
-
value?.media?.url && fppOrMedia,
|
|
37
|
-
React.createElement(MediaUploadCheck, null,
|
|
38
|
-
React.createElement(MediaUpload, { title: __('Replace image', 'plaudit'), value: value?.media?.id ?? 0, onSelect: onSelect, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }),
|
|
39
|
-
React.createElement(Button, { onClick: clear, isDestructive: true }, __('Remove image', 'plaudit'))));
|
|
33
|
+
return _jsxs(_Fragment, { children: [value?.media?.url && fppOrMedia, _jsxs(MediaUploadCheck, { children: [_jsx(MediaUpload, { title: __('Replace image', 'plaudit'), value: value?.media?.id ?? 0, onSelect: onSelect, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }), _jsx(Button, { onClick: clear, isDestructive: true, children: __('Remove image', 'plaudit') })] })] });
|
|
40
34
|
}
|
|
41
35
|
function ImageControlWithoutUploadedImage(props) {
|
|
42
36
|
const { media, onChange, value } = props;
|
|
43
37
|
const onSelect = useCallback((media) => onChange(mergeInUpdatedValuePart(value, 'media', media)), [onChange, value]);
|
|
44
|
-
const renderOpenButton = useCallback(({ open }) => (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return
|
|
50
|
-
React.createElement(MediaUpload, { onSelect: onSelect, value: value?.media?.id ?? 0, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }));
|
|
38
|
+
const renderOpenButton = useCallback(({ open }) => (_jsxs(Button, { className: !value?.media?.id ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview', onClick: open, children: [!value?.media?.id && __('Choose an image', 'plaudit'), media &&
|
|
39
|
+
_jsx(ResponsiveWrapper, { naturalWidth: parsePossiblyUndefinedFloat(media.media_details["width"]), naturalHeight: parsePossiblyUndefinedFloat(media.media_details["height"]), children: _jsx("img", { src: media.source_url, alt: "The currently-selected image." }) })] })), [media, value?.media?.id]);
|
|
40
|
+
return _jsx(MediaUploadCheck, { children: _jsx(MediaUpload, { onSelect: onSelect, value: value?.media?.id ?? 0, allowedTypes: ALLOWED_TYPES, render: renderOpenButton }) });
|
|
41
|
+
}
|
|
42
|
+
function parsePossiblyUndefinedFloat(string) {
|
|
43
|
+
return string !== undefined ? parseFloat(string) : undefined;
|
|
51
44
|
}
|
|
52
45
|
function mergeInUpdatedValuePart(value, partName, part) {
|
|
53
46
|
if (part === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAGpH,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAC,EAAE,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageControl.js","sourceRoot":"","sources":["../../src/controls/ImageControl.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InspectorControls } from "@wordpress/block-editor";
|
|
2
2
|
import type { PanelBodyProps } from "@wordpress/components/build-types/panel/types";
|
|
3
3
|
import type { TabPanelProps } from "@wordpress/components/build-types/tab-panel/types";
|
|
4
|
-
import
|
|
4
|
+
import { type ReactNode } from "react";
|
|
5
5
|
type Tab = TabPanelProps['tabs'][number] & {
|
|
6
6
|
items: ReactNode;
|
|
7
7
|
};
|
|
@@ -17,5 +17,5 @@ export type InspectorPanelProps = (NormalPanelInspectorPanelProps | TabbedPanelI
|
|
|
17
17
|
group?: string;
|
|
18
18
|
condition?(): boolean;
|
|
19
19
|
};
|
|
20
|
-
export declare function InspectorPanel(props: InspectorPanelProps):
|
|
20
|
+
export declare function InspectorPanel(props: InspectorPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
export {};
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { InspectorControls } from "@wordpress/block-editor";
|
|
2
3
|
import { Panel, PanelBody, TabPanel } from "@wordpress/components";
|
|
3
|
-
import React from "react";
|
|
4
4
|
export function InspectorPanel(props) {
|
|
5
|
-
const FullyTypedInspectorControls = InspectorControls;
|
|
6
5
|
if (props["tabbed"]) {
|
|
7
6
|
const { tabbed, tabs, group, condition, ...tabPanelProps } = props;
|
|
8
|
-
return
|
|
9
|
-
React.createElement(TabPanel, { ...tabPanelProps, tabs: condition === undefined || condition() ? tabs : [] }, tab => React.createElement(Panel, null, tab.items)));
|
|
7
|
+
return _jsx(InspectorControls, { group: group, children: _jsx(TabPanel, { ...tabPanelProps, tabs: condition === undefined || condition() ? tabs : [], children: tab => _jsx(Panel, { children: tab.items }) }) });
|
|
10
8
|
}
|
|
11
9
|
else {
|
|
12
10
|
const { tabbed, raw, group, condition, children, ...panelBodyProps } = props;
|
|
13
|
-
return
|
|
11
|
+
return _jsx(InspectorControls, { group: group, children: raw
|
|
14
12
|
? (condition === undefined || condition() ? children : [])
|
|
15
|
-
:
|
|
13
|
+
: _jsx(PanelBody, { ...panelBodyProps, children: condition === undefined || condition() ? children : [] }) });
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
16
|
//# sourceMappingURL=InspectorPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../src/controls/InspectorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../src/controls/InspectorPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAUjE,MAAM,UAAU,cAAc,CAAC,KAA0B;IACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,aAAa,EAAC,GAAG,KAAK,CAAC;QACjE,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,QAAQ,OAAK,aAAa,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YACnF,GAAG,CAAC,EAAE,CAAC,KAAC,KAAK,cAAG,GAAW,CAAC,KAAK,GAAS,GACjC,GACQ,CAAC;IACtB,CAAC;SAAM,CAAC;QACP,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAC7C,GAAG,cAAc,EAAC,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;gBACpD,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,CAAC,CAAC,KAAC,SAAS,OAAK,cAAc,EAAE,QAAQ,EAAE,SAAS,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAI,GAClG,CAAC;IACN,CAAC;AACF,CAAC"}
|