@makeswift/runtime 0.16.0-canary.0 → 0.16.0-canary.2

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 (329) hide show
  1. package/dist/cjs/builder/serialization/control-serialization.js +38 -38
  2. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  3. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  4. package/dist/cjs/components/builtin/Box/register.js +25 -24
  5. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  6. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  7. package/dist/cjs/components/builtin/Button/register.js +4 -4
  8. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  9. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  10. package/dist/cjs/components/builtin/Carousel/register.js +29 -17
  11. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  12. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  13. package/dist/cjs/components/builtin/Countdown/register.js +10 -9
  14. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  15. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  16. package/dist/cjs/components/builtin/Divider/register.js +6 -5
  17. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  18. package/dist/cjs/components/builtin/Embed/register.js +3 -2
  19. package/dist/cjs/components/builtin/Embed/register.js.map +1 -1
  20. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  21. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  22. package/dist/cjs/components/builtin/Form/register.js +8 -8
  23. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  24. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  25. package/dist/cjs/components/builtin/Image/register.js +7 -7
  26. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  27. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  28. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  29. package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  30. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  31. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  32. package/dist/cjs/components/builtin/Navigation/register.js +33 -18
  33. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  34. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  35. package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  36. package/dist/cjs/components/builtin/SocialLinks/register.js +7 -6
  37. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  38. package/dist/cjs/components/builtin/Text/register.js +5 -4
  39. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  40. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  41. package/dist/cjs/components/builtin/Video/register.js +6 -5
  42. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  43. package/dist/cjs/components/hooks/index.js +12 -2
  44. package/dist/cjs/components/hooks/index.js.map +1 -1
  45. package/dist/cjs/components/hooks/useBorder.js +3 -3
  46. package/dist/cjs/components/hooks/useBorder.js.map +1 -1
  47. package/dist/cjs/components/hooks/useBoxShadow.js +6 -5
  48. package/dist/cjs/components/hooks/useBoxShadow.js.map +1 -1
  49. package/dist/cjs/{prop-controllers/copy/shadows.js → components/hooks/useCheckboxPropControllerData.js} +11 -25
  50. package/dist/cjs/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  51. package/dist/cjs/{prop-controllers/copy/table.js → components/hooks/useDatePropControllerData.js} +11 -10
  52. package/dist/cjs/components/hooks/useDatePropControllerData.js.map +1 -0
  53. package/dist/cjs/{prop-controllers/copy/responsive-color.js → components/hooks/useFontPropControllerData.js} +11 -16
  54. package/dist/cjs/components/hooks/useFontPropControllerData.js.map +1 -0
  55. package/dist/cjs/components/hooks/{usePropControllerLinkData.js → useLinkPropControllerData.js} +7 -7
  56. package/dist/cjs/components/hooks/{usePropControllerLinkData.js.map → useLinkPropControllerData.js.map} +1 -1
  57. package/dist/cjs/components/hooks/useNumberPropControllerData.js +34 -0
  58. package/dist/cjs/components/hooks/useNumberPropControllerData.js.map +1 -0
  59. package/dist/cjs/components/hooks/useResponsiveColor.js +2 -2
  60. package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
  61. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js +34 -0
  62. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  63. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js +34 -0
  64. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  65. package/dist/cjs/components/hooks/useTablePropControllerData.js +34 -0
  66. package/dist/cjs/components/hooks/useTablePropControllerData.js.map +1 -0
  67. package/dist/cjs/components/hooks/useVideoPropControllerData.js +34 -0
  68. package/dist/cjs/components/hooks/useVideoPropControllerData.js.map +1 -0
  69. package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -1
  70. package/dist/cjs/components/shared/grid-item.js.map +1 -1
  71. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  72. package/dist/cjs/controls/control.js +4 -4
  73. package/dist/cjs/controls/control.js.map +1 -1
  74. package/dist/cjs/css/border.js.map +1 -1
  75. package/dist/cjs/global.d.js +1 -0
  76. package/dist/cjs/global.d.js.map +1 -1
  77. package/dist/cjs/jest-setup.js +30 -0
  78. package/dist/cjs/jest-setup.js.map +1 -0
  79. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  80. package/dist/cjs/prop-controllers/copy.js +7 -10
  81. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  82. package/dist/cjs/prop-controllers/descriptors.js +0 -126
  83. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  84. package/dist/cjs/prop-controllers/index.js.map +1 -1
  85. package/dist/cjs/prop-controllers/introspection.js +8 -31
  86. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  87. package/dist/cjs/runtimes/react/controls.js +107 -28
  88. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  89. package/dist/cjs/utils/tests/breakpoint-test-util.js +35 -0
  90. package/dist/cjs/utils/tests/breakpoint-test-util.js.map +1 -0
  91. package/dist/cjs/utils/tests/element-data-test-test.js +74 -0
  92. package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -0
  93. package/dist/esm/builder/serialization/control-serialization.js +10 -10
  94. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  95. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  96. package/dist/esm/components/builtin/Box/register.js +18 -9
  97. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  98. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  99. package/dist/esm/components/builtin/Button/register.js +5 -5
  100. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  101. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  102. package/dist/esm/components/builtin/Carousel/register.js +34 -17
  103. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  104. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  105. package/dist/esm/components/builtin/Countdown/register.js +16 -9
  106. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  107. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  108. package/dist/esm/components/builtin/Divider/register.js +6 -5
  109. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  110. package/dist/esm/components/builtin/Embed/register.js +3 -2
  111. package/dist/esm/components/builtin/Embed/register.js.map +1 -1
  112. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  113. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  114. package/dist/esm/components/builtin/Form/register.js +16 -9
  115. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  116. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  117. package/dist/esm/components/builtin/Image/register.js +17 -8
  118. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  119. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  120. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  121. package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  122. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  123. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  124. package/dist/esm/components/builtin/Navigation/register.js +45 -19
  125. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  126. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  127. package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  128. package/dist/esm/components/builtin/SocialLinks/register.js +7 -6
  129. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  130. package/dist/esm/components/builtin/Text/register.js +5 -4
  131. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  132. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  133. package/dist/esm/components/builtin/Video/register.js +6 -5
  134. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  135. package/dist/esm/components/hooks/index.js +6 -1
  136. package/dist/esm/components/hooks/index.js.map +1 -1
  137. package/dist/esm/components/hooks/useBorder.js +5 -3
  138. package/dist/esm/components/hooks/useBorder.js.map +1 -1
  139. package/dist/esm/components/hooks/useBoxShadow.js +9 -5
  140. package/dist/esm/components/hooks/useBoxShadow.js.map +1 -1
  141. package/dist/esm/components/hooks/useCheckboxPropControllerData.js +12 -0
  142. package/dist/esm/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  143. package/dist/esm/components/hooks/useDatePropControllerData.js +12 -0
  144. package/dist/esm/components/hooks/useDatePropControllerData.js.map +1 -0
  145. package/dist/esm/components/hooks/useFontPropControllerData.js +12 -0
  146. package/dist/esm/components/hooks/useFontPropControllerData.js.map +1 -0
  147. package/dist/esm/components/hooks/{usePropControllerLinkData.js → useLinkPropControllerData.js} +3 -3
  148. package/dist/esm/components/hooks/{usePropControllerLinkData.js.map → useLinkPropControllerData.js.map} +1 -1
  149. package/dist/esm/components/hooks/useNumberPropControllerData.js +10 -0
  150. package/dist/esm/components/hooks/useNumberPropControllerData.js.map +1 -0
  151. package/dist/esm/components/hooks/useResponsiveColor.js +2 -2
  152. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  153. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js +12 -0
  154. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  155. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js +12 -0
  156. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  157. package/dist/esm/components/hooks/useTablePropControllerData.js +12 -0
  158. package/dist/esm/components/hooks/useTablePropControllerData.js.map +1 -0
  159. package/dist/esm/components/hooks/useVideoPropControllerData.js +12 -0
  160. package/dist/esm/components/hooks/useVideoPropControllerData.js.map +1 -0
  161. package/dist/esm/components/shared/GutterContainer/index.js.map +1 -1
  162. package/dist/esm/components/shared/grid-item.js.map +1 -1
  163. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  164. package/dist/esm/controls/control.js +4 -4
  165. package/dist/esm/controls/control.js.map +1 -1
  166. package/dist/esm/css/border.js.map +1 -1
  167. package/dist/esm/global.d.js +1 -0
  168. package/dist/esm/global.d.js.map +1 -1
  169. package/dist/esm/jest-setup.js +29 -0
  170. package/dist/esm/jest-setup.js.map +1 -0
  171. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  172. package/dist/esm/prop-controllers/copy.js +15 -11
  173. package/dist/esm/prop-controllers/copy.js.map +1 -1
  174. package/dist/esm/prop-controllers/descriptors.js +0 -106
  175. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  176. package/dist/esm/prop-controllers/index.js.map +1 -1
  177. package/dist/esm/prop-controllers/introspection.js +13 -29
  178. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  179. package/dist/esm/runtimes/react/controls.js +121 -31
  180. package/dist/esm/runtimes/react/controls.js.map +1 -1
  181. package/dist/esm/utils/tests/breakpoint-test-util.js +9 -0
  182. package/dist/esm/utils/tests/breakpoint-test-util.js.map +1 -0
  183. package/dist/esm/utils/tests/element-data-test-test.js +49 -0
  184. package/dist/esm/utils/tests/element-data-test-test.js.map +1 -0
  185. package/dist/types/builder/serialization/control-serialization.d.ts +32 -47
  186. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  187. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  188. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  189. package/dist/types/components/builtin/Button/Button.d.ts +3 -3
  190. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  191. package/dist/types/components/builtin/Carousel/Carousel.d.ts +5 -5
  192. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  193. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  194. package/dist/types/components/builtin/Countdown/Countdown.d.ts +5 -4
  195. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  196. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  197. package/dist/types/components/builtin/Divider/Divider.d.ts +3 -2
  198. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  199. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  200. package/dist/types/components/builtin/Embed/register.d.ts.map +1 -1
  201. package/dist/types/components/builtin/Form/Form.d.ts +4 -4
  202. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  203. package/dist/types/components/builtin/Form/context/FormContext.d.ts +2 -1
  204. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  205. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  206. package/dist/types/components/builtin/Image/Image.d.ts +3 -3
  207. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  208. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  209. package/dist/types/components/builtin/Navigation/Navigation.d.ts +4 -4
  210. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  211. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +5 -5
  212. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  213. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +2 -2
  214. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  215. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +5 -5
  216. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  217. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -1
  218. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  219. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  220. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  221. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +2 -2
  222. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  223. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  224. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  225. package/dist/types/components/builtin/Video/Video.d.ts +3 -2
  226. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  227. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  228. package/dist/types/components/hooks/index.d.ts +6 -1
  229. package/dist/types/components/hooks/index.d.ts.map +1 -1
  230. package/dist/types/components/hooks/useBorder.d.ts +2 -2
  231. package/dist/types/components/hooks/useBorder.d.ts.map +1 -1
  232. package/dist/types/components/hooks/useBoxShadow.d.ts +14 -14
  233. package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -1
  234. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts +3 -0
  235. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts.map +1 -0
  236. package/dist/types/components/hooks/useDatePropControllerData.d.ts +3 -0
  237. package/dist/types/components/hooks/useDatePropControllerData.d.ts.map +1 -0
  238. package/dist/types/components/hooks/useFontPropControllerData.d.ts +3 -0
  239. package/dist/types/components/hooks/useFontPropControllerData.d.ts.map +1 -0
  240. package/dist/types/components/hooks/{usePropControllerLinkData.d.ts → useLinkPropControllerData.d.ts} +2 -2
  241. package/dist/types/components/hooks/useLinkPropControllerData.d.ts.map +1 -0
  242. package/dist/types/components/hooks/useNumberPropControllerData.d.ts +3 -0
  243. package/dist/types/components/hooks/useNumberPropControllerData.d.ts.map +1 -0
  244. package/dist/types/components/hooks/useResponsiveColor.d.ts +2 -4
  245. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  246. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts +4 -0
  247. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts.map +1 -0
  248. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts +3 -0
  249. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts.map +1 -0
  250. package/dist/types/components/hooks/useTablePropControllerData.d.ts +3 -0
  251. package/dist/types/components/hooks/useTablePropControllerData.d.ts.map +1 -0
  252. package/dist/types/components/hooks/useVideoPropControllerData.d.ts +3 -0
  253. package/dist/types/components/hooks/useVideoPropControllerData.d.ts.map +1 -0
  254. package/dist/types/components/shared/GutterContainer/index.d.ts +2 -2
  255. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -1
  256. package/dist/types/components/shared/grid-item.d.ts +4 -3
  257. package/dist/types/components/shared/grid-item.d.ts.map +1 -1
  258. package/dist/types/components/utils/responsive-style.d.ts +10 -9
  259. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  260. package/dist/types/css/border.d.ts +1 -1
  261. package/dist/types/css/border.d.ts.map +1 -1
  262. package/dist/types/jest-setup.d.ts +2 -0
  263. package/dist/types/jest-setup.d.ts.map +1 -0
  264. package/dist/types/next/components/tests/page-border-prop-controller.test.d.ts +3 -0
  265. package/dist/types/next/components/tests/page-border-prop-controller.test.d.ts.map +1 -0
  266. package/dist/types/next/components/tests/page-date-prop-controller.test.d.ts +3 -0
  267. package/dist/types/next/components/tests/page-date-prop-controller.test.d.ts.map +1 -0
  268. package/dist/types/next/components/tests/page-font-prop-controller.test.d.ts +3 -0
  269. package/dist/types/next/components/tests/page-font-prop-controller.test.d.ts.map +1 -0
  270. package/dist/types/next/components/tests/page-margin-prop-controller.test.d.ts +3 -0
  271. package/dist/types/next/components/tests/page-margin-prop-controller.test.d.ts.map +1 -0
  272. package/dist/types/next/components/tests/page-padding-prop-controller.test.d.ts +3 -0
  273. package/dist/types/next/components/tests/page-padding-prop-controller.test.d.ts.map +1 -0
  274. package/dist/types/next/components/tests/page-table-prop-controller.test.d.ts +3 -0
  275. package/dist/types/next/components/tests/page-table-prop-controller.test.d.ts.map +1 -0
  276. package/dist/types/next/components/tests/page-video-prop-controller.test.d.ts +3 -0
  277. package/dist/types/next/components/tests/page-video-prop-controller.test.d.ts.map +1 -0
  278. package/dist/types/next/components/tests/page-width-prop-controller.test.d.ts +3 -0
  279. package/dist/types/next/components/tests/page-width-prop-controller.test.d.ts.map +1 -0
  280. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  281. package/dist/types/prop-controllers/descriptors.d.ts +31 -357
  282. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  283. package/dist/types/prop-controllers/index.d.ts +2 -2
  284. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  285. package/dist/types/prop-controllers/introspection.d.ts +1 -4
  286. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  287. package/dist/types/runtimes/react/controls.d.ts +4 -10
  288. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  289. package/dist/types/slate/test-helpers/editor-v1.d.ts +2 -1
  290. package/dist/types/slate/test-helpers/editor-v1.d.ts.map +1 -1
  291. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts +1 -0
  292. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts.map +1 -1
  293. package/dist/types/slate/test-helpers/editor-v2.d.ts +1 -0
  294. package/dist/types/slate/test-helpers/editor-v2.d.ts.map +1 -1
  295. package/dist/types/state/react-page.test.d.ts +1 -0
  296. package/dist/types/state/react-page.test.d.ts.map +1 -1
  297. package/dist/types/utils/tests/breakpoint-test-util.d.ts +4 -0
  298. package/dist/types/utils/tests/breakpoint-test-util.d.ts.map +1 -0
  299. package/dist/types/utils/tests/element-data-test-test.d.ts +20 -0
  300. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -0
  301. package/package.json +13 -6
  302. package/dist/cjs/prop-controllers/copy/border.js +0 -53
  303. package/dist/cjs/prop-controllers/copy/border.js.map +0 -1
  304. package/dist/cjs/prop-controllers/copy/responsive-color.js.map +0 -1
  305. package/dist/cjs/prop-controllers/copy/shadows.js.map +0 -1
  306. package/dist/cjs/prop-controllers/copy/table.js.map +0 -1
  307. package/dist/esm/prop-controllers/copy/border.js +0 -29
  308. package/dist/esm/prop-controllers/copy/border.js.map +0 -1
  309. package/dist/esm/prop-controllers/copy/responsive-color.js +0 -15
  310. package/dist/esm/prop-controllers/copy/responsive-color.js.map +0 -1
  311. package/dist/esm/prop-controllers/copy/shadows.js +0 -24
  312. package/dist/esm/prop-controllers/copy/shadows.js.map +0 -1
  313. package/dist/esm/prop-controllers/copy/table.js +0 -9
  314. package/dist/esm/prop-controllers/copy/table.js.map +0 -1
  315. package/dist/types/components/hooks/usePropControllerLinkData.d.ts.map +0 -1
  316. package/dist/types/prop-controllers/copy/border.d.ts +0 -4
  317. package/dist/types/prop-controllers/copy/border.d.ts.map +0 -1
  318. package/dist/types/prop-controllers/copy/border.test.d.ts +0 -2
  319. package/dist/types/prop-controllers/copy/border.test.d.ts.map +0 -1
  320. package/dist/types/prop-controllers/copy/responsive-color.d.ts +0 -4
  321. package/dist/types/prop-controllers/copy/responsive-color.d.ts.map +0 -1
  322. package/dist/types/prop-controllers/copy/shadows.d.ts +0 -4
  323. package/dist/types/prop-controllers/copy/shadows.d.ts.map +0 -1
  324. package/dist/types/prop-controllers/copy/shadows.test.d.ts +0 -2
  325. package/dist/types/prop-controllers/copy/shadows.test.d.ts.map +0 -1
  326. package/dist/types/prop-controllers/copy/table.d.ts +0 -4
  327. package/dist/types/prop-controllers/copy/table.d.ts.map +0 -1
  328. package/dist/types/prop-controllers/copy/table.test.d.ts +0 -2
  329. package/dist/types/prop-controllers/copy/table.test.d.ts.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { getNumberPropControllerDataNumber } from "@makeswift/prop-controllers";
2
+ function useNumberPropControllerData(data) {
3
+ if (data == null)
4
+ return data;
5
+ return getNumberPropControllerDataNumber(data);
6
+ }
7
+ export {
8
+ useNumberPropControllerData
9
+ };
10
+ //# sourceMappingURL=useNumberPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useNumberPropControllerData.ts"],"sourcesContent":["import { NumberPropControllerData } from '@makeswift/prop-controllers'\nimport { getNumberPropControllerDataNumber } from '@makeswift/prop-controllers'\n\nexport function useNumberPropControllerData(\n data: NumberPropControllerData | undefined,\n): number | undefined {\n if (data == null) return data\n\n return getNumberPropControllerDataNumber(data)\n}\n"],"mappings":"AACA,SAAS,yCAAyC;AAE3C,SAAS,4BACd,MACoB;AACpB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,kCAAkC,IAAI;AAC/C;","names":[]}
@@ -1,8 +1,8 @@
1
1
  import { isNonNullable } from "../utils/isNonNullable";
2
- import { getResponsiveColorSwatchIds } from "../../prop-controllers/introspection";
3
2
  import { useSwatches } from "../../runtimes/react/hooks/makeswift-api";
3
+ import { getResponsiveColorDataSwatchIds } from "@makeswift/prop-controllers";
4
4
  function useResponsiveColor(color) {
5
- const swatchIds = getResponsiveColorSwatchIds(color);
5
+ const swatchIds = color == null ? [] : getResponsiveColorDataSwatchIds(color);
6
6
  const swatches = useSwatches(swatchIds);
7
7
  if (color == null)
8
8
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColor.ts"],"sourcesContent":["import type { ResponsiveValue } from '../../prop-controllers'\nimport { isNonNullable } from '../utils/isNonNullable'\nimport type { ColorValue as Color } from '../utils/types'\nimport { getResponsiveColorSwatchIds } from '../../prop-controllers/introspection'\nimport { useSwatches } from '../../runtimes/react/hooks/makeswift-api'\n\nexport function useResponsiveColor(\n color:\n | ResponsiveValue<{\n swatchId: string\n alpha: number\n }>\n | null\n | undefined,\n): ResponsiveValue<Color> | null | undefined {\n const swatchIds = getResponsiveColorSwatchIds(color)\n const swatches = useSwatches(swatchIds)\n\n if (color == null) return null\n\n return color\n .map(({ value: v, ...rest }) => {\n const { swatchId, alpha } = v\n const swatch = swatches.find(s => s && s.id === swatchId)\n\n return swatch == null ? null : { ...rest, value: { swatch, alpha } }\n })\n .filter(isNonNullable)\n}\n"],"mappings":"AACA,SAAS,qBAAqB;AAE9B,SAAS,mCAAmC;AAC5C,SAAS,mBAAmB;AAErB,SAAS,mBACd,OAO2C;AAC3C,QAAM,YAAY,4BAA4B,KAAK;AACnD,QAAM,WAAW,YAAY,SAAS;AAEtC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MACJ,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,KAAK,MAAM;AAC9B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,UAAM,SAAS,SAAS,KAAK,OAAK,KAAK,EAAE,OAAO,QAAQ;AAExD,WAAO,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,QAAQ,MAAM,EAAE;AAAA,EACrE,CAAC,EACA,OAAO,aAAa;AACzB;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColor.ts"],"sourcesContent":["import type { ResponsiveValue } from '../../prop-controllers'\nimport { isNonNullable } from '../utils/isNonNullable'\nimport type { ColorValue as Color } from '../utils/types'\nimport { useSwatches } from '../../runtimes/react/hooks/makeswift-api'\nimport { ResponsiveColorData, getResponsiveColorDataSwatchIds } from '@makeswift/prop-controllers'\n\nexport function useResponsiveColor(\n color: ResponsiveColorData | null | undefined,\n): ResponsiveValue<Color> | null | undefined {\n const swatchIds = color == null ? [] : getResponsiveColorDataSwatchIds(color)\n const swatches = useSwatches(swatchIds)\n\n if (color == null) return null\n\n return color\n .map(({ value: v, ...rest }) => {\n const { swatchId, alpha } = v\n const swatch = swatches.find(s => s && s.id === swatchId)\n\n return swatch == null ? null : { ...rest, value: { swatch, alpha } }\n })\n .filter(isNonNullable)\n}\n"],"mappings":"AACA,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAC5B,SAA8B,uCAAuC;AAE9D,SAAS,mBACd,OAC2C;AAC3C,QAAM,YAAY,SAAS,OAAO,CAAC,IAAI,gCAAgC,KAAK;AAC5E,QAAM,WAAW,YAAY,SAAS;AAEtC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MACJ,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,KAAK,MAAM;AAC9B,UAAM,EAAE,UAAU,MAAM,IAAI;AAC5B,UAAM,SAAS,SAAS,KAAK,OAAK,KAAK,EAAE,OAAO,QAAQ;AAExD,WAAO,UAAU,OAAO,OAAO,EAAE,GAAG,MAAM,OAAO,EAAE,QAAQ,MAAM,EAAE;AAAA,EACrE,CAAC,EACA,OAAO,aAAa;AACzB;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getResponsiveColorPropControllerDataResponsiveColorData
3
+ } from "@makeswift/prop-controllers";
4
+ import { useResponsiveColor } from "./useResponsiveColor";
5
+ function useResponsiveColorPropControllerData(data) {
6
+ const responsiveColorData = data == null ? data : getResponsiveColorPropControllerDataResponsiveColorData(data);
7
+ return useResponsiveColor(responsiveColorData);
8
+ }
9
+ export {
10
+ useResponsiveColorPropControllerData
11
+ };
12
+ //# sourceMappingURL=useResponsiveColorPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveColorPropControllerData.ts"],"sourcesContent":["import {\n ResponsiveColorPropControllerData,\n ResponsiveValue,\n getResponsiveColorPropControllerDataResponsiveColorData,\n} from '@makeswift/prop-controllers'\nimport { ColorValue } from '../utils/types'\nimport { useResponsiveColor } from './useResponsiveColor'\n\nexport function useResponsiveColorPropControllerData(\n data: ResponsiveColorPropControllerData | null | undefined,\n): ResponsiveValue<ColorValue> | null | undefined {\n const responsiveColorData =\n data == null ? data : getResponsiveColorPropControllerDataResponsiveColorData(data)\n\n return useResponsiveColor(responsiveColorData)\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,OACK;AAEP,SAAS,0BAA0B;AAE5B,SAAS,qCACd,MACgD;AAChD,QAAM,sBACJ,QAAQ,OAAO,OAAO,wDAAwD,IAAI;AAEpF,SAAO,mBAAmB,mBAAmB;AAC/C;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getResponsiveLengthPropControllerDataResponsiveLengthData
3
+ } from "@makeswift/prop-controllers";
4
+ function useResponsiveLengthPropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getResponsiveLengthPropControllerDataResponsiveLengthData(data);
8
+ }
9
+ export {
10
+ useResponsiveLengthPropControllerData
11
+ };
12
+ //# sourceMappingURL=useResponsiveLengthPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useResponsiveLengthPropControllerData.ts"],"sourcesContent":["import {\n ResponsiveLengthData,\n ResponsiveLengthPropControllerData,\n getResponsiveLengthPropControllerDataResponsiveLengthData,\n} from '@makeswift/prop-controllers'\n\nexport function useResponsiveLengthPropControllerData(\n data: ResponsiveLengthPropControllerData | undefined | null,\n): ResponsiveLengthData | undefined | null {\n if (data == null) return data\n\n return getResponsiveLengthPropControllerDataResponsiveLengthData(data)\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,OACK;AAEA,SAAS,sCACd,MACyC;AACzC,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,0DAA0D,IAAI;AACvE;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getTablePropControllerDataTableId
3
+ } from "@makeswift/prop-controllers";
4
+ function useTablePropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getTablePropControllerDataTableId(data);
8
+ }
9
+ export {
10
+ useTablePropControllerData
11
+ };
12
+ //# sourceMappingURL=useTablePropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useTablePropControllerData.ts"],"sourcesContent":["import {\n TablePropControllerData,\n getTablePropControllerDataTableId,\n} from '@makeswift/prop-controllers'\n\nexport function useTablePropControllerData(\n data: TablePropControllerData | undefined,\n): string | undefined {\n if (data == null) return data\n\n return getTablePropControllerDataTableId(data)\n}\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,OACK;AAEA,SAAS,2BACd,MACoB;AACpB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,kCAAkC,IAAI;AAC/C;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getVideoPropControllerDataVideoData
3
+ } from "@makeswift/prop-controllers";
4
+ function useVideoPropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getVideoPropControllerDataVideoData(data);
8
+ }
9
+ export {
10
+ useVideoPropControllerData
11
+ };
12
+ //# sourceMappingURL=useVideoPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useVideoPropControllerData.ts"],"sourcesContent":["import {\n VideoPropControllerData,\n VideoData,\n getVideoPropControllerDataVideoData,\n} from '@makeswift/prop-controllers'\n\nexport function useVideoPropControllerData(\n data: VideoPropControllerData | undefined,\n): VideoData | undefined {\n if (data == null) return data\n\n return getVideoPropControllerDataVideoData(data)\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,OACK;AAEA,SAAS,2BACd,MACuB;AACvB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,oCAAoC,IAAI;AACjD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/shared/GutterContainer/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { ResponsiveValue, Length } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\n\ntype BaseProps = {\n className?: string\n gutter?: ResponsiveValue<Length>\n first: boolean\n last: boolean\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default function GutterContainer({ className, gutter, first, last, ...restOfProps }: Props) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n paddingLeft: first ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n paddingRight: last ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n}\n"],"mappings":"AAiBI;AAjBJ,SAAS,UAAU;AAGnB,SAAS,gBAAgB;AACzB,SAAS,0BAA0B;AAWpB,SAAR,gBAAiC,EAAE,WAAW,QAAQ,OAAO,MAAM,GAAG,YAAY,GAAU;AACjG,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW;AAAA,QACT;AAAA,UACE,mBAAmB,CAAC,MAAM,GAAY,CAAC,CAACA,UAAS,EAAE,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO;AAAA,YAC9E,aAAa,QAAQ,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,YAC9D,cAAc,OAAO,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,UAChE,EAAE;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["gutter"]}
1
+ {"version":3,"sources":["../../../../../src/components/shared/GutterContainer/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../utils/responsive-style'\nimport { LengthData, ResponsiveValue } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n className?: string\n gutter?: ResponsiveValue<LengthData>\n first: boolean\n last: boolean\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport default function GutterContainer({ className, gutter, first, last, ...restOfProps }: Props) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n paddingLeft: first ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n paddingRight: last ? '0px' : `${gutter.value / 2}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n}\n"],"mappings":"AAiBI;AAjBJ,SAAS,UAAU;AAEnB,SAAS,gBAAgB;AACzB,SAAS,0BAA0B;AAYpB,SAAR,gBAAiC,EAAE,WAAW,QAAQ,OAAO,MAAM,GAAG,YAAY,GAAU;AACjG,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW;AAAA,QACT;AAAA,UACE,mBAAmB,CAAC,MAAM,GAAY,CAAC,CAACA,UAAS,EAAE,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO;AAAA,YAC9E,aAAa,QAAQ,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,YAC9D,cAAc,OAAO,QAAQ,GAAGA,QAAO,QAAQ,CAAC,GAAGA,QAAO,IAAI;AAAA,UAChE,EAAE;AAAA,QACJ;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["gutter"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/shared/grid-item.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport {\n ResponsiveValue,\n Length as LengthValue,\n ResponsiveNumberValue,\n} from '../../prop-controllers'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { useItemAnimation } from '../builtin/Box/animations'\nimport { useResponsiveGridItem } from '../utils/responsive-style'\n\ntype BaseProps = {\n className?: string\n grid: ResponsiveValue<{ spans: Array<Array<number>>; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport const gridItemIdentifierClassName = 'grid-item'\n\nexport function GridItem({\n grid,\n index,\n columnGap,\n rowGap,\n className,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ...restOfProps\n}: Props) {\n const gridItemClassName = useStyle(useResponsiveGridItem({ grid, index, columnGap, rowGap }))\n const animationClassName = useItemAnimation(\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n index,\n )\n\n return (\n <div\n {...restOfProps}\n className={cx(gridItemClassName, className, animationClassName, gridItemIdentifierClassName)}\n />\n )\n}\n"],"mappings":"AA8CI;AA9CJ,SAAS,UAAU;AAOnB,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AAe/B,MAAM,8BAA8B;AAEpC,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAU;AACR,QAAM,oBAAoB,SAAS,sBAAsB,EAAE,MAAM,OAAO,WAAW,OAAO,CAAC,CAAC;AAC5F,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,GAAG,mBAAmB,WAAW,oBAAoB,2BAA2B;AAAA;AAAA,EAC7F;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/shared/grid-item.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef } from 'react'\nimport { ResponsiveValue, ResponsiveNumberValue } from '../../prop-controllers'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { useItemAnimation } from '../builtin/Box/animations'\nimport { useResponsiveGridItem } from '../utils/responsive-style'\nimport { LengthData } from '@makeswift/prop-controllers'\n\ntype BaseProps = {\n className?: string\n grid: ResponsiveValue<{ spans: Array<Array<number>>; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof BaseProps>\n\nexport const gridItemIdentifierClassName = 'grid-item'\n\nexport function GridItem({\n grid,\n index,\n columnGap,\n rowGap,\n className,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ...restOfProps\n}: Props) {\n const gridItemClassName = useStyle(useResponsiveGridItem({ grid, index, columnGap, rowGap }))\n const animationClassName = useItemAnimation(\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n index,\n )\n\n return (\n <div\n {...restOfProps}\n className={cx(gridItemClassName, className, animationClassName, gridItemIdentifierClassName)}\n />\n )\n}\n"],"mappings":"AA2CI;AA3CJ,SAAS,UAAU;AAGnB,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AAgB/B,MAAM,8BAA8B;AAEpC,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAU;AACR,QAAM,oBAAoB,SAAS,sBAAsB,EAAE,MAAM,OAAO,WAAW,OAAO,CAAC,CAAC;AAC5F,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW,GAAG,mBAAmB,WAAW,oBAAoB,2BAA2B;AAAA;AAAA,EAC7F;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\n\nimport {\n ResponsiveValue,\n ResponsiveValueType as ExtractResponsiveValue,\n Length as LengthValue,\n WidthValue,\n PaddingValue,\n MarginValue,\n BorderRadiusValue,\n TextStyleValue,\n} from '../../prop-controllers/descriptors'\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadowData, BoxShadowPropControllerData } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: WidthValue | undefined,\n defaultValue: LengthValue | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: PaddingValue | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: MarginValue | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: BorderRadiusValue | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadowData) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: BoxShadowPropControllerData | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: TextStyleValue | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\nimport type {\n ResponsiveValueType as ExtractResponsiveValue,\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveMarginData,\n ResponsivePaddingData,\n ResponsiveValue,\n ResponsiveLengthData,\n} from '@makeswift/prop-controllers'\n\nimport { TextStyleValue } from '../../prop-controllers/descriptors'\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: ResponsiveLengthData | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: ResponsivePaddingData | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: ResponsiveMarginData | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: TextStyleValue | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":[]}
@@ -51,13 +51,13 @@ function copy(definition, value, context) {
51
51
  case Types.Grid:
52
52
  case Types.NavigationLinks:
53
53
  case PropControllerTypes.Link:
54
- case Types.Shadows:
54
+ case PropControllerTypes.Shadows:
55
55
  case Types.Image:
56
56
  case Types.Images:
57
- case Types.ResponsiveColor:
57
+ case PropControllerTypes.ResponsiveColor:
58
58
  case Types.TableFormFields:
59
- case Types.Table:
60
- case Types.Border:
59
+ case PropControllerTypes.Table:
60
+ case PropControllerTypes.Border:
61
61
  case Types.RichText:
62
62
  case Types.ElementID:
63
63
  return propControllerCopy(definition, value, context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport {\n Descriptor,\n GridValue,\n IndexSignatureHack,\n Types,\n mergeGridPropControllerTranslatedData,\n} from '../prop-controllers/descriptors'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case Types.Backgrounds:\n case Types.Grid:\n case Types.NavigationLinks:\n case PropControllerTypes.Link:\n case Types.Shadows:\n case Types.Image:\n case Types.Images:\n case Types.ResponsiveColor:\n case Types.TableFormFields:\n case Types.Table:\n case Types.Border:\n case Types.RichText:\n case Types.ElementID:\n return propControllerCopy(definition, value, context)\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case Types.Grid:\n return mergeGridPropControllerTranslatedData(data as GridValue, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,SAAmD,kBAAkB,qBAAqB;AAE1F,SAAmD,eAAe,wBAAwB;AAC1F,SAAiD,cAAc,uBAAuB;AACtF;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAGP;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAyD,2BAA2B;AACpF;AAAA,EAGE;AAAA,OACK;AACP,SAAS,eAAyD,wBAAwB;AAC1F;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,OACK;AAEP;AAAA,EAIE;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS,2BAA2B;AAC7C,SAAS,QAAQ,0BAA0B;AAE3C;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,mCAAmC;AAC5C,SAAS,0BAA0B;AACnC;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAKP;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AA2DA,SAAS,KAAK,YAA4C,OAAY,SAAsB;AACjG,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,oBAAoB;AAAA,IACzB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AACT,aAAO,mBAAmB,YAAY,OAAO,OAAO;AAAA,IACtD,KAAK;AACH,aAAO,iBAAiB,OAAO,OAAO;AAAA,IACxC,KAAK;AACH,aAAO;AAAA,QACL,iBAAiB,KAAK,IAAI,4BAA4B,iBAAiB,KAAK,CAAC,IAAI;AAAA,QACjF;AAAA,MACF;AAAA,IACF,KAAK;AACH,aAAO,cAAc,OAAO,OAAO;AAAA,IACrC,KAAK;AACH,aAAO,cAAc,OAAO,OAAO;AAAA,IACrC,KAAK;AACH,aAAO,aAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,aAAO,cAAc,YAAY,OAAO,OAAO;AAAA,IACjD,KAAK;AACH,aAAO,aAAa,YAAY,OAAO,OAAO;AAAA,IAChD,KAAK;AACH,aAAO,cAAc,OAAO,OAAO;AAAA,IACrC,KAAK;AACH,aAAO,aAAa,OAAO,OAAO;AAAA,IACpC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,MACd,YACA,GACA,IAAU,GACV,SACM;AACN,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,aAAO,cAAc,GAAsB,GAAsB,OAAO;AAAA,IAE1E;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,oBAAoB,YAA4C,MAAkB;AAChG,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IAET,KAAK;AACH,YAAM,eAAe;AAErB,UAAI,iBAAiB,YAAY;AAAG,eAAO;AAE3C,aAAO,8BAA8B,YAAY,YAAqC;AAAA,IAExF,KAAK;AACH,UAAI,QAAQ;AAAM,eAAO;AAEzB,aAAO,wBAAwB,YAAY,IAAuB;AAAA,IAEpE,KAAK;AACH,UAAI,QAAQ;AAAM,eAAO;AAEzB,aAAO,yBAAyB,YAAY,IAAwB;AAAA,IAEtE;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AAEzB,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AACH,UAAI,kBAAkB;AAAM,eAAO;AAEnC,aAAO;AAAA,IAET,KAAK,MAAM;AACT,aAAO,sCAAsC,MAAmB,OAAO;AAAA,IAEzE,KAAK;AACH,aAAO,+BAA+B,MAAyB,OAAO;AAAA,IAExE,KAAK;AACH,UAAI,kBAAkB;AAAM,eAAO;AAEnC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAEF,KAAK;AACH,UAAI,kBAAkB;AAAM,eAAO;AAEnC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAEF,KAAK;AACH,UAAI,kBAAkB;AAAM,eAAO;AAEnC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAEF;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport {\n Descriptor,\n GridValue,\n IndexSignatureHack,\n Types,\n mergeGridPropControllerTranslatedData,\n} from '../prop-controllers/descriptors'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case Types.Backgrounds:\n case Types.Grid:\n case Types.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case Types.Image:\n case Types.Images:\n case PropControllerTypes.ResponsiveColor:\n case Types.TableFormFields:\n case PropControllerTypes.Table:\n case PropControllerTypes.Border:\n case Types.RichText:\n case Types.ElementID:\n return propControllerCopy(definition, value, context)\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case Types.Grid:\n return mergeGridPropControllerTranslatedData(data as GridValue, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":"AASA,SAAS,qBAAqB;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,OAAO,cAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width?: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":"AASA,SAAS,qBAAqB;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,OAAO,cAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
@@ -1 +1,2 @@
1
+ import "@emotion/jest";
1
2
  //# sourceMappingURL=global.d.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/global.d.ts"],"sourcesContent":["import '@emotion/jest'\n\ndeclare global {\n const PACKAGE_VERSION: string\n}\n\nexport {}\n"],"mappings":"AAAA,OAAO;","names":[]}
@@ -0,0 +1,29 @@
1
+ import "@testing-library/jest-dom";
2
+ import { matchers } from "@emotion/jest";
3
+ expect.extend(matchers);
4
+ if (typeof window !== "undefined") {
5
+ Object.defineProperty(window, "matchMedia", {
6
+ writable: true,
7
+ value: jest.fn().mockImplementation((query) => ({
8
+ matches: false,
9
+ media: query,
10
+ onchange: null,
11
+ addListener: jest.fn(),
12
+ // deprecated
13
+ removeListener: jest.fn(),
14
+ // deprecated
15
+ addEventListener: jest.fn(),
16
+ removeEventListener: jest.fn(),
17
+ dispatchEvent: jest.fn()
18
+ }))
19
+ });
20
+ Object.defineProperty(window, "IntersectionObserver", {
21
+ writable: true,
22
+ value: jest.fn().mockImplementation(() => ({
23
+ observe: jest.fn(),
24
+ unobserve: jest.fn(),
25
+ disconnect: jest.fn()
26
+ }))
27
+ });
28
+ }
29
+ //# sourceMappingURL=jest-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/jest-setup.ts"],"sourcesContent":["import '@testing-library/jest-dom'\nimport { matchers } from '@emotion/jest'\n\nexpect.extend(matchers)\n\nif (typeof window !== 'undefined') {\n Object.defineProperty(window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(), // deprecated\n removeListener: jest.fn(), // deprecated\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n })\n\n Object.defineProperty(window, 'IntersectionObserver', {\n writable: true,\n value: jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n })),\n })\n}\n"],"mappings":"AAAA,OAAO;AACP,SAAS,gBAAgB;AAEzB,OAAO,OAAO,QAAQ;AAEtB,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,eAAe,QAAQ,cAAc;AAAA,IAC1C,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,YAAU;AAAA,MAC5C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,KAAK,GAAG;AAAA;AAAA,MACrB,gBAAgB,KAAK,GAAG;AAAA;AAAA,MACxB,kBAAkB,KAAK,GAAG;AAAA,MAC1B,qBAAqB,KAAK,GAAG;AAAA,MAC7B,eAAe,KAAK,GAAG;AAAA,IACzB,EAAE;AAAA,EACJ,CAAC;AAED,SAAO,eAAe,QAAQ,wBAAwB;AAAA,IACpD,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,OAAO;AAAA,MACzC,SAAS,KAAK,GAAG;AAAA,MACjB,WAAW,KAAK,GAAG;AAAA,MACnB,YAAY,KAAK,GAAG;AAAA,IACtB,EAAE;AAAA,EACJ,CAAC;AACH;","names":[]}
@@ -13,7 +13,7 @@ async function handler(...args) {
13
13
  const supportsPreviewMode = match(args).with(routeHandlerPattern, () => false).with(apiRoutePattern, () => true).exhaustive();
14
14
  const supportsDraftMode = match(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
15
15
  const body = {
16
- version: "0.16.0-canary.0",
16
+ version: "0.16.0-canary.2",
17
17
  previewMode: supportsPreviewMode,
18
18
  draftMode: supportsDraftMode,
19
19
  interactionMode: true,
@@ -1,17 +1,21 @@
1
1
  import { copy as backgroundsCopy } from "./copy/backgrounds";
2
2
  import { copy as gridCopy } from "./copy/grid";
3
3
  import { copy as navigationLinksCopy } from "./copy/navigation-links";
4
- import { copyLinkPropControllerData } from "@makeswift/prop-controllers";
5
- import { copy as shadowsCopy } from "./copy/shadows";
4
+ import {
5
+ copyLinkPropControllerData,
6
+ copyShadowsPropControllerData,
7
+ copyBorderPropControllerData
8
+ } from "@makeswift/prop-controllers";
6
9
  import { copy as imageCopy } from "./copy/image";
7
10
  import { copy as imagesCopy } from "./copy/images";
8
- import { copy as responsiveColorCopy } from "./copy/responsive-color";
9
11
  import { copy as tableFormFieldsCopy } from "./copy/table-form-fields";
10
- import { copy as tableCopy } from "./copy/table";
11
- import { copy as borderCopy } from "./copy/border";
12
12
  import { copy as richTextCopy } from "./copy/rich-text";
13
13
  import { copy as elementIdCopy } from "./copy/element-id";
14
14
  import { Types as PropControllerTypes } from "@makeswift/prop-controllers";
15
+ import {
16
+ copyResponsiveColorPropControllerData,
17
+ copyTablePropControllerData
18
+ } from "@makeswift/prop-controllers";
15
19
  function copy(descriptor, value, context) {
16
20
  switch (descriptor.type) {
17
21
  case "Backgrounds":
@@ -23,19 +27,19 @@ function copy(descriptor, value, context) {
23
27
  case PropControllerTypes.Link:
24
28
  return copyLinkPropControllerData(value, context);
25
29
  case "Shadows":
26
- return shadowsCopy(value, context);
30
+ return copyShadowsPropControllerData(value, context);
27
31
  case "Image":
28
32
  return imageCopy(descriptor, value, context);
29
33
  case "Images":
30
34
  return imagesCopy(descriptor, value, context);
31
35
  case "ResponsiveColor":
32
- return responsiveColorCopy(value, context);
36
+ return copyResponsiveColorPropControllerData(value, context);
33
37
  case "TableFormFields":
34
38
  return tableFormFieldsCopy(value, context);
35
- case "Table":
36
- return tableCopy(value, context);
37
- case "Border":
38
- return borderCopy(value, context);
39
+ case PropControllerTypes.Table:
40
+ return copyTablePropControllerData(value, context);
41
+ case PropControllerTypes.Border:
42
+ return copyBorderPropControllerData(value, context);
39
43
  case "RichText":
40
44
  return richTextCopy(value, context);
41
45
  case "ElementID":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { Descriptor } from './descriptors'\nimport { copy as backgroundsCopy } from './copy/backgrounds'\nimport { copy as gridCopy } from './copy/grid'\nimport { copy as navigationLinksCopy } from './copy/navigation-links'\nimport { copyLinkPropControllerData } from '@makeswift/prop-controllers'\nimport { copy as shadowsCopy } from './copy/shadows'\nimport { copy as imageCopy } from './copy/image'\nimport { copy as imagesCopy } from './copy/images'\nimport { copy as responsiveColorCopy } from './copy/responsive-color'\nimport { copy as tableFormFieldsCopy } from './copy/table-form-fields'\nimport { copy as tableCopy } from './copy/table'\nimport { copy as borderCopy } from './copy/border'\nimport { copy as richTextCopy } from './copy/rich-text'\nimport { copy as elementIdCopy } from './copy/element-id'\nimport { CopyContext } from '../state/react-page'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\n\n// @note: note typing value, because would then have to type narrow `Data` per case\nexport function copy(descriptor: Descriptor, value: any, context: CopyContext) {\n switch (descriptor.type) {\n case 'Backgrounds':\n return backgroundsCopy(descriptor, value, context)\n case 'Grid':\n return gridCopy(value, context)\n case 'NavigationLinks':\n return navigationLinksCopy(value, context)\n case PropControllerTypes.Link:\n return copyLinkPropControllerData(value, context)\n case 'Shadows':\n return shadowsCopy(value, context)\n case 'Image':\n return imageCopy(descriptor, value, context)\n case 'Images':\n return imagesCopy(descriptor, value, context)\n case 'ResponsiveColor':\n return responsiveColorCopy(value, context)\n case 'TableFormFields':\n return tableFormFieldsCopy(value, context)\n case 'Table':\n return tableCopy(value, context)\n case 'Border':\n return borderCopy(value, context)\n case 'RichText':\n return richTextCopy(value, context)\n case 'ElementID':\n return elementIdCopy(value, context)\n default:\n return value\n }\n}\n\nexport function copyElementReference(value: string, context: CopyContext) {\n return context.replacementContext.globalElementIds.get(value) || value\n}\n"],"mappings":"AACA,SAAS,QAAQ,uBAAuB;AACxC,SAAS,QAAQ,gBAAgB;AACjC,SAAS,QAAQ,2BAA2B;AAC5C,SAAS,kCAAkC;AAC3C,SAAS,QAAQ,mBAAmB;AACpC,SAAS,QAAQ,iBAAiB;AAClC,SAAS,QAAQ,kBAAkB;AACnC,SAAS,QAAQ,2BAA2B;AAC5C,SAAS,QAAQ,2BAA2B;AAC5C,SAAS,QAAQ,iBAAiB;AAClC,SAAS,QAAQ,kBAAkB;AACnC,SAAS,QAAQ,oBAAoB;AACrC,SAAS,QAAQ,qBAAqB;AAEtC,SAAS,SAAS,2BAA2B;AAGtC,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,aAAO,gBAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,aAAO,SAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,aAAO,oBAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,oBAAoB;AACvB,aAAO,2BAA2B,OAAO,OAAO;AAAA,IAClD,KAAK;AACH,aAAO,YAAY,OAAO,OAAO;AAAA,IACnC,KAAK;AACH,aAAO,UAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,aAAO,WAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,aAAO,oBAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,aAAO,oBAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,aAAO,UAAU,OAAO,OAAO;AAAA,IACjC,KAAK;AACH,aAAO,WAAW,OAAO,OAAO;AAAA,IAClC,KAAK;AACH,aAAO,aAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,aAAO,cAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":[]}
1
+ {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { Descriptor } from './descriptors'\nimport { copy as backgroundsCopy } from './copy/backgrounds'\nimport { copy as gridCopy } from './copy/grid'\nimport { copy as navigationLinksCopy } from './copy/navigation-links'\nimport {\n copyLinkPropControllerData,\n copyShadowsPropControllerData,\n copyBorderPropControllerData,\n} from '@makeswift/prop-controllers'\nimport { copy as imageCopy } from './copy/image'\nimport { copy as imagesCopy } from './copy/images'\nimport { copy as tableFormFieldsCopy } from './copy/table-form-fields'\nimport { copy as richTextCopy } from './copy/rich-text'\nimport { copy as elementIdCopy } from './copy/element-id'\nimport { CopyContext } from '../state/react-page'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport {\n copyResponsiveColorPropControllerData,\n copyTablePropControllerData,\n} from '@makeswift/prop-controllers'\n\n// @note: note typing value, because would then have to type narrow `Data` per case\nexport function copy(descriptor: Descriptor, value: any, context: CopyContext) {\n switch (descriptor.type) {\n case 'Backgrounds':\n return backgroundsCopy(descriptor, value, context)\n case 'Grid':\n return gridCopy(value, context)\n case 'NavigationLinks':\n return navigationLinksCopy(value, context)\n case PropControllerTypes.Link:\n return copyLinkPropControllerData(value, context)\n case 'Shadows':\n return copyShadowsPropControllerData(value, context)\n case 'Image':\n return imageCopy(descriptor, value, context)\n case 'Images':\n return imagesCopy(descriptor, value, context)\n case 'ResponsiveColor':\n return copyResponsiveColorPropControllerData(value, context)\n case 'TableFormFields':\n return tableFormFieldsCopy(value, context)\n case PropControllerTypes.Table:\n return copyTablePropControllerData(value, context)\n case PropControllerTypes.Border:\n return copyBorderPropControllerData(value, context)\n case 'RichText':\n return richTextCopy(value, context)\n case 'ElementID':\n return elementIdCopy(value, context)\n default:\n return value\n }\n}\n\nexport function copyElementReference(value: string, context: CopyContext) {\n return context.replacementContext.globalElementIds.get(value) || value\n}\n"],"mappings":"AACA,SAAS,QAAQ,uBAAuB;AACxC,SAAS,QAAQ,gBAAgB;AACjC,SAAS,QAAQ,2BAA2B;AAC5C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,QAAQ,iBAAiB;AAClC,SAAS,QAAQ,kBAAkB;AACnC,SAAS,QAAQ,2BAA2B;AAC5C,SAAS,QAAQ,oBAAoB;AACrC,SAAS,QAAQ,qBAAqB;AAEtC,SAAS,SAAS,2BAA2B;AAC7C;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAGA,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,aAAO,gBAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,aAAO,SAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,aAAO,oBAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,oBAAoB;AACvB,aAAO,2BAA2B,OAAO,OAAO;AAAA,IAClD,KAAK;AACH,aAAO,8BAA8B,OAAO,OAAO;AAAA,IACrD,KAAK;AACH,aAAO,UAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,aAAO,WAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,aAAO,sCAAsC,OAAO,OAAO;AAAA,IAC7D,KAAK;AACH,aAAO,oBAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,oBAAoB;AACvB,aAAO,4BAA4B,OAAO,OAAO;AAAA,IACnD,KAAK,oBAAoB;AACvB,aAAO,6BAA6B,OAAO,OAAO;AAAA,IACpD,KAAK;AACH,aAAO,aAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,aAAO,cAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":[]}