@makeswift/runtime 0.0.0-e7e30fa → 0.0.0-f94dde1

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 (263) hide show
  1. package/api.js +1 -0
  2. package/box-model.js +1 -0
  3. package/builder.js +1 -0
  4. package/components.js +1 -0
  5. package/dist/actions.cjs.js +101 -17
  6. package/dist/actions.cjs.js.map +1 -1
  7. package/dist/actions.es.js +90 -16
  8. package/dist/actions.es.js.map +1 -1
  9. package/dist/api.cjs.js +5 -0
  10. package/dist/api.cjs.js.map +1 -0
  11. package/dist/api.es.js +2 -0
  12. package/dist/api.es.js.map +1 -0
  13. package/dist/box-model.cjs.js +2 -2
  14. package/dist/box-model.es.js +1 -0
  15. package/dist/box-model.es.js.map +1 -1
  16. package/dist/box-models.cjs.js +27 -157
  17. package/dist/box-models.cjs.js.map +1 -1
  18. package/dist/box-models.es.js +30 -160
  19. package/dist/box-models.es.js.map +1 -1
  20. package/dist/builder.cjs.js +9 -0
  21. package/dist/builder.cjs.js.map +1 -0
  22. package/dist/builder.es.js +3 -0
  23. package/dist/builder.es.js.map +1 -0
  24. package/dist/components.cjs.js +55 -6900
  25. package/dist/components.cjs.js.map +1 -1
  26. package/dist/components.es.js +26 -6866
  27. package/dist/components.es.js.map +1 -1
  28. package/dist/constants.cjs.js +146 -0
  29. package/dist/constants.cjs.js.map +1 -0
  30. package/dist/constants.es.js +145 -0
  31. package/dist/constants.es.js.map +1 -0
  32. package/dist/control-serialization.cjs.js +91 -0
  33. package/dist/control-serialization.cjs.js.map +1 -0
  34. package/dist/control-serialization.es.js +87 -0
  35. package/dist/control-serialization.es.js.map +1 -0
  36. package/dist/descriptors.cjs.js +215 -0
  37. package/dist/descriptors.cjs.js.map +1 -0
  38. package/dist/descriptors.es.js +183 -0
  39. package/dist/descriptors.es.js.map +1 -0
  40. package/dist/instances.cjs.js +89 -0
  41. package/dist/instances.cjs.js.map +1 -0
  42. package/dist/instances.es.js +87 -0
  43. package/dist/instances.es.js.map +1 -0
  44. package/dist/main.cjs.js +5 -2
  45. package/dist/main.cjs.js.map +1 -1
  46. package/dist/main.es.js +1 -1
  47. package/dist/next.cjs.js +169 -0
  48. package/dist/next.cjs.js.map +1 -0
  49. package/dist/next.es.js +159 -0
  50. package/dist/next.es.js.map +1 -0
  51. package/dist/prop-controllers.cjs.js +5 -175
  52. package/dist/prop-controllers.cjs.js.map +1 -1
  53. package/dist/prop-controllers.es.js +2 -173
  54. package/dist/prop-controllers.es.js.map +1 -1
  55. package/dist/react-builder-preview.cjs.js +274 -4118
  56. package/dist/react-builder-preview.cjs.js.map +1 -1
  57. package/dist/react-builder-preview.es.js +273 -4121
  58. package/dist/react-builder-preview.es.js.map +1 -1
  59. package/dist/react.cjs.js +26 -2
  60. package/dist/react.cjs.js.map +1 -1
  61. package/dist/react.cjs2.js +5848 -624
  62. package/dist/react.cjs2.js.map +1 -1
  63. package/dist/react.es.js +25 -1
  64. package/dist/react.es.js.map +1 -1
  65. package/dist/react.es2.js +5795 -625
  66. package/dist/react.es2.js.map +1 -1
  67. package/dist/types/api/constants.d.ts +4 -0
  68. package/dist/types/api/constants.d.ts.map +1 -0
  69. package/dist/types/api/generated/graphql.d.ts +61 -0
  70. package/dist/types/api/generated/graphql.d.ts.map +1 -0
  71. package/dist/types/api/index.d.ts +3 -0
  72. package/dist/types/api/index.d.ts.map +1 -0
  73. package/dist/types/api/react.d.ts +6 -0
  74. package/dist/types/api/react.d.ts.map +1 -0
  75. package/dist/types/api/types.d.ts +4 -0
  76. package/dist/types/api/types.d.ts.map +1 -0
  77. package/dist/types/builder/index.d.ts +2 -0
  78. package/dist/types/builder/index.d.ts.map +1 -0
  79. package/dist/types/builder/serialization/control-serialization.d.ts +30 -0
  80. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -0
  81. package/dist/types/builder/serialization/function-serialization.d.ts +11 -0
  82. package/dist/types/builder/serialization/function-serialization.d.ts.map +1 -0
  83. package/dist/types/builder/serialization/index.d.ts +3 -0
  84. package/dist/types/builder/serialization/index.d.ts.map +1 -0
  85. package/dist/types/components/{Box → builtin/Box}/Box.d.ts +10 -4
  86. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -0
  87. package/dist/types/components/{Box → builtin/Box}/animations.d.ts +2 -2
  88. package/dist/types/components/builtin/Box/animations.d.ts.map +1 -0
  89. package/dist/types/components/{Box → builtin/Box}/components/Placeholder/index.d.ts +0 -0
  90. package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -0
  91. package/dist/types/components/{Box → builtin/Box}/index.d.ts +1 -1
  92. package/dist/types/components/builtin/Box/index.d.ts.map +1 -0
  93. package/dist/types/components/builtin/Button/Button.d.ts +118 -0
  94. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -0
  95. package/dist/types/components/builtin/Button/index.d.ts +2 -0
  96. package/dist/types/components/builtin/Button/index.d.ts.map +1 -0
  97. package/dist/types/components/builtin/Carousel/Carousel.d.ts +28 -0
  98. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -0
  99. package/dist/types/components/builtin/Carousel/index.d.ts +2 -0
  100. package/dist/types/components/builtin/Carousel/index.d.ts.map +1 -0
  101. package/dist/types/components/builtin/Countdown/Countdown.d.ts +27 -0
  102. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -0
  103. package/dist/types/components/builtin/Countdown/index.d.ts +2 -0
  104. package/dist/types/components/builtin/Countdown/index.d.ts.map +1 -0
  105. package/dist/types/components/builtin/Divider/Divider.d.ts +17 -0
  106. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -0
  107. package/dist/types/components/builtin/Divider/index.d.ts +2 -0
  108. package/dist/types/components/builtin/Divider/index.d.ts.map +1 -0
  109. package/dist/types/components/builtin/Embed/Embed.d.ts +14 -0
  110. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -0
  111. package/dist/types/components/builtin/Embed/index.d.ts +2 -0
  112. package/dist/types/components/builtin/Embed/index.d.ts.map +1 -0
  113. package/dist/types/components/builtin/Image/Image.d.ts +29 -0
  114. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -0
  115. package/dist/types/components/builtin/Image/index.d.ts +2 -0
  116. package/dist/types/components/builtin/Image/index.d.ts.map +1 -0
  117. package/dist/types/components/builtin/Navigation/Navigation.d.ts +26 -0
  118. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -0
  119. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +100 -0
  120. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -0
  121. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +8 -0
  122. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -0
  123. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +101 -0
  124. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -0
  125. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +13 -0
  126. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -0
  127. package/dist/types/components/builtin/Navigation/index.d.ts +2 -0
  128. package/dist/types/components/builtin/Navigation/index.d.ts.map +1 -0
  129. package/dist/types/components/builtin/Root/Root.d.ts +14 -0
  130. package/dist/types/components/builtin/Root/Root.d.ts.map +1 -0
  131. package/dist/types/components/{Root → builtin/Root}/components/Placeholder/index.d.ts +0 -0
  132. package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -0
  133. package/dist/types/components/builtin/Root/index.d.ts +2 -0
  134. package/dist/types/components/builtin/Root/index.d.ts.map +1 -0
  135. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +21 -0
  136. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -0
  137. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +8 -0
  138. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -0
  139. package/dist/types/components/builtin/SocialLinks/index.d.ts +2 -0
  140. package/dist/types/components/builtin/SocialLinks/index.d.ts.map +1 -0
  141. package/dist/types/components/builtin/SocialLinks/options.d.ts +113 -0
  142. package/dist/types/components/builtin/SocialLinks/options.d.ts.map +1 -0
  143. package/dist/types/components/builtin/Text/Text.d.ts +19 -0
  144. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -0
  145. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts +24 -0
  146. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Block/index.d.ts.map +1 -0
  147. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +25 -0
  148. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -0
  149. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts +13 -0
  150. package/dist/types/components/builtin/Text/components/RichTextEditor/components/Mark/index.d.ts.map +1 -0
  151. package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts +5 -0
  152. package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -0
  153. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts +3 -0
  154. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesBlocks.d.ts.map +1 -0
  155. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts +3 -0
  156. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/DeviceOverridesMarks.d.ts.map +1 -0
  157. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts +3 -0
  158. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Inlines.d.ts.map +1 -0
  159. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts +3 -0
  160. package/dist/types/components/builtin/Text/components/RichTextEditor/plugins/Link.d.ts.map +1 -0
  161. package/dist/types/components/builtin/Text/index.d.ts +2 -0
  162. package/dist/types/components/builtin/Text/index.d.ts.map +1 -0
  163. package/dist/types/components/builtin/index.d.ts +15 -0
  164. package/dist/types/components/builtin/index.d.ts.map +1 -0
  165. package/dist/types/components/hooks/index.d.ts +6 -0
  166. package/dist/types/components/hooks/index.d.ts.map +1 -1
  167. package/dist/types/components/hooks/useBackgrounds.d.ts +59 -0
  168. package/dist/types/components/hooks/useBackgrounds.d.ts.map +1 -0
  169. package/dist/types/components/hooks/useBorder.d.ts +19 -0
  170. package/dist/types/components/hooks/useBorder.d.ts.map +1 -0
  171. package/dist/types/components/hooks/useBoxShadow.d.ts +19 -0
  172. package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -0
  173. package/dist/types/components/hooks/useColor.d.ts +7 -0
  174. package/dist/types/components/hooks/useColor.d.ts.map +1 -0
  175. package/dist/types/components/hooks/useFile.d.ts +13 -0
  176. package/dist/types/components/hooks/useFile.d.ts.map +1 -0
  177. package/dist/types/components/hooks/usePage.d.ts +7 -0
  178. package/dist/types/components/hooks/usePage.d.ts.map +1 -0
  179. package/dist/types/components/hooks/useTypography.d.ts +24 -0
  180. package/dist/types/components/hooks/useTypography.d.ts.map +1 -0
  181. package/dist/types/components/index.d.ts +2 -3
  182. package/dist/types/components/index.d.ts.map +1 -1
  183. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +11 -0
  184. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -0
  185. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +8 -0
  186. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -0
  187. package/dist/types/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +11 -0
  188. package/dist/types/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -0
  189. package/dist/types/components/shared/BackgroundsContainer/index.d.ts +11 -0
  190. package/dist/types/components/shared/BackgroundsContainer/index.d.ts.map +1 -0
  191. package/dist/types/components/shared/GutterContainer/index.d.ts +8 -0
  192. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -0
  193. package/dist/types/components/shared/Link/index.d.ts +9 -0
  194. package/dist/types/components/shared/Link/index.d.ts.map +1 -0
  195. package/dist/types/components/utils/colorToString.d.ts +3 -0
  196. package/dist/types/components/utils/colorToString.d.ts.map +1 -0
  197. package/dist/types/components/utils/cssMediaRules.d.ts +23 -1
  198. package/dist/types/components/utils/cssMediaRules.d.ts.map +1 -1
  199. package/dist/types/components/utils/devices.d.ts +1 -0
  200. package/dist/types/components/utils/devices.d.ts.map +1 -1
  201. package/dist/types/components/utils/isNonNullable.d.ts +2 -0
  202. package/dist/types/components/utils/isNonNullable.d.ts.map +1 -0
  203. package/dist/types/components/utils/placeholders.d.ts +10 -0
  204. package/dist/types/components/utils/placeholders.d.ts.map +1 -0
  205. package/dist/types/components/utils/queries.d.ts +7 -0
  206. package/dist/types/components/utils/queries.d.ts.map +1 -0
  207. package/dist/types/components/utils/types.d.ts +11 -0
  208. package/dist/types/components/utils/types.d.ts.map +1 -0
  209. package/dist/types/index.d.ts +2 -1
  210. package/dist/types/index.d.ts.map +1 -1
  211. package/dist/types/next.d.ts +21 -0
  212. package/dist/types/next.d.ts.map +1 -0
  213. package/dist/types/prop-controllers/descriptors.d.ts +40 -3
  214. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  215. package/dist/types/prop-controllers/index.d.ts +3 -1
  216. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  217. package/dist/types/prop-controllers/instances.d.ts +69 -0
  218. package/dist/types/prop-controllers/instances.d.ts.map +1 -0
  219. package/dist/types/prop-controllers/introspection.d.ts +5 -0
  220. package/dist/types/prop-controllers/introspection.d.ts.map +1 -0
  221. package/dist/types/react.d.ts +1 -1
  222. package/dist/types/react.d.ts.map +1 -1
  223. package/dist/types/runtimes/react.d.ts +15 -7
  224. package/dist/types/runtimes/react.d.ts.map +1 -1
  225. package/dist/types/state/actions.d.ts +126 -13
  226. package/dist/types/state/actions.d.ts.map +1 -1
  227. package/dist/types/state/modules/box-models.d.ts +5 -5
  228. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  229. package/dist/types/state/modules/prop-controller-handles.d.ts +16 -0
  230. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -0
  231. package/dist/types/state/modules/prop-controllers.d.ts +1 -0
  232. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
  233. package/dist/types/state/react-builder-preview.d.ts +16 -11
  234. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  235. package/dist/types/state/react-page.d.ts +5 -0
  236. package/dist/types/state/react-page.d.ts.map +1 -1
  237. package/dist/types/utils/clamp.d.ts +3 -0
  238. package/dist/types/utils/clamp.d.ts.map +1 -0
  239. package/dist/types/utils/coalesce.d.ts +3 -0
  240. package/dist/types/utils/coalesce.d.ts.map +1 -0
  241. package/dist/types/utils/constants.d.ts +6 -0
  242. package/dist/types/utils/constants.d.ts.map +1 -0
  243. package/dist/types/utils/deepEqual.d.ts.map +1 -1
  244. package/dist/types/utils/intersection.d.ts +4 -0
  245. package/dist/types/utils/intersection.d.ts.map +1 -0
  246. package/dist/types/utils/keys.d.ts +5 -0
  247. package/dist/types/utils/keys.d.ts.map +1 -0
  248. package/dist/types/utils/shallowEqual.d.ts.map +1 -1
  249. package/dist/types/utils/shallowMerge.d.ts +2 -0
  250. package/dist/types/utils/shallowMerge.d.ts.map +1 -0
  251. package/next.js +1 -0
  252. package/package.json +71 -15
  253. package/prop-controllers.js +1 -0
  254. package/react.js +1 -0
  255. package/dist/types/components/Box/Box.d.ts.map +0 -1
  256. package/dist/types/components/Box/animations.d.ts.map +0 -1
  257. package/dist/types/components/Box/components/Placeholder/index.d.ts.map +0 -1
  258. package/dist/types/components/Box/index.d.ts.map +0 -1
  259. package/dist/types/components/Root/Root.d.ts +0 -11
  260. package/dist/types/components/Root/Root.d.ts.map +0 -1
  261. package/dist/types/components/Root/components/Placeholder/index.d.ts.map +0 -1
  262. package/dist/types/components/Root/index.d.ts +0 -2
  263. package/dist/types/components/Root/index.d.ts.map +0 -1
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ const SwatchFragmentDoc = {
3
+ kind: "Document",
4
+ definitions: [
5
+ {
6
+ kind: "FragmentDefinition",
7
+ name: { kind: "Name", value: "Swatch" },
8
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "Swatch" } },
9
+ selectionSet: {
10
+ kind: "SelectionSet",
11
+ selections: [
12
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
13
+ { kind: "Field", name: { kind: "Name", value: "id" } },
14
+ { kind: "Field", name: { kind: "Name", value: "hue" } },
15
+ { kind: "Field", name: { kind: "Name", value: "saturation" } },
16
+ { kind: "Field", name: { kind: "Name", value: "lightness" } }
17
+ ]
18
+ }
19
+ }
20
+ ]
21
+ };
22
+ const FileFragmentDoc = {
23
+ kind: "Document",
24
+ definitions: [
25
+ {
26
+ kind: "FragmentDefinition",
27
+ name: { kind: "Name", value: "File" },
28
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "File" } },
29
+ selectionSet: {
30
+ kind: "SelectionSet",
31
+ selections: [
32
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
33
+ { kind: "Field", name: { kind: "Name", value: "id" } },
34
+ { kind: "Field", name: { kind: "Name", value: "name" } },
35
+ { kind: "Field", name: { kind: "Name", value: "publicUrl" } },
36
+ { kind: "Field", name: { kind: "Name", value: "extension" } },
37
+ {
38
+ kind: "Field",
39
+ name: { kind: "Name", value: "dimensions" },
40
+ selectionSet: {
41
+ kind: "SelectionSet",
42
+ selections: [
43
+ { kind: "Field", name: { kind: "Name", value: "width" } },
44
+ { kind: "Field", name: { kind: "Name", value: "height" } }
45
+ ]
46
+ }
47
+ }
48
+ ]
49
+ }
50
+ }
51
+ ]
52
+ };
53
+ const TypographyFragmentDoc = {
54
+ kind: "Document",
55
+ definitions: [
56
+ {
57
+ kind: "FragmentDefinition",
58
+ name: { kind: "Name", value: "Typography" },
59
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "Typography" } },
60
+ selectionSet: {
61
+ kind: "SelectionSet",
62
+ selections: [
63
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
64
+ { kind: "Field", name: { kind: "Name", value: "id" } },
65
+ { kind: "Field", name: { kind: "Name", value: "name" } },
66
+ {
67
+ kind: "Field",
68
+ name: { kind: "Name", value: "style" },
69
+ selectionSet: {
70
+ kind: "SelectionSet",
71
+ selections: [
72
+ { kind: "Field", name: { kind: "Name", value: "deviceId" } },
73
+ {
74
+ kind: "Field",
75
+ name: { kind: "Name", value: "value" },
76
+ selectionSet: {
77
+ kind: "SelectionSet",
78
+ selections: [
79
+ { kind: "Field", name: { kind: "Name", value: "fontFamily" } },
80
+ {
81
+ kind: "Field",
82
+ name: { kind: "Name", value: "fontSize" },
83
+ selectionSet: {
84
+ kind: "SelectionSet",
85
+ selections: [
86
+ { kind: "Field", name: { kind: "Name", value: "value" } },
87
+ { kind: "Field", name: { kind: "Name", value: "unit" } }
88
+ ]
89
+ }
90
+ },
91
+ {
92
+ kind: "Field",
93
+ name: { kind: "Name", value: "color" },
94
+ selectionSet: {
95
+ kind: "SelectionSet",
96
+ selections: [
97
+ { kind: "Field", name: { kind: "Name", value: "swatchId" } },
98
+ { kind: "Field", name: { kind: "Name", value: "alpha" } }
99
+ ]
100
+ }
101
+ },
102
+ { kind: "Field", name: { kind: "Name", value: "lineHeight" } },
103
+ { kind: "Field", name: { kind: "Name", value: "letterSpacing" } },
104
+ { kind: "Field", name: { kind: "Name", value: "fontWeight" } },
105
+ { kind: "Field", name: { kind: "Name", value: "textAlign" } },
106
+ { kind: "Field", name: { kind: "Name", value: "uppercase" } },
107
+ { kind: "Field", name: { kind: "Name", value: "underline" } },
108
+ { kind: "Field", name: { kind: "Name", value: "strikethrough" } },
109
+ { kind: "Field", name: { kind: "Name", value: "italic" } }
110
+ ]
111
+ }
112
+ }
113
+ ]
114
+ }
115
+ }
116
+ ]
117
+ }
118
+ }
119
+ ]
120
+ };
121
+ const PagePathnameSliceFragmentDoc = {
122
+ kind: "Document",
123
+ definitions: [
124
+ {
125
+ kind: "FragmentDefinition",
126
+ name: { kind: "Name", value: "PagePathnameSlice" },
127
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "PagePathnameSlice" } },
128
+ selectionSet: {
129
+ kind: "SelectionSet",
130
+ selections: [
131
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
132
+ { kind: "Field", name: { kind: "Name", value: "id" } },
133
+ { kind: "Field", name: { kind: "Name", value: "pathname" } }
134
+ ]
135
+ }
136
+ }
137
+ ]
138
+ };
139
+ const Fragments = {
140
+ Swatch: SwatchFragmentDoc,
141
+ File: FileFragmentDoc,
142
+ Typography: TypographyFragmentDoc,
143
+ PagePathnameSlice: PagePathnameSliceFragmentDoc
144
+ };
145
+ exports.Fragments = Fragments;
146
+ //# sourceMappingURL=constants.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs.js","sources":["../src/api/generated/graphql.ts","../src/api/constants.ts"],"sourcesContent":["import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'\nexport type SwatchFragment = {\n __typename: 'Swatch'\n id: string\n hue: number\n saturation: number\n lightness: number\n}\n\nexport type FileFragment = {\n __typename: 'File'\n id: string\n name: string\n publicUrl: any\n extension?: string | null\n dimensions?: { __typename?: 'ImageDimensions'; width: number; height: number } | null\n}\n\nexport type TypographyFragment = {\n __typename: 'Typography'\n id: string\n name: string\n style: Array<{\n __typename?: 'TypographyStyle'\n deviceId: string\n value: {\n __typename?: 'TypographyStyleValue'\n fontFamily?: string | null\n lineHeight?: number | null\n letterSpacing?: number | null\n fontWeight?: number | null\n textAlign?: string | null\n uppercase?: boolean | null\n underline?: boolean | null\n strikethrough?: boolean | null\n italic?: boolean | null\n fontSize?: { __typename?: 'Length'; value?: number | null; unit?: string | null } | null\n color?: { __typename?: 'Color'; swatchId?: string | null; alpha?: number | null } | null\n }\n }>\n}\n\nexport type PagePathnameSliceFragment = {\n __typename: 'PagePathnameSlice'\n id: string\n pathname: any\n}\n\nexport const SwatchFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'Swatch' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Swatch' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'hue' } },\n { kind: 'Field', name: { kind: 'Name', value: 'saturation' } },\n { kind: 'Field', name: { kind: 'Name', value: 'lightness' } },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<SwatchFragment, unknown>\nexport const FileFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'File' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'File' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n { kind: 'Field', name: { kind: 'Name', value: 'publicUrl' } },\n { kind: 'Field', name: { kind: 'Name', value: 'extension' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'dimensions' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'width' } },\n { kind: 'Field', name: { kind: 'Name', value: 'height' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<FileFragment, unknown>\nexport const TypographyFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'Typography' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Typography' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'style' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'deviceId' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'value' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'fontFamily' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'fontSize' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'value' } },\n { kind: 'Field', name: { kind: 'Name', value: 'unit' } },\n ],\n },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'color' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'swatchId' } },\n { kind: 'Field', name: { kind: 'Name', value: 'alpha' } },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'lineHeight' } },\n { kind: 'Field', name: { kind: 'Name', value: 'letterSpacing' } },\n { kind: 'Field', name: { kind: 'Name', value: 'fontWeight' } },\n { kind: 'Field', name: { kind: 'Name', value: 'textAlign' } },\n { kind: 'Field', name: { kind: 'Name', value: 'uppercase' } },\n { kind: 'Field', name: { kind: 'Name', value: 'underline' } },\n { kind: 'Field', name: { kind: 'Name', value: 'strikethrough' } },\n { kind: 'Field', name: { kind: 'Name', value: 'italic' } },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<TypographyFragment, unknown>\nexport const PagePathnameSliceFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'PagePathnameSlice' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'PagePathnameSlice' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'pathname' } },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<PagePathnameSliceFragment, unknown>\n","import type { DocumentNode } from 'graphql'\n\nimport {\n SwatchFragmentDoc,\n FileFragmentDoc,\n TypographyFragmentDoc,\n PagePathnameSliceFragmentDoc,\n} from './generated/graphql'\nimport type { APIResourceType } from './types'\n\nexport const Fragments: Record<APIResourceType, DocumentNode> = {\n Swatch: SwatchFragmentDoc,\n File: FileFragmentDoc,\n Typography: TypographyFragmentDoc,\n PagePathnameSlice: PagePathnameSliceFragmentDoc,\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ const SwatchFragmentDoc = {
2
+ kind: "Document",
3
+ definitions: [
4
+ {
5
+ kind: "FragmentDefinition",
6
+ name: { kind: "Name", value: "Swatch" },
7
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "Swatch" } },
8
+ selectionSet: {
9
+ kind: "SelectionSet",
10
+ selections: [
11
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
12
+ { kind: "Field", name: { kind: "Name", value: "id" } },
13
+ { kind: "Field", name: { kind: "Name", value: "hue" } },
14
+ { kind: "Field", name: { kind: "Name", value: "saturation" } },
15
+ { kind: "Field", name: { kind: "Name", value: "lightness" } }
16
+ ]
17
+ }
18
+ }
19
+ ]
20
+ };
21
+ const FileFragmentDoc = {
22
+ kind: "Document",
23
+ definitions: [
24
+ {
25
+ kind: "FragmentDefinition",
26
+ name: { kind: "Name", value: "File" },
27
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "File" } },
28
+ selectionSet: {
29
+ kind: "SelectionSet",
30
+ selections: [
31
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
32
+ { kind: "Field", name: { kind: "Name", value: "id" } },
33
+ { kind: "Field", name: { kind: "Name", value: "name" } },
34
+ { kind: "Field", name: { kind: "Name", value: "publicUrl" } },
35
+ { kind: "Field", name: { kind: "Name", value: "extension" } },
36
+ {
37
+ kind: "Field",
38
+ name: { kind: "Name", value: "dimensions" },
39
+ selectionSet: {
40
+ kind: "SelectionSet",
41
+ selections: [
42
+ { kind: "Field", name: { kind: "Name", value: "width" } },
43
+ { kind: "Field", name: { kind: "Name", value: "height" } }
44
+ ]
45
+ }
46
+ }
47
+ ]
48
+ }
49
+ }
50
+ ]
51
+ };
52
+ const TypographyFragmentDoc = {
53
+ kind: "Document",
54
+ definitions: [
55
+ {
56
+ kind: "FragmentDefinition",
57
+ name: { kind: "Name", value: "Typography" },
58
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "Typography" } },
59
+ selectionSet: {
60
+ kind: "SelectionSet",
61
+ selections: [
62
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
63
+ { kind: "Field", name: { kind: "Name", value: "id" } },
64
+ { kind: "Field", name: { kind: "Name", value: "name" } },
65
+ {
66
+ kind: "Field",
67
+ name: { kind: "Name", value: "style" },
68
+ selectionSet: {
69
+ kind: "SelectionSet",
70
+ selections: [
71
+ { kind: "Field", name: { kind: "Name", value: "deviceId" } },
72
+ {
73
+ kind: "Field",
74
+ name: { kind: "Name", value: "value" },
75
+ selectionSet: {
76
+ kind: "SelectionSet",
77
+ selections: [
78
+ { kind: "Field", name: { kind: "Name", value: "fontFamily" } },
79
+ {
80
+ kind: "Field",
81
+ name: { kind: "Name", value: "fontSize" },
82
+ selectionSet: {
83
+ kind: "SelectionSet",
84
+ selections: [
85
+ { kind: "Field", name: { kind: "Name", value: "value" } },
86
+ { kind: "Field", name: { kind: "Name", value: "unit" } }
87
+ ]
88
+ }
89
+ },
90
+ {
91
+ kind: "Field",
92
+ name: { kind: "Name", value: "color" },
93
+ selectionSet: {
94
+ kind: "SelectionSet",
95
+ selections: [
96
+ { kind: "Field", name: { kind: "Name", value: "swatchId" } },
97
+ { kind: "Field", name: { kind: "Name", value: "alpha" } }
98
+ ]
99
+ }
100
+ },
101
+ { kind: "Field", name: { kind: "Name", value: "lineHeight" } },
102
+ { kind: "Field", name: { kind: "Name", value: "letterSpacing" } },
103
+ { kind: "Field", name: { kind: "Name", value: "fontWeight" } },
104
+ { kind: "Field", name: { kind: "Name", value: "textAlign" } },
105
+ { kind: "Field", name: { kind: "Name", value: "uppercase" } },
106
+ { kind: "Field", name: { kind: "Name", value: "underline" } },
107
+ { kind: "Field", name: { kind: "Name", value: "strikethrough" } },
108
+ { kind: "Field", name: { kind: "Name", value: "italic" } }
109
+ ]
110
+ }
111
+ }
112
+ ]
113
+ }
114
+ }
115
+ ]
116
+ }
117
+ }
118
+ ]
119
+ };
120
+ const PagePathnameSliceFragmentDoc = {
121
+ kind: "Document",
122
+ definitions: [
123
+ {
124
+ kind: "FragmentDefinition",
125
+ name: { kind: "Name", value: "PagePathnameSlice" },
126
+ typeCondition: { kind: "NamedType", name: { kind: "Name", value: "PagePathnameSlice" } },
127
+ selectionSet: {
128
+ kind: "SelectionSet",
129
+ selections: [
130
+ { kind: "Field", name: { kind: "Name", value: "__typename" } },
131
+ { kind: "Field", name: { kind: "Name", value: "id" } },
132
+ { kind: "Field", name: { kind: "Name", value: "pathname" } }
133
+ ]
134
+ }
135
+ }
136
+ ]
137
+ };
138
+ const Fragments = {
139
+ Swatch: SwatchFragmentDoc,
140
+ File: FileFragmentDoc,
141
+ Typography: TypographyFragmentDoc,
142
+ PagePathnameSlice: PagePathnameSliceFragmentDoc
143
+ };
144
+ export { Fragments as F };
145
+ //# sourceMappingURL=constants.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.es.js","sources":["../src/api/generated/graphql.ts","../src/api/constants.ts"],"sourcesContent":["import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'\nexport type SwatchFragment = {\n __typename: 'Swatch'\n id: string\n hue: number\n saturation: number\n lightness: number\n}\n\nexport type FileFragment = {\n __typename: 'File'\n id: string\n name: string\n publicUrl: any\n extension?: string | null\n dimensions?: { __typename?: 'ImageDimensions'; width: number; height: number } | null\n}\n\nexport type TypographyFragment = {\n __typename: 'Typography'\n id: string\n name: string\n style: Array<{\n __typename?: 'TypographyStyle'\n deviceId: string\n value: {\n __typename?: 'TypographyStyleValue'\n fontFamily?: string | null\n lineHeight?: number | null\n letterSpacing?: number | null\n fontWeight?: number | null\n textAlign?: string | null\n uppercase?: boolean | null\n underline?: boolean | null\n strikethrough?: boolean | null\n italic?: boolean | null\n fontSize?: { __typename?: 'Length'; value?: number | null; unit?: string | null } | null\n color?: { __typename?: 'Color'; swatchId?: string | null; alpha?: number | null } | null\n }\n }>\n}\n\nexport type PagePathnameSliceFragment = {\n __typename: 'PagePathnameSlice'\n id: string\n pathname: any\n}\n\nexport const SwatchFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'Swatch' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Swatch' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'hue' } },\n { kind: 'Field', name: { kind: 'Name', value: 'saturation' } },\n { kind: 'Field', name: { kind: 'Name', value: 'lightness' } },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<SwatchFragment, unknown>\nexport const FileFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'File' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'File' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n { kind: 'Field', name: { kind: 'Name', value: 'publicUrl' } },\n { kind: 'Field', name: { kind: 'Name', value: 'extension' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'dimensions' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'width' } },\n { kind: 'Field', name: { kind: 'Name', value: 'height' } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<FileFragment, unknown>\nexport const TypographyFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'Typography' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Typography' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'name' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'style' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'deviceId' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'value' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'fontFamily' } },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'fontSize' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'value' } },\n { kind: 'Field', name: { kind: 'Name', value: 'unit' } },\n ],\n },\n },\n {\n kind: 'Field',\n name: { kind: 'Name', value: 'color' },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: 'swatchId' } },\n { kind: 'Field', name: { kind: 'Name', value: 'alpha' } },\n ],\n },\n },\n { kind: 'Field', name: { kind: 'Name', value: 'lineHeight' } },\n { kind: 'Field', name: { kind: 'Name', value: 'letterSpacing' } },\n { kind: 'Field', name: { kind: 'Name', value: 'fontWeight' } },\n { kind: 'Field', name: { kind: 'Name', value: 'textAlign' } },\n { kind: 'Field', name: { kind: 'Name', value: 'uppercase' } },\n { kind: 'Field', name: { kind: 'Name', value: 'underline' } },\n { kind: 'Field', name: { kind: 'Name', value: 'strikethrough' } },\n { kind: 'Field', name: { kind: 'Name', value: 'italic' } },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<TypographyFragment, unknown>\nexport const PagePathnameSliceFragmentDoc = {\n kind: 'Document',\n definitions: [\n {\n kind: 'FragmentDefinition',\n name: { kind: 'Name', value: 'PagePathnameSlice' },\n typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'PagePathnameSlice' } },\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n { kind: 'Field', name: { kind: 'Name', value: '__typename' } },\n { kind: 'Field', name: { kind: 'Name', value: 'id' } },\n { kind: 'Field', name: { kind: 'Name', value: 'pathname' } },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<PagePathnameSliceFragment, unknown>\n","import type { DocumentNode } from 'graphql'\n\nimport {\n SwatchFragmentDoc,\n FileFragmentDoc,\n TypographyFragmentDoc,\n PagePathnameSliceFragmentDoc,\n} from './generated/graphql'\nimport type { APIResourceType } from './types'\n\nexport const Fragments: Record<APIResourceType, DocumentNode> = {\n Swatch: SwatchFragmentDoc,\n File: FileFragmentDoc,\n Typography: TypographyFragmentDoc,\n PagePathnameSlice: PagePathnameSliceFragmentDoc,\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var descriptors = require("./descriptors.cjs.js");
22
+ function serializeFunction(func) {
23
+ const messageChannel = new MessageChannel();
24
+ messageChannel.port1.onmessage = ({ data: [callId, args] }) => {
25
+ Promise.resolve().then(() => func.apply(null, args)).then((result) => messageChannel.port1.postMessage([callId, result]));
26
+ };
27
+ return messageChannel.port2;
28
+ }
29
+ function deserializeFunction(serializedFunction) {
30
+ let nextCallId = 0;
31
+ const calls = /* @__PURE__ */ new Map();
32
+ serializedFunction.onmessage = ({ data: [callId, result] }) => {
33
+ var _a;
34
+ (_a = calls.get(callId)) == null ? void 0 : _a(result);
35
+ calls.delete(callId);
36
+ };
37
+ return function deserializedFunction(...args) {
38
+ return new Promise((resolve) => {
39
+ const callId = nextCallId++;
40
+ calls.set(callId, resolve);
41
+ serializedFunction.postMessage([callId, args]);
42
+ });
43
+ };
44
+ }
45
+ function serializeListControl(control) {
46
+ const { getItemLabel } = control.options;
47
+ const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel);
48
+ return [
49
+ __spreadProps(__spreadValues({}, control), { options: __spreadProps(__spreadValues({}, control.options), { getItemLabel: serializedGetItemLabel }) }),
50
+ serializedGetItemLabel == null ? [] : [serializedGetItemLabel]
51
+ ];
52
+ }
53
+ function deserializeListControl(serializedControl) {
54
+ const { getItemLabel } = serializedControl.options;
55
+ const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel);
56
+ return __spreadProps(__spreadValues({}, serializedControl), {
57
+ options: __spreadProps(__spreadValues({}, serializedControl.options), { getItemLabel: deserializedGetItemLabel })
58
+ });
59
+ }
60
+ function serializeControl(control) {
61
+ switch (control.type) {
62
+ case descriptors.Types.List:
63
+ return serializeListControl(control);
64
+ default:
65
+ return [control, []];
66
+ }
67
+ }
68
+ function deserializeControl(serializedControl) {
69
+ switch (serializedControl.type) {
70
+ case descriptors.Types.List:
71
+ return deserializeListControl(serializedControl);
72
+ default:
73
+ return serializedControl;
74
+ }
75
+ }
76
+ function serializeControls(controls) {
77
+ return Object.entries(controls).reduce(([accControls, accTransferables], [key, control]) => {
78
+ const [serializedControl, transferables] = serializeControl(control);
79
+ return [__spreadProps(__spreadValues({}, accControls), { [key]: serializedControl }), [...accTransferables, ...transferables]];
80
+ }, [{}, []]);
81
+ }
82
+ function deserializeControls(serializedControls) {
83
+ return Object.entries(serializedControls).reduce((deserializedControls, [key, serializedControl]) => {
84
+ return __spreadProps(__spreadValues({}, deserializedControls), { [key]: deserializeControl(serializedControl) });
85
+ }, {});
86
+ }
87
+ exports.deserializeControls = deserializeControls;
88
+ exports.deserializeFunction = deserializeFunction;
89
+ exports.serializeControls = serializeControls;
90
+ exports.serializeFunction = serializeFunction;
91
+ //# sourceMappingURL=control-serialization.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-serialization.cjs.js","sources":["../src/builder/serialization/function-serialization.ts","../src/builder/serialization/control-serialization.ts"],"sourcesContent":["declare const SerializedFunctionTag: unique symbol\n\ntype AnyFunction = (...args: any) => any\n\nexport type SerializedFunction<T extends AnyFunction> = MessagePort & {\n readonly [SerializedFunctionTag]: T\n}\n\ntype SerializedFunctionReturnType<T extends AnyFunction> = Awaited<ReturnType<T>>\n\nexport type DeserializedFunction<T extends AnyFunction> = (\n ...args: Parameters<T>\n) => Promise<SerializedFunctionReturnType<T>>\n\ntype CallID = number\n\nexport function serializeFunction<T extends AnyFunction>(func: T): SerializedFunction<T> {\n type CallMessageEvent = MessageEvent<[CallID, Parameters<T>]>\n\n const messageChannel = new MessageChannel()\n\n messageChannel.port1.onmessage = ({ data: [callId, args] }: CallMessageEvent) => {\n Promise.resolve()\n .then(() => func.apply(null, args))\n .then(result => messageChannel.port1.postMessage([callId, result]))\n }\n\n return messageChannel.port2 as SerializedFunction<T>\n}\n\nexport function deserializeFunction<T extends AnyFunction>(\n serializedFunction: SerializedFunction<T>,\n): DeserializedFunction<T> {\n type Result = SerializedFunctionReturnType<T>\n type ResultMessageEvent = MessageEvent<[CallID, Result]>\n type ResolveCallPromise = (value: Result | PromiseLike<Result>) => void\n\n let nextCallId = 0\n const calls = new Map<CallID, ResolveCallPromise>()\n\n serializedFunction.onmessage = ({ data: [callId, result] }: ResultMessageEvent) => {\n calls.get(callId)?.(result)\n\n calls.delete(callId)\n }\n\n return function deserializedFunction(...args) {\n return new Promise(resolve => {\n const callId = nextCallId++\n\n calls.set(callId, resolve)\n\n serializedFunction.postMessage([callId, args])\n })\n }\n}\n\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest\n\n describe.concurrent('serializeFunction & deserializeFunction', () => {\n test('simple call', async () => {\n // Arrange\n const add = deserializeFunction(serializeFunction((a, b) => a + b))\n\n // Act\n const result = await add(2, 2)\n\n // Assert\n expect(result).toBe(4)\n })\n\n test('multiple synchronous calls', async () => {\n // Arrange\n const add = deserializeFunction(serializeFunction((a, b) => a + b))\n\n // Act\n const results = await Promise.all(Array.from({ length: 5 }, (_, i) => add(1, i)))\n\n // Assert\n expect(results).toEqual([1, 2, 3, 4, 5])\n })\n })\n}\n","import {\n Data,\n ListDescriptor as ListControl,\n ListOptions as ListControlConfig,\n ListValue as ListControlValue,\n PanelDescriptor,\n PropControllerDescriptor as Control,\n Props as Controls,\n} from '../../prop-controllers'\nimport {\n DeserializedFunction,\n deserializeFunction,\n SerializedFunction,\n serializeFunction,\n} from './function-serialization'\n\ntype SerializedListControlConfig<T extends Data> = {\n type: PanelDescriptor<T>\n label?: string\n getItemLabel?: SerializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype SerializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: SerializedListControlConfig<T[number]['value']>\n}\n\nfunction serializeListControl<T extends Data>(\n control: ListControl<ListControlValue<T>>,\n): [SerializedListControl<ListControlValue<T>>, Transferable[]] {\n const { getItemLabel } = control.options\n\n const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel)\n\n return [\n { ...control, options: { ...control.options, getItemLabel: serializedGetItemLabel } },\n serializedGetItemLabel == null ? [] : [serializedGetItemLabel],\n ]\n}\n\ntype DeserializedListControlConfig<T extends Data> = {\n type: PanelDescriptor<T>\n label?: string\n getItemLabel?: DeserializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype DeserializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: DeserializedListControlConfig<T[number]['value']>\n}\n\nfunction deserializeListControl<T extends Data>(\n serializedControl: SerializedListControl<ListControlValue<T>>,\n): DeserializedListControl<ListControlValue<T>> {\n const { getItemLabel } = serializedControl.options\n\n const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel)\n\n return {\n ...serializedControl,\n options: { ...serializedControl.options, getItemLabel: deserializedGetItemLabel },\n }\n}\n\nexport type SerializedControl = Exclude<Control, ListControl> | SerializedListControl\n\nexport type DeserializedControl = Exclude<Control, ListControl> | DeserializedListControl\n\nfunction serializeControl(control: Control): [SerializedControl, Transferable[]] {\n switch (control.type) {\n case Controls.Types.List:\n return serializeListControl(control)\n\n default:\n return [control, []]\n }\n}\n\nfunction deserializeControl(serializedControl: SerializedControl): DeserializedControl {\n switch (serializedControl.type) {\n case Controls.Types.List:\n return deserializeListControl(serializedControl)\n\n default:\n return serializedControl\n }\n}\n\nexport function serializeControls(\n controls: Record<string, Control>,\n): [Record<string, SerializedControl>, Transferable[]] {\n return Object.entries(controls).reduce(\n ([accControls, accTransferables], [key, control]) => {\n const [serializedControl, transferables] = serializeControl(control)\n\n return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]]\n },\n [{}, []] as [Record<string, SerializedControl>, Transferable[]],\n )\n}\n\nexport function deserializeControls(\n serializedControls: Record<string, SerializedControl>,\n): Record<string, DeserializedControl> {\n return Object.entries(serializedControls).reduce(\n (deserializedControls, [key, serializedControl]) => {\n return { ...deserializedControls, [key]: deserializeControl(serializedControl) }\n },\n {} as Record<string, DeserializedControl>,\n )\n}\n"],"names":["Controls.Types"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgBO,2BAAkD,MAAgC;AAGjF,QAAA,iBAAiB,IAAI;AAE3B,iBAAe,MAAM,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,YAA8B;AAC/E,YAAQ,QACL,EAAA,KAAK,MAAM,KAAK,MAAM,MAAM,IAAI,CAAC,EACjC,KAAK,CAAA,WAAU,eAAe,MAAM,YAAY,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,EAAA;AAGtE,SAAO,eAAe;AACxB;AAEO,6BACL,oBACyB;AAKzB,MAAI,aAAa;AACX,QAAA,4BAAY;AAElB,qBAAmB,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,cAAkC;;AAC3E,gBAAA,IAAI,MAAM,MAAV,mBAAc;AAEpB,UAAM,OAAO,MAAM;AAAA,EAAA;AAGrB,SAAO,iCAAiC,MAAM;AACrC,WAAA,IAAI,QAAQ,CAAW,YAAA;AAC5B,YAAM,SAAS;AAET,YAAA,IAAI,QAAQ,OAAO;AAEzB,yBAAmB,YAAY,CAAC,QAAQ,IAAI,CAAC;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEL;AC1BA,8BACE,SAC8D;AACxD,QAAA,EAAE,iBAAiB,QAAQ;AAE3B,QAAA,yBAAyB,gBAAgB,kBAAkB,YAAY;AAEtE,SAAA;AAAA,IACL,iCAAK,UAAL,EAAc,SAAS,iCAAK,QAAQ,UAAb,EAAsB,cAAc,0BAAyB;AAAA,IACpF,0BAA0B,OAAO,KAAK,CAAC,sBAAsB;AAAA,EAAA;AAEjE;AAeA,gCACE,mBAC8C;AACxC,QAAA,EAAE,iBAAiB,kBAAkB;AAErC,QAAA,2BAA2B,gBAAgB,oBAAoB,YAAY;AAE1E,SAAA,iCACF,oBADE;AAAA,IAEL,SAAS,iCAAK,kBAAkB,UAAvB,EAAgC,cAAc,yBAAyB;AAAA,EAAA;AAEpF;AAMA,0BAA0B,SAAuD;AAC/E,UAAQ,QAAQ;AAAA,SACTA,YAAe,MAAA;AAClB,aAAO,qBAAqB,OAAO;AAAA;AAG5B,aAAA,CAAC,SAAS,CAAA,CAAE;AAAA;AAEzB;AAEA,4BAA4B,mBAA2D;AACrF,UAAQ,kBAAkB;AAAA,SACnBA,YAAe,MAAA;AAClB,aAAO,uBAAuB,iBAAiB;AAAA;AAGxC,aAAA;AAAA;AAEb;AAEO,2BACL,UACqD;AAC9C,SAAA,OAAO,QAAQ,QAAQ,EAAE,OAC9B,CAAC,CAAC,aAAa,mBAAmB,CAAC,KAAK,aAAa;AACnD,UAAM,CAAC,mBAAmB,iBAAiB,iBAAiB,OAAO;AAE5D,WAAA,CAAC,iCAAK,cAAL,GAAmB,MAAM,sBAAqB,CAAC,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAAA,EAAA,GAE/F,CAAC,CAAA,GAAI,CAAE,CAAA,CACT;AACF;AAEO,6BACL,oBACqC;AAC9B,SAAA,OAAO,QAAQ,kBAAkB,EAAE,OACxC,CAAC,sBAAsB,CAAC,KAAK,uBAAuB;AAClD,WAAO,iCAAK,uBAAL,GAA4B,MAAM,mBAAmB,iBAAiB;EAC/E,GACA,CACF,CAAA;AACF;;;;;"}
@@ -0,0 +1,87 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { T as Types } from "./descriptors.es.js";
21
+ function serializeFunction(func) {
22
+ const messageChannel = new MessageChannel();
23
+ messageChannel.port1.onmessage = ({ data: [callId, args] }) => {
24
+ Promise.resolve().then(() => func.apply(null, args)).then((result) => messageChannel.port1.postMessage([callId, result]));
25
+ };
26
+ return messageChannel.port2;
27
+ }
28
+ function deserializeFunction(serializedFunction) {
29
+ let nextCallId = 0;
30
+ const calls = /* @__PURE__ */ new Map();
31
+ serializedFunction.onmessage = ({ data: [callId, result] }) => {
32
+ var _a;
33
+ (_a = calls.get(callId)) == null ? void 0 : _a(result);
34
+ calls.delete(callId);
35
+ };
36
+ return function deserializedFunction(...args) {
37
+ return new Promise((resolve) => {
38
+ const callId = nextCallId++;
39
+ calls.set(callId, resolve);
40
+ serializedFunction.postMessage([callId, args]);
41
+ });
42
+ };
43
+ }
44
+ function serializeListControl(control) {
45
+ const { getItemLabel } = control.options;
46
+ const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel);
47
+ return [
48
+ __spreadProps(__spreadValues({}, control), { options: __spreadProps(__spreadValues({}, control.options), { getItemLabel: serializedGetItemLabel }) }),
49
+ serializedGetItemLabel == null ? [] : [serializedGetItemLabel]
50
+ ];
51
+ }
52
+ function deserializeListControl(serializedControl) {
53
+ const { getItemLabel } = serializedControl.options;
54
+ const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel);
55
+ return __spreadProps(__spreadValues({}, serializedControl), {
56
+ options: __spreadProps(__spreadValues({}, serializedControl.options), { getItemLabel: deserializedGetItemLabel })
57
+ });
58
+ }
59
+ function serializeControl(control) {
60
+ switch (control.type) {
61
+ case Types.List:
62
+ return serializeListControl(control);
63
+ default:
64
+ return [control, []];
65
+ }
66
+ }
67
+ function deserializeControl(serializedControl) {
68
+ switch (serializedControl.type) {
69
+ case Types.List:
70
+ return deserializeListControl(serializedControl);
71
+ default:
72
+ return serializedControl;
73
+ }
74
+ }
75
+ function serializeControls(controls) {
76
+ return Object.entries(controls).reduce(([accControls, accTransferables], [key, control]) => {
77
+ const [serializedControl, transferables] = serializeControl(control);
78
+ return [__spreadProps(__spreadValues({}, accControls), { [key]: serializedControl }), [...accTransferables, ...transferables]];
79
+ }, [{}, []]);
80
+ }
81
+ function deserializeControls(serializedControls) {
82
+ return Object.entries(serializedControls).reduce((deserializedControls, [key, serializedControl]) => {
83
+ return __spreadProps(__spreadValues({}, deserializedControls), { [key]: deserializeControl(serializedControl) });
84
+ }, {});
85
+ }
86
+ export { serializeFunction as a, deserializeFunction as b, deserializeControls as d, serializeControls as s };
87
+ //# sourceMappingURL=control-serialization.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-serialization.es.js","sources":["../src/builder/serialization/function-serialization.ts","../src/builder/serialization/control-serialization.ts"],"sourcesContent":["declare const SerializedFunctionTag: unique symbol\n\ntype AnyFunction = (...args: any) => any\n\nexport type SerializedFunction<T extends AnyFunction> = MessagePort & {\n readonly [SerializedFunctionTag]: T\n}\n\ntype SerializedFunctionReturnType<T extends AnyFunction> = Awaited<ReturnType<T>>\n\nexport type DeserializedFunction<T extends AnyFunction> = (\n ...args: Parameters<T>\n) => Promise<SerializedFunctionReturnType<T>>\n\ntype CallID = number\n\nexport function serializeFunction<T extends AnyFunction>(func: T): SerializedFunction<T> {\n type CallMessageEvent = MessageEvent<[CallID, Parameters<T>]>\n\n const messageChannel = new MessageChannel()\n\n messageChannel.port1.onmessage = ({ data: [callId, args] }: CallMessageEvent) => {\n Promise.resolve()\n .then(() => func.apply(null, args))\n .then(result => messageChannel.port1.postMessage([callId, result]))\n }\n\n return messageChannel.port2 as SerializedFunction<T>\n}\n\nexport function deserializeFunction<T extends AnyFunction>(\n serializedFunction: SerializedFunction<T>,\n): DeserializedFunction<T> {\n type Result = SerializedFunctionReturnType<T>\n type ResultMessageEvent = MessageEvent<[CallID, Result]>\n type ResolveCallPromise = (value: Result | PromiseLike<Result>) => void\n\n let nextCallId = 0\n const calls = new Map<CallID, ResolveCallPromise>()\n\n serializedFunction.onmessage = ({ data: [callId, result] }: ResultMessageEvent) => {\n calls.get(callId)?.(result)\n\n calls.delete(callId)\n }\n\n return function deserializedFunction(...args) {\n return new Promise(resolve => {\n const callId = nextCallId++\n\n calls.set(callId, resolve)\n\n serializedFunction.postMessage([callId, args])\n })\n }\n}\n\nif (import.meta.vitest) {\n const { describe, test, expect } = import.meta.vitest\n\n describe.concurrent('serializeFunction & deserializeFunction', () => {\n test('simple call', async () => {\n // Arrange\n const add = deserializeFunction(serializeFunction((a, b) => a + b))\n\n // Act\n const result = await add(2, 2)\n\n // Assert\n expect(result).toBe(4)\n })\n\n test('multiple synchronous calls', async () => {\n // Arrange\n const add = deserializeFunction(serializeFunction((a, b) => a + b))\n\n // Act\n const results = await Promise.all(Array.from({ length: 5 }, (_, i) => add(1, i)))\n\n // Assert\n expect(results).toEqual([1, 2, 3, 4, 5])\n })\n })\n}\n","import {\n Data,\n ListDescriptor as ListControl,\n ListOptions as ListControlConfig,\n ListValue as ListControlValue,\n PanelDescriptor,\n PropControllerDescriptor as Control,\n Props as Controls,\n} from '../../prop-controllers'\nimport {\n DeserializedFunction,\n deserializeFunction,\n SerializedFunction,\n serializeFunction,\n} from './function-serialization'\n\ntype SerializedListControlConfig<T extends Data> = {\n type: PanelDescriptor<T>\n label?: string\n getItemLabel?: SerializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype SerializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: SerializedListControlConfig<T[number]['value']>\n}\n\nfunction serializeListControl<T extends Data>(\n control: ListControl<ListControlValue<T>>,\n): [SerializedListControl<ListControlValue<T>>, Transferable[]] {\n const { getItemLabel } = control.options\n\n const serializedGetItemLabel = getItemLabel && serializeFunction(getItemLabel)\n\n return [\n { ...control, options: { ...control.options, getItemLabel: serializedGetItemLabel } },\n serializedGetItemLabel == null ? [] : [serializedGetItemLabel],\n ]\n}\n\ntype DeserializedListControlConfig<T extends Data> = {\n type: PanelDescriptor<T>\n label?: string\n getItemLabel?: DeserializedFunction<Exclude<ListControlConfig<T>['getItemLabel'], undefined>>\n preset?: ListControlValue<T>\n defaultValue?: ListControlValue<T>\n}\n\ntype DeserializedListControl<T extends ListControlValue = ListControlValue> = {\n type: typeof Controls.Types.List\n options: DeserializedListControlConfig<T[number]['value']>\n}\n\nfunction deserializeListControl<T extends Data>(\n serializedControl: SerializedListControl<ListControlValue<T>>,\n): DeserializedListControl<ListControlValue<T>> {\n const { getItemLabel } = serializedControl.options\n\n const deserializedGetItemLabel = getItemLabel && deserializeFunction(getItemLabel)\n\n return {\n ...serializedControl,\n options: { ...serializedControl.options, getItemLabel: deserializedGetItemLabel },\n }\n}\n\nexport type SerializedControl = Exclude<Control, ListControl> | SerializedListControl\n\nexport type DeserializedControl = Exclude<Control, ListControl> | DeserializedListControl\n\nfunction serializeControl(control: Control): [SerializedControl, Transferable[]] {\n switch (control.type) {\n case Controls.Types.List:\n return serializeListControl(control)\n\n default:\n return [control, []]\n }\n}\n\nfunction deserializeControl(serializedControl: SerializedControl): DeserializedControl {\n switch (serializedControl.type) {\n case Controls.Types.List:\n return deserializeListControl(serializedControl)\n\n default:\n return serializedControl\n }\n}\n\nexport function serializeControls(\n controls: Record<string, Control>,\n): [Record<string, SerializedControl>, Transferable[]] {\n return Object.entries(controls).reduce(\n ([accControls, accTransferables], [key, control]) => {\n const [serializedControl, transferables] = serializeControl(control)\n\n return [{ ...accControls, [key]: serializedControl }, [...accTransferables, ...transferables]]\n },\n [{}, []] as [Record<string, SerializedControl>, Transferable[]],\n )\n}\n\nexport function deserializeControls(\n serializedControls: Record<string, SerializedControl>,\n): Record<string, DeserializedControl> {\n return Object.entries(serializedControls).reduce(\n (deserializedControls, [key, serializedControl]) => {\n return { ...deserializedControls, [key]: deserializeControl(serializedControl) }\n },\n {} as Record<string, DeserializedControl>,\n )\n}\n"],"names":["Controls.Types"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBO,2BAAkD,MAAgC;AAGjF,QAAA,iBAAiB,IAAI;AAE3B,iBAAe,MAAM,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,YAA8B;AAC/E,YAAQ,QACL,EAAA,KAAK,MAAM,KAAK,MAAM,MAAM,IAAI,CAAC,EACjC,KAAK,CAAA,WAAU,eAAe,MAAM,YAAY,CAAC,QAAQ,MAAM,CAAC,CAAC;AAAA,EAAA;AAGtE,SAAO,eAAe;AACxB;AAEO,6BACL,oBACyB;AAKzB,MAAI,aAAa;AACX,QAAA,4BAAY;AAElB,qBAAmB,YAAY,CAAC,EAAE,MAAM,CAAC,QAAQ,cAAkC;;AAC3E,gBAAA,IAAI,MAAM,MAAV,mBAAc;AAEpB,UAAM,OAAO,MAAM;AAAA,EAAA;AAGrB,SAAO,iCAAiC,MAAM;AACrC,WAAA,IAAI,QAAQ,CAAW,YAAA;AAC5B,YAAM,SAAS;AAET,YAAA,IAAI,QAAQ,OAAO;AAEzB,yBAAmB,YAAY,CAAC,QAAQ,IAAI,CAAC;AAAA,IAAA,CAC9C;AAAA,EAAA;AAEL;AC1BA,8BACE,SAC8D;AACxD,QAAA,EAAE,iBAAiB,QAAQ;AAE3B,QAAA,yBAAyB,gBAAgB,kBAAkB,YAAY;AAEtE,SAAA;AAAA,IACL,iCAAK,UAAL,EAAc,SAAS,iCAAK,QAAQ,UAAb,EAAsB,cAAc,0BAAyB;AAAA,IACpF,0BAA0B,OAAO,KAAK,CAAC,sBAAsB;AAAA,EAAA;AAEjE;AAeA,gCACE,mBAC8C;AACxC,QAAA,EAAE,iBAAiB,kBAAkB;AAErC,QAAA,2BAA2B,gBAAgB,oBAAoB,YAAY;AAE1E,SAAA,iCACF,oBADE;AAAA,IAEL,SAAS,iCAAK,kBAAkB,UAAvB,EAAgC,cAAc,yBAAyB;AAAA,EAAA;AAEpF;AAMA,0BAA0B,SAAuD;AAC/E,UAAQ,QAAQ;AAAA,SACTA,MAAe;AAClB,aAAO,qBAAqB,OAAO;AAAA;AAG5B,aAAA,CAAC,SAAS,CAAA,CAAE;AAAA;AAEzB;AAEA,4BAA4B,mBAA2D;AACrF,UAAQ,kBAAkB;AAAA,SACnBA,MAAe;AAClB,aAAO,uBAAuB,iBAAiB;AAAA;AAGxC,aAAA;AAAA;AAEb;AAEO,2BACL,UACqD;AAC9C,SAAA,OAAO,QAAQ,QAAQ,EAAE,OAC9B,CAAC,CAAC,aAAa,mBAAmB,CAAC,KAAK,aAAa;AACnD,UAAM,CAAC,mBAAmB,iBAAiB,iBAAiB,OAAO;AAE5D,WAAA,CAAC,iCAAK,cAAL,GAAmB,MAAM,sBAAqB,CAAC,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAAA,EAAA,GAE/F,CAAC,CAAA,GAAI,CAAE,CAAA,CACT;AACF;AAEO,6BACL,oBACqC;AAC9B,SAAA,OAAO,QAAQ,kBAAkB,EAAE,OACxC,CAAC,sBAAsB,CAAC,KAAK,uBAAuB;AAClD,WAAO,iCAAK,uBAAL,GAA4B,MAAM,mBAAmB,iBAAiB;EAC/E,GACA,CACF,CAAA;AACF;;"}