@plaudit/gutenberg-api-extensions 2.7.0 → 2.8.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.
Files changed (88) hide show
  1. package/build/blocks/common-native-property-implementations.js +22 -41
  2. package/build/blocks/common-native-property-implementations.js.map +1 -0
  3. package/build/blocks/index.js +1 -0
  4. package/build/blocks/index.js.map +1 -0
  5. package/build/blocks/layered-styles.js +11 -15
  6. package/build/blocks/layered-styles.js.map +1 -0
  7. package/build/blocks/simple-block.js +21 -21
  8. package/build/blocks/simple-block.js.map +1 -0
  9. package/build/blocks/simple-native-property.js +65 -68
  10. package/build/blocks/simple-native-property.js.map +1 -0
  11. package/build/controls/AsynchronousFormTokenField.js +112 -0
  12. package/build/controls/AsynchronousFormTokenField.js.map +1 -0
  13. package/build/controls/ExtendedPostPicker.js +34 -0
  14. package/build/controls/ExtendedPostPicker.js.map +1 -0
  15. package/build/controls/InspectorPanel.js +3 -3
  16. package/build/controls/InspectorPanel.js.map +1 -0
  17. package/build/controls/PickOne.js +9 -10
  18. package/build/controls/PickOne.js.map +1 -0
  19. package/build/controls/SimpleToggle.js +3 -2
  20. package/build/controls/SimpleToggle.js.map +1 -0
  21. package/build/controls/index.js +3 -0
  22. package/build/controls/index.js.map +1 -0
  23. package/build/controls/types.js +1 -0
  24. package/build/controls/types.js.map +1 -0
  25. package/build/index.js +1 -0
  26. package/build/index.js.map +1 -0
  27. package/build/lib/plaudit-icons/column-1.js +3 -3
  28. package/build/lib/plaudit-icons/column-1.js.map +1 -0
  29. package/build/lib/plaudit-icons/column-2.js +3 -3
  30. package/build/lib/plaudit-icons/column-2.js.map +1 -0
  31. package/build/lib/plaudit-icons/column-3.js +3 -3
  32. package/build/lib/plaudit-icons/column-3.js.map +1 -0
  33. package/build/lib/plaudit-icons/placement-center.js +3 -3
  34. package/build/lib/plaudit-icons/placement-center.js.map +1 -0
  35. package/build/lib/plaudit-icons/placement-end.js +3 -3
  36. package/build/lib/plaudit-icons/placement-end.js.map +1 -0
  37. package/build/lib/plaudit-icons/placement-start.js +3 -3
  38. package/build/lib/plaudit-icons/placement-start.js.map +1 -0
  39. package/build/lib/plaudit-icons/placement-stretch.js +3 -3
  40. package/build/lib/plaudit-icons/placement-stretch.js.map +1 -0
  41. package/build/lib/plaudit-icons/plaudit-icon.js +3 -3
  42. package/build/lib/plaudit-icons/plaudit-icon.js.map +1 -0
  43. package/build/lib/plaudit-icons/reusable-block-marker.js +3 -3
  44. package/build/lib/plaudit-icons/reusable-block-marker.js.map +1 -0
  45. package/build/lib/plaudit-icons.js +1 -0
  46. package/build/lib/plaudit-icons.js.map +1 -0
  47. package/package.json +14 -11
  48. package/src/blocks/common-native-property-implementations.tsx +271 -0
  49. package/src/blocks/index.ts +12 -0
  50. package/src/blocks/layered-styles.tsx +108 -0
  51. package/src/blocks/simple-block.tsx +72 -0
  52. package/src/blocks/simple-native-property.tsx +200 -0
  53. package/src/controls/AsynchronousFormTokenField.tsx +151 -0
  54. package/src/controls/ExtendedPostPicker.tsx +50 -0
  55. package/src/controls/InspectorPanel.tsx +16 -0
  56. package/src/controls/PickOne.tsx +80 -0
  57. package/src/controls/SimpleToggle.tsx +9 -0
  58. package/{build/controls/index.d.ts → src/controls/index.ts} +2 -0
  59. package/src/controls/types.ts +11 -0
  60. package/src/lib/plaudit-icons/column-1.tsx +8 -0
  61. package/src/lib/plaudit-icons/column-2.tsx +8 -0
  62. package/src/lib/plaudit-icons/column-3.tsx +8 -0
  63. package/src/lib/plaudit-icons/placement-center.tsx +5 -0
  64. package/src/lib/plaudit-icons/placement-end.tsx +5 -0
  65. package/src/lib/plaudit-icons/placement-start.tsx +5 -0
  66. package/src/lib/plaudit-icons/placement-stretch.tsx +5 -0
  67. package/src/lib/plaudit-icons/plaudit-icon.tsx +6 -0
  68. package/src/lib/plaudit-icons/reusable-block-marker.tsx +5 -0
  69. package/{build/lib/plaudit-icons.d.ts → src/lib/plaudit-icons.ts} +4 -0
  70. package/build/blocks/common-native-property-implementations.d.ts +0 -60
  71. package/build/blocks/index.d.ts +0 -5
  72. package/build/blocks/layered-styles.d.ts +0 -31
  73. package/build/blocks/simple-block.d.ts +0 -22
  74. package/build/blocks/simple-native-property.d.ts +0 -30
  75. package/build/controls/InspectorPanel.d.ts +0 -6
  76. package/build/controls/PickOne.d.ts +0 -19
  77. package/build/controls/SimpleToggle.d.ts +0 -3
  78. package/build/controls/types.d.ts +0 -12
  79. package/build/lib/plaudit-icons/column-1.d.ts +0 -2
  80. package/build/lib/plaudit-icons/column-2.d.ts +0 -2
  81. package/build/lib/plaudit-icons/column-3.d.ts +0 -2
  82. package/build/lib/plaudit-icons/placement-center.d.ts +0 -2
  83. package/build/lib/plaudit-icons/placement-end.d.ts +0 -2
  84. package/build/lib/plaudit-icons/placement-start.d.ts +0 -2
  85. package/build/lib/plaudit-icons/placement-stretch.d.ts +0 -2
  86. package/build/lib/plaudit-icons/plaudit-icon.d.ts +0 -2
  87. package/build/lib/plaudit-icons/reusable-block-marker.d.ts +0 -2
  88. /package/{build/index.d.ts → src/index.ts} +0 -0
@@ -0,0 +1,112 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Spinner, FormTokenField } from '@wordpress/components';
3
+ import { __ } from "@wordpress/i18n";
4
+ import { useEffect, useState } from '@wordpress/element';
5
+ import debounce from "debounce";
6
+ // The strange values correspond to the literals that are expected by TokenItem.status, which allows the assignment code to be cleaner
7
+ export var ValidationState;
8
+ (function (ValidationState) {
9
+ ValidationState["Valid"] = "success";
10
+ ValidationState["Invalid"] = "error";
11
+ ValidationState["Validating"] = "validating";
12
+ })(ValidationState || (ValidationState = {}));
13
+ export function AsynchronousFormTokenField(props) {
14
+ const [isInitializing, setIsInitializing] = useState(true);
15
+ const [isLoading, setIsLoading] = useState(false);
16
+ const [isValidating, setIsValidating] = useState(false);
17
+ const [currentTokens, setCurrentTokens] = useState([]);
18
+ const [suggestions, setSuggestions] = useState([]);
19
+ const [myValidationRequestQueue] = useState(() => ({
20
+ queue: Promise.resolve(true), currentRequest: 0,
21
+ trigger(currentTokens) {
22
+ const tokensInNeedOfValidation = currentTokens.filter(token => token.status === ValidationState.Validating);
23
+ if (tokensInNeedOfValidation.length > 0) {
24
+ setIsValidating(true);
25
+ const myNumber = ++myValidationRequestQueue.currentRequest;
26
+ myValidationRequestQueue.queue = myValidationRequestQueue.queue.then(async () => {
27
+ const tokensBeingValidatedList = tokensInNeedOfValidation.map(token => token.value).filter(value => !props.validValues.has(value));
28
+ if (tokensBeingValidatedList.length > 0) {
29
+ const tokensBeingValidated = new Set(tokensBeingValidatedList);
30
+ for (const value of tokensBeingValidatedList) {
31
+ props.validValues.set(value, ValidationState.Validating);
32
+ }
33
+ const validatedTokens = await props.validationQuery(tokensBeingValidatedList);
34
+ for (const validToken of validatedTokens) {
35
+ tokensBeingValidated.delete(validToken.value);
36
+ props.validValues.set(validToken.value, ValidationState.Valid);
37
+ }
38
+ for (const value of tokensBeingValidated) {
39
+ if (props.validValues.get(value) === ValidationState.Validating) {
40
+ props.validValues.set(value, ValidationState.Invalid);
41
+ }
42
+ }
43
+ }
44
+ if (myNumber === myValidationRequestQueue.currentRequest) {
45
+ let changed = false;
46
+ for (const token of currentTokens) {
47
+ if (token.status === ValidationState.Validating) {
48
+ const status = props.validValues.get(token.value);
49
+ if (status !== undefined && token.status !== status) {
50
+ changed = true;
51
+ token.status = status;
52
+ }
53
+ }
54
+ }
55
+ if (changed) {
56
+ setCurrentTokens(currentTokens);
57
+ }
58
+ setIsValidating(false);
59
+ }
60
+ return true;
61
+ });
62
+ }
63
+ }
64
+ }));
65
+ const [mySuggestionRequestQueue] = useState(() => ({
66
+ queue: Promise.resolve(true),
67
+ currentRequest: 0,
68
+ debouncer: debounce(input => {
69
+ if (input.length < 2) {
70
+ setSuggestions([]);
71
+ }
72
+ else {
73
+ setIsLoading(true);
74
+ const myNumber = ++mySuggestionRequestQueue.currentRequest;
75
+ mySuggestionRequestQueue.queue = mySuggestionRequestQueue.queue.then(async () => {
76
+ if (myNumber === mySuggestionRequestQueue.currentRequest) {
77
+ setSuggestions(await props.suggestionQuery(input));
78
+ setIsLoading(false);
79
+ }
80
+ return true;
81
+ });
82
+ }
83
+ }, 500)
84
+ }));
85
+ useEffect(() => {
86
+ props.validationQuery(props.value).then(data => {
87
+ const tokenLabels = new Map();
88
+ for (const rep of data) {
89
+ tokenLabels.set(rep.value, rep.title);
90
+ props.validValues.set(rep.value, ValidationState.Valid);
91
+ }
92
+ for (const value of props.value) {
93
+ if (!props.validValues.has(value)) {
94
+ props.validValues.set(value, ValidationState.Invalid);
95
+ }
96
+ }
97
+ setCurrentTokens(props.value.map(value => ({ value, title: tokenLabels.get(value) ?? value, status: props.validValues.get(value) })));
98
+ setIsInitializing(false);
99
+ });
100
+ }, []);
101
+ useEffect(() => myValidationRequestQueue.trigger(currentTokens), [currentTokens]);
102
+ if (isInitializing) {
103
+ return _jsx(Spinner, {});
104
+ }
105
+ const tokenTitleMappings = new Map(currentTokens.map(currentToken => [currentToken.value, currentToken.title]));
106
+ return _jsxs(_Fragment, { children: [_jsx(FormTokenField, { value: currentTokens, label: props.label, placeholder: "Start typing to see suggestions", suggestions: suggestions, onChange: tokens => {
107
+ const tokenItems = tokens.map(token => typeof token === 'string' ? props.makeTokenFromSuggestion(token) : token);
108
+ props.onChange(tokenItems.map(token => token.value));
109
+ setCurrentTokens(tokenItems);
110
+ }, __experimentalValidateInput: props.validator, __experimentalAutoSelectFirstMatch: true, displayTransform: token => tokenTitleMappings.get(token) ?? token, onInputChange: mySuggestionRequestQueue.debouncer }), isLoading && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Updating Suggestions") })] }), isValidating && _jsxs("div", { children: [_jsx(Spinner, {}), _jsx("span", { className: "components-form-token-field__help", children: __("Validating") })] })] });
111
+ }
112
+ //# sourceMappingURL=AsynchronousFormTokenField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsynchronousFormTokenField.js","sourceRoot":"","sources":["../../src/controls/AsynchronousFormTokenField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import apiFetch from '@wordpress/api-fetch';
3
+ import { AsynchronousFormTokenField, ValidationState } from "./AsynchronousFormTokenField";
4
+ import { useState } from "@wordpress/element";
5
+ import { addQueryArgs } from "@wordpress/url";
6
+ async function makeAPIRequest(data) {
7
+ return (await apiFetch({ path: addQueryArgs("/plaudit/common/v1/post-table-search", data) }))
8
+ .map(item => ({ id: item.id.toString(), title: item.title }));
9
+ }
10
+ export function ExtendedPostPicker(props) {
11
+ const [validPostIds, _] = useState(new Map());
12
+ const value = props.value ?? [];
13
+ return _jsx(AsynchronousFormTokenField, { ...props, value: value, makeTokenFromSuggestion: token => {
14
+ if (isNumeric(token)) {
15
+ return { value: token, status: validPostIds.get(token) ?? ValidationState.Validating, title: token };
16
+ }
17
+ else {
18
+ const tokenId = /\(#([0-9]+)\)$/.exec(token)?.[1];
19
+ if (tokenId) {
20
+ return { value: tokenId, status: validPostIds.get(tokenId) ?? ValidationState.Validating, title: token };
21
+ }
22
+ return { value: token, status: ValidationState.Invalid, title: token };
23
+ }
24
+ }, suggestionQuery: input => makeAPIRequest({ search: input, postTypes: props.postTypes?.join(',') })
25
+ .then(posts => posts.map(post => `${post.title} (#${post.id})`)), validationQuery: idsBeingValidated => makeAPIRequest({ ids: idsBeingValidated.join(','), postTypes: props.postTypes?.join(',') })
26
+ .then(posts => posts.map(post => ({ value: post.id, title: post.title, status: ValidationState.Valid }))), validValues: validPostIds, validator: token => /\(#([0-9]+)\)$/.exec(token)?.[1] !== undefined });
27
+ }
28
+ function isNumeric(str) {
29
+ if (typeof str !== "string")
30
+ return true; // we only process strings!
31
+ return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
32
+ !isNaN(parseFloat(str)); // ...and ensure strings of whitespace fail
33
+ }
34
+ //# sourceMappingURL=ExtendedPostPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtendedPostPicker.js","sourceRoot":"","sources":["../../src/controls/ExtendedPostPicker.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { InspectorControls } from "@wordpress/block-editor";
2
3
  import { PanelBody } from "@wordpress/components";
3
- import React from "react";
4
4
  export function InspectorPanel(props) {
5
5
  const FullyTypedInspectorControls = InspectorControls;
6
- return React.createElement(FullyTypedInspectorControls, { group: props.group },
7
- React.createElement(PanelBody, Object.assign({}, props, { children: props.condition === undefined || props.condition() ? props.children : [] })));
6
+ return _jsx(FullyTypedInspectorControls, { group: props.group, children: _jsx(PanelBody, { ...props, children: props.condition === undefined || props.condition() ? props.children : [] }) });
8
7
  }
8
+ //# sourceMappingURL=InspectorPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../src/controls/InspectorPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAQhD,MAAM,UAAU,cAAc,CAAC,KAA6D;IAC3F,MAAM,2BAA2B,GAAG,iBAA0C,CAAC;IAC/E,OAAO,KAAC,2BAA2B,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YACrD,KAAC,SAAS,OAAK,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAI,GAC/E,CAAC;AAChC,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, BaseControl, ColorPalette, RadioControl, SelectControl, useBaseControlProps } from "@wordpress/components";
2
- import React from "react";
3
3
  function makeSharedRadioAndSelectProps(props) {
4
4
  return {
5
5
  label: props.label,
@@ -12,18 +12,17 @@ function makeSharedRadioAndSelectProps(props) {
12
12
  };
13
13
  }
14
14
  export function PickOneFromToggleGroup(props) {
15
- return React.createElement(ToggleGroupControl, { label: props.label, value: props.attributes[props.attribute], onChange: value => props.setAttributes({ [props.attribute]: value }), children: props.options.map(([value, label]) => typeof label === 'string'
16
- ? React.createElement(ToggleGroupControlOption, { key: value, value: value, label: label })
17
- : React.createElement(ToggleGroupControlOptionIcon, { key: value, value: value, label: label.text, icon: label.icon })) });
15
+ return _jsx(ToggleGroupControl, { label: props.label, value: props.attributes[props.attribute], onChange: value => props.setAttributes({ [props.attribute]: value }), children: props.options.map(([value, label]) => typeof label === 'string'
16
+ ? _jsx(ToggleGroupControlOption, { value: value, label: label }, value)
17
+ : _jsx(ToggleGroupControlOptionIcon, { value: value, label: label.text, icon: label.icon }, value)) });
18
18
  }
19
19
  export function PickOneFromSelect(props) {
20
- return React.createElement(SelectControl, Object.assign({}, makeSharedRadioAndSelectProps(props), { value: props.attributes[props.attribute] }));
20
+ return _jsx(SelectControl, { ...makeSharedRadioAndSelectProps(props), value: props.attributes[props.attribute] });
21
21
  }
22
22
  export function PickOneFromRadios(props) {
23
- return React.createElement(RadioControl, Object.assign({}, makeSharedRadioAndSelectProps(props), { selected: props.attributes[props.attribute] }));
23
+ return _jsx(RadioControl, { ...makeSharedRadioAndSelectProps(props), selected: props.attributes[props.attribute] });
24
24
  }
25
25
  export function PickOneFromColors(props) {
26
- var _a;
27
26
  const valueToColorMap = new Map();
28
27
  const colorToValueMap = new Map();
29
28
  const colors = [];
@@ -40,8 +39,8 @@ export function PickOneFromColors(props) {
40
39
  colors.push({ color: value, name: display.text });
41
40
  }
42
41
  }
43
- const currentColor = (_a = valueToColorMap.get(props.attributes[props.attribute])) !== null && _a !== void 0 ? _a : props.attributes[props.attribute];
42
+ const currentColor = valueToColorMap.get(props.attributes[props.attribute]) ?? props.attributes[props.attribute];
44
43
  const { baseControlProps, controlProps } = useBaseControlProps({ label: props.label });
45
- return React.createElement(BaseControl, Object.assign({}, baseControlProps),
46
- React.createElement(ColorPalette, Object.assign({}, controlProps, { disableCustomColors: true, onChange: color => { var _a, _b; return props.setAttributes({ [props.attribute]: (_b = (_a = colorToValueMap.get(color !== null && color !== void 0 ? color : currentColor)) !== null && _a !== void 0 ? _a : color) !== null && _b !== void 0 ? _b : currentColor }); }, colors: colors, value: currentColor, clearable: false })));
44
+ return _jsx(BaseControl, { ...baseControlProps, children: _jsx(ColorPalette, { ...controlProps, disableCustomColors: true, onChange: color => props.setAttributes({ [props.attribute]: colorToValueMap.get(color ?? currentColor) ?? color ?? currentColor }), colors: colors, value: currentColor, clearable: false }) });
47
45
  }
46
+ //# sourceMappingURL=PickOne.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickOne.js","sourceRoot":"","sources":["../../src/controls/PickOne.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { ToggleControl } from "@wordpress/components";
2
- import React from "react";
3
3
  export function SimpleToggle(props) {
4
- return React.createElement(ToggleControl, { checked: props.attributes[props.attribute], label: props.label, onChange: checked => props.setAttributes({ [props.attribute]: checked }) });
4
+ return _jsx(ToggleControl, { checked: props.attributes[props.attribute], label: props.label, onChange: checked => props.setAttributes({ [props.attribute]: checked }) });
5
5
  }
6
+ //# sourceMappingURL=SimpleToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleToggle.js","sourceRoot":"","sources":["../../src/controls/SimpleToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAMpD,MAAM,UAAU,YAAY,CAAmB,KAA0C;IACxF,OAAO,KAAC,aAAa,IAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAC,CAAC,GAAI,CAAC;AAClK,CAAC"}
@@ -1,3 +1,6 @@
1
+ export * from "./AsynchronousFormTokenField";
2
+ export * from "./ExtendedPostPicker";
1
3
  export * from "./InspectorPanel";
2
4
  export * from "./SimpleToggle";
3
5
  export * from "./PickOne";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/controls/types.ts"],"names":[],"mappings":""}
package/build/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./blocks";
2
2
  export * from "./controls";
3
3
  export * from "./lib/plaudit-icons";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const iconColumn1 = React.createElement("svg", { width: 34, height: 24, viewBox: "0 0 34 24" },
3
- React.createElement("path", { d: "M32 2H2v20h30V2zM2 0C.9 0 0 .9 0 2v20c0 1.1.9 2 2 2h30c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2H2z", fillRule: "evenodd", clipRule: "evenodd" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const iconColumn1 = _jsx("svg", { width: 34, height: 24, viewBox: "0 0 34 24", children: _jsx("path", { d: "M32 2H2v20h30V2zM2 0C.9 0 0 .9 0 2v20c0 1.1.9 2 2 2h30c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2H2z", fillRule: "evenodd", clipRule: "evenodd" }) });
3
+ //# sourceMappingURL=column-1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-1.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/column-1.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,cAAK,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAC,WAAW,YACzE,eACC,CAAC,EAAC,2FAA2F,EAC7F,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,GACpC,GACG,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const iconColumn2 = React.createElement("svg", { width: 34, height: 24, viewBox: "0 0 34 24" },
3
- React.createElement("path", { d: "M32 0c1.1 0 2 .9 2 2v20c0 1.1-.9 2-2 2H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h30zm0 22V2H18v20h14zm-16 0H2V2h14v20z", fillRule: "evenodd", clipRule: "evenodd" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const iconColumn2 = _jsx("svg", { width: 34, height: 24, viewBox: "0 0 34 24", children: _jsx("path", { d: "M32 0c1.1 0 2 .9 2 2v20c0 1.1-.9 2-2 2H2c-1.1 0-2-.9-2-2V2C0 .9.9 0 2 0h30zm0 22V2H18v20h14zm-16 0H2V2h14v20z", fillRule: "evenodd", clipRule: "evenodd" }) });
3
+ //# sourceMappingURL=column-2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-2.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/column-2.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,cAAK,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAC,WAAW,YACzE,eACC,CAAC,EAAC,+GAA+G,EACjH,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,GACpC,GACG,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const iconColumn3 = React.createElement("svg", { width: 34, height: 24, viewBox: "0 0 34 24" },
3
- React.createElement("path", { d: "M34 2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2v20c0 1.1.9 2 2 2h30c1.1 0 2-.9 2-2V2zM21.5 22h-9V2h9v20zm2 0V2H32v20h-8.5zm-13 0H2V2h8.5v20z", fillRule: "evenodd", clipRule: "evenodd" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const iconColumn3 = _jsx("svg", { width: 34, height: 24, viewBox: "0 0 34 24", children: _jsx("path", { d: "M34 2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2v20c0 1.1.9 2 2 2h30c1.1 0 2-.9 2-2V2zM21.5 22h-9V2h9v20zm2 0V2H32v20h-8.5zm-13 0H2V2h8.5v20z", fillRule: "evenodd", clipRule: "evenodd" }) });
3
+ //# sourceMappingURL=column-3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-3.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/column-3.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,cAAK,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAC,WAAW,YACzE,eACC,CAAC,EAAC,mIAAmI,EACrI,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,GACpC,GACG,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const placementCenter = React.createElement("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve" },
3
- React.createElement("path", { d: "M20,11h-5V4H9v7H4v1.5h5V20h6v-7.5h5V11z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const placementCenter = _jsx("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve", children: _jsx("path", { d: "M20,11h-5V4H9v7H4v1.5h5V20h6v-7.5h5V11z" }) });
3
+ //# sourceMappingURL=placement-center.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement-center.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/placement-center.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,cAAK,OAAO,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC,WAAW,EAAC,gBAAgB,EAAC,eAAe,EAAC,QAAQ,EAAC,UAAU,YAC3J,eAAM,CAAC,EAAC,yCAAyC,GAAG,GAC/C,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const placementEnd = React.createElement("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve" },
3
- React.createElement("path", { d: "M15,4H9v11h6V4z M4,18.5V20h16v-1.5H4z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const placementEnd = _jsx("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve", children: _jsx("path", { d: "M15,4H9v11h6V4z M4,18.5V20h16v-1.5H4z" }) });
3
+ //# sourceMappingURL=placement-end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement-end.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/placement-end.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,cAAK,OAAO,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC,WAAW,EAAC,gBAAgB,EAAC,eAAe,EAAC,QAAQ,EAAC,UAAU,YACxJ,eAAM,CAAC,EAAC,uCAAuC,GAAG,GAC7C,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const placementStart = React.createElement("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve" },
3
- React.createElement("path", { d: "M9,20h6V9H9V20z M4,4v1.5h16V4H4z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const placementStart = _jsx("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve", children: _jsx("path", { d: "M9,20h6V9H9V20z M4,4v1.5h16V4H4z" }) });
3
+ //# sourceMappingURL=placement-start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement-start.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/placement-start.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,cAAK,OAAO,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC,WAAW,EAAC,gBAAgB,EAAC,eAAe,EAAC,QAAQ,EAAC,UAAU,YAC1J,eAAM,CAAC,EAAC,kCAAkC,GAAG,GACxC,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const placementStretch = React.createElement("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve" },
3
- React.createElement("path", { d: "M8.8,6.5h6v11h-6V6.5z M4,18.5h16V20H4V18.5z M4,4h16v1.5H4V4z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const placementStretch = _jsx("svg", { version: "1.1", x: "0px", y: "0px", focusable: false, viewBox: "0 0 24 24", enableBackground: "new 0 0 24 24", xmlSpace: "preserve", children: _jsx("path", { d: "M8.8,6.5h6v11h-6V6.5z M4,18.5h16V20H4V18.5z M4,4h16v1.5H4V4z" }) });
3
+ //# sourceMappingURL=placement-stretch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement-stretch.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/placement-stretch.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAK,OAAO,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC,WAAW,EAAC,gBAAgB,EAAC,eAAe,EAAC,QAAQ,EAAC,UAAU,YAC5J,eAAM,CAAC,EAAC,8DAA8D,GAAG,GACpE,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const plauditIcon = React.createElement("svg", { width: 24, height: 24, viewBox: "0 0 139 157.6" },
3
- React.createElement("path", { fill: "#d20000", d: "M83.3 39.1L101.6 9c2-3.2.9-7.1-2.4-8.5s-6.9.4-7.9 4l-9.7 33.9c-1.1 3.6-.3 4 1.7.7zm-43.9 19L9 40.5c-3.3-1.9-7.1-.7-8.5 2.6s.5 6.8 4.2 7.8l34.1 8.9c3.7 1 4 .2.6-1.7zm16.3-19c2 3.2 2.7 2.9 1.7-.7L47.6 4.5C46.5.8 43-1 39.7.5S35.3 5.8 37.3 9l18.4 30.1zm82.8 4c-1.4-3.3-5.2-4.5-8.5-2.6L99.5 58.1c-3.3 1.9-3 2.7.7 1.7l34.1-8.9c3.7-1 5.6-4.5 4.2-7.8zM88.8 57.7c-10.6-18.3-28-18.3-38.7 0l-38.7 66.6c-10.6 18.3-1.9 33.3 19.3 33.3h77.4c21.3 0 30-15 19.3-33.3L88.8 57.7zm-19.3 1c7.1 0 12.8 5.8 12.7 12.9s-5.8 12.8-12.9 12.7c-7 0-12.7-5.8-12.8-12.8.1-7.1 5.8-12.9 13-12.8zm32 91.2h-64c-17.6 0-24.8-8.1-16-18l32-35.9c8.8-9.9 23.2-9.9 32 0l32 35.9c8.8 9.9 1.6 17.9-16 18z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const plauditIcon = _jsx("svg", { width: 24, height: 24, viewBox: "0 0 139 157.6", children: _jsx("path", { fill: "#d20000", d: "M83.3 39.1L101.6 9c2-3.2.9-7.1-2.4-8.5s-6.9.4-7.9 4l-9.7 33.9c-1.1 3.6-.3 4 1.7.7zm-43.9 19L9 40.5c-3.3-1.9-7.1-.7-8.5 2.6s.5 6.8 4.2 7.8l34.1 8.9c3.7 1 4 .2.6-1.7zm16.3-19c2 3.2 2.7 2.9 1.7-.7L47.6 4.5C46.5.8 43-1 39.7.5S35.3 5.8 37.3 9l18.4 30.1zm82.8 4c-1.4-3.3-5.2-4.5-8.5-2.6L99.5 58.1c-3.3 1.9-3 2.7.7 1.7l34.1-8.9c3.7-1 5.6-4.5 4.2-7.8zM88.8 57.7c-10.6-18.3-28-18.3-38.7 0l-38.7 66.6c-10.6 18.3-1.9 33.3 19.3 33.3h77.4c21.3 0 30-15 19.3-33.3L88.8 57.7zm-19.3 1c7.1 0 12.8 5.8 12.7 12.9s-5.8 12.8-12.9 12.7c-7 0-12.7-5.8-12.8-12.8.1-7.1 5.8-12.9 13-12.8zm32 91.2h-64c-17.6 0-24.8-8.1-16-18l32-35.9c8.8-9.9 23.2-9.9 32 0l32 35.9c8.8 9.9 1.6 17.9-16 18z" }) });
3
+ //# sourceMappingURL=plaudit-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plaudit-icon.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/plaudit-icon.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,cAAK,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAC,eAAe,YAC7E,eAAM,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,mpBAAmpB,GAAG,GACzpB,CAAC"}
@@ -1,3 +1,3 @@
1
- import React from "react";
2
- export const reusableBlockMarker = React.createElement("svg", { viewBox: "0 0 24 24" },
3
- React.createElement("path", { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }));
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const reusableBlockMarker = _jsx("svg", { viewBox: "0 0 24 24", children: _jsx("path", { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }) });
3
+ //# sourceMappingURL=reusable-block-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reusable-block-marker.js","sourceRoot":"","sources":["../../../src/lib/plaudit-icons/reusable-block-marker.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAK,OAAO,EAAC,WAAW,YAC1D,eAAM,CAAC,EAAC,4UAA4U,GAAG,GAClV,CAAA"}
@@ -10,3 +10,4 @@ export * from './plaudit-icons/placement-end';
10
10
  export * from './plaudit-icons/placement-stretch';
11
11
  export * from './plaudit-icons/plaudit-icon';
12
12
  export * from './plaudit-icons/reusable-block-marker';
13
+ //# sourceMappingURL=plaudit-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plaudit-icons.js","sourceRoot":"","sources":["../../src/lib/plaudit-icons.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,mDAAmD;AACnD,gDAAgD;AAEhD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC"}
package/package.json CHANGED
@@ -1,26 +1,29 @@
1
1
  {
2
2
  "name": "@plaudit/gutenberg-api-extensions",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "scripts": {
5
5
  "prepublishOnly": "rm -rf build && mkdir build && tsc",
6
6
  "build": "tsc",
7
7
  "watch": "tsc -w"
8
8
  },
9
- "files": ["./build"],
9
+ "files": ["./build", "./src"],
10
10
  "sideEffects": false,
11
11
  "exports": {
12
- "./lib/plaudit-icons": "./build/lib/plaudit-icons.js",
13
- "./blocks": "./build/blocks/index.js",
14
- "./controls": "./build/controls/index.js"
15
- },
16
- "typesVersions": {
17
- "*": {
18
- "blocks": ["build/blocks/index.d.ts"],
19
- "controls": ["build/controls/index.d.ts"],
20
- "lib/plaudit-icons": ["build/lib/plaudit-icons.d.ts"]
12
+ "./lib/plaudit-icons": {
13
+ "types": "./src/lib/plaudit-icons.ts",
14
+ "default": "./build/lib/plaudit-icons.js"
15
+ },
16
+ "./blocks": {
17
+ "types": "./src/blocks/index.ts",
18
+ "default": "./build/blocks/index.js"
19
+ },
20
+ "./controls": {
21
+ "types": "./src/controls/index.ts",
22
+ "default": "./build/controls/index.js"
21
23
  }
22
24
  },
23
25
  "dependencies": {
26
+ "debounce": "^2.0.0",
24
27
  "@wordpress/block-editor": "^12.19.1",
25
28
  "@wordpress/blocks": "^12.28.1",
26
29
  "@wordpress/components": "^26.0.1",