@atomicsmash/blocks-helpers 4.0.0-beta.8 → 4.0.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 (42) hide show
  1. package/dist/block-supports.d.ts +71 -0
  2. package/dist/block-supports.d.ts.map +1 -0
  3. package/dist/block-supports.js +1 -0
  4. package/dist/default-attributes/align.d.ts +15 -0
  5. package/dist/default-attributes/align.d.ts.map +1 -0
  6. package/dist/default-attributes/align.js +1 -0
  7. package/dist/default-attributes/align.test.d.ts +2 -0
  8. package/dist/default-attributes/align.test.d.ts.map +1 -0
  9. package/dist/default-attributes/align.test.js +84 -0
  10. package/dist/default-attributes/className.d.ts +7 -0
  11. package/dist/default-attributes/className.d.ts.map +1 -0
  12. package/dist/default-attributes/className.js +1 -0
  13. package/dist/default-attributes/className.test.d.ts +2 -0
  14. package/dist/default-attributes/className.test.d.ts.map +1 -0
  15. package/dist/default-attributes/className.test.js +12 -0
  16. package/dist/default-attributes/index.d.ts +8 -0
  17. package/dist/default-attributes/index.d.ts.map +1 -0
  18. package/dist/default-attributes/index.js +1 -0
  19. package/dist/default-attributes/layout.d.ts +8 -0
  20. package/dist/default-attributes/layout.d.ts.map +1 -0
  21. package/dist/default-attributes/layout.js +1 -0
  22. package/dist/default-attributes/layout.test.d.ts +2 -0
  23. package/dist/default-attributes/layout.test.d.ts.map +1 -0
  24. package/dist/default-attributes/layout.test.js +11 -0
  25. package/dist/default-attributes/lock.d.ts +10 -0
  26. package/dist/default-attributes/lock.d.ts.map +1 -0
  27. package/dist/default-attributes/lock.js +1 -0
  28. package/dist/default-attributes/lock.test.d.ts +2 -0
  29. package/dist/default-attributes/lock.test.d.ts.map +1 -0
  30. package/dist/default-attributes/lock.test.js +12 -0
  31. package/dist/default-attributes/style.d.ts +67 -0
  32. package/dist/default-attributes/style.d.ts.map +1 -0
  33. package/dist/default-attributes/style.js +1 -0
  34. package/dist/default-attributes/style.test.d.ts +2 -0
  35. package/dist/default-attributes/style.test.d.ts.map +1 -0
  36. package/dist/default-attributes/style.test.js +59 -0
  37. package/dist/index.d.ts +149 -141
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/layout.d.ts +32 -0
  40. package/dist/layout.d.ts.map +1 -0
  41. package/dist/layout.js +1 -0
  42. package/package.json +7 -7
@@ -0,0 +1,71 @@
1
+ import type { AllPossibleLayouts } from "./layout";
2
+ export type BlockSupports = Record<string, any> & {
3
+ anchor?: boolean;
4
+ align?: boolean | ("wide" | "full" | "left" | "center" | "right")[];
5
+ alignWide?: boolean;
6
+ ariaLabel?: boolean;
7
+ background?: {
8
+ backgroundImage?: boolean;
9
+ backgroundSize?: boolean;
10
+ };
11
+ className?: boolean;
12
+ color?: {
13
+ background?: boolean;
14
+ button?: boolean;
15
+ enableContrastChecker?: boolean;
16
+ gradients?: boolean;
17
+ heading?: boolean;
18
+ link?: boolean;
19
+ text?: boolean;
20
+ /**
21
+ * @deprecated Use `filter.duotone` instead.
22
+ *
23
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/#filter-duotone
24
+ */
25
+ __experimentalDuotone?: boolean;
26
+ } | boolean;
27
+ customClassName?: boolean;
28
+ dimensions?: {
29
+ aspectRatio?: boolean;
30
+ minHeight?: boolean;
31
+ };
32
+ filter?: {
33
+ duotone?: boolean;
34
+ };
35
+ html?: boolean;
36
+ inserter?: boolean;
37
+ interactivity?: boolean | {
38
+ clientNavigation?: boolean;
39
+ interactive?: boolean;
40
+ };
41
+ layout?: boolean | {
42
+ default?: AllPossibleLayouts;
43
+ allowSwitching?: boolean;
44
+ allowEditing?: boolean;
45
+ allowInheriting?: boolean;
46
+ allowSizingOnChildren?: boolean;
47
+ allowVerticalAlignment?: boolean;
48
+ allowJustification?: boolean;
49
+ allowOrientation?: boolean;
50
+ allowCustomContentAndWideSize?: boolean;
51
+ };
52
+ lock?: boolean;
53
+ multiple?: boolean;
54
+ position?: {
55
+ sticky?: boolean;
56
+ };
57
+ renaming?: boolean;
58
+ reusable?: boolean;
59
+ shadow?: boolean;
60
+ spacing?: {
61
+ margin?: boolean | ("top" | "right" | "left" | "bottom")[] | ("vertical" | "horizontal")[];
62
+ padding?: boolean | ("top" | "right" | "left" | "bottom")[] | ("vertical" | "horizontal")[];
63
+ blockGap?: boolean | ("vertical" | "horizontal")[];
64
+ };
65
+ typography?: {
66
+ fontSize?: boolean;
67
+ lineHeight?: boolean;
68
+ textAlign?: boolean | ("left" | "center" | "right")[];
69
+ };
70
+ };
71
+ //# sourceMappingURL=block-supports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-supports.d.ts","sourceRoot":"","sources":["../src/block-supports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { BlockSupports } from "@atomicsmash/blocks-helpers";
2
+ type NormalAlignment = "left" | "center" | "right";
3
+ type WideAlignment = "wide" | "full";
4
+ type AllAlignValues = NormalAlignment | WideAlignment;
5
+ export type AlignAttribute<Supports extends BlockSupports> = {
6
+ align?: Supports extends {
7
+ align: true;
8
+ } ? Supports extends {
9
+ alignWide: false;
10
+ } ? NormalAlignment : AllAlignValues : Supports extends {
11
+ align: AllAlignValues[];
12
+ } ? Supports["align"][number] : never;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=align.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"align.d.ts","sourceRoot":"","sources":["../../src/default-attributes/align.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,KAAK,cAAc,GAAG,eAAe,GAAG,aAAa,CAAC;AAEtD,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,aAAa,IAAI;IAC5D,KAAK,CAAC,EAAE,QAAQ,SAAS;QACxB,KAAK,EAAE,IAAI,CAAC;KACZ,GACE,QAAQ,SAAS;QAAE,SAAS,EAAE,KAAK,CAAA;KAAE,GACpC,eAAe,GACf,cAAc,GACf,QAAQ,SAAS;QAAE,KAAK,EAAE,cAAc,EAAE,CAAA;KAAE,GAC3C,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GACzB,KAAK,CAAC;CACV,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=align.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"align.test.d.ts","sourceRoot":"","sources":["../../src/default-attributes/align.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ let defaultAttributes;
2
+ defaultAttributes = {
3
+ // Align is only present in attributes if the value is explicitly set in the editor.
4
+ };
5
+ defaultAttributes = {
6
+ // @ts-expect-error Align should not be present when align is unsupported.
7
+ align: "left",
8
+ };
9
+ defaultAttributes = {
10
+ // @ts-expect-error Align should not be present when align is unsupported.
11
+ align: "left",
12
+ };
13
+ defaultAttributes = {
14
+ align: "left",
15
+ };
16
+ defaultAttributes = {
17
+ align: "center",
18
+ };
19
+ defaultAttributes = {
20
+ align: "right",
21
+ };
22
+ defaultAttributes = {
23
+ align: "wide",
24
+ };
25
+ defaultAttributes = {
26
+ align: "full",
27
+ };
28
+ defaultAttributes = {
29
+ align: "left",
30
+ };
31
+ defaultAttributes = {
32
+ align: "center",
33
+ };
34
+ defaultAttributes = {
35
+ align: "right",
36
+ };
37
+ defaultAttributes = {
38
+ // @ts-expect-error Wide should not be present when alignWide is unsupported.
39
+ align: "wide",
40
+ };
41
+ defaultAttributes = {
42
+ // @ts-expect-error Full should not be present when alignWide is unsupported.
43
+ align: "full",
44
+ };
45
+ defaultAttributes = {
46
+ align: "left",
47
+ };
48
+ defaultAttributes = {
49
+ align: "center",
50
+ };
51
+ defaultAttributes = {
52
+ align: "right",
53
+ };
54
+ defaultAttributes = {
55
+ align: "wide",
56
+ };
57
+ defaultAttributes = {
58
+ align: "full",
59
+ };
60
+ defaultAttributes = {
61
+ // @ts-expect-error Left should not be present when it's value is unsupported.
62
+ align: "left",
63
+ };
64
+ defaultAttributes = {
65
+ // @ts-expect-error Center should not be present when it's value is unsupported.
66
+ align: "center",
67
+ };
68
+ defaultAttributes = {
69
+ // @ts-expect-error Right should not be present when it's value is unsupported.
70
+ align: "right",
71
+ };
72
+ defaultAttributes = {
73
+ // @ts-expect-error Wide should not be present when it's value is unsupported.
74
+ align: "wide",
75
+ };
76
+ defaultAttributes = {
77
+ // @ts-expect-error Full should not be present when it's value is unsupported.
78
+ align: "full",
79
+ };
80
+ defaultAttributes = {
81
+ // Align takes precedence over alignWide, so this is fine.
82
+ align: "wide",
83
+ };
84
+ export {};
@@ -0,0 +1,7 @@
1
+ import { BlockSupports } from "@atomicsmash/blocks-helpers";
2
+ export type ClassNameAttribute<Supports extends BlockSupports> = {
3
+ className?: Supports extends {
4
+ customClassName: false;
5
+ } ? never : string;
6
+ };
7
+ //# sourceMappingURL=className.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"className.d.ts","sourceRoot":"","sources":["../../src/default-attributes/className.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,MAAM,kBAAkB,CAAC,QAAQ,SAAS,aAAa,IAAI;IAChE,SAAS,CAAC,EAAE,QAAQ,SAAS;QAAE,eAAe,EAAE,KAAK,CAAA;KAAE,GAAG,KAAK,GAAG,MAAM,CAAC;CACzE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=className.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"className.test.d.ts","sourceRoot":"","sources":["../../src/default-attributes/className.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ let defaultAttributes;
2
+ defaultAttributes = {
3
+ // Class name is only present in attributes if the value is explicitly set.
4
+ };
5
+ defaultAttributes = {
6
+ className: "a_string",
7
+ };
8
+ defaultAttributes = {
9
+ // @ts-expect-error className should not be present when customClassName is unsupported.
10
+ className: "a_string",
11
+ };
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { BlockSupports } from "@atomicsmash/blocks-helpers";
2
+ import { AlignAttribute } from "./align";
3
+ import { ClassNameAttribute } from "./className";
4
+ import { LayoutAttribute } from "./layout";
5
+ import { LockAttribute } from "./lock";
6
+ import { StyleAttribute } from "./style";
7
+ export type DefaultAttributes<Supports extends BlockSupports> = AlignAttribute<Supports> & ClassNameAttribute<Supports> & LayoutAttribute<Supports> & LockAttribute<Supports> & StyleAttribute<Supports>;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/default-attributes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,aAAa,IAC3D,cAAc,CAAC,QAAQ,CAAC,GACvB,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,eAAe,CAAC,QAAQ,CAAC,GACzB,aAAa,CAAC,QAAQ,CAAC,GACvB,cAAc,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { AllPossibleLayouts } from "../layout";
2
+ import type { BlockSupports } from "@atomicsmash/blocks-helpers";
3
+ export type LayoutAttribute<Supports extends BlockSupports> = {
4
+ layout?: Supports extends {
5
+ layout?: false | undefined;
6
+ } ? never : AllPossibleLayouts;
7
+ };
8
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/default-attributes/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,aAAa,IAAI;IAC7D,MAAM,CAAC,EAAE,QAAQ,SAAS;QAAE,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GACrD,KAAK,GAMN,kBAAkB,CAAC;CACrB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.test.d.ts","sourceRoot":"","sources":["../../src/default-attributes/layout.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ let defaultAttributes;
2
+ defaultAttributes = {};
3
+ defaultAttributes = {
4
+ // @ts-expect-error Layout should not be present when layout is unsupported.
5
+ layout: { type: "default" },
6
+ };
7
+ defaultAttributes = {
8
+ // @ts-expect-error Layout should not be present when layout is unsupported.
9
+ layout: { type: "default" },
10
+ };
11
+ export {};
@@ -0,0 +1,10 @@
1
+ import { BlockSupports } from "@atomicsmash/blocks-helpers";
2
+ export type LockAttribute<Supports extends BlockSupports> = {
3
+ lock?: Supports extends {
4
+ lock: false;
5
+ } ? never : {
6
+ move: boolean;
7
+ remove: boolean;
8
+ };
9
+ };
10
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/default-attributes/lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,aAAa,IAAI;IAC3D,IAAI,CAAC,EAAE,QAAQ,SAAS;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GACpC,KAAK,GACL;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACtC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.test.d.ts","sourceRoot":"","sources":["../../src/default-attributes/lock.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ let defaultAttributes;
2
+ defaultAttributes = {
3
+ // Lock is only present in attributes if the value is explicitly set.
4
+ };
5
+ defaultAttributes = {
6
+ lock: { move: true, remove: true },
7
+ };
8
+ defaultAttributes = {
9
+ // @ts-expect-error lock should not be present when lock is unsupported.
10
+ lock: { move: true, remove: true },
11
+ };
12
+ export {};
@@ -0,0 +1,67 @@
1
+ import { BlockSupports } from "@atomicsmash/blocks-helpers";
2
+ export type StyleAttribute<Supports extends BlockSupports> = {
3
+ style?: BackgroundImageAttribute<Supports["background"]> & BackgroundSizeAttribute<Supports["background"]> & SpacingMarginAttribute<Supports["spacing"]> & SpacingPaddingAttribute<Supports["spacing"]> & SpacingBlockGapAttribute<Supports["spacing"]> extends never ? never : {
4
+ background?: BackgroundImageAttribute<Supports["background"]> & BackgroundSizeAttribute<Supports["background"]>;
5
+ spacing?: SpacingMarginAttribute<Supports["spacing"]> & SpacingPaddingAttribute<Supports["spacing"]> & SpacingBlockGapAttribute<Supports["spacing"]>;
6
+ };
7
+ };
8
+ type BackgroundImageAttribute<Spacing extends BlockSupports["background"]> = Spacing extends undefined ? never : Spacing extends {
9
+ backgroundImage: false;
10
+ } ? never : {
11
+ backgroundImage?: {
12
+ url: string;
13
+ id: number;
14
+ source: string;
15
+ title: string;
16
+ };
17
+ };
18
+ type BackgroundSizeAttribute<Spacing extends BlockSupports["background"]> = Spacing extends undefined ? never : Spacing extends {
19
+ backgroundSize: false;
20
+ } ? never : {
21
+ backgroundPosition?: string;
22
+ };
23
+ type SpacingMarginAttribute<Spacing extends BlockSupports["spacing"]> = Spacing extends undefined ? never : Spacing extends {
24
+ margin: false;
25
+ } ? never : Spacing extends {
26
+ margin: undefined;
27
+ } ? never : {
28
+ margin: {
29
+ bottom?: string;
30
+ left?: string;
31
+ right?: string;
32
+ top?: string;
33
+ };
34
+ };
35
+ type SpacingPaddingAttribute<Spacing extends BlockSupports["spacing"]> = Spacing extends undefined ? never : Spacing extends {
36
+ padding: false;
37
+ } ? never : Spacing extends {
38
+ padding: undefined;
39
+ } ? never : {
40
+ padding: {
41
+ bottom?: string;
42
+ left?: string;
43
+ right?: string;
44
+ top?: string;
45
+ };
46
+ };
47
+ type SpacingBlockGapAttribute<Spacing extends BlockSupports["spacing"]> = Spacing extends undefined ? never : Spacing extends {
48
+ blockGap: false;
49
+ } ? never : Spacing extends {
50
+ blockGap: undefined;
51
+ } ? never : Spacing extends {
52
+ blockGap: ["horizontal"];
53
+ } ? {
54
+ blockGap: {
55
+ left: string;
56
+ };
57
+ } : Spacing extends {
58
+ blockGap: ["vertical"];
59
+ } ? {
60
+ blockGap: {
61
+ top: string;
62
+ };
63
+ } : {
64
+ blockGap: string;
65
+ };
66
+ export {};
67
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/default-attributes/style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=style.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.test.d.ts","sourceRoot":"","sources":["../../src/default-attributes/style.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ const validBackgroundValue = {
2
+ backgroundImage: {
3
+ url: "string",
4
+ id: 0,
5
+ source: "string",
6
+ title: "string",
7
+ },
8
+ backgroundPosition: "string",
9
+ };
10
+ const validSpacingValue = {
11
+ margin: {
12
+ bottom: "string",
13
+ left: "string",
14
+ right: "string",
15
+ top: "string",
16
+ },
17
+ padding: {
18
+ bottom: "string",
19
+ left: "string",
20
+ right: "string",
21
+ top: "string",
22
+ },
23
+ blockGap: "string",
24
+ };
25
+ let defaultAttributes;
26
+ defaultAttributes = {
27
+ // Style is only present in attributes if the value is explicitly set in the editor.
28
+ };
29
+ defaultAttributes = {
30
+ // @ts-expect-error Style should not be present when no style related properties are unsupported.
31
+ style: {},
32
+ };
33
+ /* Background */
34
+ defaultAttributes = {
35
+ // @ts-expect-error Background should not be present when background is unsupported.
36
+ style: {
37
+ background: {},
38
+ },
39
+ };
40
+ defaultAttributes = {
41
+ style: {
42
+ // Spacing possible when combined with other style attributes
43
+ background: validBackgroundValue,
44
+ },
45
+ };
46
+ /* Spacing */
47
+ defaultAttributes = {
48
+ // @ts-expect-error Spacing should not be present when spacing is unsupported.
49
+ style: {
50
+ spacing: {},
51
+ },
52
+ };
53
+ defaultAttributes = {
54
+ style: {
55
+ // Spacing possible when combined with other style attributes
56
+ spacing: validSpacingValue,
57
+ },
58
+ };
59
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,29 +1,76 @@
1
- /// <reference types="react" />
1
+ import type { BlockSupports } from "./block-supports";
2
+ import type { DefaultAttributes } from "./default-attributes";
2
3
  import type { Element } from "@wordpress/element";
4
+ import type { AllHTMLAttributes } from "react";
3
5
  import { createBlock } from "@wordpress/blocks";
4
- export type BlockCategory = "text" | "media" | "design" | "widgets" | "theme" | "embed";
6
+ export type { BlockSupports, DefaultAttributes };
7
+ export type BlockCategory = "text" | "media" | "design" | "widgets" | "theme" | "embed" | (string & NonNullable<unknown>);
5
8
  export type AttributeTypes = "null" | "boolean" | "object" | "array" | "string" | "integer" | "number";
6
- export type AttributesObject = {
7
- source?: "attribute" | "text" | "html" | "query" | "meta";
8
- selector?: string;
9
- attribute?: string;
10
- multiline?: string;
11
- query?: Record<string, AttributesObject>;
12
- meta?: string;
13
- default?: any;
14
- items?: {
15
- type: AttributeTypes;
16
- };
17
- } & ({
18
- type: AttributeTypes | AttributeTypes[];
9
+ type AllAttributes = AllHTMLAttributes<HTMLElement>;
10
+ type BooleanAttributeTypes = {
11
+ [Property in keyof AllAttributes]-?: Required<AllAttributes>[Property] extends boolean ? Property : never;
12
+ }[keyof AllAttributes];
13
+ type AttributeSourceBooleanAttribute = {
14
+ type: "boolean" | ["boolean"];
15
+ enum?: readonly boolean[];
16
+ source: "attribute";
17
+ selector: string;
18
+ attribute: BooleanAttributeTypes;
19
+ default?: boolean;
20
+ };
21
+ type AttributeSourceStringAttribute = {
22
+ type: "string" | ["string"];
23
+ enum?: readonly string[];
24
+ source: "attribute";
25
+ selector: string;
26
+ attribute: string;
27
+ default?: string;
28
+ };
29
+ type TextSourceAttribute = {
30
+ type: "string" | ["string"];
31
+ enum?: readonly string[];
32
+ source: "text";
33
+ selector: string;
34
+ default?: string;
35
+ };
36
+ type HTMLSourceAttribute = {
37
+ type: "string" | ["string"];
38
+ enum?: readonly string[];
39
+ source: "html";
40
+ selector: string;
41
+ default?: string;
42
+ };
43
+ type QuerySourceAttribute = {
44
+ type: "array" | ["array"];
45
+ source: "query";
46
+ selector: string;
47
+ query: Record<string, AttributesObject>;
48
+ default?: Record<string, unknown>[];
49
+ enum?: Record<string, unknown>[];
50
+ };
51
+ type MetaSourceAttribute = {
52
+ type: "string" | ["string"];
53
+ enum?: readonly string[];
54
+ /**
55
+ * @deprecated
56
+ */
57
+ source: "meta";
58
+ meta: string;
59
+ default?: string;
60
+ };
61
+ type NoSourceAttributeArrayType = {
62
+ type: "array" | ["array"];
63
+ source?: never;
64
+ enum?: unknown[];
65
+ default?: unknown[];
66
+ };
67
+ type NoSourceAttributeAnyType = {
68
+ type: Exclude<AttributeTypes, "array"> | Exclude<AttributeTypes, "array">[];
19
69
  enum?: readonly boolean[] | readonly number[] | readonly string[];
20
- } | {
21
- type?: AttributeTypes | AttributeTypes[];
22
- enum: readonly boolean[] | readonly number[] | readonly string[];
23
- });
24
- type ReadonlyRecursive<T> = {
25
- [k in keyof T]: T[k] extends Record<string, any> ? ReadonlyRecursive<T[k]> : T[k];
70
+ source?: never;
71
+ default?: any;
26
72
  };
73
+ export type AttributesObject = AttributeSourceBooleanAttribute | AttributeSourceStringAttribute | TextSourceAttribute | HTMLSourceAttribute | QuerySourceAttribute | MetaSourceAttribute | NoSourceAttributeArrayType | NoSourceAttributeAnyType;
27
74
  type InheritType<Type extends {
28
75
  type: string | string[];
29
76
  }> = Type extends {
@@ -43,49 +90,21 @@ type InheritType<Type extends {
43
90
  } ? number : Type extends {
44
91
  type: "number";
45
92
  } ? number : never;
46
- export type InterpretAttributes<Attributes extends Record<string, ReadonlyRecursive<AttributesObject>>> = {
93
+ export type InterpretAttributesWithoutDefaults<Attributes extends BlockAttributes> = {
47
94
  [Property in keyof Attributes]: Attributes[Property] extends {
48
95
  enum: NonNullable<Attributes[Property]["enum"]>;
49
96
  } ? NonNullable<Attributes[Property]["enum"]>[number] : Attributes[Property] extends {
50
97
  type: "array";
51
- query: NonNullable<Attributes[Property]["query"]>;
52
- } ? InterpretAttributes<NonNullable<Attributes[Property]["query"]>>[] : Attributes[Property] extends {
98
+ query: Record<string, AttributesObject>;
99
+ } ? InterpretAttributesWithoutDefaults<NonNullable<Attributes[Property]["query"]>>[] : Attributes[Property] extends {
53
100
  type: string;
54
101
  } ? InheritType<Attributes[Property]> : never;
55
102
  };
103
+ export type InterpretAttributes<Supports extends BlockSupports, Attributes extends BlockAttributes> = InterpretAttributesWithoutDefaults<Attributes> & DefaultAttributes<Supports>;
56
104
  export type BlockAttributes = Readonly<Record<string, AttributesObject>>;
57
- export type BlockSupports = Record<string, any> & {
58
- anchor?: boolean;
59
- align?: boolean | ("wide" | "full" | "left" | "center" | "right")[];
60
- alignWide?: boolean;
61
- ariaLabel?: boolean;
62
- className?: boolean;
63
- color?: {
64
- background?: boolean;
65
- gradients?: boolean;
66
- link?: boolean;
67
- text?: boolean;
68
- enableContrastChecker?: boolean;
69
- };
70
- customClassName?: boolean;
71
- defaultStylePicker?: boolean;
72
- html?: boolean;
73
- inserter?: boolean;
74
- multiple?: boolean;
75
- reusable?: boolean;
76
- lock?: boolean;
77
- spacing?: {
78
- margin?: boolean | ("top" | "right" | "left" | "bottom")[] | ("vertical" | "horizontal")[];
79
- padding?: boolean | ("top" | "right" | "left" | "bottom")[] | ("vertical" | "horizontal")[];
80
- };
81
- typography?: {
82
- fontSize?: boolean;
83
- lineHeight?: boolean;
84
- };
85
- };
86
- export type BlockProvidesContext<Attributes extends Record<string, ReadonlyRecursive<AttributesObject>>> = Record<string, keyof Attributes>;
87
- export type InterpretProvidesContext<UsedContextAttributes extends Record<string, ReadonlyRecursive<AttributesObject>>, Context extends BlockProvidesContext<UsedContextAttributes> = BlockProvidesContext<UsedContextAttributes>> = {
88
- [Property in keyof Context]: InterpretAttributes<UsedContextAttributes>[Context[Property]];
105
+ export type BlockProvidesContext<InterpretedAttributes extends Record<string, unknown>> = Record<string, keyof InterpretedAttributes>;
106
+ export type InterpretProvidesContext<UsedContextInterpretedAttributes extends Record<string, unknown>, Context extends BlockProvidesContext<UsedContextInterpretedAttributes> = BlockProvidesContext<UsedContextInterpretedAttributes>> = {
107
+ [Property in keyof Context]: UsedContextInterpretedAttributes[Context[Property]];
89
108
  };
90
109
  export type BlockUsesContext<InterpretedContext extends Record<string, any>> = (keyof InterpretedContext)[];
91
110
  export type InterpretUsedContext<UsesContext extends string[], InterpretedContext extends Record<UsesContext[number], any>> = {
@@ -117,37 +136,36 @@ export type WPDefinedPath = `file:${string}`;
117
136
  * @see {@link https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#wpdefinedasset}
118
137
  */
119
138
  export type WPDefinedAsset = WPDefinedPath | string;
120
- export type BlockVariations<Attributes extends BlockAttributes> = {
139
+ type RecursivePartial<T> = T extends Record<string, unknown> ? {
140
+ [P in keyof T]?: RecursivePartial<T[P]>;
141
+ } : T extends Record<string, unknown>[] ? RecursivePartial<T[keyof T]>[] : T;
142
+ export type BlockVariations<InterpretedAttributes extends Record<string, unknown>> = {
121
143
  name: string;
122
144
  title: string;
123
145
  description?: string;
124
146
  category?: BlockCategory;
125
147
  icon?: string | JSX.Element;
126
148
  isDefault?: boolean;
127
- attributes?: Partial<InterpretAttributes<Attributes>>;
149
+ attributes?: RecursivePartial<InterpretedAttributes>;
128
150
  innerBlocks?: InnerBlocks[];
129
- example?: BlockExample<InterpretAttributes<Attributes>>;
151
+ example?: BlockExample<InterpretedAttributes>;
130
152
  scope?: ("inserter" | "block" | "transform")[];
131
153
  keywords?: string[];
132
- isActive?: string[] | ((blockAttributes: InterpretAttributes<Attributes>, variationAttributes?: Partial<InterpretAttributes<Attributes>>) => boolean);
154
+ isActive?: string[] | ((blockAttributes: InterpretedAttributes, variationAttributes: RecursivePartial<InterpretedAttributes>) => boolean);
133
155
  }[];
134
- export type BlockMetaData<Attributes extends BlockAttributes, InterpretedAttributes extends Record<string, any> = InterpretAttributes<Attributes>> = {
156
+ export type BlockMetaData<Supports extends BlockSupports, Attributes extends BlockAttributes, InterpretedAttributes extends InterpretAttributes<Supports, Attributes> = InterpretAttributes<Supports, Attributes>> = {
135
157
  /**
136
158
  * The version of the Block API used by the block. The most recent version is 2 and it was introduced in WordPress 5.6.
137
159
  *
138
160
  * See the API versions documentation at https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/ for more details.
139
161
  */
140
- apiVersion?: 1 | 2;
162
+ apiVersion?: 1 | 2 | 3;
141
163
  /**
142
164
  * The name for a block is a unique string that identifies a block.
143
165
  * Names have to be structured as `namespace/block-name`, where namespace is the name of your plugin or theme.
144
166
  * Regex: ^[a-z][a-z0-9-]\*\/[a-z][a-z0-9-]\*$
145
167
  */
146
168
  name: string;
147
- /**
148
- * The name of the experiment this block is a part of, or boolean true if there is no specific experiment name.
149
- */
150
- __experimental?: boolean | string;
151
169
  /**
152
170
  * This is the display title for your block, which can be translated with our translation functions. The block inserter will show this name.
153
171
  */
@@ -171,11 +189,18 @@ export type BlockMetaData<Attributes extends BlockAttributes, InterpretedAttribu
171
189
  * That allows, for example, to place a ‘Comment Content’ block inside a ‘Column’ block, as long as ‘Column’ is somewhere within a ‘Comment Template’ block.
172
190
  */
173
191
  ancestor?: string[];
192
+ /**
193
+ * The allowedBlocks specifies which block types can be the direct children of the block.
194
+ * For example, a ‘List’ block can allow only ‘List Item’ blocks as children.
195
+ */
196
+ allowedBlocks?: string[];
174
197
  /**
175
198
  * An icon property should be specified to make it easier to identify a block.
176
199
  * These can be any of WordPress’ Dashicons (slug serving also as a fallback in non-js contexts).
200
+ *
201
+ * @deprecated define in client register to allow custom SVGs.
177
202
  */
178
- icon?: string | JSX.Element;
203
+ icon?: string;
179
204
  /**
180
205
  * This is a short description for your block, which can be translated with our translation functions. This will be shown in the block inspector.
181
206
  */
@@ -217,7 +242,7 @@ export type BlockMetaData<Attributes extends BlockAttributes, InterpretedAttribu
217
242
  /**
218
243
  * It contains as set of options to control features used in the editor. See the supports documentation at https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/ for more details.
219
244
  */
220
- supports?: BlockSupports;
245
+ supports?: Supports;
221
246
  /**
222
247
  * Block styles can be used to provide alternative styles to block. It works by adding a class name to the block’s wrapper.
223
248
  * Using CSS, a theme developer can target the class name for the block style if it is selected.
@@ -237,57 +262,64 @@ export type BlockMetaData<Attributes extends BlockAttributes, InterpretedAttribu
237
262
  */
238
263
  example?: BlockExample<InterpretedAttributes>;
239
264
  /**
240
- * Block type editor script definition. It will only be enqueued in the context of the editor.
265
+ * Block type editor scripts definition. They will only be enqueued in the context of the editor.
241
266
  */
242
267
  editorScript?: WPDefinedAsset | WPDefinedAsset[];
243
268
  /**
244
- * Block type frontend and editor script definition. It will be enqueued both in the editor and when viewing the content on the front of the site.
269
+ * Block type frontend and editor scripts definition. They will be enqueued both in the editor and when viewing the content on the front of the site.
245
270
  */
246
271
  script?: WPDefinedAsset | WPDefinedAsset[];
247
272
  /**
248
- * Block type frontend script definition. It will be enqueued only when viewing the content on the front of the site.
273
+ * Block type frontend scripts definition. They will be enqueued only when viewing the content on the front of the site.
249
274
  */
250
275
  viewScript?: WPDefinedAsset | WPDefinedAsset[];
251
276
  /**
252
- * Block type editor style definition. It will only be enqueued in the context of the editor.
277
+ * Block type editor styles definition. They will only be enqueued in the context of the editor.
253
278
  */
254
279
  editorStyle?: WPDefinedAsset | WPDefinedAsset[];
255
280
  /**
256
- * Block type frontend style definition. It will be enqueued both in the editor and when viewing the content on the front of the site.
281
+ * Block type frontend and editor styles definition. They will be enqueued both in the editor and when viewing the content on the front of the site.
257
282
  */
258
283
  style?: WPDefinedAsset | WPDefinedAsset[];
284
+ /**
285
+ * Block type frontend styles definition. They will be enqueued only when viewing the content on the front of the site.
286
+ */
287
+ viewStyle?: WPDefinedAsset | WPDefinedAsset[];
259
288
  /**
260
289
  * Block Variations is the API that allows a block to have similar versions of it, but all these versions share some common functionality.
261
290
  */
262
- variations?: BlockVariations<Attributes>;
291
+ variations?: Omit<BlockVariations<InterpretedAttributes>, "icon" | "isActive"> & {
292
+ icon?: string;
293
+ isActive?: string[];
294
+ };
263
295
  /**
264
296
  * Template file loaded on the server when rendering a block.
265
297
  */
266
298
  render?: WPDefinedPath;
267
299
  };
268
- export type BlockMigrateDeprecationFunction<InterpretedAttributes extends Record<string, any>, NewInterpretedAttributes extends Record<string, any>> = (attributes: InterpretedAttributes, innerBlocks: InnerBlocks[]) => NewInterpretedAttributes | [NewInterpretedAttributes, InnerBlocks[]];
269
- export type BlockIsDeprecationEligibleFunction<InterpretedAttributes extends Record<string, any>> = (attributes: InterpretedAttributes, innerBlocks: InnerBlocks[]) => boolean;
270
- export type BlockSaveProps<T extends Record<string, any>> = {
271
- readonly attributes: Readonly<T>;
272
- readonly innerBlocks: Readonly<InnerBlocks[]>;
300
+ export type BlockMigrateDeprecationFunction<OldInterpretedAttributes extends Record<string, unknown>, NewInterpretedAttributes extends Record<string, unknown>> = (attributes: OldInterpretedAttributes, innerBlocks: InnerBlocks[]) => NewInterpretedAttributes | [NewInterpretedAttributes, InnerBlocks[]];
301
+ export type BlockIsDeprecationEligibleFunction<InterpretedAttributes extends Record<string, unknown>> = (attributes: InterpretedAttributes, innerBlocks: InnerBlocks[]) => boolean;
302
+ export type CreateBlockSaveProps<InterpretedAttributes extends Record<string, unknown>> = {
303
+ readonly attributes: InterpretedAttributes;
304
+ readonly innerBlocks: readonly InnerBlocks[];
273
305
  };
274
- export type BlockEditProps<Attributes extends Record<string, any>, Context extends Record<string, any> = Record<string, never>> = {
306
+ export type CreateBlockEditProps<InterpretedAttributes extends Record<string, unknown>, Context extends Record<string, any> = Record<string, never>> = {
275
307
  readonly clientId: string;
276
- readonly attributes: Readonly<Attributes>;
308
+ readonly attributes: InterpretedAttributes;
277
309
  readonly context: Context;
278
310
  readonly insertBlocksAfter: BlockInstance[] | undefined;
279
311
  readonly isSelected: boolean;
280
312
  readonly mergeBlocks: BlockInstance[] | undefined;
281
313
  readonly onRemove: () => void | undefined;
282
314
  readonly onReplace: (clientIds: string | string[], blocks: BlockInstance | BlockInstance[], indexToSelect: number, initialPosition: 0 | -1 | null, meta: Record<string, unknown>) => BlockInstance[] | undefined;
283
- readonly setAttributes: (attributes: Partial<Attributes>) => void;
315
+ readonly setAttributes: (attributes: Partial<InterpretedAttributes>) => void;
284
316
  readonly toggleSelection: (isSelectionEnabled: boolean) => void;
285
317
  };
286
- export type BlockTypeTransform = {
318
+ export type BlockTypeTransform<InterpretedAttributes extends Record<string, unknown>> = {
287
319
  type: "block";
288
320
  blocks: string[];
289
- transform: (attributes: BlockAttributes, innerBlocks: InnerBlocks[]) => BlockInstance | BlockInstance[];
290
- isMatch?: (attributes: BlockAttributes, block: BlockInstance) => boolean;
321
+ transform: (attributes: InterpretedAttributes, innerBlocks: InnerBlocks[]) => BlockInstance | BlockInstance[];
322
+ isMatch?: (attributes: InterpretedAttributes, block: BlockInstance) => boolean;
291
323
  isMultiBlock?: boolean;
292
324
  priority?: number;
293
325
  };
@@ -428,44 +460,21 @@ export type ShortCodeTypeTransform = {
428
460
  type: "shortcode";
429
461
  tag: string | string[];
430
462
  transform?: (shortcodeAttributes: WPShortCodeAttributes, shortcodeMatch: WPShortCodeMatch) => BlockInstance | BlockInstance[];
431
- attributes?: BlockAttributes;
463
+ attributes?: Readonly<Record<string, BlockAttributes & {
464
+ shortcode: (shortcodeAttributes: WPShortCodeAttributes, shortcodeMatch: WPShortCodeMatch) => unknown;
465
+ }>>;
432
466
  isMatch?: (shortcodeAttributes: WPShortCodeAttributes) => boolean;
433
467
  priority?: number;
434
468
  };
435
- export type BlockTransforms = BlockTypeTransform[] | EnterTypeTransform[] | FilesTypeTransform[] | PrefixTypeTransform[] | RawTypeTransform[] | ShortCodeTypeTransform[];
436
- export type BlockSettings<Attributes extends BlockAttributes, InterpretedUsedContext extends Record<string, any> = Record<string, never>> = (CurrentStaticBlockDefinition<Attributes, InterpretedUsedContext> | CurrentDynamicBlockDefinition<Attributes, InterpretedUsedContext>) & {
437
- deprecated?: DeprecatedBlock<any, any>[];
438
- };
439
- export type LoosenTypeOfObject<Type extends Record<string, any>> = {
440
- [Property in keyof Type]: Type[Property] extends string ? string : Type[Property] extends boolean ? boolean : Type[Property] extends number ? number : Type[Property];
441
- };
442
- type CurrentBlockDefinitionBase<Attributes extends BlockAttributes, InterpretedUsedContext extends Record<string, any> = Record<string, never>> = {
443
- /**
444
- * Attributes provide the structured data needs of a block. They can exist in different forms when they are serialized, but they are declared together under a common interface.
445
- * Property names must only contain letters Regex:[a-zA-Z]
446
- *
447
- * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/
448
- */
449
- attributes?: Attributes;
450
- /**
451
- * It contains as set of options to control features used in the editor.
452
- *
453
- * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/
454
- */
455
- supports?: BlockSupports;
456
- edit: (props: BlockEditProps<InterpretAttributes<Attributes>, InterpretedUsedContext>) => Element;
457
- /**
458
- * Context provided for available access by descendants of blocks of this type, in the form of an object which maps a context name to one of the block’s own attribute.
459
- * Property names must only contain letters Regex:[a-zA-Z]
460
- *
461
- * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-context/
462
- */
463
- providesContext?: BlockProvidesContext<Attributes>;
469
+ export type BlockTransforms<InterpretedAttributes extends Record<string, unknown>> = BlockTypeTransform<InterpretedAttributes>[] | EnterTypeTransform[] | FilesTypeTransform[] | PrefixTypeTransform[] | RawTypeTransform[] | ShortCodeTypeTransform[];
470
+ export type ClientOnlyRegisterOptions<InterpretedAttributes extends Record<string, unknown>, InterpretedUsedContext extends Record<string, any> = Record<string, never>> = {
464
471
  /**
465
- * Array of the names of context values to inherit from an ancestor provider.
466
- * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-context/
472
+ * An icon property should be specified to make it easier to identify a block..
467
473
  */
468
- usesContext?: readonly (keyof InterpretedUsedContext)[];
474
+ icon?: string | JSX.Element;
475
+ edit: (props: CreateBlockEditProps<InterpretedAttributes, InterpretedUsedContext>) => Element;
476
+ save: (props: CreateBlockSaveProps<InterpretedAttributes>) => Element | null;
477
+ deprecated?: unknown[];
469
478
  /**
470
479
  * An API that allows a block to be transformed from and to other blocks, as well as from other entities.
471
480
  * Existing entities that work with this API include shortcodes, files, regular expressions, and raw DOM nodes.
@@ -473,31 +482,30 @@ type CurrentBlockDefinitionBase<Attributes extends BlockAttributes, InterpretedU
473
482
  * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-transforms/
474
483
  */
475
484
  transforms?: {
476
- from: BlockTransforms;
477
- to: BlockTransforms;
485
+ from: BlockTransforms<InterpretedAttributes>;
486
+ to: BlockTransforms<InterpretedAttributes>;
478
487
  };
479
- /**
480
- * Block Variations is the API that allows a block to have similar versions of it, but all these versions share some common functionality.
481
- */
482
- variations?: BlockVariations<Attributes>;
483
488
  };
484
- export type CurrentStaticBlockDefinition<Attributes extends Readonly<Record<string, AttributesObject>>, InterpretedUsedContext extends Record<string, any> = Record<string, never>> = CurrentBlockDefinitionBase<Attributes, InterpretedUsedContext> & {
485
- save: (props: BlockSaveProps<InterpretAttributes<Attributes>>) => Element;
489
+ export type DeprecationAndFixture<OldSupports extends BlockSupports, OldAttributes extends BlockAttributes, NewInterpretedAttributes extends Record<string, unknown>, OldInterpretedAttributes extends InterpretAttributes<OldSupports, OldAttributes> = InterpretAttributes<OldSupports, OldAttributes>> = {
490
+ fixture: string[];
491
+ object: Deprecation<OldSupports, OldAttributes, NewInterpretedAttributes, OldInterpretedAttributes>;
486
492
  };
487
- export type CurrentDynamicBlockDefinition<Attributes extends Readonly<Record<string, AttributesObject>>, InterpretedUsedContext extends Record<string, any> = Record<string, never>> = CurrentBlockDefinitionBase<Attributes, InterpretedUsedContext> & {
488
- /**
489
- * The file path to the PHP file for rendering the markup. Must be relative to block.json and start with `file:`.
490
- */
491
- render: WPDefinedPath;
492
- save?: (props: BlockSaveProps<InterpretAttributes<Attributes>>) => Element | null;
493
- };
494
- type DeprecatedBlockBase<OldAttributes extends BlockAttributes, NewAttributes extends BlockAttributes> = {
495
- migrate?: BlockMigrateDeprecationFunction<InterpretAttributes<OldAttributes>, InterpretAttributes<NewAttributes>>;
496
- isEligible?: BlockIsDeprecationEligibleFunction<InterpretAttributes<OldAttributes>>;
493
+ export type Deprecation<OldSupports extends BlockSupports, OldAttributes extends BlockAttributes, NewInterpretedAttributes extends Record<string, unknown>, OldInterpretedAttributes extends InterpretAttributes<OldSupports, OldAttributes> = InterpretAttributes<OldSupports, OldAttributes>> = {
494
+ attributes: OldAttributes;
495
+ supports: OldSupports;
496
+ isEligible: BlockIsDeprecationEligibleFunction<OldInterpretedAttributes>;
497
+ migrate: BlockMigrateDeprecationFunction<OldInterpretedAttributes, NewInterpretedAttributes>;
498
+ save: (props: CreateBlockSaveProps<OldInterpretedAttributes>) => Element | null;
497
499
  };
498
- export type DeprecatedStaticBlock<OldAttributes extends BlockAttributes, NewAttributes extends BlockAttributes> = Omit<CurrentStaticBlockDefinition<OldAttributes>, "edit"> & DeprecatedBlockBase<OldAttributes, NewAttributes>;
499
- export type DeprecatedDynamicBlock<OldAttributes extends BlockAttributes, NewAttributes extends BlockAttributes> = Omit<CurrentStaticBlockDefinition<OldAttributes>, "edit"> & DeprecatedBlockBase<OldAttributes, NewAttributes>;
500
- export type DeprecatedBlock<OldAttributes extends BlockAttributes, NewAttributes extends BlockAttributes> = DeprecatedStaticBlock<OldAttributes, NewAttributes> & DeprecatedDynamicBlock<OldAttributes, NewAttributes>;
501
- export declare function registerBlockType<Attributes extends BlockAttributes = Record<string, never>, UsedContext extends Record<string, any> = Record<string, never>>(name: string, settings: Partial<BlockMetaData<Attributes>> & BlockSettings<Attributes, UsedContext>): import("@wordpress/blocks").Block<Attributes> | undefined;
502
- export {};
500
+ export type AllDeprecations<NewInterpretedAttributes extends Record<string, unknown>> = {
501
+ attributes: any;
502
+ supports: any;
503
+ isEligible: (attributes: any, innerBlocks: InnerBlocks[]) => boolean;
504
+ migrate: (attributes: any, innerBlocks: InnerBlocks[]) => NewInterpretedAttributes | [NewInterpretedAttributes, InnerBlocks[]];
505
+ save: (props: {
506
+ readonly attributes: any;
507
+ readonly innerBlocks: readonly InnerBlocks[];
508
+ }) => Element | null;
509
+ }[];
510
+ export declare function registerBlockType<InterpretedAttributes extends Record<string, unknown>, InterpretedUsedContext extends Record<string, any> = Record<string, never>>(name: string, settings: ClientOnlyRegisterOptions<InterpretedAttributes, InterpretedUsedContext>): import("@wordpress/blocks").Block<Record<string, any>> | undefined;
503
511
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export type FlowLayout = {
2
+ type: "default";
3
+ };
4
+ export type ConstrainedLayout = {
5
+ type: "constrained";
6
+ justifyContent?: "left" | "center" | "right";
7
+ contentSize?: string;
8
+ wideSize?: string;
9
+ };
10
+ export type FlexLayout = {
11
+ type: "flex";
12
+ flexWrap?: "wrap" | "nowrap";
13
+ } & ({
14
+ orientation?: "horizontal";
15
+ justifyContent?: "left" | "center" | "right" | "space-between";
16
+ verticalAlignment?: "top" | "center" | "bottom" | "stretch";
17
+ } | {
18
+ orientation: "vertical";
19
+ justifyContent?: "left" | "center" | "right" | "stretch";
20
+ verticalAlignment?: "top" | "center" | "bottom" | "space-between";
21
+ });
22
+ export type GridLayout = {
23
+ type: "grid";
24
+ } & ({
25
+ minimumColumnWidth?: string;
26
+ columnCount?: never;
27
+ } | {
28
+ minimumColumnWidth?: never;
29
+ columnCount?: number;
30
+ });
31
+ export type AllPossibleLayouts = FlowLayout | FlexLayout | GridLayout | ConstrainedLayout;
32
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAC7C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC7B,GAAG,CACD;IACA,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC;IAC/D,iBAAiB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC3D,GACD;IACA,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACzD,iBAAiB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAC;CACjE,CACH,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;CACb,GAAG,CACD;IACA,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC;CACnB,GACD;IACA,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACpB,CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC3B,UAAU,GACV,UAAU,GACV,UAAU,GACV,iBAAiB,CAAC"}
package/dist/layout.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomicsmash/blocks-helpers",
3
- "version": "4.0.0-beta.8",
3
+ "version": "4.0.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "homepage": "https://www.atomicsmash.co.uk/",
@@ -36,13 +36,13 @@
36
36
  "lint:types": "tsc"
37
37
  },
38
38
  "dependencies": {
39
- "@wordpress/blocks": "^12.29.0"
39
+ "@wordpress/blocks": "^13.5.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/wordpress__block-editor": "^11.5.13",
43
- "@types/wordpress__blocks": "^12.5.0",
44
- "@wordpress/block-editor": "^12.22.0",
45
- "@wordpress/components": "^27.2.0",
46
- "@wordpress/i18n": "^4.54.0"
42
+ "@types/wordpress__block-editor": "^11.5.15",
43
+ "@types/wordpress__blocks": "^12.5.14",
44
+ "@wordpress/block-editor": "^14.0.0",
45
+ "@wordpress/components": "^28.5.0",
46
+ "@wordpress/i18n": "^5.5.0"
47
47
  }
48
48
  }