@makeswift/runtime 0.8.10 → 0.8.11

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 (518) 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 +35 -33
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +6 -4
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +65 -61
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +11 -7
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +129 -85
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +75 -31
  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/builder.cjs.js +7 -2
  70. package/dist/builder.cjs.js.map +1 -1
  71. package/dist/builder.es.js +7 -2
  72. package/dist/builder.es.js.map +1 -1
  73. package/dist/components.cjs.js +8 -6
  74. package/dist/components.cjs.js.map +1 -1
  75. package/dist/components.es.js +8 -6
  76. package/dist/components.es.js.map +1 -1
  77. package/dist/constants.cjs.js +0 -408
  78. package/dist/constants.cjs.js.map +1 -1
  79. package/dist/constants.es.js +1 -372
  80. package/dist/constants.es.js.map +1 -1
  81. package/dist/control-serialization.cjs.js +84 -41
  82. package/dist/control-serialization.cjs.js.map +1 -1
  83. package/dist/control-serialization.es.js +44 -1
  84. package/dist/control-serialization.es.js.map +1 -1
  85. package/dist/controls.cjs.js +59 -50
  86. package/dist/controls.cjs.js.map +1 -1
  87. package/dist/controls.es.js +9 -3
  88. package/dist/controls.es.js.map +1 -1
  89. package/dist/index.cjs.js +286 -282
  90. package/dist/index.cjs.js.map +1 -1
  91. package/dist/index.cjs10.js +371 -0
  92. package/dist/index.cjs10.js.map +1 -0
  93. package/dist/index.cjs2.js +10 -8
  94. package/dist/index.cjs2.js.map +1 -1
  95. package/dist/index.cjs5.js +107 -63
  96. package/dist/index.cjs5.js.map +1 -1
  97. package/dist/index.cjs6.js +7 -7
  98. package/dist/index.cjs6.js.map +1 -1
  99. package/dist/index.cjs7.js +69 -39
  100. package/dist/index.cjs7.js.map +1 -1
  101. package/dist/index.cjs8.js +14 -180
  102. package/dist/index.cjs8.js.map +1 -1
  103. package/dist/index.cjs9.js +152 -265
  104. package/dist/index.cjs9.js.map +1 -1
  105. package/dist/index.es.js +50 -46
  106. package/dist/index.es.js.map +1 -1
  107. package/dist/index.es10.js +364 -0
  108. package/dist/index.es10.js.map +1 -0
  109. package/dist/index.es2.js +5 -3
  110. package/dist/index.es2.js.map +1 -1
  111. package/dist/index.es5.js +70 -26
  112. package/dist/index.es5.js.map +1 -1
  113. package/dist/index.es6.js +5 -5
  114. package/dist/index.es6.js.map +1 -1
  115. package/dist/index.es7.js +68 -37
  116. package/dist/index.es7.js.map +1 -1
  117. package/dist/index.es8.js +13 -175
  118. package/dist/index.es8.js.map +1 -1
  119. package/dist/index.es9.js +149 -262
  120. package/dist/index.es9.js.map +1 -1
  121. package/dist/leaf.cjs.js +4 -4
  122. package/dist/leaf.cjs.js.map +1 -1
  123. package/dist/leaf.es.js +1 -1
  124. package/dist/leaf.es.js.map +1 -1
  125. package/dist/main.cjs.js +5 -4
  126. package/dist/main.cjs.js.map +1 -1
  127. package/dist/main.es.js +5 -4
  128. package/dist/main.es.js.map +1 -1
  129. package/dist/next.cjs.js +6 -4
  130. package/dist/next.cjs.js.map +1 -1
  131. package/dist/next.es.js +6 -4
  132. package/dist/next.es.js.map +1 -1
  133. package/dist/prop-controllers.cjs.js +11 -7
  134. package/dist/prop-controllers.cjs.js.map +1 -1
  135. package/dist/prop-controllers.es.js +7 -3
  136. package/dist/prop-controllers.es.js.map +1 -1
  137. package/dist/{descriptors.cjs.js → react-page.cjs.js} +899 -92
  138. package/dist/react-page.cjs.js.map +1 -0
  139. package/dist/{descriptors.es.js → react-page.es.js} +821 -70
  140. package/dist/react-page.es.js.map +1 -0
  141. package/dist/react.cjs.js +6 -4
  142. package/dist/react.cjs.js.map +1 -1
  143. package/dist/react.es.js +6 -4
  144. package/dist/react.es.js.map +1 -1
  145. package/dist/select.cjs.js +8 -0
  146. package/dist/select.cjs.js.map +1 -0
  147. package/dist/select.es.js +6 -0
  148. package/dist/select.es.js.map +1 -0
  149. package/dist/slate.cjs.js +15 -7
  150. package/dist/slate.cjs.js.map +1 -1
  151. package/dist/slate.es.js +7 -4
  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/generated/types.d.ts +36 -36
  160. package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -1
  161. package/dist/types/src/api/graphql/types.d.ts +2 -2
  162. package/dist/types/src/api/graphql/types.d.ts.map +1 -1
  163. package/dist/types/src/api/react.d.ts +3 -3
  164. package/dist/types/src/api/react.d.ts.map +1 -1
  165. package/dist/types/src/builder/serialization/control-serialization.d.ts +66 -66
  166. package/dist/types/src/builder/serialization/control-serialization.d.ts.map +1 -1
  167. package/dist/types/src/builder/serialization/controls/rich-text-v2.d.ts +5 -0
  168. package/dist/types/src/builder/serialization/controls/rich-text-v2.d.ts.map +1 -0
  169. package/dist/types/src/builder/serialization/controls/types.d.ts +3 -3
  170. package/dist/types/src/builder/serialization/controls/types.d.ts.map +1 -1
  171. package/dist/types/src/builder/serialization/function-serialization.d.ts +4 -4
  172. package/dist/types/src/builder/serialization/function-serialization.d.ts.map +1 -1
  173. package/dist/types/src/components/builtin/Box/animations.d.ts +1 -1
  174. package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -1
  175. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts +1 -1
  176. package/dist/types/src/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
  177. package/dist/types/src/components/builtin/Box/constants.d.ts +1 -1
  178. package/dist/types/src/components/builtin/Box/constants.d.ts.map +1 -1
  179. package/dist/types/src/components/builtin/Button/Button.d.ts +3 -3
  180. package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -1
  181. package/dist/types/src/components/builtin/Button/contants.d.ts +1 -1
  182. package/dist/types/src/components/builtin/Button/contants.d.ts.map +1 -1
  183. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts +1 -1
  184. package/dist/types/src/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  185. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts +1 -1
  186. package/dist/types/src/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  187. package/dist/types/src/components/builtin/Divider/Divider.d.ts +2 -2
  188. package/dist/types/src/components/builtin/Divider/Divider.d.ts.map +1 -1
  189. package/dist/types/src/components/builtin/Embed/Embed.d.ts +1 -1
  190. package/dist/types/src/components/builtin/Embed/Embed.d.ts.map +1 -1
  191. package/dist/types/src/components/builtin/Form/Form.d.ts +2 -2
  192. package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -1
  193. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +2 -2
  194. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
  195. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +1 -1
  196. package/dist/types/src/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
  197. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +1 -1
  198. package/dist/types/src/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -1
  199. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +1 -1
  200. package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
  201. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts +2 -2
  202. package/dist/types/src/components/builtin/Form/components/Field/components/Label/index.d.ts.map +1 -1
  203. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +1 -1
  204. package/dist/types/src/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -1
  205. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts +1 -1
  206. package/dist/types/src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.d.ts.map +1 -1
  207. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +1 -1
  208. package/dist/types/src/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -1
  209. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +1 -1
  210. package/dist/types/src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -1
  211. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +1 -1
  212. package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
  213. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +1 -1
  214. package/dist/types/src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -1
  215. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts +1 -1
  216. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.d.ts.map +1 -1
  217. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +1 -1
  218. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
  219. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts +1 -1
  220. package/dist/types/src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.d.ts.map +1 -1
  221. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +1 -1
  222. package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
  223. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +1 -1
  224. package/dist/types/src/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -1
  225. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +2 -2
  226. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  227. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts +1 -1
  228. package/dist/types/src/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  229. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts +5 -5
  230. package/dist/types/src/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  231. package/dist/types/src/components/builtin/Form/types.d.ts +13 -13
  232. package/dist/types/src/components/builtin/Form/types.d.ts.map +1 -1
  233. package/dist/types/src/components/builtin/Image/Image.d.ts +1 -1
  234. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  235. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts +1 -1
  236. package/dist/types/src/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  237. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +3 -3
  238. package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  239. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +1 -1
  240. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  241. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +3 -3
  242. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  243. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +1 -1
  244. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  245. package/dist/types/src/components/builtin/Root/Root.d.ts +1 -1
  246. package/dist/types/src/components/builtin/Root/Root.d.ts.map +1 -1
  247. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
  248. package/dist/types/src/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  249. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +1 -1
  250. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  251. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts +1 -1
  252. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +1 -1
  253. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +3 -3
  254. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
  255. package/dist/types/src/components/builtin/Text/Text.d.ts +1 -1
  256. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
  257. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +2 -2
  258. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -1
  259. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +1 -1
  260. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -1
  261. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +5 -5
  262. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
  263. package/dist/types/src/components/builtin/Video/Video.d.ts +1 -1
  264. package/dist/types/src/components/builtin/Video/Video.d.ts.map +1 -1
  265. package/dist/types/src/components/hooks/useBackgrounds.d.ts +8 -8
  266. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -1
  267. package/dist/types/src/components/hooks/useBorder.d.ts +3 -3
  268. package/dist/types/src/components/hooks/useBorder.d.ts.map +1 -1
  269. package/dist/types/src/components/hooks/useBoxShadow.d.ts +3 -3
  270. package/dist/types/src/components/hooks/useBoxShadow.d.ts.map +1 -1
  271. package/dist/types/src/components/page/BodySnippet.d.ts +1 -1
  272. package/dist/types/src/components/page/BodySnippet.d.ts.map +1 -1
  273. package/dist/types/src/components/page/Page.d.ts +1 -1
  274. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  275. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +1 -1
  276. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  277. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +1 -1
  278. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  279. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts +1 -1
  280. package/dist/types/src/components/shared/BackgroundsContainer/components/Parallax/index.d.ts.map +1 -1
  281. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +1 -1
  282. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  283. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts +1 -1
  284. package/dist/types/src/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
  285. package/dist/types/src/components/shared/GutterContainer/index.d.ts +2 -2
  286. package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -1
  287. package/dist/types/src/components/shared/Link/index.d.ts +1 -1
  288. package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
  289. package/dist/types/src/components/shared/grid-item.d.ts +2 -2
  290. package/dist/types/src/components/shared/grid-item.d.ts.map +1 -1
  291. package/dist/types/src/components/utils/drop-first.d.ts +1 -1
  292. package/dist/types/src/components/utils/drop-first.d.ts.map +1 -1
  293. package/dist/types/src/components/utils/types.d.ts +2 -2
  294. package/dist/types/src/components/utils/types.d.ts.map +1 -1
  295. package/dist/types/src/controls/checkbox.d.ts +3 -3
  296. package/dist/types/src/controls/checkbox.d.ts.map +1 -1
  297. package/dist/types/src/controls/color.d.ts +3 -3
  298. package/dist/types/src/controls/color.d.ts.map +1 -1
  299. package/dist/types/src/controls/combobox.d.ts +5 -5
  300. package/dist/types/src/controls/combobox.d.ts.map +1 -1
  301. package/dist/types/src/controls/control.d.ts +6 -4
  302. package/dist/types/src/controls/control.d.ts.map +1 -1
  303. package/dist/types/src/controls/image.d.ts +4 -4
  304. package/dist/types/src/controls/image.d.ts.map +1 -1
  305. package/dist/types/src/controls/link.d.ts +8 -8
  306. package/dist/types/src/controls/link.d.ts.map +1 -1
  307. package/dist/types/src/controls/list.d.ts +6 -6
  308. package/dist/types/src/controls/list.d.ts.map +1 -1
  309. package/dist/types/src/controls/number.d.ts +3 -3
  310. package/dist/types/src/controls/number.d.ts.map +1 -1
  311. package/dist/types/src/controls/rich-text/dto-types.d.ts +4 -4
  312. package/dist/types/src/controls/rich-text/dto-types.d.ts.map +1 -1
  313. package/dist/types/src/controls/rich-text/rich-text.d.ts +11 -11
  314. package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -1
  315. package/dist/types/src/controls/rich-text/translation.d.ts +1 -1
  316. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
  317. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +38 -17
  318. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  319. package/dist/types/src/controls/select.d.ts +5 -5
  320. package/dist/types/src/controls/select.d.ts.map +1 -1
  321. package/dist/types/src/controls/shape.d.ts +5 -5
  322. package/dist/types/src/controls/shape.d.ts.map +1 -1
  323. package/dist/types/src/controls/slot.d.ts +17 -8
  324. package/dist/types/src/controls/slot.d.ts.map +1 -1
  325. package/dist/types/src/controls/style.d.ts +18 -18
  326. package/dist/types/src/controls/style.d.ts.map +1 -1
  327. package/dist/types/src/controls/text-area.d.ts +3 -3
  328. package/dist/types/src/controls/text-area.d.ts.map +1 -1
  329. package/dist/types/src/controls/text-input.d.ts +3 -3
  330. package/dist/types/src/controls/text-input.d.ts.map +1 -1
  331. package/dist/types/src/controls/types.d.ts +5 -5
  332. package/dist/types/src/controls/types.d.ts.map +1 -1
  333. package/dist/types/src/css/border-radius.d.ts +2 -2
  334. package/dist/types/src/css/border-radius.d.ts.map +1 -1
  335. package/dist/types/src/css/border.d.ts +2 -2
  336. package/dist/types/src/css/border.d.ts.map +1 -1
  337. package/dist/types/src/css/length-percentage.d.ts +2 -2
  338. package/dist/types/src/css/length-percentage.d.ts.map +1 -1
  339. package/dist/types/src/css/length.d.ts +1 -1
  340. package/dist/types/src/css/length.d.ts.map +1 -1
  341. package/dist/types/src/css/margin.d.ts +2 -2
  342. package/dist/types/src/css/margin.d.ts.map +1 -1
  343. package/dist/types/src/css/padding.d.ts +2 -2
  344. package/dist/types/src/css/padding.d.ts.map +1 -1
  345. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts +3 -3
  346. package/dist/types/src/next/api-handler/handlers/element-tree.d.ts.map +1 -1
  347. package/dist/types/src/next/api-handler/handlers/fonts.d.ts +5 -5
  348. package/dist/types/src/next/api-handler/handlers/fonts.d.ts.map +1 -1
  349. package/dist/types/src/next/api-handler/handlers/manifest.d.ts +3 -3
  350. package/dist/types/src/next/api-handler/handlers/manifest.d.ts.map +1 -1
  351. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts +2 -2
  352. package/dist/types/src/next/api-handler/handlers/proxy-preview-mode.d.ts.map +1 -1
  353. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts +3 -3
  354. package/dist/types/src/next/api-handler/handlers/revalidate.d.ts.map +1 -1
  355. package/dist/types/src/next/api-handler/index.d.ts +3 -3
  356. package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
  357. package/dist/types/src/next/client.d.ts +8 -8
  358. package/dist/types/src/next/client.d.ts.map +1 -1
  359. package/dist/types/src/next/dynamic.d.ts +4 -4
  360. package/dist/types/src/next/dynamic.d.ts.map +1 -1
  361. package/dist/types/src/next/index.d.ts +2 -2
  362. package/dist/types/src/next/index.d.ts.map +1 -1
  363. package/dist/types/src/next/preview-mode.d.ts +2 -2
  364. package/dist/types/src/next/preview-mode.d.ts.map +1 -1
  365. package/dist/types/src/prop-controllers/descriptors.d.ts +179 -179
  366. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  367. package/dist/types/src/prop-controllers/instances.d.ts +17 -17
  368. package/dist/types/src/prop-controllers/instances.d.ts.map +1 -1
  369. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts +1 -1
  370. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts.map +1 -1
  371. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts +1 -1
  372. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts.map +1 -1
  373. package/dist/types/src/runtimes/react/components/render-hook.d.ts +1 -1
  374. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
  375. package/dist/types/src/runtimes/react/controls/checkbox.d.ts +1 -1
  376. package/dist/types/src/runtimes/react/controls/checkbox.d.ts.map +1 -1
  377. package/dist/types/src/runtimes/react/controls/color.d.ts +1 -1
  378. package/dist/types/src/runtimes/react/controls/color.d.ts.map +1 -1
  379. package/dist/types/src/runtimes/react/controls/combobox.d.ts +1 -1
  380. package/dist/types/src/runtimes/react/controls/combobox.d.ts.map +1 -1
  381. package/dist/types/src/runtimes/react/controls/control.d.ts +2 -2
  382. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  383. package/dist/types/src/runtimes/react/controls/image.d.ts +3 -3
  384. package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -1
  385. package/dist/types/src/runtimes/react/controls/link.d.ts +2 -2
  386. package/dist/types/src/runtimes/react/controls/link.d.ts.map +1 -1
  387. package/dist/types/src/runtimes/react/controls/list.d.ts +3 -3
  388. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  389. package/dist/types/src/runtimes/react/controls/number.d.ts +1 -1
  390. package/dist/types/src/runtimes/react/controls/number.d.ts.map +1 -1
  391. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +3 -3
  392. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  393. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +7 -4
  394. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  395. package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +2 -2
  396. package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  397. package/dist/types/src/runtimes/react/controls/rich-text.d.ts +2 -2
  398. package/dist/types/src/runtimes/react/controls/rich-text.d.ts.map +1 -1
  399. package/dist/types/src/runtimes/react/controls/select.d.ts +1 -1
  400. package/dist/types/src/runtimes/react/controls/select.d.ts.map +1 -1
  401. package/dist/types/src/runtimes/react/controls/shape.d.ts +2 -2
  402. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  403. package/dist/types/src/runtimes/react/controls/slot.d.ts +4 -4
  404. package/dist/types/src/runtimes/react/controls/slot.d.ts.map +1 -1
  405. package/dist/types/src/runtimes/react/controls/style.d.ts +1 -1
  406. package/dist/types/src/runtimes/react/controls/style.d.ts.map +1 -1
  407. package/dist/types/src/runtimes/react/controls/text-area.d.ts +1 -1
  408. package/dist/types/src/runtimes/react/controls/text-area.d.ts.map +1 -1
  409. package/dist/types/src/runtimes/react/controls/text-input.d.ts +1 -1
  410. package/dist/types/src/runtimes/react/controls/text-input.d.ts.map +1 -1
  411. package/dist/types/src/runtimes/react/controls.d.ts +8 -8
  412. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  413. package/dist/types/src/runtimes/react/element-imperative-handle.d.ts +1 -1
  414. package/dist/types/src/runtimes/react/element-imperative-handle.d.ts.map +1 -1
  415. package/dist/types/src/runtimes/react/find-dom-node.d.ts +1 -1
  416. package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -1
  417. package/dist/types/src/runtimes/react/index.d.ts +7 -7
  418. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  419. package/dist/types/src/slate/BlockPlugin/index.d.ts +33 -2
  420. package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
  421. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts +1 -1
  422. package/dist/types/src/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  423. package/dist/types/src/slate/BlockPlugin/types.d.ts +3 -3
  424. package/dist/types/src/slate/BlockPlugin/types.d.ts.map +1 -1
  425. package/dist/types/src/slate/BlockPlugin/unwrapInline.d.ts +1 -1
  426. package/dist/types/src/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
  427. package/dist/types/src/slate/BlockPlugin/wrapInline.d.ts +1 -1
  428. package/dist/types/src/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
  429. package/dist/types/src/slate/BuilderPlugin/index.d.ts +1 -1
  430. package/dist/types/src/slate/BuilderPlugin/index.d.ts.map +1 -1
  431. package/dist/types/src/slate/InlineModePlugin/index.d.ts +6 -2
  432. package/dist/types/src/slate/InlineModePlugin/index.d.ts.map +1 -1
  433. package/dist/types/src/slate/ListPlugin/index.d.ts +2 -2
  434. package/dist/types/src/slate/ListPlugin/index.d.ts.map +1 -1
  435. package/dist/types/src/slate/ListPlugin/toggleList.d.ts +2 -2
  436. package/dist/types/src/slate/ListPlugin/toggleList.d.ts.map +1 -1
  437. package/dist/types/src/slate/ListPlugin/unwrapList.d.ts +1 -1
  438. package/dist/types/src/slate/ListPlugin/unwrapList.d.ts.map +1 -1
  439. package/dist/types/src/slate/ListPlugin/wrapList.d.ts +2 -2
  440. package/dist/types/src/slate/ListPlugin/wrapList.d.ts.map +1 -1
  441. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts +1 -1
  442. package/dist/types/src/slate/TypographyPlugin/clearActiveTypographyStyle.d.ts.map +1 -1
  443. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts +1 -1
  444. package/dist/types/src/slate/TypographyPlugin/clearDeviceActiveTypography.d.ts.map +1 -1
  445. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts +2 -2
  446. package/dist/types/src/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
  447. package/dist/types/src/slate/TypographyPlugin/index.d.ts +2 -2
  448. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
  449. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts +1 -1
  450. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyId.d.ts.map +1 -1
  451. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts +1 -1
  452. package/dist/types/src/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  453. package/dist/types/src/slate/index.d.ts +1 -0
  454. package/dist/types/src/slate/index.d.ts.map +1 -1
  455. package/dist/types/src/slate/selectors.d.ts +1 -1
  456. package/dist/types/src/slate/selectors.d.ts.map +1 -1
  457. package/dist/types/{types/slate.d.ts → src/slate/types.d.ts} +42 -35
  458. package/dist/types/src/slate/types.d.ts.map +1 -0
  459. package/dist/types/src/slate/utils/editor.d.ts +1 -1
  460. package/dist/types/src/slate/utils/editor.d.ts.map +1 -1
  461. package/dist/types/src/slate/utils/element.d.ts +1 -1
  462. package/dist/types/src/slate/utils/element.d.ts.map +1 -1
  463. package/dist/types/src/state/actions.d.ts +41 -41
  464. package/dist/types/src/state/actions.d.ts.map +1 -1
  465. package/dist/types/src/state/makeswift-api-client.d.ts +5 -5
  466. package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
  467. package/dist/types/src/state/modules/api-resources.d.ts +2 -2
  468. package/dist/types/src/state/modules/api-resources.d.ts.map +1 -1
  469. package/dist/types/src/state/modules/box-models.d.ts +2 -2
  470. package/dist/types/src/state/modules/box-models.d.ts.map +1 -1
  471. package/dist/types/src/state/modules/breakpoints.d.ts +9 -9
  472. package/dist/types/src/state/modules/breakpoints.d.ts.map +1 -1
  473. package/dist/types/src/state/modules/builder-edit-mode.d.ts +2 -2
  474. package/dist/types/src/state/modules/builder-edit-mode.d.ts.map +1 -1
  475. package/dist/types/src/state/modules/components-meta.d.ts +3 -3
  476. package/dist/types/src/state/modules/components-meta.d.ts.map +1 -1
  477. package/dist/types/src/state/modules/element-imperative-handles.d.ts +1 -1
  478. package/dist/types/src/state/modules/element-imperative-handles.d.ts.map +1 -1
  479. package/dist/types/src/state/modules/is-in-builder.d.ts +1 -1
  480. package/dist/types/src/state/modules/is-in-builder.d.ts.map +1 -1
  481. package/dist/types/src/state/modules/is-preview.d.ts +1 -1
  482. package/dist/types/src/state/modules/is-preview.d.ts.map +1 -1
  483. package/dist/types/src/state/modules/pointer.d.ts +2 -2
  484. package/dist/types/src/state/modules/pointer.d.ts.map +1 -1
  485. package/dist/types/src/state/modules/prop-controller-handles.d.ts +1 -1
  486. package/dist/types/src/state/modules/prop-controller-handles.d.ts.map +1 -1
  487. package/dist/types/src/state/modules/prop-controllers.d.ts +1 -1
  488. package/dist/types/src/state/modules/prop-controllers.d.ts.map +1 -1
  489. package/dist/types/src/state/modules/react-components.d.ts +2 -2
  490. package/dist/types/src/state/modules/react-components.d.ts.map +1 -1
  491. package/dist/types/src/state/modules/read-only-documents.d.ts +7 -7
  492. package/dist/types/src/state/modules/read-only-documents.d.ts.map +1 -1
  493. package/dist/types/src/state/modules/read-write-documents.d.ts +1 -1
  494. package/dist/types/src/state/modules/read-write-documents.d.ts.map +1 -1
  495. package/dist/types/src/state/react-builder-preview.d.ts +5 -6
  496. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  497. package/dist/types/src/state/react-page.d.ts +10 -6
  498. package/dist/types/src/state/react-page.d.ts.map +1 -1
  499. package/dist/types/src/state/react-page.test.d.ts +3 -0
  500. package/dist/types/src/state/react-page.test.d.ts.map +1 -0
  501. package/dist/types/src/utils/isErrorWithMessage.d.ts +1 -1
  502. package/dist/types/src/utils/isErrorWithMessage.d.ts.map +1 -1
  503. package/package.json +4 -3
  504. package/dist/descriptors.cjs.js.map +0 -1
  505. package/dist/descriptors.es.js.map +0 -1
  506. package/dist/element.cjs.js +0 -55
  507. package/dist/element.cjs.js.map +0 -1
  508. package/dist/element.es.js +0 -54
  509. package/dist/element.es.js.map +0 -1
  510. package/dist/introspection.cjs.js +0 -329
  511. package/dist/introspection.cjs.js.map +0 -1
  512. package/dist/introspection.es.js +0 -315
  513. package/dist/introspection.es.js.map +0 -1
  514. package/dist/slate.cjs2.js +0 -46
  515. package/dist/slate.cjs2.js.map +0 -1
  516. package/dist/slate.es2.js +0 -44
  517. package/dist/slate.es2.js.map +0 -1
  518. package/dist/types/types/slate.d.ts.map +0 -1
package/dist/react.es.js CHANGED
@@ -3,19 +3,20 @@ 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";
16
16
  import "react/jsx-runtime";
17
17
  import "./text-input.es.js";
18
18
  import "./combobox.es.js";
19
+ import "./select.es.js";
19
20
  import "use-sync-external-store/shim";
20
21
  import "./types.es.js";
21
22
  import "./box-models.es.js";
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ const SelectControlType = "makeswift::controls::select";
3
+ function Select(config) {
4
+ return { type: SelectControlType, config };
5
+ }
6
+ exports.Select = Select;
7
+ exports.SelectControlType = SelectControlType;
8
+ //# sourceMappingURL=select.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.cjs.js","sources":["../src/controls/select.ts"],"sourcesContent":["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"],"names":[],"mappings":";AAAO,MAAM,oBAAoB;AAsB1B,gBACL,QAC4B;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;;;"}
@@ -0,0 +1,6 @@
1
+ const SelectControlType = "makeswift::controls::select";
2
+ function Select(config) {
3
+ return { type: SelectControlType, config };
4
+ }
5
+ export { SelectControlType as S, Select as a };
6
+ //# sourceMappingURL=select.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.es.js","sources":["../src/controls/select.ts"],"sourcesContent":["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"],"names":[],"mappings":"AAAO,MAAM,oBAAoB;AAsB1B,gBACL,QAC4B;AACrB,SAAA,EAAE,MAAM,mBAAmB;AACpC;;"}
package/dist/slate.cjs.js CHANGED
@@ -2,21 +2,29 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  var index = require("./index.cjs5.js");
4
4
  var index$1 = require("./index.cjs6.js");
5
+ var index$2 = require("./index.cjs7.js");
6
+ var reactPage = require("./react-page.cjs.js");
5
7
  require("slate");
6
8
  require("is-hotkey");
7
- require("./element.cjs.js");
8
- require("./slate.cjs2.js");
9
9
  require("./state/breakpoints.cjs.js");
10
10
  require("./actions.cjs.js");
11
+ require("./select.cjs.js");
11
12
  require("slate-react");
12
- exports.Block = index.Block;
13
- exports.List = index.List;
14
- exports.Typography = index.Typography;
13
+ require("redux");
14
+ require("redux-thunk");
15
+ exports.BlockActions = index.BlockActions;
16
+ exports.BlockPlugin = index.BlockPlugin;
17
+ exports.ListActions = index.ListActions;
18
+ exports.TypographyActions = index.TypographyActions;
15
19
  exports.onKeyDown = index.onKeyDown;
16
20
  exports.withBlock = index.withBlock;
17
- exports.withBuilder = index.withBuilder;
18
21
  exports.withList = index.withList;
19
22
  exports.withTypography = index.withTypography;
20
- exports.InlineMode = index$1.InlineMode;
23
+ exports.InlineModePlugin = index$1.InlineModePlugin;
21
24
  exports.withInlineMode = index$1.withInlineMode;
25
+ exports.withBuilder = index$2.withBuilder;
26
+ exports.BlockTextAlignment = reactPage.BlockTextAlignment;
27
+ exports.BlockType = reactPage.BlockType;
28
+ exports.InlineType = reactPage.InlineType;
29
+ exports.RootBlockType = reactPage.RootBlockType;
22
30
  //# 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,13 @@
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 { B as BlockActions, c as BlockPlugin, L as ListActions, T as TypographyActions, o as onKeyDown, b as withBlock, w as withList, a as withTypography } from "./index.es5.js";
2
+ export { I as InlineModePlugin, w as withInlineMode } from "./index.es6.js";
3
+ export { w as withBuilder } from "./index.es7.js";
4
+ export { b6 as BlockTextAlignment, b4 as BlockType, b5 as InlineType, b3 as RootBlockType } from "./react-page.es.js";
3
5
  import "slate";
4
6
  import "is-hotkey";
5
- import "./element.es.js";
6
- import "./slate.es2.js";
7
7
  import "./state/breakpoints.es.js";
8
8
  import "./actions.es.js";
9
+ import "./select.es.js";
9
10
  import "slate-react";
11
+ import "redux";
12
+ import "redux-thunk";
10
13
  //# 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":";;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,OAAO,CAAuC,MAAsB,OAAO,KAAK,CAAC;ACAvF,MAAM,WAAW,IAAO,SAAsB;AACxC,MAAA;AAEJ,OAAK,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG;AACvC,QAAI,KAAK,MAAM;AAAM,aAAO,KAAK;AAAA,EACnC;AAEA,SAAO,KAAK;AACd;ACLA,sBAGE,GAAM,GAAa;AACb,QAAA,QAAQ,KAAK,CAAC;AACd,QAAA,SAAS,mBAAK;AAEpB,QAAM,QAAQ,CAAO,QAAA;AAEnB,WAAO,OAAO,SAAS,OAAO,MAAM,EAAE,IAAI;AAAA,EAAA,CAC3C;AAEM,SAAA;AACT;ACUO,MAAM,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AACV;AAIO,MAAM,sBAAmC;AAAA,EAC9C;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AACF;AAEO,yBAAyB,cAAc,qBAA4B;AACjE,SAAA;AACT;AAEwB,iBAAA,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO;AAAA,SACRA,QAAAA,YAAY,iBAAiB;AAC1B,YAAA,cAAc,OAAO,QAAQ;AAEnC,UAAI,YAAY,WAAW;AAAS,cAAA,IAAI,MAAM,8BAA8B;AAErE,aAAA;AAAA,IACT;AAAA;AAGS,aAAA;AAAA;AAEb;AAIO,+BAA+B,OAAsC;AAC1E,2BAAyB,KAAK;AAExB,QAAA,SAAS,OAAO,QAAQ,KAAK,EAChC,IAAI,CAAC,CAAC,IAAI,WAAY,iCAAK,QAAL,EAAY,KAAK,EACvC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAEnC,QAAM,cAAc,OAAO,OACzB,CAAC,MAAM,MAAM,OAAO,UAAU;AAC5B,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACjC,UAAA,OAAO,MAAM,QAAQ;AAE3B,UAAM,aAAyB;AAAA,MAC7B;AAAA,OACI,SAAS,EAAE,MAAM,IACjB,QAAQ,EAAE,UAAU,KAAK,QAAQ,EAAE,IAHV;AAAA,MAI7B,UAAU;AAAA,MACV,eAAe,8BAAY;AAAA,IAAA;AAGtB,WAAA,CAAC,GAAG,MAAM,UAAU;AAAA,EAAA,GAE7B;AAAA,IACE,EAAE,IAAI,oBAAoB,SAAS,OAAO,WAAW,UAAU,OAAO,GAAG,QAAQ,EAAE;AAAA,EAAA,CAEvF;AAEO,SAAA;AACT;AAEA,kCAAkC,OAAyB;AACrD,MAAA,oBAAoB,WAAW,OAAO;AACxC,UAAM,IAAI,MACR,uCAAuC,oBAAoB,8CAC7D;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AAC7B,UAAA,IAAI,MAAM,wEAAwE;AAAA,EAC1F;AAEM,QAAA,SAAS,OAAO,QAAQ,KAAK,EAChC,IAAI,CAAC,CAAC,IAAI,WAAY,iCAAK,QAAL,EAAY,KAAK,EACvC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAEnC,SAAO,QAAQ,CAAC,EAAE,IAAI,OAAO,YAAY,OAAO,UAAU;AAEpD,QAAA,YAAY,WAAW,OAAO;AAC1B,YAAA,IAAI,MACR,wBAAwB;AAAA,WACrB,yBAAyB,6BAA6B,UAC3D;AAAA,IACF;AAEM,UAAA,OAAO,MAAM,QAAQ;AAE3B,QAAI,YAAY,QAAQ,WAAW,KAAK,OAAO;AACvC,YAAA,IAAI,MACR,wBAAwB;AAAA,WACrB,yBAAyB,uCAAuC,KAAK,sBAAsB,KAAK,UACrG;AAAA,IACF;AAEI,QAAA,QAAQ,UAAU,KAAK,OAAO;AAChC,YAAM,IAAI,MACR,4CAA4C,YAAY,KAAK,yBAC/D;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAGA,yBAAyB,aAAuC;AACvD,SAAA,YAAY,KAAK,CAAC,GAAG,MAAA;;yCAAU,yBAAY,KAAS,8BAAA,aAAA,YAAY;AAAA,GAAE;AAC3E;AAEa,MAAA,gBAAgB,CAAC,OAAc,iBAA+C;AACzF,QAAM,aAAa,MAAM,KAAK,CAAC,EAAE,SAAS,OAAO,YAAY;AAE7D,MAAI,cAAc;AAAY,UAAA,IAAI,MAAM,gCAAgC,gBAAgB;AAEjF,SAAA;AACT;AAEa,MAAA,oBAAoB,CAAC,gBAAyC;AACnE,QAAA,aAAa,gBAAgB,WAAW,EAAE;AAEhD,MAAI,cAAc;AAAY,UAAA,IAAI,MAAM,6BAA6B;AAE9D,SAAA;AACT;AAEO,gCACL,aACA,SAA6B,CAC7B,GAAA,UACA,WAAgC,iBACD;AACzB,QAAA,QAAQ,OAAO,KAAK,CAAC,EAAE,UAAU,QAAQ,MAAM,QAAQ;AAC7D,QAAM,YAAY,YACf,MAAM,GAAG,YAAY,UAAU,CAAK,MAAA,EAAE,OAAO,QAAQ,IAAI,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAA,MAAK,OAAO,KAAK,CAAK,MAAA,EAAE,aAAa,EAAE,EAAE,CAAC,EAC9C,OAAO,CAAC,aAA4C,QAAQ,QAAQ,CAAC;AAEjE,SAAA,SAAS,QAAQ,UAAU,SAAS,IAAI,SAAS,OAAO,SAAS,IAAI;AAC9E;AAOA,yBACE,OACA,WAC+B;AAC/B,SAAO,SAAS,UAAU;AAC5B;AAEO,+BACL,OACA,WAC+B;AAC/B,SAAO,CAAC,OAAO,GAAG,SAAS,EACxB,OAAO,CAAC,aAA4C,QAAQ,QAAQ,CAAC,EACrE,OAAO,CAAC,GAAG,MAAO;AAAA,IACjB,UAAU,EAAE,YAAY,EAAE;AAAA,IAC1B,OAAO,aAAa,EAAE,OAAO,EAAE,KAAK;AAAA,EACpC,EAAA;AACN;AAKE,cAAA,aACA,kBACA,QACA,UACoB;AACb,SAAA,YACJ,IAAI,CAAC,EAAE,SAAS,EAAE,EAClB,IAAI,CAAY,aAAA;AACf,UAAM,QAAQ,OACZ,iBAAiB,IAAI,CAAmB,oBAAA;AACtC,YAAM,cACJ,mBACA,uBAAuB,aAAa,iBAAiB,UAAU,QAAQ;AAElE,aAAA,eAAe,OAAO,SAAY,YAAY;AAAA,IACtD,CAAA,CACH;AAEA,QAAI,SAAS;AAAa,aAAA;AAEnB,WAAA,EAAE,UAAU;EAAM,CAC1B,EACA,OAAO,CAAC,aAAuD,QAAQ,QAAQ,CAAC;AACrF;AAEa,MAAA,0BAA0B,CAAC,eAAmC;AACnE,QAAA,QAAQ,CAAC,oBAAoB;AAE/B,MAAA,WAAW,YAAY,MAAM;AACzB,UAAA,KAAK,eAAe,WAAW,aAAa;AAAA,EACpD;AAEI,MAAA,WAAW,YAAY,MAAM;AACzB,UAAA,KAAK,eAAe,WAAW,aAAa;AAAA,EACpD;AAEO,SAAA,MAAM,KAAK,OAAO;AAC3B;AAEa,MAAA,mBAAmB,CAC9B,OACA,aACiD;AAC3C,QAAA,SAAS,cAAc,OAAO,QAAQ;AAE5C,SACE,UAAU;AAAA,IACR,OAAO,OAAO,iBAAiB,OAAO,OAAO,gBAAgB;AAAA,IAC7D,UAAU,OAAO;AAAA,EAAA;AAGvB;AAEO,0BACL,aACA,OACA,UACA,gBACA,kBACmB;;AACb,QAAA,iBAAiB,uBACrB,aACA,MAAM,OAAO,CAAK,MAAA,EAAE,aAAa,cAAc,GAC/C,UACA,gBACF;AAEA,SAA0B,wBAAA,cAAc,aAAa,eAAe,QAAQ,MAAlD,YAAwD;AACpF;AAEO,MAAM,wBAAwB,CACnC,aACA,QACA,aACwB;AACxB,QAAM,UAAU;AAAA,IACd,GAAG,IAAI,IACL,OAAO,IAAI,CAAC,EAAE,eAAe,QAAQ,EAAE,OAAO,SAAS,IAAI,CAAC,EAAE,eAAe,QAAQ,CAAC,CACxF;AAAA,EAAA;AAGK,SAAA,QAAQ,IAAI,CAAa,aAAA;AAAA,IAC9B;AAAA,IACA,OAAO,kCACD,wBAAuB,aAAa,QAAQ,QAAQ,KAAK,EAAE,OAAO,CAAC,EAAA,GAAK,QACxE,wBAAuB,aAAa,UAAU,UAAU,CAAA,MAAK,CAAC,KAAK,EAAE,OAAO,CAAA,EAAM,GAAA;AAAA,EAExF,EAAA;AACJ;;;;;;;;;;;;;;;"}
@@ -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,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,13 +176,13 @@ export declare type SiteFragment = {
176
176
  } | null>;
177
177
  };
178
178
  };
179
- export declare type IntrospectedResourcesQueryVariables = Exact<{
179
+ export type IntrospectedResourcesQueryVariables = Exact<{
180
180
  swatchIds: Array<Scalars['ID']> | Scalars['ID'];
181
181
  fileIds: Array<Scalars['ID']> | Scalars['ID'];
182
182
  pageIds: Array<Scalars['ID']> | Scalars['ID'];
183
183
  tableIds: Array<Scalars['ID']> | Scalars['ID'];
184
184
  }>;
185
- export declare type IntrospectedResourcesQueryResult = {
185
+ export type IntrospectedResourcesQueryResult = {
186
186
  swatches: Array<{
187
187
  __typename: 'Swatch';
188
188
  id: string;
@@ -257,10 +257,10 @@ export declare type IntrospectedResourcesQueryResult = {
257
257
  }>;
258
258
  } | null>;
259
259
  };
260
- export declare type SwatchQueryVariables = Exact<{
260
+ export type SwatchQueryVariables = Exact<{
261
261
  swatchId: Scalars['ID'];
262
262
  }>;
263
- export declare type SwatchQueryResult = {
263
+ export type SwatchQueryResult = {
264
264
  swatch: {
265
265
  __typename: 'Swatch';
266
266
  id: string;
@@ -269,10 +269,10 @@ export declare type SwatchQueryResult = {
269
269
  lightness: number;
270
270
  } | null;
271
271
  };
272
- export declare type FileQueryVariables = Exact<{
272
+ export type FileQueryVariables = Exact<{
273
273
  fileId: Scalars['ID'];
274
274
  }>;
275
- export declare type FileQueryResult = {
275
+ export type FileQueryResult = {
276
276
  file: {
277
277
  __typename: 'File';
278
278
  id: string;
@@ -285,10 +285,10 @@ export declare type FileQueryResult = {
285
285
  } | null;
286
286
  } | null;
287
287
  };
288
- export declare type TypographyQueryVariables = Exact<{
288
+ export type TypographyQueryVariables = Exact<{
289
289
  typographyId: Scalars['ID'];
290
290
  }>;
291
- export declare type TypographyQueryResult = {
291
+ export type TypographyQueryResult = {
292
292
  typography: {
293
293
  __typename: 'Typography';
294
294
  id: string;
@@ -317,20 +317,20 @@ export declare type TypographyQueryResult = {
317
317
  }>;
318
318
  } | null;
319
319
  };
320
- export declare type PagePathnamesByIdQueryVariables = Exact<{
320
+ export type PagePathnamesByIdQueryVariables = Exact<{
321
321
  pageIds: Array<Scalars['ID']> | Scalars['ID'];
322
322
  }>;
323
- export declare type PagePathnamesByIdQueryResult = {
323
+ export type PagePathnamesByIdQueryResult = {
324
324
  pagePathnamesById: Array<{
325
325
  __typename: 'PagePathnameSlice';
326
326
  id: string;
327
327
  pathname: string;
328
328
  } | null>;
329
329
  };
330
- export declare type TableQueryVariables = Exact<{
330
+ export type TableQueryVariables = Exact<{
331
331
  tableId: Scalars['ID'];
332
332
  }>;
333
- export declare type TableQueryResult = {
333
+ export type TableQueryResult = {
334
334
  table: {
335
335
  __typename: 'Table';
336
336
  id: string;
@@ -382,10 +382,10 @@ export declare type TableQueryResult = {
382
382
  }>;
383
383
  } | null;
384
384
  };
385
- export declare type TypographiesQueryVariables = Exact<{
385
+ export type TypographiesQueryVariables = Exact<{
386
386
  typographyIds: Array<Scalars['ID']> | Scalars['ID'];
387
387
  }>;
388
- export declare type TypographiesQueryResult = {
388
+ export type TypographiesQueryResult = {
389
389
  typographies: Array<{
390
390
  __typename: 'Typography';
391
391
  id: string;
@@ -414,20 +414,20 @@ export declare type TypographiesQueryResult = {
414
414
  }>;
415
415
  } | null>;
416
416
  };
417
- export declare type GlobalElementQueryVariables = Exact<{
417
+ export type GlobalElementQueryVariables = Exact<{
418
418
  globalElementId: Scalars['ID'];
419
419
  }>;
420
- export declare type GlobalElementQueryResult = {
420
+ export type GlobalElementQueryResult = {
421
421
  globalElement: {
422
422
  __typename: 'GlobalElement';
423
423
  id: string;
424
424
  data: Json;
425
425
  } | null;
426
426
  };
427
- export declare type CreateTableRecordMutationVariables = Exact<{
427
+ export type CreateTableRecordMutationVariables = Exact<{
428
428
  input: CreateTableRecordInput;
429
429
  }>;
430
- export declare type CreateTableRecordMutationResult = {
430
+ export type CreateTableRecordMutationResult = {
431
431
  createTableRecord: {
432
432
  tableRecord: {
433
433
  id: string;