@makeswift/runtime 0.8.10 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/dist/Box.cjs.js +6 -4
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +6 -4
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +6 -4
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +6 -4
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +9 -7
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +9 -7
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +6 -4
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +6 -4
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +6 -4
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +6 -4
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +6 -4
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +6 -4
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +6 -4
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +6 -4
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +6 -4
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +6 -4
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +8 -6
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +7 -5
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +6 -4
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +6 -4
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +51 -34
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +23 -6
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +72 -67
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +18 -13
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +136 -91
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +82 -37
  52. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  53. package/dist/Root.cjs.js +6 -4
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +6 -4
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +6 -4
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +6 -4
  60. package/dist/SocialLinks.es.js.map +1 -1
  61. package/dist/Text.cjs.js +7 -5
  62. package/dist/Text.cjs.js.map +1 -1
  63. package/dist/Text.es.js +7 -5
  64. package/dist/Text.es.js.map +1 -1
  65. package/dist/Video.cjs.js +6 -4
  66. package/dist/Video.cjs.js.map +1 -1
  67. package/dist/Video.es.js +6 -4
  68. package/dist/Video.es.js.map +1 -1
  69. package/dist/actions.cjs.js +16 -1
  70. package/dist/actions.cjs.js.map +1 -1
  71. package/dist/actions.es.js +14 -2
  72. package/dist/actions.es.js.map +1 -1
  73. package/dist/builder.cjs.js +7 -2
  74. package/dist/builder.cjs.js.map +1 -1
  75. package/dist/builder.es.js +7 -2
  76. package/dist/builder.es.js.map +1 -1
  77. package/dist/components.cjs.js +8 -6
  78. package/dist/components.cjs.js.map +1 -1
  79. package/dist/components.es.js +8 -6
  80. package/dist/components.es.js.map +1 -1
  81. package/dist/constants.cjs.js +0 -408
  82. package/dist/constants.cjs.js.map +1 -1
  83. package/dist/constants.es.js +1 -372
  84. package/dist/constants.es.js.map +1 -1
  85. package/dist/control-serialization.cjs.js +84 -41
  86. package/dist/control-serialization.cjs.js.map +1 -1
  87. package/dist/control-serialization.es.js +44 -1
  88. package/dist/control-serialization.es.js.map +1 -1
  89. package/dist/controls.cjs.js +58 -50
  90. package/dist/controls.cjs.js.map +1 -1
  91. package/dist/controls.es.js +8 -3
  92. package/dist/controls.es.js.map +1 -1
  93. package/dist/index.cjs.js +534 -495
  94. package/dist/index.cjs.js.map +1 -1
  95. package/dist/index.cjs10.js +372 -0
  96. package/dist/index.cjs10.js.map +1 -0
  97. package/dist/index.cjs2.js +10 -8
  98. package/dist/index.cjs2.js.map +1 -1
  99. package/dist/index.cjs5.js +2 -480
  100. package/dist/index.cjs5.js.map +1 -1
  101. package/dist/index.cjs6.js +6 -7
  102. package/dist/index.cjs6.js.map +1 -1
  103. package/dist/index.cjs7.js +17 -39
  104. package/dist/index.cjs7.js.map +1 -1
  105. package/dist/index.cjs8.js +14 -180
  106. package/dist/index.cjs8.js.map +1 -1
  107. package/dist/index.cjs9.js +191 -265
  108. package/dist/index.cjs9.js.map +1 -1
  109. package/dist/index.es.js +299 -260
  110. package/dist/index.es.js.map +1 -1
  111. package/dist/index.es10.js +365 -0
  112. package/dist/index.es10.js.map +1 -0
  113. package/dist/index.es2.js +5 -3
  114. package/dist/index.es2.js.map +1 -1
  115. package/dist/index.es5.js +3 -471
  116. package/dist/index.es5.js.map +1 -1
  117. package/dist/index.es6.js +4 -5
  118. package/dist/index.es6.js.map +1 -1
  119. package/dist/index.es7.js +17 -37
  120. package/dist/index.es7.js.map +1 -1
  121. package/dist/index.es8.js +13 -175
  122. package/dist/index.es8.js.map +1 -1
  123. package/dist/index.es9.js +188 -262
  124. package/dist/index.es9.js.map +1 -1
  125. package/dist/leaf.cjs.js +4 -4
  126. package/dist/leaf.cjs.js.map +1 -1
  127. package/dist/leaf.es.js +1 -1
  128. package/dist/leaf.es.js.map +1 -1
  129. package/dist/main.cjs.js +8 -4
  130. package/dist/main.cjs.js.map +1 -1
  131. package/dist/main.es.js +6 -5
  132. package/dist/main.es.js.map +1 -1
  133. package/dist/next.cjs.js +6 -4
  134. package/dist/next.cjs.js.map +1 -1
  135. package/dist/next.es.js +6 -4
  136. package/dist/next.es.js.map +1 -1
  137. package/dist/prop-controllers.cjs.js +11 -7
  138. package/dist/prop-controllers.cjs.js.map +1 -1
  139. package/dist/prop-controllers.es.js +7 -3
  140. package/dist/prop-controllers.es.js.map +1 -1
  141. package/dist/{descriptors.cjs.js → react-page.cjs.js} +1559 -102
  142. package/dist/react-page.cjs.js.map +1 -0
  143. package/dist/{descriptors.es.js → react-page.es.js} +1469 -80
  144. package/dist/react-page.es.js.map +1 -0
  145. package/dist/react.cjs.js +6 -4
  146. package/dist/react.cjs.js.map +1 -1
  147. package/dist/react.es.js +6 -4
  148. package/dist/react.es.js.map +1 -1
  149. package/dist/slate.cjs.js +17 -11
  150. package/dist/slate.cjs.js.map +1 -1
  151. package/dist/slate.es.js +7 -5
  152. package/dist/slate.es.js.map +1 -1
  153. package/dist/state/breakpoints.cjs.js.map +1 -1
  154. package/dist/state/breakpoints.es.js.map +1 -1
  155. package/dist/text-input.cjs.js +0 -6
  156. package/dist/text-input.cjs.js.map +1 -1
  157. package/dist/text-input.es.js +1 -5
  158. package/dist/text-input.es.js.map +1 -1
  159. package/dist/types/src/api/graphql/documents/queries.d.ts.map +1 -1
  160. package/dist/types/src/api/graphql/generated/types.d.ts +36 -44
  161. package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -1
  162. package/dist/types/src/api/graphql/types.d.ts +2 -2
  163. package/dist/types/src/api/graphql/types.d.ts.map +1 -1
  164. package/dist/types/src/api/react.d.ts +3 -3
  165. package/dist/types/src/api/react.d.ts.map +1 -1
  166. package/dist/types/src/builder/serialization/control-serialization.d.ts +66 -66
  167. package/dist/types/src/builder/serialization/control-serialization.d.ts.map +1 -1
  168. package/dist/types/src/builder/serialization/controls/rich-text-v2.d.ts +5 -0
  169. package/dist/types/src/builder/serialization/controls/rich-text-v2.d.ts.map +1 -0
  170. package/dist/types/src/builder/serialization/controls/types.d.ts +3 -3
  171. package/dist/types/src/builder/serialization/controls/types.d.ts.map +1 -1
  172. package/dist/types/src/builder/serialization/function-serialization.d.ts +4 -4
  173. package/dist/types/src/builder/serialization/function-serialization.d.ts.map +1 -1
  174. package/dist/types/src/components/builtin/Box/animations.d.ts +1 -1
  175. package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -1
  176. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts +1 -1
  177. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
  178. package/dist/types/src/components/builtin/Box/constants.d.ts +1 -1
  179. package/dist/types/src/components/builtin/Box/constants.d.ts.map +1 -1
  180. package/dist/types/src/components/builtin/Button/Button.d.ts +3 -3
  181. package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -1
  182. package/dist/types/src/components/builtin/Button/contants.d.ts +1 -1
  183. package/dist/types/src/components/builtin/Button/contants.d.ts.map +1 -1
  184. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts +1 -1
  185. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  186. package/dist/types/src/components/builtin/Carousel/register.d.ts.map +1 -1
  187. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts +1 -1
  188. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  189. package/dist/types/src/components/builtin/Countdown/register.d.ts.map +1 -1
  190. package/dist/types/src/components/builtin/Divider/Divider.d.ts +2 -2
  191. package/dist/types/src/components/builtin/Divider/Divider.d.ts.map +1 -1
  192. package/dist/types/src/components/builtin/Divider/register.d.ts.map +1 -1
  193. package/dist/types/src/components/builtin/Embed/Embed.d.ts +1 -1
  194. package/dist/types/src/components/builtin/Embed/Embed.d.ts.map +1 -1
  195. package/dist/types/src/components/builtin/Embed/register.d.ts.map +1 -1
  196. package/dist/types/src/components/builtin/Form/Form.d.ts +2 -2
  197. package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -1
  198. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +2 -2
  199. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
  200. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +1 -1
  201. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
  202. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +1 -1
  203. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -1
  204. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +1 -1
  205. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
  206. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts +2 -2
  207. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -1
  208. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +1 -1
  209. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -1
  210. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +1 -1
  211. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -1
  212. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +1 -1
  213. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -1
  214. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +1 -1
  215. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -1
  216. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +1 -1
  217. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
  218. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +1 -1
  219. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -1
  220. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +1 -1
  221. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -1
  222. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +1 -1
  223. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
  224. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +1 -1
  225. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -1
  226. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +1 -1
  227. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
  228. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +1 -1
  229. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -1
  230. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +2 -2
  231. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  232. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts +1 -1
  233. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  234. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts +5 -5
  235. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  236. package/dist/types/src/components/builtin/Form/register.d.ts.map +1 -1
  237. package/dist/types/src/components/builtin/Form/types.d.ts +13 -13
  238. package/dist/types/src/components/builtin/Form/types.d.ts.map +1 -1
  239. package/dist/types/src/components/builtin/Image/Image.d.ts +1 -1
  240. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  241. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts +1 -1
  242. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  243. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +3 -3
  244. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  245. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +1 -1
  246. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  247. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +3 -3
  248. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  249. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +1 -1
  250. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  251. package/dist/types/src/components/builtin/Navigation/register.d.ts.map +1 -1
  252. package/dist/types/src/components/builtin/Root/Root.d.ts +1 -1
  253. package/dist/types/src/components/builtin/Root/Root.d.ts.map +1 -1
  254. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
  255. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  256. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +1 -1
  257. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  258. package/dist/types/src/components/builtin/SocialLinks/register.d.ts.map +1 -1
  259. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts +1 -1
  260. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +1 -1
  261. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +3 -3
  262. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
  263. package/dist/types/src/components/builtin/Text/Text.d.ts +1 -1
  264. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
  265. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +2 -2
  266. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -1
  267. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +1 -1
  268. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -1
  269. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +5 -5
  270. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
  271. package/dist/types/src/components/builtin/Video/Video.d.ts +1 -1
  272. package/dist/types/src/components/builtin/Video/Video.d.ts.map +1 -1
  273. package/dist/types/src/components/builtin/Video/register.d.ts.map +1 -1
  274. package/dist/types/src/components/hooks/useBackgrounds.d.ts +8 -8
  275. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -1
  276. package/dist/types/src/components/hooks/useBorder.d.ts +3 -3
  277. package/dist/types/src/components/hooks/useBorder.d.ts.map +1 -1
  278. package/dist/types/src/components/hooks/useBoxShadow.d.ts +3 -3
  279. package/dist/types/src/components/hooks/useBoxShadow.d.ts.map +1 -1
  280. package/dist/types/src/components/page/BodySnippet.d.ts +1 -1
  281. package/dist/types/src/components/page/BodySnippet.d.ts.map +1 -1
  282. package/dist/types/src/components/page/Page.d.ts +1 -1
  283. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  284. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +1 -1
  285. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  286. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +1 -1
  287. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  288. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +1 -1
  289. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -1
  290. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +1 -1
  291. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  292. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts +1 -1
  293. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  294. package/dist/types/src/components/shared/GutterContainer/index.d.ts +2 -2
  295. package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -1
  296. package/dist/types/src/components/shared/Link/index.d.ts +1 -1
  297. package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
  298. package/dist/types/src/components/shared/grid-item.d.ts +2 -2
  299. package/dist/types/src/components/shared/grid-item.d.ts.map +1 -1
  300. package/dist/types/src/components/utils/drop-first.d.ts +1 -1
  301. package/dist/types/src/components/utils/drop-first.d.ts.map +1 -1
  302. package/dist/types/src/components/utils/types.d.ts +2 -2
  303. package/dist/types/src/components/utils/types.d.ts.map +1 -1
  304. package/dist/types/src/controls/checkbox.d.ts +3 -3
  305. package/dist/types/src/controls/checkbox.d.ts.map +1 -1
  306. package/dist/types/src/controls/color.d.ts +3 -3
  307. package/dist/types/src/controls/color.d.ts.map +1 -1
  308. package/dist/types/src/controls/combobox.d.ts +5 -5
  309. package/dist/types/src/controls/combobox.d.ts.map +1 -1
  310. package/dist/types/src/controls/control.d.ts +6 -4
  311. package/dist/types/src/controls/control.d.ts.map +1 -1
  312. package/dist/types/src/controls/image.d.ts +4 -4
  313. package/dist/types/src/controls/image.d.ts.map +1 -1
  314. package/dist/types/src/controls/link.d.ts +8 -8
  315. package/dist/types/src/controls/link.d.ts.map +1 -1
  316. package/dist/types/src/controls/list.d.ts +6 -6
  317. package/dist/types/src/controls/list.d.ts.map +1 -1
  318. package/dist/types/src/controls/number.d.ts +3 -3
  319. package/dist/types/src/controls/number.d.ts.map +1 -1
  320. package/dist/types/src/controls/rich-text/dto-types.d.ts +4 -4
  321. package/dist/types/src/controls/rich-text/dto-types.d.ts.map +1 -1
  322. package/dist/types/src/controls/rich-text/rich-text.d.ts +11 -11
  323. package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -1
  324. package/dist/types/src/controls/rich-text/translation.d.ts +1 -1
  325. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
  326. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +39 -18
  327. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  328. package/dist/types/src/controls/select.d.ts +5 -5
  329. package/dist/types/src/controls/select.d.ts.map +1 -1
  330. package/dist/types/src/controls/shape.d.ts +5 -5
  331. package/dist/types/src/controls/shape.d.ts.map +1 -1
  332. package/dist/types/src/controls/slot.d.ts +17 -8
  333. package/dist/types/src/controls/slot.d.ts.map +1 -1
  334. package/dist/types/src/controls/style.d.ts +18 -18
  335. package/dist/types/src/controls/style.d.ts.map +1 -1
  336. package/dist/types/src/controls/text-area.d.ts +3 -3
  337. package/dist/types/src/controls/text-area.d.ts.map +1 -1
  338. package/dist/types/src/controls/text-input.d.ts +3 -3
  339. package/dist/types/src/controls/text-input.d.ts.map +1 -1
  340. package/dist/types/src/controls/types.d.ts +5 -5
  341. package/dist/types/src/controls/types.d.ts.map +1 -1
  342. package/dist/types/src/css/border-radius.d.ts +2 -2
  343. package/dist/types/src/css/border-radius.d.ts.map +1 -1
  344. package/dist/types/src/css/border.d.ts +2 -2
  345. package/dist/types/src/css/border.d.ts.map +1 -1
  346. package/dist/types/src/css/length-percentage.d.ts +2 -2
  347. package/dist/types/src/css/length-percentage.d.ts.map +1 -1
  348. package/dist/types/src/css/length.d.ts +1 -1
  349. package/dist/types/src/css/length.d.ts.map +1 -1
  350. package/dist/types/src/css/margin.d.ts +2 -2
  351. package/dist/types/src/css/margin.d.ts.map +1 -1
  352. package/dist/types/src/css/padding.d.ts +2 -2
  353. package/dist/types/src/css/padding.d.ts.map +1 -1
  354. package/dist/types/src/index.d.ts +2 -1
  355. package/dist/types/src/index.d.ts.map +1 -1
  356. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts +3 -3
  357. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts.map +1 -1
  358. package/dist/types/src/next/api-handler/handlers/fonts.d.ts +5 -5
  359. package/dist/types/src/next/api-handler/handlers/fonts.d.ts.map +1 -1
  360. package/dist/types/src/next/api-handler/handlers/manifest.d.ts +6 -4
  361. package/dist/types/src/next/api-handler/handlers/manifest.d.ts.map +1 -1
  362. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts +2 -2
  363. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts.map +1 -1
  364. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts +3 -3
  365. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts.map +1 -1
  366. package/dist/types/src/next/api-handler/index.d.ts +5 -4
  367. package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
  368. package/dist/types/src/next/client.d.ts +15 -15
  369. package/dist/types/src/next/client.d.ts.map +1 -1
  370. package/dist/types/src/next/dynamic.d.ts +4 -4
  371. package/dist/types/src/next/dynamic.d.ts.map +1 -1
  372. package/dist/types/src/next/index.d.ts +10 -7
  373. package/dist/types/src/next/index.d.ts.map +1 -1
  374. package/dist/types/src/next/preview-mode.d.ts +18 -4
  375. package/dist/types/src/next/preview-mode.d.ts.map +1 -1
  376. package/dist/types/src/prop-controllers/descriptors.d.ts +179 -179
  377. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  378. package/dist/types/src/prop-controllers/instances.d.ts +17 -17
  379. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
  380. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts +1 -1
  381. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts.map +1 -1
  382. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts +1 -1
  383. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts.map +1 -1
  384. package/dist/types/src/runtimes/react/components/render-hook.d.ts +1 -1
  385. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
  386. package/dist/types/src/runtimes/react/controls/checkbox.d.ts +1 -1
  387. package/dist/types/src/runtimes/react/controls/checkbox.d.ts.map +1 -1
  388. package/dist/types/src/runtimes/react/controls/color.d.ts +1 -1
  389. package/dist/types/src/runtimes/react/controls/color.d.ts.map +1 -1
  390. package/dist/types/src/runtimes/react/controls/combobox.d.ts +1 -1
  391. package/dist/types/src/runtimes/react/controls/combobox.d.ts.map +1 -1
  392. package/dist/types/src/runtimes/react/controls/control.d.ts +2 -2
  393. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  394. package/dist/types/src/runtimes/react/controls/image.d.ts +3 -3
  395. package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -1
  396. package/dist/types/src/runtimes/react/controls/link.d.ts +2 -2
  397. package/dist/types/src/runtimes/react/controls/link.d.ts.map +1 -1
  398. package/dist/types/src/runtimes/react/controls/list.d.ts +3 -3
  399. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  400. package/dist/types/src/runtimes/react/controls/number.d.ts +1 -1
  401. package/dist/types/src/runtimes/react/controls/number.d.ts.map +1 -1
  402. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +3 -3
  403. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  404. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +7 -4
  405. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  406. package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +2 -2
  407. package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  408. package/dist/types/src/runtimes/react/controls/rich-text.d.ts +2 -2
  409. package/dist/types/src/runtimes/react/controls/rich-text.d.ts.map +1 -1
  410. package/dist/types/src/runtimes/react/controls/select.d.ts +1 -1
  411. package/dist/types/src/runtimes/react/controls/select.d.ts.map +1 -1
  412. package/dist/types/src/runtimes/react/controls/shape.d.ts +2 -2
  413. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  414. package/dist/types/src/runtimes/react/controls/slot.d.ts +4 -4
  415. package/dist/types/src/runtimes/react/controls/slot.d.ts.map +1 -1
  416. package/dist/types/src/runtimes/react/controls/style.d.ts +1 -1
  417. package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -1
  418. package/dist/types/src/runtimes/react/controls/text-area.d.ts +1 -1
  419. package/dist/types/src/runtimes/react/controls/text-area.d.ts.map +1 -1
  420. package/dist/types/src/runtimes/react/controls/text-input.d.ts +1 -1
  421. package/dist/types/src/runtimes/react/controls/text-input.d.ts.map +1 -1
  422. package/dist/types/src/runtimes/react/controls.d.ts +8 -8
  423. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  424. package/dist/types/src/runtimes/react/element-imperative-handle.d.ts +1 -1
  425. package/dist/types/src/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  426. package/dist/types/src/runtimes/react/find-dom-node.d.ts +1 -1
  427. package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -1
  428. package/dist/types/src/runtimes/react/index.d.ts +10 -8
  429. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  430. package/dist/types/src/slate/BlockPlugin/constants.d.ts.map +1 -0
  431. package/dist/types/src/slate/BlockPlugin/dedent.d.ts.map +1 -0
  432. package/dist/types/src/slate/BlockPlugin/indent.d.ts.map +1 -0
  433. package/dist/types/src/slate/BlockPlugin/index.d.ts +56 -2
  434. package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
  435. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts +1 -1
  436. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  437. package/dist/types/src/slate/{ListPlugin → BlockPlugin}/toggleList.d.ts +2 -2
  438. package/dist/types/src/slate/BlockPlugin/toggleList.d.ts.map +1 -0
  439. package/dist/types/src/slate/BlockPlugin/types.d.ts +3 -3
  440. package/dist/types/src/slate/BlockPlugin/types.d.ts.map +1 -1
  441. package/dist/types/src/slate/BlockPlugin/unwrapInline.d.ts +1 -1
  442. package/dist/types/src/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
  443. package/dist/types/src/slate/{ListPlugin → BlockPlugin}/unwrapList.d.ts +1 -1
  444. package/dist/types/src/slate/BlockPlugin/unwrapList.d.ts.map +1 -0
  445. package/dist/types/src/slate/BlockPlugin/utils/filterForSubtreeRoots.d.ts.map +1 -0
  446. package/dist/types/src/slate/BlockPlugin/utils/getSelectedListItems.d.ts.map +1 -0
  447. package/dist/types/src/slate/BlockPlugin/utils/location.d.ts.map +1 -0
  448. package/dist/types/src/slate/BlockPlugin/wrapInline.d.ts +1 -1
  449. package/dist/types/src/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
  450. package/dist/types/src/slate/{ListPlugin → BlockPlugin}/wrapList.d.ts +2 -2
  451. package/dist/types/src/slate/BlockPlugin/wrapList.d.ts.map +1 -0
  452. package/dist/types/src/slate/BuilderPlugin/index.d.ts +1 -1
  453. package/dist/types/src/slate/BuilderPlugin/index.d.ts.map +1 -1
  454. package/dist/types/src/slate/InlineModePlugin/index.d.ts +6 -2
  455. package/dist/types/src/slate/InlineModePlugin/index.d.ts.map +1 -1
  456. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts +1 -1
  457. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts.map +1 -1
  458. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts +1 -1
  459. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts.map +1 -1
  460. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts +2 -2
  461. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
  462. package/dist/types/src/slate/TypographyPlugin/index.d.ts +2 -2
  463. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
  464. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts +1 -1
  465. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts.map +1 -1
  466. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts +1 -1
  467. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  468. package/dist/types/src/slate/index.d.ts +1 -1
  469. package/dist/types/src/slate/index.d.ts.map +1 -1
  470. package/dist/types/src/slate/selectors.d.ts +1 -1
  471. package/dist/types/src/slate/selectors.d.ts.map +1 -1
  472. package/dist/types/{types/slate.d.ts → src/slate/types.d.ts} +42 -35
  473. package/dist/types/src/slate/types.d.ts.map +1 -0
  474. package/dist/types/src/slate/utils/editor.d.ts +1 -1
  475. package/dist/types/src/slate/utils/editor.d.ts.map +1 -1
  476. package/dist/types/src/slate/utils/element.d.ts +1 -2
  477. package/dist/types/src/slate/utils/element.d.ts.map +1 -1
  478. package/dist/types/src/state/actions.d.ts +66 -41
  479. package/dist/types/src/state/actions.d.ts.map +1 -1
  480. package/dist/types/src/state/makeswift-api-client.d.ts +5 -5
  481. package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
  482. package/dist/types/src/state/modules/api-resources.d.ts +2 -2
  483. package/dist/types/src/state/modules/api-resources.d.ts.map +1 -1
  484. package/dist/types/src/state/modules/box-models.d.ts +2 -2
  485. package/dist/types/src/state/modules/box-models.d.ts.map +1 -1
  486. package/dist/types/src/state/modules/breakpoints.d.ts +9 -9
  487. package/dist/types/src/state/modules/breakpoints.d.ts.map +1 -1
  488. package/dist/types/src/state/modules/builder-edit-mode.d.ts +2 -2
  489. package/dist/types/src/state/modules/builder-edit-mode.d.ts.map +1 -1
  490. package/dist/types/src/state/modules/components-meta.d.ts +27 -3
  491. package/dist/types/src/state/modules/components-meta.d.ts.map +1 -1
  492. package/dist/types/src/state/modules/element-imperative-handles.d.ts +1 -1
  493. package/dist/types/src/state/modules/element-imperative-handles.d.ts.map +1 -1
  494. package/dist/types/src/state/modules/is-in-builder.d.ts +1 -1
  495. package/dist/types/src/state/modules/is-in-builder.d.ts.map +1 -1
  496. package/dist/types/src/state/modules/is-preview.d.ts +1 -1
  497. package/dist/types/src/state/modules/is-preview.d.ts.map +1 -1
  498. package/dist/types/src/state/modules/locales.d.ts +16 -0
  499. package/dist/types/src/state/modules/locales.d.ts.map +1 -0
  500. package/dist/types/src/state/modules/pointer.d.ts +2 -2
  501. package/dist/types/src/state/modules/pointer.d.ts.map +1 -1
  502. package/dist/types/src/state/modules/prop-controller-handles.d.ts +1 -1
  503. package/dist/types/src/state/modules/prop-controller-handles.d.ts.map +1 -1
  504. package/dist/types/src/state/modules/prop-controllers.d.ts +1 -1
  505. package/dist/types/src/state/modules/prop-controllers.d.ts.map +1 -1
  506. package/dist/types/src/state/modules/react-components.d.ts +2 -2
  507. package/dist/types/src/state/modules/react-components.d.ts.map +1 -1
  508. package/dist/types/src/state/modules/read-only-documents.d.ts +7 -7
  509. package/dist/types/src/state/modules/read-only-documents.d.ts.map +1 -1
  510. package/dist/types/src/state/modules/read-write-documents.d.ts +1 -1
  511. package/dist/types/src/state/modules/read-write-documents.d.ts.map +1 -1
  512. package/dist/types/src/state/react-builder-preview.d.ts +7 -6
  513. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  514. package/dist/types/src/state/react-page.d.ts +15 -7
  515. package/dist/types/src/state/react-page.d.ts.map +1 -1
  516. package/dist/types/src/state/react-page.test.d.ts +3 -0
  517. package/dist/types/src/state/react-page.test.d.ts.map +1 -0
  518. package/dist/types/src/utils/isErrorWithMessage.d.ts +1 -1
  519. package/dist/types/src/utils/isErrorWithMessage.d.ts.map +1 -1
  520. package/package.json +8 -4
  521. package/dist/descriptors.cjs.js.map +0 -1
  522. package/dist/descriptors.es.js.map +0 -1
  523. package/dist/element.cjs.js +0 -55
  524. package/dist/element.cjs.js.map +0 -1
  525. package/dist/element.es.js +0 -54
  526. package/dist/element.es.js.map +0 -1
  527. package/dist/introspection.cjs.js +0 -329
  528. package/dist/introspection.cjs.js.map +0 -1
  529. package/dist/introspection.es.js +0 -315
  530. package/dist/introspection.es.js.map +0 -1
  531. package/dist/slate.cjs2.js +0 -46
  532. package/dist/slate.cjs2.js.map +0 -1
  533. package/dist/slate.es2.js +0 -44
  534. package/dist/slate.es2.js.map +0 -1
  535. package/dist/types/src/slate/ListPlugin/constants.d.ts.map +0 -1
  536. package/dist/types/src/slate/ListPlugin/dedent.d.ts.map +0 -1
  537. package/dist/types/src/slate/ListPlugin/indent.d.ts.map +0 -1
  538. package/dist/types/src/slate/ListPlugin/index.d.ts +0 -17
  539. package/dist/types/src/slate/ListPlugin/index.d.ts.map +0 -1
  540. package/dist/types/src/slate/ListPlugin/toggleList.d.ts.map +0 -1
  541. package/dist/types/src/slate/ListPlugin/unwrapList.d.ts.map +0 -1
  542. package/dist/types/src/slate/ListPlugin/utils/filterForSubtreeRoots.d.ts.map +0 -1
  543. package/dist/types/src/slate/ListPlugin/utils/getSelectedListItems.d.ts.map +0 -1
  544. package/dist/types/src/slate/ListPlugin/utils/location.d.ts.map +0 -1
  545. package/dist/types/src/slate/ListPlugin/wrapList.d.ts.map +0 -1
  546. package/dist/types/types/slate.d.ts.map +0 -1
  547. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/constants.d.ts +0 -0
  548. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/dedent.d.ts +0 -0
  549. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/indent.d.ts +0 -0
  550. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/utils/filterForSubtreeRoots.d.ts +0 -0
  551. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/utils/getSelectedListItems.d.ts +0 -0
  552. /package/dist/types/src/slate/{ListPlugin → BlockPlugin}/utils/location.d.ts +0 -0
package/dist/react.cjs.js CHANGED
@@ -5,13 +5,13 @@ var next = require("./index.cjs.js");
5
5
  require("react");
6
6
  require("use-sync-external-store/shim/with-selector");
7
7
  require("next/dynamic");
8
- require("./constants.cjs.js");
8
+ require("./react-page.cjs.js");
9
9
  require("redux");
10
10
  require("redux-thunk");
11
- require("./descriptors.cjs.js");
12
- require("./slate.cjs2.js");
13
11
  require("./state/breakpoints.cjs.js");
14
- require("./introspection.cjs.js");
12
+ require("slate");
13
+ require("is-hotkey");
14
+ require("slate-react");
15
15
  require("@emotion/css");
16
16
  require("@emotion/serialize");
17
17
  require("@emotion/utils");
@@ -27,6 +27,7 @@ require("scroll-into-view-if-needed");
27
27
  require("react-dom");
28
28
  require("html-react-parser");
29
29
  require("next/head");
30
+ require("zod");
30
31
  require("@emotion/server/create-instance");
31
32
  require("next/document");
32
33
  require("cors");
@@ -34,6 +35,7 @@ require("path-to-regexp");
34
35
  require("cookie");
35
36
  require("http-proxy");
36
37
  require("set-cookie-parser");
38
+ require("./constants.cjs.js");
37
39
  require("uuid");
38
40
  require("corporate-ipsum");
39
41
  exports.ActionTypes = actions.ActionTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/react.es.js CHANGED
@@ -3,13 +3,13 @@ export { D as DocumentReference, E as Element, P as PageProvider, a as ReactRunt
3
3
  import "react";
4
4
  import "use-sync-external-store/shim/with-selector";
5
5
  import "next/dynamic";
6
- import "./constants.es.js";
6
+ import "./react-page.es.js";
7
7
  import "redux";
8
8
  import "redux-thunk";
9
- import "./descriptors.es.js";
10
- import "./slate.es2.js";
11
9
  import "./state/breakpoints.es.js";
12
- import "./introspection.es.js";
10
+ import "slate";
11
+ import "is-hotkey";
12
+ import "slate-react";
13
13
  import "@emotion/css";
14
14
  import "@emotion/serialize";
15
15
  import "@emotion/utils";
@@ -25,6 +25,7 @@ import "scroll-into-view-if-needed";
25
25
  import "react-dom";
26
26
  import "html-react-parser";
27
27
  import "next/head";
28
+ import "zod";
28
29
  import "@emotion/server/create-instance";
29
30
  import "next/document";
30
31
  import "cors";
@@ -32,6 +33,7 @@ import "path-to-regexp";
32
33
  import "cookie";
33
34
  import "http-proxy";
34
35
  import "set-cookie-parser";
36
+ import "./constants.es.js";
35
37
  import "uuid";
36
38
  import "corporate-ipsum";
37
39
  //# sourceMappingURL=react.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/slate.cjs.js CHANGED
@@ -1,22 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  var index = require("./index.cjs5.js");
4
+ var reactPage = require("./react-page.cjs.js");
4
5
  var index$1 = require("./index.cjs6.js");
6
+ var index$2 = require("./index.cjs7.js");
5
7
  require("slate");
6
- require("is-hotkey");
7
- require("./element.cjs.js");
8
- require("./slate.cjs2.js");
9
8
  require("./state/breakpoints.cjs.js");
10
9
  require("./actions.cjs.js");
10
+ require("redux");
11
+ require("redux-thunk");
12
+ require("is-hotkey");
11
13
  require("slate-react");
12
- exports.Block = index.Block;
13
- exports.List = index.List;
14
- exports.Typography = index.Typography;
15
- exports.onKeyDown = index.onKeyDown;
16
- exports.withBlock = index.withBlock;
17
- exports.withBuilder = index.withBuilder;
18
- exports.withList = index.withList;
14
+ exports.TypographyActions = index.TypographyActions;
19
15
  exports.withTypography = index.withTypography;
20
- exports.InlineMode = index$1.InlineMode;
16
+ exports.BlockActions = reactPage.BlockActions;
17
+ exports.BlockPlugin = reactPage.BlockPlugin;
18
+ exports.BlockTextAlignment = reactPage.BlockTextAlignment;
19
+ exports.BlockType = reactPage.BlockType;
20
+ exports.InlineType = reactPage.InlineType;
21
+ exports.ListActions = reactPage.ListActions;
22
+ exports.RootBlockType = reactPage.RootBlockType;
23
+ exports.onKeyDown = reactPage.onKeyDown;
24
+ exports.withBlock = reactPage.withBlock;
25
+ exports.InlineModePlugin = index$1.InlineModePlugin;
21
26
  exports.withInlineMode = index$1.withInlineMode;
27
+ exports.withBuilder = index$2.withBuilder;
22
28
  //# sourceMappingURL=slate.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slate.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"slate.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/slate.es.js CHANGED
@@ -1,10 +1,12 @@
1
- export { B as Block, L as List, T as Typography, o as onKeyDown, b as withBlock, c as withBuilder, w as withList, a as withTypography } from "./index.es5.js";
2
- export { I as InlineMode, w as withInlineMode } from "./index.es6.js";
1
+ export { T as TypographyActions, w as withTypography } from "./index.es5.js";
2
+ export { b6 as BlockActions, ba as BlockPlugin, be as BlockTextAlignment, bc as BlockType, bd as InlineType, b7 as ListActions, bb as RootBlockType, b8 as onKeyDown, b9 as withBlock } from "./react-page.es.js";
3
+ export { I as InlineModePlugin, w as withInlineMode } from "./index.es6.js";
4
+ export { w as withBuilder } from "./index.es7.js";
3
5
  import "slate";
4
- import "is-hotkey";
5
- import "./element.es.js";
6
- import "./slate.es2.js";
7
6
  import "./state/breakpoints.es.js";
8
7
  import "./actions.es.js";
8
+ import "redux";
9
+ import "redux-thunk";
10
+ import "is-hotkey";
9
11
  import "slate-react";
10
12
  //# sourceMappingURL=slate.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slate.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"slate.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoints.cjs.js","sources":["../../src/utils/keys.ts","../../src/utils/coalesce.ts","../../src/utils/shallowMerge.ts","../../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is DeviceOverride<R> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":["ActionTypes"],"mappings":"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"}
1
+ {"version":3,"file":"breakpoints.cjs.js","sources":["../../src/utils/keys.ts","../../src/utils/coalesce.ts","../../src/utils/shallowMerge.ts","../../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":["ActionTypes"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoints.es.js","sources":["../../src/utils/keys.ts","../../src/utils/coalesce.ts","../../src/utils/shallowMerge.ts","../../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is DeviceOverride<R> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breakpoints.es.js","sources":["../../src/utils/keys.ts","../../src/utils/coalesce.ts","../../src/utils/shallowMerge.ts","../../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":[],"mappings":"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"}
@@ -7,10 +7,6 @@ const NumberControlType = "makeswift::controls::number";
7
7
  function Number(config = {}) {
8
8
  return { type: NumberControlType, config };
9
9
  }
10
- const SelectControlType = "makeswift::controls::select";
11
- function Select(config) {
12
- return { type: SelectControlType, config };
13
- }
14
10
  const TextAreaControlType = "makeswift::controls::text-area";
15
11
  function TextArea(config = {}) {
16
12
  return { type: TextAreaControlType, config };
@@ -23,8 +19,6 @@ exports.Checkbox = Checkbox;
23
19
  exports.CheckboxControlType = CheckboxControlType;
24
20
  exports.Number = Number;
25
21
  exports.NumberControlType = NumberControlType;
26
- exports.Select = Select;
27
- exports.SelectControlType = SelectControlType;
28
22
  exports.TextArea = TextArea;
29
23
  exports.TextAreaControlType = TextAreaControlType;
30
24
  exports.TextInput = TextInput;
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.cjs.js","sources":["../src/controls/checkbox.ts","../src/controls/number.ts","../src/controls/select.ts","../src/controls/text-area.ts","../src/controls/text-input.ts"],"sourcesContent":["export type CheckboxControlData = boolean\n\nexport const CheckboxControlType = 'makeswift::controls::checkbox'\n\ntype CheckboxControlConfig = {\n label?: string\n defaultValue?: boolean\n}\n\nexport type CheckboxControlDefinition<C extends CheckboxControlConfig = CheckboxControlConfig> = {\n type: typeof CheckboxControlType\n config: C\n}\n\nexport function Checkbox<C extends CheckboxControlConfig>(\n config: C = {} as C,\n): CheckboxControlDefinition<C> {\n return { type: CheckboxControlType, config }\n}\n","export type NumberControlData = number\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config }\n}\n","export const SelectControlType = 'makeswift::controls::select'\n\ntype SelectControlOption<T extends string> = { value: T; label: string }\n\ntype SelectControlConfig<T extends string = string> = {\n label?: string\n labelOrientation?: 'horizontal' | 'vertical'\n options: SelectControlOption<T>[]\n defaultValue?: T\n}\n\nexport type SelectControlDefinition<C extends SelectControlConfig = SelectControlConfig> = {\n type: typeof SelectControlType\n config: C\n}\n\nexport type SelectControlDefinitionOption<T extends SelectControlDefinition> =\n T['config'] extends SelectControlConfig<infer U> ? U : never\n\nexport type SelectControlData<T extends SelectControlDefinition = SelectControlDefinition> =\n SelectControlDefinitionOption<T>\n\nexport function Select<T extends string, C extends SelectControlConfig<T>>(\n config: C & { options: SelectControlOption<T>[] },\n): SelectControlDefinition<C> {\n return { type: SelectControlType, config }\n}\n","export type TextAreaControlData = string\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config }\n}\n","export type TextInputControlData = string\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config }\n}\n"],"names":[],"mappings":";AAEO,MAAM,sBAAsB;AAajC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AChBO,MAAM,oBAAoB;AAkB/B,gBAAA,SAAY,IACgB;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACvBO,MAAM,oBAAoB;AAsB1B,gBACL,QAC4B;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACxBO,MAAM,sBAAsB;AAcjC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;ACjBO,MAAM,uBAAuB;AAclC,mBAAA,SAAY,IACmB;AACxB,SAAA,EAAE,MAAM,sBAAsB;AACvC;;;;;;;;;;;"}
1
+ {"version":3,"file":"text-input.cjs.js","sources":["../src/controls/checkbox.ts","../src/controls/number.ts","../src/controls/text-area.ts","../src/controls/text-input.ts"],"sourcesContent":["export type CheckboxControlData = boolean\n\nexport const CheckboxControlType = 'makeswift::controls::checkbox'\n\ntype CheckboxControlConfig = {\n label?: string\n defaultValue?: boolean\n}\n\nexport type CheckboxControlDefinition<C extends CheckboxControlConfig = CheckboxControlConfig> = {\n type: typeof CheckboxControlType\n config: C\n}\n\nexport function Checkbox<C extends CheckboxControlConfig>(\n config: C = {} as C,\n): CheckboxControlDefinition<C> {\n return { type: CheckboxControlType, config }\n}\n","export type NumberControlData = number\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config }\n}\n","export type TextAreaControlData = string\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config }\n}\n","export type TextInputControlData = string\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config }\n}\n"],"names":[],"mappings":";AAEO,MAAM,sBAAsB;AAajC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AChBO,MAAM,oBAAoB;AAkB/B,gBAAA,SAAY,IACgB;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACrBO,MAAM,sBAAsB;AAcjC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;ACjBO,MAAM,uBAAuB;AAclC,mBAAA,SAAY,IACmB;AACxB,SAAA,EAAE,MAAM,sBAAsB;AACvC;;;;;;;;;"}
@@ -6,10 +6,6 @@ const NumberControlType = "makeswift::controls::number";
6
6
  function Number(config = {}) {
7
7
  return { type: NumberControlType, config };
8
8
  }
9
- const SelectControlType = "makeswift::controls::select";
10
- function Select(config) {
11
- return { type: SelectControlType, config };
12
- }
13
9
  const TextAreaControlType = "makeswift::controls::text-area";
14
10
  function TextArea(config = {}) {
15
11
  return { type: TextAreaControlType, config };
@@ -18,5 +14,5 @@ const TextInputControlType = "makeswift::controls::text-input";
18
14
  function TextInput(config = {}) {
19
15
  return { type: TextInputControlType, config };
20
16
  }
21
- export { CheckboxControlType as C, NumberControlType as N, SelectControlType as S, TextAreaControlType as T, TextInputControlType as a, Checkbox as b, Number as c, Select as d, TextArea as e, TextInput as f };
17
+ export { CheckboxControlType as C, NumberControlType as N, TextAreaControlType as T, TextInputControlType as a, Checkbox as b, Number as c, TextArea as d, TextInput as e };
22
18
  //# sourceMappingURL=text-input.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.es.js","sources":["../src/controls/checkbox.ts","../src/controls/number.ts","../src/controls/select.ts","../src/controls/text-area.ts","../src/controls/text-input.ts"],"sourcesContent":["export type CheckboxControlData = boolean\n\nexport const CheckboxControlType = 'makeswift::controls::checkbox'\n\ntype CheckboxControlConfig = {\n label?: string\n defaultValue?: boolean\n}\n\nexport type CheckboxControlDefinition<C extends CheckboxControlConfig = CheckboxControlConfig> = {\n type: typeof CheckboxControlType\n config: C\n}\n\nexport function Checkbox<C extends CheckboxControlConfig>(\n config: C = {} as C,\n): CheckboxControlDefinition<C> {\n return { type: CheckboxControlType, config }\n}\n","export type NumberControlData = number\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config }\n}\n","export const SelectControlType = 'makeswift::controls::select'\n\ntype SelectControlOption<T extends string> = { value: T; label: string }\n\ntype SelectControlConfig<T extends string = string> = {\n label?: string\n labelOrientation?: 'horizontal' | 'vertical'\n options: SelectControlOption<T>[]\n defaultValue?: T\n}\n\nexport type SelectControlDefinition<C extends SelectControlConfig = SelectControlConfig> = {\n type: typeof SelectControlType\n config: C\n}\n\nexport type SelectControlDefinitionOption<T extends SelectControlDefinition> =\n T['config'] extends SelectControlConfig<infer U> ? U : never\n\nexport type SelectControlData<T extends SelectControlDefinition = SelectControlDefinition> =\n SelectControlDefinitionOption<T>\n\nexport function Select<T extends string, C extends SelectControlConfig<T>>(\n config: C & { options: SelectControlOption<T>[] },\n): SelectControlDefinition<C> {\n return { type: SelectControlType, config }\n}\n","export type TextAreaControlData = string\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config }\n}\n","export type TextInputControlData = string\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config }\n}\n"],"names":[],"mappings":"AAEO,MAAM,sBAAsB;AAajC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AChBO,MAAM,oBAAoB;AAkB/B,gBAAA,SAAY,IACgB;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACvBO,MAAM,oBAAoB;AAsB1B,gBACL,QAC4B;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACxBO,MAAM,sBAAsB;AAcjC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;ACjBO,MAAM,uBAAuB;AAclC,mBAAA,SAAY,IACmB;AACxB,SAAA,EAAE,MAAM,sBAAsB;AACvC;;"}
1
+ {"version":3,"file":"text-input.es.js","sources":["../src/controls/checkbox.ts","../src/controls/number.ts","../src/controls/text-area.ts","../src/controls/text-input.ts"],"sourcesContent":["export type CheckboxControlData = boolean\n\nexport const CheckboxControlType = 'makeswift::controls::checkbox'\n\ntype CheckboxControlConfig = {\n label?: string\n defaultValue?: boolean\n}\n\nexport type CheckboxControlDefinition<C extends CheckboxControlConfig = CheckboxControlConfig> = {\n type: typeof CheckboxControlType\n config: C\n}\n\nexport function Checkbox<C extends CheckboxControlConfig>(\n config: C = {} as C,\n): CheckboxControlDefinition<C> {\n return { type: CheckboxControlType, config }\n}\n","export type NumberControlData = number\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config }\n}\n","export type TextAreaControlData = string\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config }\n}\n","export type TextInputControlData = string\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config }\n}\n"],"names":[],"mappings":"AAEO,MAAM,sBAAsB;AAajC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;AChBO,MAAM,oBAAoB;AAkB/B,gBAAA,SAAY,IACgB;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;ACrBO,MAAM,sBAAsB;AAcjC,kBAAA,SAAY,IACkB;AACvB,SAAA,EAAE,MAAM,qBAAqB;AACtC;ACjBO,MAAM,uBAAuB;AAclC,mBAAA,SAAY,IACmB;AACxB,SAAA,EAAE,MAAM,sBAAsB;AACvC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../../../src/api/graphql/documents/queries.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,0BAA0B,QA4BtC,CAAA;AAED,eAAO,MAAM,WAAW,QAQvB,CAAA;AAED,eAAO,MAAM,SAAS,QAQrB,CAAA;AAED,eAAO,MAAM,eAAe,QAQ3B,CAAA;AAED,eAAO,MAAM,sBAAsB,QAQlC,CAAA;AAED,eAAO,MAAM,UAAU,QAQtB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAQ7B,CAAA;AAED,eAAO,MAAM,kBAAkB,QAQ9B,CAAA;AAED,eAAO,MAAM,yBAAyB,sKAQrC,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../../../src/api/graphql/documents/queries.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,0BAA0B,QAkBtC,CAAA;AAED,eAAO,MAAM,WAAW,QAQvB,CAAA;AAED,eAAO,MAAM,SAAS,QAQrB,CAAA;AAED,eAAO,MAAM,eAAe,QAQ3B,CAAA;AAED,eAAO,MAAM,sBAAsB,QAQlC,CAAA;AAED,eAAO,MAAM,UAAU,QAQtB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAQ7B,CAAA;AAED,eAAO,MAAM,kBAAkB,QAQ9B,CAAA;AAED,eAAO,MAAM,yBAAyB,sKAQrC,CAAA"}
@@ -1,25 +1,25 @@
1
- export declare type Maybe<T> = T | null;
2
- export declare type InputMaybe<T> = Maybe<T>;
3
- export declare type Exact<T extends {
1
+ export type Maybe<T> = T | null;
2
+ export type InputMaybe<T> = Maybe<T>;
3
+ export type Exact<T extends {
4
4
  [key: string]: unknown;
5
5
  }> = {
6
6
  [K in keyof T]: T[K];
7
7
  };
8
- declare type Json = null | boolean | number | string | Json[] | {
8
+ type Json = null | boolean | number | string | Json[] | {
9
9
  [key: string]: Json;
10
10
  };
11
- declare type Scalars = {
11
+ type Scalars = {
12
12
  ID: string;
13
13
  JSON: Json;
14
14
  };
15
- export declare type CreateTableRecordInput = {
15
+ export type CreateTableRecordInput = {
16
16
  data: CreateTableRecordInputData;
17
17
  };
18
- export declare type CreateTableRecordInputData = {
18
+ export type CreateTableRecordInputData = {
19
19
  columns: Array<CreateTableRecordInputDataColumn>;
20
20
  tableId?: InputMaybe<Scalars['ID']>;
21
21
  };
22
- export declare type CreateTableRecordInputDataColumn = {
22
+ export type CreateTableRecordInputDataColumn = {
23
23
  columnId: Scalars['ID'];
24
24
  data: Scalars['JSON'];
25
25
  };
@@ -27,15 +27,15 @@ export declare const SnippetLocation: {
27
27
  readonly Body: "BODY";
28
28
  readonly Head: "HEAD";
29
29
  };
30
- export declare type SnippetLocation = typeof SnippetLocation[keyof typeof SnippetLocation];
31
- export declare type SwatchFragment = {
30
+ export type SnippetLocation = typeof SnippetLocation[keyof typeof SnippetLocation];
31
+ export type SwatchFragment = {
32
32
  __typename: 'Swatch';
33
33
  id: string;
34
34
  hue: number;
35
35
  saturation: number;
36
36
  lightness: number;
37
37
  };
38
- export declare type FileFragment = {
38
+ export type FileFragment = {
39
39
  __typename: 'File';
40
40
  id: string;
41
41
  name: string;
@@ -46,7 +46,7 @@ export declare type FileFragment = {
46
46
  height: number;
47
47
  } | null;
48
48
  };
49
- export declare type TypographyFragment = {
49
+ export type TypographyFragment = {
50
50
  __typename: 'Typography';
51
51
  id: string;
52
52
  name: string;
@@ -73,17 +73,17 @@ export declare type TypographyFragment = {
73
73
  };
74
74
  }>;
75
75
  };
76
- export declare type PagePathnameSliceFragment = {
76
+ export type PagePathnameSliceFragment = {
77
77
  __typename: 'PagePathnameSlice';
78
78
  id: string;
79
79
  pathname: string;
80
80
  };
81
- export declare type GlobalElementFragment = {
81
+ export type GlobalElementFragment = {
82
82
  __typename: 'GlobalElement';
83
83
  id: string;
84
84
  data: Json;
85
85
  };
86
- export declare type TableFragment = {
86
+ export type TableFragment = {
87
87
  __typename: 'Table';
88
88
  id: string;
89
89
  name: string;
@@ -133,7 +133,7 @@ export declare type TableFragment = {
133
133
  name: string;
134
134
  }>;
135
135
  };
136
- export declare type SnippetFragment = {
136
+ export type SnippetFragment = {
137
137
  __typename: 'Snippet';
138
138
  id: string;
139
139
  name: string;
@@ -144,7 +144,7 @@ export declare type SnippetFragment = {
144
144
  liveEnabled: boolean;
145
145
  builderEnabled: boolean;
146
146
  };
147
- export declare type PageFragment = {
147
+ export type PageFragment = {
148
148
  __typename: 'Page';
149
149
  id: string;
150
150
  snippets: Array<{
@@ -159,7 +159,7 @@ export declare type PageFragment = {
159
159
  builderEnabled: boolean;
160
160
  }>;
161
161
  };
162
- export declare type SiteFragment = {
162
+ export type SiteFragment = {
163
163
  __typename: 'Site';
164
164
  id: string;
165
165
  googleFonts: {
@@ -176,20 +176,12 @@ export declare type SiteFragment = {
176
176
  } | null>;
177
177
  };
178
178
  };
179
- export declare type IntrospectedResourcesQueryVariables = Exact<{
180
- swatchIds: Array<Scalars['ID']> | Scalars['ID'];
179
+ export type IntrospectedResourcesQueryVariables = Exact<{
181
180
  fileIds: Array<Scalars['ID']> | Scalars['ID'];
182
181
  pageIds: Array<Scalars['ID']> | Scalars['ID'];
183
182
  tableIds: Array<Scalars['ID']> | Scalars['ID'];
184
183
  }>;
185
- export declare type IntrospectedResourcesQueryResult = {
186
- swatches: Array<{
187
- __typename: 'Swatch';
188
- id: string;
189
- hue: number;
190
- saturation: number;
191
- lightness: number;
192
- } | null>;
184
+ export type IntrospectedResourcesQueryResult = {
193
185
  files: Array<{
194
186
  __typename: 'File';
195
187
  id: string;
@@ -257,10 +249,10 @@ export declare type IntrospectedResourcesQueryResult = {
257
249
  }>;
258
250
  } | null>;
259
251
  };
260
- export declare type SwatchQueryVariables = Exact<{
252
+ export type SwatchQueryVariables = Exact<{
261
253
  swatchId: Scalars['ID'];
262
254
  }>;
263
- export declare type SwatchQueryResult = {
255
+ export type SwatchQueryResult = {
264
256
  swatch: {
265
257
  __typename: 'Swatch';
266
258
  id: string;
@@ -269,10 +261,10 @@ export declare type SwatchQueryResult = {
269
261
  lightness: number;
270
262
  } | null;
271
263
  };
272
- export declare type FileQueryVariables = Exact<{
264
+ export type FileQueryVariables = Exact<{
273
265
  fileId: Scalars['ID'];
274
266
  }>;
275
- export declare type FileQueryResult = {
267
+ export type FileQueryResult = {
276
268
  file: {
277
269
  __typename: 'File';
278
270
  id: string;
@@ -285,10 +277,10 @@ export declare type FileQueryResult = {
285
277
  } | null;
286
278
  } | null;
287
279
  };
288
- export declare type TypographyQueryVariables = Exact<{
280
+ export type TypographyQueryVariables = Exact<{
289
281
  typographyId: Scalars['ID'];
290
282
  }>;
291
- export declare type TypographyQueryResult = {
283
+ export type TypographyQueryResult = {
292
284
  typography: {
293
285
  __typename: 'Typography';
294
286
  id: string;
@@ -317,20 +309,20 @@ export declare type TypographyQueryResult = {
317
309
  }>;
318
310
  } | null;
319
311
  };
320
- export declare type PagePathnamesByIdQueryVariables = Exact<{
312
+ export type PagePathnamesByIdQueryVariables = Exact<{
321
313
  pageIds: Array<Scalars['ID']> | Scalars['ID'];
322
314
  }>;
323
- export declare type PagePathnamesByIdQueryResult = {
315
+ export type PagePathnamesByIdQueryResult = {
324
316
  pagePathnamesById: Array<{
325
317
  __typename: 'PagePathnameSlice';
326
318
  id: string;
327
319
  pathname: string;
328
320
  } | null>;
329
321
  };
330
- export declare type TableQueryVariables = Exact<{
322
+ export type TableQueryVariables = Exact<{
331
323
  tableId: Scalars['ID'];
332
324
  }>;
333
- export declare type TableQueryResult = {
325
+ export type TableQueryResult = {
334
326
  table: {
335
327
  __typename: 'Table';
336
328
  id: string;
@@ -382,10 +374,10 @@ export declare type TableQueryResult = {
382
374
  }>;
383
375
  } | null;
384
376
  };
385
- export declare type TypographiesQueryVariables = Exact<{
377
+ export type TypographiesQueryVariables = Exact<{
386
378
  typographyIds: Array<Scalars['ID']> | Scalars['ID'];
387
379
  }>;
388
- export declare type TypographiesQueryResult = {
380
+ export type TypographiesQueryResult = {
389
381
  typographies: Array<{
390
382
  __typename: 'Typography';
391
383
  id: string;
@@ -414,20 +406,20 @@ export declare type TypographiesQueryResult = {
414
406
  }>;
415
407
  } | null>;
416
408
  };
417
- export declare type GlobalElementQueryVariables = Exact<{
409
+ export type GlobalElementQueryVariables = Exact<{
418
410
  globalElementId: Scalars['ID'];
419
411
  }>;
420
- export declare type GlobalElementQueryResult = {
412
+ export type GlobalElementQueryResult = {
421
413
  globalElement: {
422
414
  __typename: 'GlobalElement';
423
415
  id: string;
424
416
  data: Json;
425
417
  } | null;
426
418
  };
427
- export declare type CreateTableRecordMutationVariables = Exact<{
419
+ export type CreateTableRecordMutationVariables = Exact<{
428
420
  input: CreateTableRecordInput;
429
421
  }>;
430
- export declare type CreateTableRecordMutationResult = {
422
+ export type CreateTableRecordMutationResult = {
431
423
  createTableRecord: {
432
424
  tableRecord: {
433
425
  id: string;