@plitzi/sdk-shared 0.37.9 → 0.38.1

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 (135) hide show
  1. package/CHANGELOG.md +601 -0
  2. package/dist/actions/index.d.ts +1 -1
  3. package/dist/actions/index.mjs +3 -3
  4. package/dist/actions/triggerParams.mjs +7 -6
  5. package/dist/actions/validateDocument.d.ts +3 -0
  6. package/dist/actions/validateDocument.mjs +89 -88
  7. package/dist/authoring/elementCallbacks.d.ts +65 -0
  8. package/dist/authoring/elementCallbacks.mjs +72 -8
  9. package/dist/authoring/index.mjs +3 -3
  10. package/dist/builder/contexts/BuilderContext.d.ts +18 -7
  11. package/dist/connectors/index.d.ts +1 -1
  12. package/dist/connectors/index.mjs +2 -2
  13. package/dist/connectors/validateManifest.d.ts +3 -0
  14. package/dist/connectors/validateManifest.mjs +77 -76
  15. package/dist/dataSource/computed.mjs +25 -29
  16. package/dist/dataSource/globalSources.d.ts +15 -0
  17. package/dist/dataSource/globalSources.mjs +13 -0
  18. package/dist/dataSource/index.d.ts +2 -0
  19. package/dist/dataSource/index.mjs +8 -7
  20. package/dist/devTools/utils/PlitziConsole.d.ts +9 -0
  21. package/dist/devTools/utils/PlitziConsole.mjs +27 -7
  22. package/dist/flags/flagsCookie.d.ts +26 -0
  23. package/dist/flags/flagsCookie.mjs +20 -0
  24. package/dist/flags/index.d.ts +3 -0
  25. package/dist/flags/index.mjs +4 -0
  26. package/dist/flags/resolveFlags.d.ts +60 -0
  27. package/dist/flags/resolveFlags.mjs +38 -0
  28. package/dist/flags/schemaFlag.d.ts +11 -0
  29. package/dist/flags/schemaFlag.mjs +9 -0
  30. package/dist/flags/useFlagResolution.d.ts +13 -0
  31. package/dist/flags/useFlagResolution.mjs +43 -0
  32. package/dist/helpers/eventTarget.d.ts +10 -0
  33. package/dist/helpers/eventTarget.mjs +4 -0
  34. package/dist/helpers/images.d.ts +18 -0
  35. package/dist/helpers/images.mjs +13 -0
  36. package/dist/helpers/index.d.ts +3 -0
  37. package/dist/helpers/index.mjs +21 -18
  38. package/dist/helpers/interval.d.ts +18 -0
  39. package/dist/helpers/interval.mjs +7 -0
  40. package/dist/helpers/isRecord.d.ts +2 -0
  41. package/dist/helpers/isRecord.mjs +4 -0
  42. package/dist/helpers/scroll.d.ts +42 -0
  43. package/dist/helpers/scroll.mjs +30 -0
  44. package/dist/helpers/twigWrapper/TemplateCache/TemplateCache.mjs +1 -1
  45. package/dist/helpers/twigWrapper/filters/filters.mjs +38 -2
  46. package/dist/history/describe.mjs +3 -1
  47. package/dist/history/diff.d.ts +1 -1
  48. package/dist/history/diff.mjs +1 -0
  49. package/dist/history/types.d.ts +1 -1
  50. package/dist/hooks/index.mjs +5 -5
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.mjs +90 -76
  53. package/dist/navigation/routes.mjs +6 -4
  54. package/dist/network/graphql/builder/Mutations/Space/SpaceAddSnippetMutation.d.ts +2 -0
  55. package/dist/network/graphql/builder/Mutations/Space/SpaceAddSnippetMutation.mjs +4 -0
  56. package/dist/network/graphql/builder/Mutations/Space/flags/SpacePublishFlagsMutation.d.ts +12 -0
  57. package/dist/network/graphql/builder/Mutations/Space/flags/SpacePublishFlagsMutation.mjs +4 -0
  58. package/dist/network/graphql/builder/Mutations/Space/flags/SpaceRemoveFlagMutation.d.ts +2 -0
  59. package/dist/network/graphql/builder/Mutations/Space/flags/SpaceRemoveFlagMutation.mjs +4 -0
  60. package/dist/network/graphql/builder/Mutations/Space/flags/SpaceSetFlagMutation.d.ts +3 -0
  61. package/dist/network/graphql/builder/Mutations/Space/flags/SpaceSetFlagMutation.mjs +4 -0
  62. package/dist/network/graphql/builder/Mutations/index.d.ts +5 -1
  63. package/dist/network/graphql/builder/Mutations/index.mjs +122 -116
  64. package/dist/network/graphql/builder/Queries/InitQuery.d.ts +3 -1
  65. package/dist/network/graphql/builder/Queries/InitQuery.mjs +1 -1
  66. package/dist/network/graphql/builder/Queries/Space/SpaceIssuesQuery.d.ts +16 -2
  67. package/dist/network/graphql/builder/Queries/Space/SpaceIssuesQuery.mjs +1 -1
  68. package/dist/network/graphql/builder/Queries/index.d.ts +1 -1
  69. package/dist/network/graphql/sdk/Queries/InitQuery.d.ts +1 -1
  70. package/dist/network/graphql/sdk/Queries/InitQuery.mjs +1 -1
  71. package/dist/network/index.mjs +8 -7
  72. package/dist/network/spaceEvents.d.ts +12 -6
  73. package/dist/network/spaceEvents.mjs +153 -154
  74. package/dist/realtime/client.mjs +123 -95
  75. package/dist/realtime/topics.mjs +18 -17
  76. package/dist/schema/anchor.d.ts +8 -0
  77. package/dist/schema/anchor.mjs +4 -0
  78. package/dist/schema/index.d.ts +2 -0
  79. package/dist/schema/index.mjs +6 -4
  80. package/dist/schema/serverElements.d.ts +6 -2
  81. package/dist/schema/serverElements.mjs +17 -16
  82. package/dist/schema/snippet.d.ts +7 -0
  83. package/dist/schema/snippet.mjs +9 -0
  84. package/dist/schema/wire.d.ts +11 -0
  85. package/dist/schema/wire.mjs +27 -0
  86. package/dist/server/actions/useImagesSync.d.ts +9 -0
  87. package/dist/server/actions/useImagesSync.mjs +7 -0
  88. package/dist/server/rsc/refreshRsc.mjs +8 -8
  89. package/dist/source/snapshot.mjs +23 -22
  90. package/dist/state/paintedState.mjs +13 -12
  91. package/dist/state/runtimeStatePersist.mjs +50 -49
  92. package/dist/store/index.d.ts +45 -45
  93. package/dist/style/breakpoints.d.ts +11 -0
  94. package/dist/style/breakpoints.mjs +8 -0
  95. package/dist/style/displayModes.d.ts +5 -0
  96. package/dist/style/displayModes.mjs +8 -0
  97. package/dist/style/fontValidation.mjs +52 -51
  98. package/dist/style/fonts.d.ts +0 -12
  99. package/dist/style/fonts.mjs +11 -11
  100. package/dist/style/index.d.ts +4 -0
  101. package/dist/style/index.mjs +11 -7
  102. package/dist/style/layoutGrid.d.ts +30 -0
  103. package/dist/style/layoutGrid.mjs +33 -0
  104. package/dist/style/notifications.d.ts +52 -0
  105. package/dist/style/notifications.mjs +55 -0
  106. package/dist/style/snippetStyle.d.ts +23 -0
  107. package/dist/style/snippetStyle.mjs +32 -0
  108. package/dist/style/styleConstants.d.ts +7 -2
  109. package/dist/style/styleConstants.mjs +10 -0
  110. package/dist/style/styleStates.d.ts +11 -2
  111. package/dist/style/styleStates.mjs +12 -9
  112. package/dist/theme/ThemeProvider.mjs +20 -20
  113. package/dist/types/CommonTypes.d.ts +3 -0
  114. package/dist/types/DevToolsTypes.d.ts +29 -4
  115. package/dist/types/EventBridgeTypes.d.ts +2 -2
  116. package/dist/types/PluginTypes.d.ts +1 -1
  117. package/dist/types/ResourceTypes.d.ts +2 -2
  118. package/dist/types/SchemaTypes.d.ts +62 -3
  119. package/dist/types/ServerTypes.d.ts +47 -0
  120. package/dist/types/SnippetTypes.d.ts +28 -0
  121. package/dist/types/StoreTypes.d.ts +25 -0
  122. package/dist/types/StyleTypes.d.ts +2 -1
  123. package/dist/types/StyleTypes.mjs +2 -2
  124. package/dist/types/index.d.ts +1 -1
  125. package/dist/types/index.mjs +2 -2
  126. package/dist/websockets/RTCodec.d.ts +1 -0
  127. package/dist/websockets/RTCodec.mjs +14 -12
  128. package/dist/websockets/index.mjs +2 -2
  129. package/package.json +115 -19
  130. package/tailwind.config.js +1 -6
  131. package/vite.config.ts +16 -4
  132. package/dist/network/graphql/builder/Mutations/Space/SpaceAddTemplateMutation.d.ts +0 -2
  133. package/dist/network/graphql/builder/Mutations/Space/SpaceAddTemplateMutation.mjs +0 -4
  134. package/dist/types/TemplateTypes.d.ts +0 -20
  135. /package/dist/types/{TemplateTypes.mjs → SnippetTypes.mjs} +0 -0
@@ -1,4 +1,4 @@
1
1
  //#region src/network/graphql/builder/Queries/InitQuery.ts
2
- var e = "\n query InitQuery($environment: String!, $revision: Int) {\n Space(environment: $environment, revision: $revision) {\n definition {\n name\n permanentUrl\n }\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n }\n attributes\n }\n pages\n components\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n category\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n id\n platform\n variables\n mode\n fonts\n cache\n }\n }\n }\n";
2
+ var e = "\n query InitQuery($environment: String!, $revision: Int) {\n PlatformFlags\n Space(environment: $environment, revision: $revision) {\n definition {\n name\n permanentUrl\n }\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n flag {\n name\n is\n }\n anchor\n }\n attributes\n }\n pages\n components\n flags\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n category\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n id\n platform\n variables\n mode\n fonts\n cache\n }\n }\n }\n";
3
3
  //#endregion
4
4
  export { e as default };
@@ -4,14 +4,28 @@ export type TSpaceIssue = {
4
4
  message: string;
5
5
  elementId: string | null;
6
6
  fixable: boolean;
7
+ /** What to write instead, from the row of its code — Markdown with `code` in backticks; null when it has no row. */
8
+ fix: string | null;
7
9
  };
8
- /** `errors` block publishing; `warnings` render, but most likely not as meant. */
10
+ /** A shorter way to the same page — not a problem: the space renders as written. */
11
+ export type TSpaceSuggestion = {
12
+ code: string;
13
+ message: string;
14
+ /** The elements it is about — the copies, the buttons. */
15
+ elementIds: string[];
16
+ /** How many elements taking it would save. */
17
+ saves: number;
18
+ /** The short way, from the row of its code — Markdown with `code` in backticks. */
19
+ fix: string | null;
20
+ };
21
+ /** `errors` block publishing; `warnings` render, but most likely not as meant; `suggestions` are a shorter way. */
9
22
  export type TSpaceIssues = {
10
23
  errors: TSpaceIssue[];
11
24
  warnings: TSpaceIssue[];
25
+ suggestions: TSpaceSuggestion[];
12
26
  };
13
27
  export type TSpaceIssuesQuery = {
14
28
  SpaceIssues: TSpaceIssues | null;
15
29
  };
16
- declare const SpaceIssuesQuery = "\n query SpaceIssuesQuery($environment: String!) {\n SpaceIssues(environment: $environment) {\n errors {\n code\n message\n elementId\n fixable\n }\n warnings {\n code\n message\n elementId\n fixable\n }\n }\n }\n";
30
+ declare const SpaceIssuesQuery = "\n query SpaceIssuesQuery($environment: String!) {\n SpaceIssues(environment: $environment) {\n errors {\n code\n message\n elementId\n fixable\n fix\n }\n warnings {\n code\n message\n elementId\n fixable\n fix\n }\n suggestions {\n code\n message\n elementIds\n saves\n fix\n }\n }\n }\n";
17
31
  export default SpaceIssuesQuery;
@@ -1,4 +1,4 @@
1
1
  //#region src/network/graphql/builder/Queries/Space/SpaceIssuesQuery.ts
2
- var e = "\n query SpaceIssuesQuery($environment: String!) {\n SpaceIssues(environment: $environment) {\n errors {\n code\n message\n elementId\n fixable\n }\n warnings {\n code\n message\n elementId\n fixable\n }\n }\n }\n";
2
+ var e = "\n query SpaceIssuesQuery($environment: String!) {\n SpaceIssues(environment: $environment) {\n errors {\n code\n message\n elementId\n fixable\n fix\n }\n warnings {\n code\n message\n elementId\n fixable\n fix\n }\n suggestions {\n code\n message\n elementIds\n saves\n fix\n }\n }\n }\n";
3
3
  //#endregion
4
4
  export { e as default };
@@ -17,7 +17,7 @@ import { TSpaceRuntimeQuery } from './Space/SpaceRuntimeQuery';
17
17
  import { TSpaceVersionContentsQuery } from './Space/SpaceVersionContentsQuery';
18
18
  import { TSpaceVisitorsQuery } from './Space/SpaceVisitorsQuery';
19
19
  export type { TQuotaPlane, TSpaceQuota } from './Space/SpaceQuotaQuery';
20
- export type { TSpaceIssue, TSpaceIssues } from './Space/SpaceIssuesQuery';
20
+ export type { TSpaceIssue, TSpaceIssues, TSpaceSuggestion } from './Space/SpaceIssuesQuery';
21
21
  export type { TSnapshotMarker, TSpaceChanges } from './Space/SpaceChangesQuery';
22
22
  export type BuilderQueriesMap = {
23
23
  Init: TInitQuery;
@@ -10,5 +10,5 @@ export type TInitQuery = {
10
10
  };
11
11
  };
12
12
  };
13
- declare const InitQuery = "\n query InitQuery($environment: String!, $revision: Int) {\n Space(environment: $environment, revision: $revision) {\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n }\n attributes\n }\n pages\n components\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n variables\n cache\n }\n # The schema fetch is the one moment a client-side render hears from the server at all, so the decision it\n # would have been handed in an SSR bootstrap travels here instead.\n render {\n overQuota\n }\n }\n }\n";
13
+ declare const InitQuery = "\n query InitQuery($environment: String!, $revision: Int) {\n Space(environment: $environment, revision: $revision) {\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n flag {\n name\n is\n }\n anchor\n }\n attributes\n }\n pages\n components\n flags\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n variables\n cache\n }\n # The schema fetch is the one moment a client-side render hears from the server at all, so the decision it\n # would have been handed in an SSR bootstrap travels here instead.\n render {\n overQuota\n }\n }\n }\n";
14
14
  export default InitQuery;
@@ -1,4 +1,4 @@
1
1
  //#region src/network/graphql/sdk/Queries/InitQuery.ts
2
- var e = "\n query InitQuery($environment: String!, $revision: Int) {\n Space(environment: $environment, revision: $revision) {\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n }\n attributes\n }\n pages\n components\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n variables\n cache\n }\n # The schema fetch is the one moment a client-side render hears from the server at all, so the decision it\n # would have been handed in an SSR bootstrap travels here instead.\n render {\n overQuota\n }\n }\n }\n";
2
+ var e = "\n query InitQuery($environment: String!, $revision: Int) {\n Space(environment: $environment, revision: $revision) {\n schema {\n settings\n rsc\n flat {\n id\n definition {\n label\n type\n initialState\n styleSelectors\n bindings\n interactions\n parentId\n rootId\n items\n runtime\n loadStrategy\n flag {\n name\n is\n }\n anchor\n }\n attributes\n }\n pages\n components\n flags\n pageFolders {\n id\n name\n slug\n parentId\n }\n variables {\n name\n type\n value\n subValues {\n when\n value\n }\n }\n }\n plugins {\n type\n resource\n settings\n }\n style {\n variables\n cache\n }\n # The schema fetch is the one moment a client-side render hears from the server at all, so the decision it\n # would have been handed in an SSR bootstrap travels here instead.\n render {\n overQuota\n }\n }\n }\n";
3
3
  //#endregion
4
4
  export { e as default };
@@ -1,9 +1,10 @@
1
1
  import e from "./NetworkContext.mjs";
2
2
  import t from "./NetworkInternalContext.mjs";
3
- import { SpaceEvents as n, schemaFromWire as r, schemaToWire as i, spaceEventSchemas as a, validateSpaceEvent as o } from "./spaceEvents.mjs";
4
- import s from "./graphql/builder/Mutations/index.mjs";
5
- import c from "./graphql/builder/Queries/index.mjs";
6
- import l from "./graphql/builder/Subscriptions/index.mjs";
7
- import u from "./graphql/sdk/Mutations/index.mjs";
8
- import d from "./graphql/sdk/Queries/index.mjs";
9
- export { s as BuilderMutations, c as BuilderQueries, e as NetworkContext, t as NetworkInternalContext, u as SdkMutations, d as SdkQueries, l as SpaceEventSubscription, n as SpaceEvents, r as schemaFromWire, i as schemaToWire, a as spaceEventSchemas, o as validateSpaceEvent };
3
+ import { elementFromWire as n, schemaFromWire as r, schemaToWire as i } from "../schema/wire.mjs";
4
+ import { SpaceEvents as a, spaceEventSchemas as o, validateSpaceEvent as s } from "./spaceEvents.mjs";
5
+ import c from "./graphql/builder/Mutations/index.mjs";
6
+ import l from "./graphql/builder/Queries/index.mjs";
7
+ import u from "./graphql/builder/Subscriptions/index.mjs";
8
+ import d from "./graphql/sdk/Mutations/index.mjs";
9
+ import f from "./graphql/sdk/Queries/index.mjs";
10
+ export { c as BuilderMutations, l as BuilderQueries, e as NetworkContext, t as NetworkInternalContext, d as SdkMutations, f as SdkQueries, u as SpaceEventSubscription, a as SpaceEvents, n as elementFromWire, r as schemaFromWire, i as schemaToWire, o as spaceEventSchemas, s as validateSpaceEvent };
@@ -1,10 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { StyleVariableCategory } from '../types/StyleTypes';
3
- import { DropPosition, Element, PageFolder, Schema, SchemaRaw, SchemaVariable, SpaceComponent, SpaceComponentDeclaration, SpaceFont, Style, StyleCategory, StyleItem, StyleVariableValue } from '../types';
4
- /** A schema as the channel carries it: `flat` as a list. What every publisher of a whole schema sends. */
5
- export declare const schemaToWire: (schema: Schema) => SchemaRaw;
6
- /** A schema off the channel, keyed again by element id: what a receiver stores. */
7
- export declare const schemaFromWire: (raw: SchemaRaw) => Schema;
3
+ import { DropPosition, Element, PageFolder, SchemaFlag, SchemaRaw, SchemaVariable, SpaceComponent, SpaceComponentDeclaration, SpaceFont, Style, StyleCategory, StyleItem, StyleVariableValue } from '../types';
4
+ export { elementFromWire, schemaFromWire, schemaToWire } from '../schema/wire';
8
5
  export declare const spaceEventSchemas: {
9
6
  readonly SPACE_UPDATED: z.ZodObject<{
10
7
  schema: z.ZodCustom<SchemaRaw, SchemaRaw>;
@@ -44,6 +41,13 @@ export declare const spaceEventSchemas: {
44
41
  readonly SPACE_REMOVE_VARIABLE: z.ZodObject<{
45
42
  name: z.ZodString;
46
43
  }, z.core.$strip>;
44
+ readonly SPACE_SET_FLAG: z.ZodObject<{
45
+ name: z.ZodString;
46
+ flag: z.ZodCustom<SchemaFlag, SchemaFlag>;
47
+ }, z.core.$strip>;
48
+ readonly SPACE_REMOVE_FLAG: z.ZodObject<{
49
+ name: z.ZodString;
50
+ }, z.core.$strip>;
47
51
  readonly SPACE_ADD_ELEMENT: z.ZodObject<{
48
52
  element: z.ZodCustom<Element, Element>;
49
53
  dropPosition: z.ZodCustom<DropPosition, DropPosition>;
@@ -76,7 +80,7 @@ export declare const spaceEventSchemas: {
76
80
  dropPosition: z.ZodCustom<DropPosition, DropPosition>;
77
81
  initialItems: z.ZodArray<z.ZodCustom<Element, Element>>;
78
82
  }, z.core.$strip>;
79
- readonly SPACE_ADD_TEMPLATE: z.ZodObject<{
83
+ readonly SPACE_ADD_SNIPPET: z.ZodObject<{
80
84
  element: z.ZodCustom<Element, Element>;
81
85
  style: z.ZodCustom<Style, Style>;
82
86
  to: z.ZodString;
@@ -136,6 +140,7 @@ export declare const spaceEventSchemas: {
136
140
  disabled: "disabled";
137
141
  checked: "checked";
138
142
  visited: "visited";
143
+ current: "current";
139
144
  hidden: "hidden";
140
145
  }>>;
141
146
  styleVariant: z.ZodOptional<z.ZodString>;
@@ -162,6 +167,7 @@ export declare const spaceEventSchemas: {
162
167
  disabled: "disabled";
163
168
  checked: "checked";
164
169
  visited: "visited";
170
+ current: "current";
165
171
  hidden: "hidden";
166
172
  }>>;
167
173
  styleVariant: z.ZodOptional<z.ZodString>;
@@ -1,165 +1,164 @@
1
- import { StyleVariableCategory as e } from "../types/StyleTypes.mjs";
2
- import { STYLE_STATES as t } from "../style/styleStates.mjs";
3
- import { z as n } from "zod";
1
+ import { isRecord as e } from "../helpers/isRecord.mjs";
2
+ import { isSchemaFlag as t } from "../flags/schemaFlag.mjs";
3
+ import { StyleVariableCategory as n } from "../types/StyleTypes.mjs";
4
+ import { DISPLAY_MODES as r } from "../style/displayModes.mjs";
5
+ import { STYLE_STATES as i } from "../style/styleStates.mjs";
6
+ import { elementFromWire as a, schemaFromWire as o, schemaToWire as s } from "../schema/wire.mjs";
7
+ import { z as c } from "zod";
4
8
  //#region src/network/spaceEvents.ts
5
- var r = (e) => typeof e == "object" && !!e && !Array.isArray(e), i = n.custom((e) => r(e) && typeof e.id == "string", { message: "expected an element with an id" }), a = n.array(i), o = (e) => ({
6
- ...e,
7
- flat: Object.values(e.flat)
8
- }), s = (e) => ({
9
- ...e,
10
- flat: Object.fromEntries(e.flat.map((e) => [e.id, e]))
11
- }), c = n.custom((e) => r(e) && typeof e.id == "string" && r(e.flat), { message: "expected a component with an id and a flat" }), l = n.custom((e) => r(e) && Array.isArray(e.flat), { message: "expected a schema whose `flat` is a list of elements" }), u = n.custom((e) => r(e) && typeof e.id == "string", { message: "expected a page folder with an id" }), d = n.custom((e) => r(e) && typeof e.name == "string", { message: "expected a variable with a name" }), f = n.custom(r, { message: "expected a style attributes object" }), p = n.custom((e) => r(e) && typeof e.family == "string" && typeof e.source == "string", { message: "expected a font with a family and a source" }), m = n.custom((e) => typeof e == "string" || typeof e == "number" || r(e), { message: "expected a style variable value" }), h = n.enum([
12
- "desktop",
13
- "tablet",
14
- "mobile"
15
- ]), g = n.custom((e) => typeof e == "string", { message: "expected a drop position" }), _ = n.custom((e) => typeof e == "string", { message: "expected a style category" }), v = n.enum([
9
+ var l = c.custom((t) => e(t) && typeof t.id == "string", { message: "expected an element with an id" }), u = c.array(l), d = c.custom((t) => e(t) && typeof t.id == "string" && e(t.flat), { message: "expected a component with an id and a flat" }), f = c.custom((t) => e(t) && Array.isArray(t.flat), { message: "expected a schema whose `flat` is a list of elements" }), p = c.custom((t) => e(t) && typeof t.id == "string", { message: "expected a page folder with an id" }), m = c.custom((t) => e(t) && typeof t.name == "string", { message: "expected a variable with a name" }), h = c.custom(t, { message: "expected a flag with a value and its rules" }), g = c.custom(e, { message: "expected a style attributes object" }), _ = c.custom((t) => e(t) && typeof t.family == "string" && typeof t.source == "string", { message: "expected a font with a family and a source" }), v = c.custom((t) => typeof t == "string" || typeof t == "number" || e(t), { message: "expected a style variable value" }), y = c.enum(r), b = c.custom((e) => typeof e == "string", { message: "expected a drop position" }), x = c.custom((e) => typeof e == "string", { message: "expected a style category" }), S = c.enum([
16
10
  "class",
17
11
  "element",
18
12
  "id"
19
- ]), y = n.enum(t), b = n.enum(e), x = n.object({
20
- componentType: n.string().optional(),
21
- styleSelector: n.string().optional(),
22
- styleState: y.optional(),
23
- styleVariant: n.string().optional(),
24
- styleAncestor: n.string().optional()
25
- }), S = x.extend({ styleSelector: n.string() }), C = n.object({ variable: d }), w = n.object({
26
- displayMode: h,
27
- selector: n.string(),
28
- category: b,
29
- name: n.string(),
30
- value: m
31
- }), T = n.object({
32
- displayMode: h,
33
- selector: n.string(),
34
- category: b,
35
- name: n.string()
36
- }), E = n.object({
37
- category: b,
38
- name: n.string(),
39
- value: m
40
- }), D = n.object({
41
- type: n.string(),
42
- resource: n.string(),
43
- settings: n.custom(r, { message: "expected a plugin settings object" })
44
- }), O = {
45
- SPACE_UPDATED: n.object({ schema: l }),
46
- STYLE_UPDATED: n.object({
47
- platform: n.custom(r),
48
- variables: n.custom(r),
49
- cache: n.string()
50
- }),
51
- SPACE_ADD_PAGE: n.object({ page: i }),
52
- SPACE_UPDATE_PAGE: n.object({ page: i }),
53
- SPACE_SET_HOME_PAGE: n.object({ page: i }),
54
- SPACE_REMOVE_PAGE: n.object({ pageId: n.string() }),
55
- SPACE_ADD_PAGE_FOLDER: n.object({ pageFolder: u }),
56
- SPACE_UPDATE_PAGE_FOLDER: n.object({ pageFolder: u }),
57
- SPACE_REMOVE_PAGE_FOLDER: n.object({ pageFolderId: n.string() }),
58
- SPACE_ADD_VARIABLE: C,
59
- SPACE_UPDATE_VARIABLE: C,
60
- SPACE_REMOVE_VARIABLE: n.object({ name: n.string() }),
61
- SPACE_ADD_ELEMENT: n.object({
62
- element: i,
63
- dropPosition: g,
64
- to: n.string(),
65
- initialItems: a.optional(),
66
- variables: n.array(d).optional()
67
- }),
68
- SPACE_UPDATE_ELEMENT: n.object({ element: i }),
69
- SPACE_RENAME_ELEMENT: n.object({
70
- elementId: n.string(),
71
- id: n.string()
72
- }),
73
- SPACE_UPDATE_ELEMENTS: n.object({ elements: a }),
74
- SPACE_REMOVE_ELEMENT: n.object({ elementId: n.string() }),
75
- SPACE_MOVE_ELEMENT: n.object({
76
- from: n.string(),
77
- to: n.string(),
78
- elementId: n.string(),
79
- dropPosition: g
80
- }),
81
- SPACE_CLONE_ELEMENT: n.object({
82
- to: n.string(),
83
- element: i,
84
- dropPosition: g,
85
- initialItems: a
86
- }),
87
- SPACE_ADD_TEMPLATE: n.object({
88
- element: i,
89
- style: n.custom(r),
90
- to: n.string(),
91
- dropPosition: g,
92
- initialItems: a.optional(),
93
- variables: n.array(d).optional()
94
- }),
95
- SPACE_ADD_PLUGIN: n.object({ plugin: D }),
96
- SPACE_UPDATE_PLUGIN: n.object({ plugin: D }),
97
- SPACE_REMOVE_PLUGIN: n.object({ pluginType: n.string() }),
98
- SPACE_UPDATE_SETTINGS: n.object({
99
- path: n.string(),
100
- value: n.union([
101
- n.string(),
102
- n.number(),
103
- n.boolean()
13
+ ]), C = c.enum(i), w = c.enum(n), T = c.object({
14
+ componentType: c.string().optional(),
15
+ styleSelector: c.string().optional(),
16
+ styleState: C.optional(),
17
+ styleVariant: c.string().optional(),
18
+ styleAncestor: c.string().optional()
19
+ }), E = T.extend({ styleSelector: c.string() }), D = c.object({ variable: m }), O = c.object({
20
+ displayMode: y,
21
+ selector: c.string(),
22
+ category: w,
23
+ name: c.string(),
24
+ value: v
25
+ }), k = c.object({
26
+ displayMode: y,
27
+ selector: c.string(),
28
+ category: w,
29
+ name: c.string()
30
+ }), A = c.object({
31
+ category: w,
32
+ name: c.string(),
33
+ value: v
34
+ }), j = c.object({
35
+ type: c.string(),
36
+ resource: c.string(),
37
+ settings: c.custom(e, { message: "expected a plugin settings object" })
38
+ }), M = {
39
+ SPACE_UPDATED: c.object({ schema: f }),
40
+ STYLE_UPDATED: c.object({
41
+ platform: c.custom(e),
42
+ variables: c.custom(e),
43
+ cache: c.string()
44
+ }),
45
+ SPACE_ADD_PAGE: c.object({ page: l }),
46
+ SPACE_UPDATE_PAGE: c.object({ page: l }),
47
+ SPACE_SET_HOME_PAGE: c.object({ page: l }),
48
+ SPACE_REMOVE_PAGE: c.object({ pageId: c.string() }),
49
+ SPACE_ADD_PAGE_FOLDER: c.object({ pageFolder: p }),
50
+ SPACE_UPDATE_PAGE_FOLDER: c.object({ pageFolder: p }),
51
+ SPACE_REMOVE_PAGE_FOLDER: c.object({ pageFolderId: c.string() }),
52
+ SPACE_ADD_VARIABLE: D,
53
+ SPACE_UPDATE_VARIABLE: D,
54
+ SPACE_REMOVE_VARIABLE: c.object({ name: c.string() }),
55
+ SPACE_SET_FLAG: c.object({
56
+ name: c.string(),
57
+ flag: h
58
+ }),
59
+ SPACE_REMOVE_FLAG: c.object({ name: c.string() }),
60
+ SPACE_ADD_ELEMENT: c.object({
61
+ element: l,
62
+ dropPosition: b,
63
+ to: c.string(),
64
+ initialItems: u.optional(),
65
+ variables: c.array(m).optional()
66
+ }),
67
+ SPACE_UPDATE_ELEMENT: c.object({ element: l }),
68
+ SPACE_RENAME_ELEMENT: c.object({
69
+ elementId: c.string(),
70
+ id: c.string()
71
+ }),
72
+ SPACE_UPDATE_ELEMENTS: c.object({ elements: u }),
73
+ SPACE_REMOVE_ELEMENT: c.object({ elementId: c.string() }),
74
+ SPACE_MOVE_ELEMENT: c.object({
75
+ from: c.string(),
76
+ to: c.string(),
77
+ elementId: c.string(),
78
+ dropPosition: b
79
+ }),
80
+ SPACE_CLONE_ELEMENT: c.object({
81
+ to: c.string(),
82
+ element: l,
83
+ dropPosition: b,
84
+ initialItems: u
85
+ }),
86
+ SPACE_ADD_SNIPPET: c.object({
87
+ element: l,
88
+ style: c.custom(e),
89
+ to: c.string(),
90
+ dropPosition: b,
91
+ initialItems: u.optional(),
92
+ variables: c.array(m).optional()
93
+ }),
94
+ SPACE_ADD_PLUGIN: c.object({ plugin: j }),
95
+ SPACE_UPDATE_PLUGIN: c.object({ plugin: j }),
96
+ SPACE_REMOVE_PLUGIN: c.object({ pluginType: c.string() }),
97
+ SPACE_UPDATE_SETTINGS: c.object({
98
+ path: c.string(),
99
+ value: c.union([
100
+ c.string(),
101
+ c.number(),
102
+ c.boolean()
104
103
  ])
105
104
  }),
106
- STYLE_ADD_SELECTOR: n.object({
107
- displayMode: h,
108
- selector: n.string(),
109
- path: _.optional(),
110
- type: v,
111
- style: f.optional(),
112
- params: x
113
- }),
114
- STYLE_UPDATE_SELECTOR: n.object({
115
- displayMode: h,
116
- selector: n.string(),
117
- path: _.optional(),
118
- style: f.optional(),
119
- params: S
120
- }),
121
- STYLE_REMOVE_SELECTOR: n.object({
122
- displayMode: h,
123
- selector: n.string()
124
- }),
125
- STYLE_REMOVE_SELECTORS: n.object({
126
- displayMode: h,
127
- selectors: n.array(n.string())
128
- }),
129
- STYLE_ADD_SELECTOR_VARIABLE: w,
130
- STYLE_UPDATE_SELECTOR_VARIABLE: w,
131
- STYLE_REMOVE_SELECTOR_VARIABLE: T,
132
- STYLE_ADD_VARIABLE: E,
133
- STYLE_UPDATE_VARIABLE: E,
134
- STYLE_REMOVE_VARIABLE: n.object({
135
- category: b,
136
- name: n.string()
137
- }),
138
- STYLE_UPDATE_SETTINGS: n.object({
139
- path: n.string(),
140
- value: n.string()
141
- }),
142
- STYLE_ADD_FONT: n.object({ font: p }),
143
- STYLE_UPDATE_FONT: n.object({
144
- family: n.string(),
145
- font: p
146
- }),
147
- STYLE_REMOVE_FONT: n.object({ family: n.string() }),
148
- SPACE_ADD_COMPONENT: n.object({
149
- component: c,
150
- from: n.object({
151
- elementId: n.string(),
152
- instanceId: n.string()
105
+ STYLE_ADD_SELECTOR: c.object({
106
+ displayMode: y,
107
+ selector: c.string(),
108
+ path: x.optional(),
109
+ type: S,
110
+ style: g.optional(),
111
+ params: T
112
+ }),
113
+ STYLE_UPDATE_SELECTOR: c.object({
114
+ displayMode: y,
115
+ selector: c.string(),
116
+ path: x.optional(),
117
+ style: g.optional(),
118
+ params: E
119
+ }),
120
+ STYLE_REMOVE_SELECTOR: c.object({
121
+ displayMode: y,
122
+ selector: c.string()
123
+ }),
124
+ STYLE_REMOVE_SELECTORS: c.object({
125
+ displayMode: y,
126
+ selectors: c.array(c.string())
127
+ }),
128
+ STYLE_ADD_SELECTOR_VARIABLE: O,
129
+ STYLE_UPDATE_SELECTOR_VARIABLE: O,
130
+ STYLE_REMOVE_SELECTOR_VARIABLE: k,
131
+ STYLE_ADD_VARIABLE: A,
132
+ STYLE_UPDATE_VARIABLE: A,
133
+ STYLE_REMOVE_VARIABLE: c.object({
134
+ category: w,
135
+ name: c.string()
136
+ }),
137
+ STYLE_UPDATE_SETTINGS: c.object({
138
+ path: c.string(),
139
+ value: c.string()
140
+ }),
141
+ STYLE_ADD_FONT: c.object({ font: _ }),
142
+ STYLE_UPDATE_FONT: c.object({
143
+ family: c.string(),
144
+ font: _
145
+ }),
146
+ STYLE_REMOVE_FONT: c.object({ family: c.string() }),
147
+ SPACE_ADD_COMPONENT: c.object({
148
+ component: d,
149
+ from: c.object({
150
+ elementId: c.string(),
151
+ instanceId: c.string()
153
152
  }).optional()
154
153
  }),
155
- SPACE_UPDATE_COMPONENT: n.object({
156
- componentId: n.string(),
157
- declaration: n.custom(r)
154
+ SPACE_UPDATE_COMPONENT: c.object({
155
+ componentId: c.string(),
156
+ declaration: c.custom(e)
158
157
  }),
159
- SPACE_REMOVE_COMPONENT: n.object({ componentId: n.string() }),
160
- SPACE_DETACH_INSTANCE: n.object({ instanceId: n.string() })
161
- }, k = Object.fromEntries(Object.keys(O).map((e) => [e, e])), A = (e, t) => {
162
- let n = O[e];
158
+ SPACE_REMOVE_COMPONENT: c.object({ componentId: c.string() }),
159
+ SPACE_DETACH_INSTANCE: c.object({ instanceId: c.string() })
160
+ }, N = Object.fromEntries(Object.keys(M).map((e) => [e, e])), P = (e, t) => {
161
+ let n = M[e];
163
162
  if (!n) return {
164
163
  ok: !1,
165
164
  issues: [{
@@ -180,4 +179,4 @@ var r = (e) => typeof e == "object" && !!e && !Array.isArray(e), i = n.custom((e
180
179
  };
181
180
  };
182
181
  //#endregion
183
- export { k as SpaceEvents, k as default, s as schemaFromWire, o as schemaToWire, O as spaceEventSchemas, A as validateSpaceEvent };
182
+ export { N as SpaceEvents, N as default, a as elementFromWire, o as schemaFromWire, s as schemaToWire, M as spaceEventSchemas, P as validateSpaceEvent };