@makeswift/runtime 0.16.0-canary.1 → 0.16.0-canary.3

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 (231) hide show
  1. package/dist/cjs/builder/serialization/control-serialization.js +4 -4
  2. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  3. package/dist/cjs/components/builtin/Box/register.js +5 -5
  4. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  5. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  6. package/dist/cjs/components/builtin/Button/register.js +3 -3
  7. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  8. package/dist/cjs/components/builtin/Carousel/register.js +3 -3
  9. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  10. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  11. package/dist/cjs/components/builtin/Countdown/register.js +6 -6
  12. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  13. package/dist/cjs/components/builtin/Divider/register.js +3 -3
  14. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  15. package/dist/cjs/components/builtin/Embed/register.js +3 -2
  16. package/dist/cjs/components/builtin/Embed/register.js.map +1 -1
  17. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  18. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  19. package/dist/cjs/components/builtin/Form/register.js +6 -6
  20. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  21. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  22. package/dist/cjs/components/builtin/Image/register.js +3 -3
  23. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  24. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  25. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  26. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  27. package/dist/cjs/components/builtin/Navigation/register.js +4 -4
  28. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  29. package/dist/cjs/components/builtin/SocialLinks/register.js +4 -4
  30. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  31. package/dist/cjs/components/builtin/Text/Text.js +4 -3
  32. package/dist/cjs/components/builtin/Text/Text.js.map +1 -1
  33. package/dist/cjs/components/builtin/Text/register.js +5 -4
  34. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  35. package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
  36. package/dist/cjs/components/builtin/Video/register.js +4 -4
  37. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  38. package/dist/cjs/components/hooks/index.js +9 -1
  39. package/dist/cjs/components/hooks/index.js.map +1 -1
  40. package/dist/cjs/{prop-controllers/copy/table.js → components/hooks/useDatePropControllerData.js} +11 -10
  41. package/dist/cjs/components/hooks/useDatePropControllerData.js.map +1 -0
  42. package/dist/cjs/components/hooks/useFontPropControllerData.js +34 -0
  43. package/dist/cjs/components/hooks/useFontPropControllerData.js.map +1 -0
  44. package/dist/cjs/components/hooks/useTablePropControllerData.js +34 -0
  45. package/dist/cjs/components/hooks/useTablePropControllerData.js.map +1 -0
  46. package/dist/cjs/components/hooks/useTextStylePropControllerData.js +34 -0
  47. package/dist/cjs/components/hooks/useTextStylePropControllerData.js.map +1 -0
  48. package/dist/cjs/components/hooks/useVideoPropControllerData.js +34 -0
  49. package/dist/cjs/components/hooks/useVideoPropControllerData.js.map +1 -0
  50. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  51. package/dist/cjs/controls/control.js +1 -1
  52. package/dist/cjs/controls/control.js.map +1 -1
  53. package/dist/cjs/global.d.js +1 -0
  54. package/dist/cjs/global.d.js.map +1 -1
  55. package/dist/cjs/jest-setup.js +30 -0
  56. package/dist/cjs/jest-setup.js.map +1 -0
  57. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  58. package/dist/cjs/prop-controllers/copy.js +2 -3
  59. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  60. package/dist/cjs/prop-controllers/descriptors.js +0 -69
  61. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  62. package/dist/cjs/prop-controllers/index.js.map +1 -1
  63. package/dist/cjs/prop-controllers/introspection.js +2 -3
  64. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  65. package/dist/cjs/runtimes/react/controls.js +79 -27
  66. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  67. package/dist/cjs/utils/tests/breakpoint-test-util.js +35 -0
  68. package/dist/cjs/utils/tests/breakpoint-test-util.js.map +1 -0
  69. package/dist/cjs/utils/tests/element-data-test-test.js +74 -0
  70. package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -0
  71. package/dist/esm/builder/serialization/control-serialization.js +4 -4
  72. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  73. package/dist/esm/components/builtin/Box/register.js +14 -6
  74. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  75. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  76. package/dist/esm/components/builtin/Button/register.js +4 -4
  77. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  78. package/dist/esm/components/builtin/Carousel/register.js +4 -4
  79. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  80. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  81. package/dist/esm/components/builtin/Countdown/register.js +13 -7
  82. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  83. package/dist/esm/components/builtin/Divider/register.js +4 -4
  84. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  85. package/dist/esm/components/builtin/Embed/register.js +3 -2
  86. package/dist/esm/components/builtin/Embed/register.js.map +1 -1
  87. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  88. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  89. package/dist/esm/components/builtin/Form/register.js +15 -7
  90. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  91. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  92. package/dist/esm/components/builtin/Image/register.js +13 -4
  93. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  94. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  95. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  96. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  97. package/dist/esm/components/builtin/Navigation/register.js +8 -5
  98. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  99. package/dist/esm/components/builtin/SocialLinks/register.js +5 -5
  100. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  101. package/dist/esm/components/builtin/Text/Text.js +4 -3
  102. package/dist/esm/components/builtin/Text/Text.js.map +1 -1
  103. package/dist/esm/components/builtin/Text/register.js +5 -4
  104. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  105. package/dist/esm/components/builtin/Video/Video.js.map +1 -1
  106. package/dist/esm/components/builtin/Video/register.js +5 -5
  107. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  108. package/dist/esm/components/hooks/index.js +4 -0
  109. package/dist/esm/components/hooks/index.js.map +1 -1
  110. package/dist/esm/components/hooks/useDatePropControllerData.js +12 -0
  111. package/dist/esm/components/hooks/useDatePropControllerData.js.map +1 -0
  112. package/dist/esm/components/hooks/useFontPropControllerData.js +12 -0
  113. package/dist/esm/components/hooks/useFontPropControllerData.js.map +1 -0
  114. package/dist/esm/components/hooks/useTablePropControllerData.js +12 -0
  115. package/dist/esm/components/hooks/useTablePropControllerData.js.map +1 -0
  116. package/dist/esm/components/hooks/useTextStylePropControllerData.js +12 -0
  117. package/dist/esm/components/hooks/useTextStylePropControllerData.js.map +1 -0
  118. package/dist/esm/components/hooks/useVideoPropControllerData.js +12 -0
  119. package/dist/esm/components/hooks/useVideoPropControllerData.js.map +1 -0
  120. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  121. package/dist/esm/controls/control.js +1 -1
  122. package/dist/esm/controls/control.js.map +1 -1
  123. package/dist/esm/global.d.js +1 -0
  124. package/dist/esm/global.d.js.map +1 -1
  125. package/dist/esm/jest-setup.js +29 -0
  126. package/dist/esm/jest-setup.js.map +1 -0
  127. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  128. package/dist/esm/prop-controllers/copy.js +6 -4
  129. package/dist/esm/prop-controllers/copy.js.map +1 -1
  130. package/dist/esm/prop-controllers/descriptors.js +0 -58
  131. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  132. package/dist/esm/prop-controllers/index.js.map +1 -1
  133. package/dist/esm/prop-controllers/introspection.js +4 -4
  134. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  135. package/dist/esm/runtimes/react/controls.js +72 -14
  136. package/dist/esm/runtimes/react/controls.js.map +1 -1
  137. package/dist/esm/utils/tests/breakpoint-test-util.js +9 -0
  138. package/dist/esm/utils/tests/breakpoint-test-util.js.map +1 -0
  139. package/dist/esm/utils/tests/element-data-test-test.js +49 -0
  140. package/dist/esm/utils/tests/element-data-test-test.js.map +1 -0
  141. package/dist/types/builder/serialization/control-serialization.d.ts +12 -12
  142. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  143. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  144. package/dist/types/components/builtin/Button/Button.d.ts +4 -4
  145. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  146. package/dist/types/components/builtin/Countdown/Countdown.d.ts +5 -4
  147. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  148. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  149. package/dist/types/components/builtin/Embed/register.d.ts.map +1 -1
  150. package/dist/types/components/builtin/Form/Form.d.ts +5 -5
  151. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  152. package/dist/types/components/builtin/Form/context/FormContext.d.ts +2 -3
  153. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  154. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  155. package/dist/types/components/builtin/Image/Image.d.ts +3 -3
  156. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  157. package/dist/types/components/builtin/Image/register.d.ts.map +1 -1
  158. package/dist/types/components/builtin/Navigation/Navigation.d.ts +3 -3
  159. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  160. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +2 -3
  161. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  162. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +2 -3
  163. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  164. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  165. package/dist/types/components/builtin/Text/Text.d.ts +2 -1
  166. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  167. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  168. package/dist/types/components/builtin/Video/Video.d.ts +3 -2
  169. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  170. package/dist/types/components/hooks/index.d.ts +4 -0
  171. package/dist/types/components/hooks/index.d.ts.map +1 -1
  172. package/dist/types/components/hooks/useDatePropControllerData.d.ts +3 -0
  173. package/dist/types/components/hooks/useDatePropControllerData.d.ts.map +1 -0
  174. package/dist/types/components/hooks/useFontPropControllerData.d.ts +3 -0
  175. package/dist/types/components/hooks/useFontPropControllerData.d.ts.map +1 -0
  176. package/dist/types/components/hooks/useTablePropControllerData.d.ts +3 -0
  177. package/dist/types/components/hooks/useTablePropControllerData.d.ts.map +1 -0
  178. package/dist/types/components/hooks/useTextStylePropControllerData.d.ts +3 -0
  179. package/dist/types/components/hooks/useTextStylePropControllerData.d.ts.map +1 -0
  180. package/dist/types/components/hooks/useVideoPropControllerData.d.ts +3 -0
  181. package/dist/types/components/hooks/useVideoPropControllerData.d.ts.map +1 -0
  182. package/dist/types/components/utils/responsive-style.d.ts +5 -6
  183. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  184. package/dist/types/jest-setup.d.ts +2 -0
  185. package/dist/types/jest-setup.d.ts.map +1 -0
  186. package/dist/types/next/components/tests/page-border-prop-controller.test.d.ts +3 -0
  187. package/dist/types/next/components/tests/page-border-prop-controller.test.d.ts.map +1 -0
  188. package/dist/types/next/components/tests/page-date-prop-controller.test.d.ts +3 -0
  189. package/dist/types/next/components/tests/page-date-prop-controller.test.d.ts.map +1 -0
  190. package/dist/types/next/components/tests/page-font-prop-controller.test.d.ts +3 -0
  191. package/dist/types/next/components/tests/page-font-prop-controller.test.d.ts.map +1 -0
  192. package/dist/types/next/components/tests/page-margin-prop-controller.test.d.ts +3 -0
  193. package/dist/types/next/components/tests/page-margin-prop-controller.test.d.ts.map +1 -0
  194. package/dist/types/next/components/tests/page-padding-prop-controller.test.d.ts +3 -0
  195. package/dist/types/next/components/tests/page-padding-prop-controller.test.d.ts.map +1 -0
  196. package/dist/types/next/components/tests/page-table-prop-controller.test.d.ts +3 -0
  197. package/dist/types/next/components/tests/page-table-prop-controller.test.d.ts.map +1 -0
  198. package/dist/types/next/components/tests/page-text-style-prop-controller.test.d.ts +3 -0
  199. package/dist/types/next/components/tests/page-text-style-prop-controller.test.d.ts.map +1 -0
  200. package/dist/types/next/components/tests/page-video-prop-controller.test.d.ts +3 -0
  201. package/dist/types/next/components/tests/page-video-prop-controller.test.d.ts.map +1 -0
  202. package/dist/types/next/components/tests/page-width-prop-controller.test.d.ts +3 -0
  203. package/dist/types/next/components/tests/page-width-prop-controller.test.d.ts.map +1 -0
  204. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  205. package/dist/types/prop-controllers/descriptors.d.ts +23 -191
  206. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  207. package/dist/types/prop-controllers/index.d.ts +1 -1
  208. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  209. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  210. package/dist/types/runtimes/react/controls.d.ts +1 -5
  211. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  212. package/dist/types/slate/test-helpers/editor-v1.d.ts +2 -1
  213. package/dist/types/slate/test-helpers/editor-v1.d.ts.map +1 -1
  214. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts +1 -0
  215. package/dist/types/slate/test-helpers/editor-v2-inline.d.ts.map +1 -1
  216. package/dist/types/slate/test-helpers/editor-v2.d.ts +1 -0
  217. package/dist/types/slate/test-helpers/editor-v2.d.ts.map +1 -1
  218. package/dist/types/state/react-page.test.d.ts +1 -0
  219. package/dist/types/state/react-page.test.d.ts.map +1 -1
  220. package/dist/types/utils/tests/breakpoint-test-util.d.ts +4 -0
  221. package/dist/types/utils/tests/breakpoint-test-util.d.ts.map +1 -0
  222. package/dist/types/utils/tests/element-data-test-test.d.ts +20 -0
  223. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -0
  224. package/package.json +13 -6
  225. package/dist/cjs/prop-controllers/copy/table.js.map +0 -1
  226. package/dist/esm/prop-controllers/copy/table.js +0 -9
  227. package/dist/esm/prop-controllers/copy/table.js.map +0 -1
  228. package/dist/types/prop-controllers/copy/table.d.ts +0 -4
  229. package/dist/types/prop-controllers/copy/table.d.ts.map +0 -1
  230. package/dist/types/prop-controllers/copy/table.test.d.ts +0 -2
  231. package/dist/types/prop-controllers/copy/table.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Video/Video.tsx"],"sourcesContent":["'use client'\n\nimport { cx } from '@emotion/css'\nimport { forwardRef, Ref, useEffect, useState } from 'react'\nimport ReactPlayer from 'react-player'\n\nimport { ElementIDValue, VideoValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { placeholders } from '../../utils/placeholders'\n\ntype Props = {\n id?: ElementIDValue\n video?: VideoValue\n width?: string\n margin?: string\n borderRadius?: string\n}\n\nconst ASPECT_RATIO = 16 / 9\n\nconst Video = forwardRef(function Video(\n { id, video, width, margin, borderRadius }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const canPlayUrl = video && video.url != null && ReactPlayer.canPlay(video.url)\n /**\n * @see https://github.com/cookpete/react-player/issues/1428\n */\n const [shouldRenderReactPlayer, setShouldRenderReactPlayer] = useState(false)\n\n useEffect(() => {\n setShouldRenderReactPlayer(true)\n }, [])\n\n return (\n <div\n ref={ref}\n id={id}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'column', overflow: 'hidden' }),\n width,\n margin,\n borderRadius,\n )}\n >\n <div style={{ position: 'relative', paddingTop: `${100 / ASPECT_RATIO}%` }}>\n <div style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }}>\n {shouldRenderReactPlayer && canPlayUrl === true ? (\n <ReactPlayer\n {...video}\n width=\"100%\"\n height=\"100%\"\n config={{\n vimeo: { playerOptions: { background: video != null && !video.controls } },\n wistia: {\n options: {\n endVideoBehavior: video != null && video.loop === true ? 'loop' : 'default',\n },\n },\n }}\n />\n ) : (\n <img width=\"100%\" src={placeholders.video.src} alt=\"Video Placeholder\" />\n )}\n </div>\n </div>\n </div>\n )\n})\n\nexport default Video\n"],"mappings":";AAgDY;AA9CZ,SAAS,UAAU;AACnB,SAAS,YAAiB,WAAW,gBAAgB;AACrD,OAAO,iBAAiB;AAGxB,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAU7B,MAAM,eAAe,KAAK;AAE1B,MAAM,QAAQ,WAAW,SAASA,OAChC,EAAE,IAAI,OAAO,OAAO,QAAQ,aAAa,GACzC,KACA;AACA,QAAM,aAAa,SAAS,MAAM,OAAO,QAAQ,YAAY,QAAQ,MAAM,GAAG;AAI9E,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,YAAU,MAAM;AACd,+BAA2B,IAAI;AAAA,EACjC,GAAG,CAAC,CAAC;AAEL,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,SAAS,EAAE,SAAS,QAAQ,eAAe,UAAU,UAAU,SAAS,CAAC;AAAA,QACzE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEA,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,YAAY,GAAG,MAAM,YAAY,IAAI,GACvE,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,GACtE,qCAA2B,eAAe,OACzC;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAM;AAAA,UACN,QAAO;AAAA,UACP,QAAQ;AAAA,YACN,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,QAAQ,CAAC,MAAM,SAAS,EAAE;AAAA,YACzE,QAAQ;AAAA,cACN,SAAS;AAAA,gBACP,kBAAkB,SAAS,QAAQ,MAAM,SAAS,OAAO,SAAS;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AAAA;AAAA,MACF,IAEA,oBAAC,SAAI,OAAM,QAAO,KAAK,aAAa,MAAM,KAAK,KAAI,qBAAoB,GAE3E,GACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,gBAAQ;","names":["Video"]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Video/Video.tsx"],"sourcesContent":["'use client'\n\nimport { cx } from '@emotion/css'\nimport { forwardRef, Ref, useEffect, useState } from 'react'\nimport ReactPlayer from 'react-player'\n\nimport { ElementIDValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { placeholders } from '../../utils/placeholders'\nimport { VideoData } from '@makeswift/prop-controllers'\n\ntype Props = {\n id?: ElementIDValue\n video?: VideoData\n width?: string\n margin?: string\n borderRadius?: string\n}\n\nconst ASPECT_RATIO = 16 / 9\n\nconst Video = forwardRef(function Video(\n { id, video, width, margin, borderRadius }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const canPlayUrl = video && video.url != null && ReactPlayer.canPlay(video.url)\n /**\n * @see https://github.com/cookpete/react-player/issues/1428\n */\n const [shouldRenderReactPlayer, setShouldRenderReactPlayer] = useState(false)\n\n useEffect(() => {\n setShouldRenderReactPlayer(true)\n }, [])\n\n return (\n <div\n ref={ref}\n id={id}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'column', overflow: 'hidden' }),\n width,\n margin,\n borderRadius,\n )}\n >\n <div style={{ position: 'relative', paddingTop: `${100 / ASPECT_RATIO}%` }}>\n <div style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }}>\n {shouldRenderReactPlayer && canPlayUrl === true ? (\n <ReactPlayer\n {...video}\n width=\"100%\"\n height=\"100%\"\n config={{\n vimeo: { playerOptions: { background: video != null && !video.controls } },\n wistia: {\n options: {\n endVideoBehavior: video != null && video.loop === true ? 'loop' : 'default',\n },\n },\n }}\n />\n ) : (\n <img width=\"100%\" src={placeholders.video.src} alt=\"Video Placeholder\" />\n )}\n </div>\n </div>\n </div>\n )\n})\n\nexport default Video\n"],"mappings":";AAiDY;AA/CZ,SAAS,UAAU;AACnB,SAAS,YAAiB,WAAW,gBAAgB;AACrD,OAAO,iBAAiB;AAGxB,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAW7B,MAAM,eAAe,KAAK;AAE1B,MAAM,QAAQ,WAAW,SAASA,OAChC,EAAE,IAAI,OAAO,OAAO,QAAQ,aAAa,GACzC,KACA;AACA,QAAM,aAAa,SAAS,MAAM,OAAO,QAAQ,YAAY,QAAQ,MAAM,GAAG;AAI9E,QAAM,CAAC,yBAAyB,0BAA0B,IAAI,SAAS,KAAK;AAE5E,YAAU,MAAM;AACd,+BAA2B,IAAI;AAAA,EACjC,GAAG,CAAC,CAAC;AAEL,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT,SAAS,EAAE,SAAS,QAAQ,eAAe,UAAU,UAAU,SAAS,CAAC;AAAA,QACzE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEA,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,YAAY,GAAG,MAAM,YAAY,IAAI,GACvE,8BAAC,SAAI,OAAO,EAAE,UAAU,YAAY,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,EAAE,GACtE,qCAA2B,eAAe,OACzC;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAM;AAAA,UACN,QAAO;AAAA,UACP,QAAQ;AAAA,YACN,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,QAAQ,CAAC,MAAM,SAAS,EAAE;AAAA,YACzE,QAAQ;AAAA,cACN,SAAS;AAAA,gBACP,kBAAkB,SAAS,QAAQ,MAAM,SAAS,OAAO,SAAS;AAAA,cACpE;AAAA,YACF;AAAA,UACF;AAAA;AAAA,MACF,IAEA,oBAAC,SAAI,OAAM,QAAO,KAAK,aAAa,MAAM,KAAK,KAAI,qBAAoB,GAE3E,GACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,gBAAQ;","names":["Video"]}
@@ -2,7 +2,7 @@ import { Props } from "../../../prop-controllers";
2
2
  import { MakeswiftComponentType } from "../constants";
3
3
  import { ComponentIcon } from "../../../state/modules/components-meta";
4
4
  import { lazy } from "react";
5
- import { BorderRadius } from "@makeswift/prop-controllers";
5
+ import { BorderRadius, Margin, Video, Width } from "@makeswift/prop-controllers";
6
6
  function registerComponent(runtime) {
7
7
  return runtime.registerComponent(
8
8
  lazy(() => import("./Video")),
@@ -12,12 +12,12 @@ function registerComponent(runtime) {
12
12
  icon: ComponentIcon.Video,
13
13
  props: {
14
14
  id: Props.ElementID(),
15
- video: Props.Video({ preset: { controls: true } }),
16
- width: Props.Width({
17
- format: Props.Width.Format.ClassName,
15
+ video: Video({ preset: { controls: true } }),
16
+ width: Width({
17
+ format: Width.Format.ClassName,
18
18
  defaultValue: { value: 560, unit: "px" }
19
19
  }),
20
- margin: Props.Margin({ format: Props.Margin.Format.ClassName }),
20
+ margin: Margin({ format: Margin.Format.ClassName }),
21
21
  borderRadius: BorderRadius({ format: BorderRadius.Format.ClassName })
22
22
  }
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/builtin/Video/register.ts"],"sourcesContent":["import { Props } from '../../../prop-controllers'\nimport { ReactRuntime } from '../../../runtimes/react'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport { BorderRadius } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Video')),\n {\n type: MakeswiftComponentType.Video,\n label: 'Video',\n icon: ComponentIcon.Video,\n props: {\n id: Props.ElementID(),\n video: Props.Video({ preset: { controls: true } }),\n width: Props.Width({\n format: Props.Width.Format.ClassName,\n defaultValue: { value: 560, unit: 'px' },\n }),\n margin: Props.Margin({ format: Props.Margin.Format.ClassName }),\n borderRadius: BorderRadius({ format: BorderRadius.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"AAAA,SAAS,aAAa;AAEtB,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAEtB,SAAS,kBAAkB,SAAuB;AACvD,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,SAAS,CAAC;AAAA,IAC5B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,MAAM,cAAc;AAAA,MACpB,OAAO;AAAA,QACL,IAAI,MAAM,UAAU;AAAA,QACpB,OAAO,MAAM,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,EAAE,CAAC;AAAA,QACjD,OAAO,MAAM,MAAM;AAAA,UACjB,QAAQ,MAAM,MAAM,OAAO;AAAA,UAC3B,cAAc,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,QACzC,CAAC;AAAA,QACD,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,OAAO,OAAO,UAAU,CAAC;AAAA,QAC9D,cAAc,aAAa,EAAE,QAAQ,aAAa,OAAO,UAAU,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/builtin/Video/register.ts"],"sourcesContent":["import { Props } from '../../../prop-controllers'\nimport { ReactRuntime } from '../../../runtimes/react'\nimport { MakeswiftComponentType } from '../constants'\nimport { ComponentIcon } from '../../../state/modules/components-meta'\nimport { lazy } from 'react'\nimport { BorderRadius, Margin, Video, Width } from '@makeswift/prop-controllers'\n\nexport function registerComponent(runtime: ReactRuntime) {\n return runtime.registerComponent(\n lazy(() => import('./Video')),\n {\n type: MakeswiftComponentType.Video,\n label: 'Video',\n icon: ComponentIcon.Video,\n props: {\n id: Props.ElementID(),\n video: Video({ preset: { controls: true } }),\n width: Width({\n format: Width.Format.ClassName,\n defaultValue: { value: 560, unit: 'px' },\n }),\n margin: Margin({ format: Margin.Format.ClassName }),\n borderRadius: BorderRadius({ format: BorderRadius.Format.ClassName }),\n },\n },\n )\n}\n"],"mappings":"AAAA,SAAS,aAAa;AAEtB,SAAS,8BAA8B;AACvC,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,cAAc,QAAQ,OAAO,aAAa;AAE5C,SAAS,kBAAkB,SAAuB;AACvD,SAAO,QAAQ;AAAA,IACb,KAAK,MAAM,OAAO,SAAS,CAAC;AAAA,IAC5B;AAAA,MACE,MAAM,uBAAuB;AAAA,MAC7B,OAAO;AAAA,MACP,MAAM,cAAc;AAAA,MACpB,OAAO;AAAA,QACL,IAAI,MAAM,UAAU;AAAA,QACpB,OAAO,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,EAAE,CAAC;AAAA,QAC3C,OAAO,MAAM;AAAA,UACX,QAAQ,MAAM,OAAO;AAAA,UACrB,cAAc,EAAE,OAAO,KAAK,MAAM,KAAK;AAAA,QACzC,CAAC;AAAA,QACD,QAAQ,OAAO,EAAE,QAAQ,OAAO,OAAO,UAAU,CAAC;AAAA,QAClD,cAAc,aAAa,EAAE,QAAQ,aAAa,OAAO,UAAU,CAAC;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -5,4 +5,8 @@ export * from "./useResponsiveColor";
5
5
  export * from "./useMediaQuery";
6
6
  export * from "./useLinkPropControllerData";
7
7
  export * from "./useCheckboxPropControllerData";
8
+ export * from "./useDatePropControllerData";
9
+ export * from "./useFontPropControllerData";
10
+ export * from "./useVideoPropControllerData";
11
+ export * from "./useTablePropControllerData";
8
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/index.ts"],"sourcesContent":["export * from './useBackgrounds'\nexport * from './useBorder'\nexport * from './useBoxShadow'\nexport * from './useResponsiveColor'\nexport * from './useMediaQuery'\nexport * from './useLinkPropControllerData'\nexport * from './useCheckboxPropControllerData'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/index.ts"],"sourcesContent":["export * from './useBackgrounds'\nexport * from './useBorder'\nexport * from './useBoxShadow'\nexport * from './useResponsiveColor'\nexport * from './useMediaQuery'\nexport * from './useLinkPropControllerData'\nexport * from './useCheckboxPropControllerData'\nexport * from './useDatePropControllerData'\nexport * from './useFontPropControllerData'\nexport * from './useVideoPropControllerData'\nexport * from './useTablePropControllerData'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getDatePropControllerDataString
3
+ } from "@makeswift/prop-controllers";
4
+ function useDatePropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getDatePropControllerDataString(data);
8
+ }
9
+ export {
10
+ useDatePropControllerData
11
+ };
12
+ //# sourceMappingURL=useDatePropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useDatePropControllerData.ts"],"sourcesContent":["import {\n DatePropControllerData,\n getDatePropControllerDataString,\n} from '@makeswift/prop-controllers'\n\nexport function useDatePropControllerData(\n data: DatePropControllerData | undefined,\n): string | undefined {\n if (data == null) return data\n\n return getDatePropControllerDataString(data)\n}\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,OACK;AAEA,SAAS,0BACd,MACoB;AACpB,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,gCAAgC,IAAI;AAC7C;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ getFontPropControllerDataResponsiveFontData
3
+ } from "@makeswift/prop-controllers";
4
+ function useFontPropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getFontPropControllerDataResponsiveFontData(data);
8
+ }
9
+ export {
10
+ useFontPropControllerData
11
+ };
12
+ //# sourceMappingURL=useFontPropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useFontPropControllerData.ts"],"sourcesContent":["import {\n FontPropControllerData,\n ResponsiveFontData,\n getFontPropControllerDataResponsiveFontData,\n} from '@makeswift/prop-controllers'\n\nexport function useFontPropControllerData(\n data: FontPropControllerData | undefined,\n): ResponsiveFontData | undefined {\n if (data == null) return data\n\n return getFontPropControllerDataResponsiveFontData(data)\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,OACK;AAEA,SAAS,0BACd,MACgC;AAChC,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,4CAA4C,IAAI;AACzD;","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
+ getTextStylePropControllerDataResponsiveTextStyleData
3
+ } from "@makeswift/prop-controllers";
4
+ function useTextStylePropControllerData(data) {
5
+ if (data == null)
6
+ return data;
7
+ return getTextStylePropControllerDataResponsiveTextStyleData(data);
8
+ }
9
+ export {
10
+ useTextStylePropControllerData
11
+ };
12
+ //# sourceMappingURL=useTextStylePropControllerData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hooks/useTextStylePropControllerData.ts"],"sourcesContent":["import {\n ResponsiveTextStyleData,\n TextStylePropControllerData,\n getTextStylePropControllerDataResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\nexport function useTextStylePropControllerData(\n data: TextStylePropControllerData | undefined,\n): ResponsiveTextStyleData | undefined {\n if (data == null) return data\n\n return getTextStylePropControllerDataResponsiveTextStyleData(data)\n}\n"],"mappings":"AAAA;AAAA,EAGE;AAAA,OACK;AAEA,SAAS,+BACd,MACqC;AACrC,MAAI,QAAQ;AAAM,WAAO;AAEzB,SAAO,sDAAsD,IAAI;AACnE;","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/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 ResponsiveValue,\n} from '@makeswift/prop-controllers'\n\nimport {\n WidthValue,\n PaddingValue,\n MarginValue,\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 { 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: WidthValue | 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: 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: 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":"AAeA;AAAA,EAEE;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,OAEH;AACP,SAAS,kBAAkB;AAC3B,SAA8B,kCAAkC;AAChE,SAA6B,iCAAiC;AAC9D,SAAmC,uCAAuC;AAC1E,SAA6B,iCAAiC;AAE9D,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAGxB,SAAS,gBACd,aACA,kBACA,MACA,UACW;AACX,SAAO,qBAAqB,aAAa,kBAAkB,MAAM,QAAQ,EAAE;AAAA,IACzE,CAAC,KAAK,EAAE,UAAU,MAAM,MAAM;AAC5B,YAAM,aAAa,cAAc,aAAa,QAAQ;AACtD,YAAM,aAAa,wBAAwB,UAAU;AAErD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,UAAU,GAAG;AAAA,UACZ,GAAI,IAAI,UAAU;AAAA,UAClB,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAEO,SAAS,mBAId,kBACA,MACA,UACW;AACX,SAAO,gBAAgB,eAAe,GAAG,kBAAkB,MAAM,QAAQ;AAC3E;AAEO,SAAS,gBACd,aACA,WACA,eAA4D,QACjD;AACX,SAAO;AAAA,IACL,UAAU;AAAA,IACV,GAAG,gBAAgB,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,YAAY,OAAO;AAAA,MACxE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK;AAAA,IACrE,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sBACX,MACQ;AACX,SAAO,gBAAgB,eAAe,GAAG,GAAG,IAAI;AAClD;AAEO,SAAS,kBACd,aACA,aACA,eAAoC,CAAC,GAC1B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,WAAW;AAAA,IAAG,CAAC,CAAC,UAAU,CAAC,CAAwB,MACtF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,EAAE;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,wBACX,MACQ;AACX,SAAO,kBAAkB,eAAe,GAAG,GAAG,IAAI;AACpD;AAEO,SAAS,iBACd,aACA,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAuB,MACnF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,WAAW,GAAG,aAAa,QAAQ,cAAc,GAAG,YAAY,OAAO;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,uBACd,aACA,kBACA,eAAyC,CAAC,GAC/B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,gBAAgB;AAAA,IAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MACzE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,qBAAqB;AAAA,UACrB,sBAAsB;AAAA,UACtB,yBAAyB;AAAA,UACzB,wBAAwB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACX,MACQ;AACX,SAAO,uBAAuB,eAAe,GAAG,GAAG,IAAI;AACzD;AAEO,SAAS,oBACd,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAmB,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MACnD;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,QACJ,CAAC,MACD,CAAC,MACC,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,MAAM;AAE7B,SAAS,mBACd,aACA,OAMW;AACX,SAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAG;AAAA,MACD;AAAA,MACA,CAAC,MAAM,MAAM,MAAM,WAAW,MAAM,MAAM;AAAA,MAC1C,CAAC;AAAA,QACC,EAAE,OAAO,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG;AAAA,QAC9C,YAAY,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,QACnC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,MAClC,MAAM;AACJ,cAAM,CAAC,UAAU,WAAW,IAAI,WAAW,OAAO,MAAM,KAAK;AAC7D,cAAM,WAAW,gBAAgB;AACjC,cAAM,UAAU,gBAAgB,MAAM,QAAQ,EAAE,SAAS;AACzD,cAAM,OAAO,MAAM,QAAQ,EAAE,WAAW;AACxC,cAAM,WAAW,MAAM,CAAC,EAAE,OAAO,KAAK;AACtC,cAAM,QAAQ,GAAG,QAAQ,cAAc,UAAU,KAAK,GAAG,UAAU,IAAI;AACvE,cAAM,cAAc,GAAG,OAAO,QAAQ,IAAI,OAAO,OAAO,CAAC,MAAM,UAAU,KAAK,GAC5E,UAAU,IACZ;AACA,cAAM,mBAAmB;AACzB,cAAM,YAAY,QAAQ,KAAK,MAAM,WAAW,MAAM,gBAAgB;AACtE,cAAM,WAAW,aAAa;AAC9B,cAAM,UAAU,aAAa,MAAM,SAAS;AAE5C,eAAO,SAAS,IACZ,EAAE,SAAS,OAAO,IAClB;AAAA,UACE;AAAA,UACA,UAAU;AAAA;AAAA;AAAA,UAGV,UAAU;AAAA,UACV,aAAa,WAAW,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,cAAc,UAAU,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,YAAY,WAAW,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,UAC5D,eAAe,UAAU,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,QAChE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,yBACX,MACQ;AACX,SAAO,mBAAmB,eAAe,GAAG,GAAG,IAAI;AACrD;AAEA,MAAM,eAAe,CAAC,YACpB,QACG;AAAA,EACC,CAAC,EAAE,SAAS,EAAE,OAAO,SAAS,SAAS,YAAY,cAAc,MAAM,EAAE,MACvE,GAAG,QAAQ,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC,MAAM,QAAQ;AAAA,IACzD;AAAA,EACF,CAAC,MAAM,UAAU,MAAM,YAAY,MACjC,SAAS,OAAO,cAAc,KAAK,IAAI,iBACzC;AACJ,EACC,OAAO,OAAO,EACd,KAAK;AAEH,SAAS,iBACd,aACA,OACW;AACX,SAAO,gBAAgB,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;AAAA,IAC/D,WAAW,aAAa,MAAM;AAAA,EAChC,EAAE;AACJ;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,oBACd,aACA,OACW;AACX,SAAO;AAAA,IACL;AAAA,IACA,CAAC,KAAK;AAAA,IACN,CAAC;AAAA,MACC,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,eAAe,CAAC;AAAA,QAChB,WAAW,CAAC;AAAA,MACd;AAAA,IACF,MAAM;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA,YAAY,CAAC;AAAA,QACb,gBAAgB,CAAC;AAAA,QACjB;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,aAAO;AAAA,QACL,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,UAAU,IAAI;AAAA,QAC9D,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,WAAW;AAAA,QAC3C,GAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,cAAc;AAAA,QACjD,GAAI,YAAY,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,GAAG,SAAS,IAAI,GAAG;AAAA,QAC5E,GAAI,cAAc,SAAS,WAAW,IAAI,EAAE,eAAe,YAAY,IAAI,CAAC;AAAA,QAC5E,GAAI,UAAU,SAAS,QAAQ,IAAI,EAAE,WAAW,SAAS,IAAI,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,0BACX,MACQ;AACX,SAAO,oBAAoB,eAAe,GAAG,GAAG,IAAI;AACtD;","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 ResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\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: ResponsiveTextStyleData | 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":"AAaA;AAAA,EAEE;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,OAEH;AACP,SAAS,kBAAkB;AAC3B,SAA8B,kCAAkC;AAChE,SAA6B,iCAAiC;AAC9D,SAAmC,uCAAuC;AAC1E,SAA6B,iCAAiC;AAE9D,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAGxB,SAAS,gBACd,aACA,kBACA,MACA,UACW;AACX,SAAO,qBAAqB,aAAa,kBAAkB,MAAM,QAAQ,EAAE;AAAA,IACzE,CAAC,KAAK,EAAE,UAAU,MAAM,MAAM;AAC5B,YAAM,aAAa,cAAc,aAAa,QAAQ;AACtD,YAAM,aAAa,wBAAwB,UAAU;AAErD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,UAAU,GAAG;AAAA,UACZ,GAAI,IAAI,UAAU;AAAA,UAClB,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAEO,SAAS,mBAId,kBACA,MACA,UACW;AACX,SAAO,gBAAgB,eAAe,GAAG,kBAAkB,MAAM,QAAQ;AAC3E;AAEO,SAAS,gBACd,aACA,WACA,eAA4D,QACjD;AACX,SAAO;AAAA,IACL,UAAU;AAAA,IACV,GAAG,gBAAgB,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,YAAY,OAAO;AAAA,MACxE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK;AAAA,IACrE,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sBACX,MACQ;AACX,SAAO,gBAAgB,eAAe,GAAG,GAAG,IAAI;AAClD;AAEO,SAAS,kBACd,aACA,aACA,eAAoC,CAAC,GAC1B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,WAAW;AAAA,IAAG,CAAC,CAAC,UAAU,CAAC,CAAwB,MACtF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,EAAE;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,wBACX,MACQ;AACX,SAAO,kBAAkB,eAAe,GAAG,GAAG,IAAI;AACpD;AAEO,SAAS,iBACd,aACA,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAuB,MACnF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,WAAW,GAAG,aAAa,QAAQ,cAAc,GAAG,YAAY,OAAO;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,uBACd,aACA,kBACA,eAAyC,CAAC,GAC/B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,gBAAgB;AAAA,IAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MACzE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,qBAAqB;AAAA,UACrB,sBAAsB;AAAA,UACtB,yBAAyB;AAAA,UACzB,wBAAwB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACX,MACQ;AACX,SAAO,uBAAuB,eAAe,GAAG,GAAG,IAAI;AACzD;AAEO,SAAS,oBACd,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAmB,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MACnD;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,QACJ,CAAC,MACD,CAAC,MACC,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,MAAM;AAE7B,SAAS,mBACd,aACA,OAMW;AACX,SAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAG;AAAA,MACD;AAAA,MACA,CAAC,MAAM,MAAM,MAAM,WAAW,MAAM,MAAM;AAAA,MAC1C,CAAC;AAAA,QACC,EAAE,OAAO,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG;AAAA,QAC9C,YAAY,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,QACnC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,MAClC,MAAM;AACJ,cAAM,CAAC,UAAU,WAAW,IAAI,WAAW,OAAO,MAAM,KAAK;AAC7D,cAAM,WAAW,gBAAgB;AACjC,cAAM,UAAU,gBAAgB,MAAM,QAAQ,EAAE,SAAS;AACzD,cAAM,OAAO,MAAM,QAAQ,EAAE,WAAW;AACxC,cAAM,WAAW,MAAM,CAAC,EAAE,OAAO,KAAK;AACtC,cAAM,QAAQ,GAAG,QAAQ,cAAc,UAAU,KAAK,GAAG,UAAU,IAAI;AACvE,cAAM,cAAc,GAAG,OAAO,QAAQ,IAAI,OAAO,OAAO,CAAC,MAAM,UAAU,KAAK,GAC5E,UAAU,IACZ;AACA,cAAM,mBAAmB;AACzB,cAAM,YAAY,QAAQ,KAAK,MAAM,WAAW,MAAM,gBAAgB;AACtE,cAAM,WAAW,aAAa;AAC9B,cAAM,UAAU,aAAa,MAAM,SAAS;AAE5C,eAAO,SAAS,IACZ,EAAE,SAAS,OAAO,IAClB;AAAA,UACE;AAAA,UACA,UAAU;AAAA;AAAA;AAAA,UAGV,UAAU;AAAA,UACV,aAAa,WAAW,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,cAAc,UAAU,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,YAAY,WAAW,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,UAC5D,eAAe,UAAU,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,QAChE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,yBACX,MACQ;AACX,SAAO,mBAAmB,eAAe,GAAG,GAAG,IAAI;AACrD;AAEA,MAAM,eAAe,CAAC,YACpB,QACG;AAAA,EACC,CAAC,EAAE,SAAS,EAAE,OAAO,SAAS,SAAS,YAAY,cAAc,MAAM,EAAE,MACvE,GAAG,QAAQ,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC,MAAM,QAAQ;AAAA,IACzD;AAAA,EACF,CAAC,MAAM,UAAU,MAAM,YAAY,MACjC,SAAS,OAAO,cAAc,KAAK,IAAI,iBACzC;AACJ,EACC,OAAO,OAAO,EACd,KAAK;AAEH,SAAS,iBACd,aACA,OACW;AACX,SAAO,gBAAgB,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;AAAA,IAC/D,WAAW,aAAa,MAAM;AAAA,EAChC,EAAE;AACJ;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,oBACd,aACA,OACW;AACX,SAAO;AAAA,IACL;AAAA,IACA,CAAC,KAAK;AAAA,IACN,CAAC;AAAA,MACC,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,eAAe,CAAC;AAAA,QAChB,WAAW,CAAC;AAAA,MACd;AAAA,IACF,MAAM;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA,YAAY,CAAC;AAAA,QACb,gBAAgB,CAAC;AAAA,QACjB;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,aAAO;AAAA,QACL,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,UAAU,IAAI;AAAA,QAC9D,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,WAAW;AAAA,QAC3C,GAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,cAAc;AAAA,QACjD,GAAI,YAAY,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,GAAG,SAAS,IAAI,GAAG;AAAA,QAC5E,GAAI,cAAc,SAAS,WAAW,IAAI,EAAE,eAAe,YAAY,IAAI,CAAC;AAAA,QAC5E,GAAI,UAAU,SAAS,QAAQ,IAAI,EAAE,WAAW,SAAS,IAAI,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,0BACX,MACQ;AACX,SAAO,oBAAoB,eAAe,GAAG,GAAG,IAAI;AACtD;","names":[]}
@@ -56,7 +56,7 @@ function copy(definition, value, context) {
56
56
  case Types.Images:
57
57
  case PropControllerTypes.ResponsiveColor:
58
58
  case Types.TableFormFields:
59
- case Types.Table:
59
+ case PropControllerTypes.Table:
60
60
  case PropControllerTypes.Border:
61
61
  case Types.RichText:
62
62
  case Types.ElementID:
@@ -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 PropControllerTypes.Shadows:\n case Types.Image:\n case Types.Images:\n case PropControllerTypes.ResponsiveColor:\n case Types.TableFormFields:\n case Types.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":"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,oBAAoB;AAAA,IACzB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,oBAAoB;AAAA,IACzB,KAAK,MAAM;AAAA,IACX,KAAK,MAAM;AAAA,IACX,KAAK,oBAAoB;AAAA,IACzB,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,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.1",
16
+ version: "0.16.0-canary.3",
17
17
  previewMode: supportsPreviewMode,
18
18
  draftMode: supportsDraftMode,
19
19
  interactionMode: true,
@@ -9,11 +9,13 @@ import {
9
9
  import { copy as imageCopy } from "./copy/image";
10
10
  import { copy as imagesCopy } from "./copy/images";
11
11
  import { copy as tableFormFieldsCopy } from "./copy/table-form-fields";
12
- import { copy as tableCopy } from "./copy/table";
13
12
  import { copy as richTextCopy } from "./copy/rich-text";
14
13
  import { copy as elementIdCopy } from "./copy/element-id";
15
14
  import { Types as PropControllerTypes } from "@makeswift/prop-controllers";
16
- import { copyResponsiveColorPropControllerData } from "@makeswift/prop-controllers";
15
+ import {
16
+ copyResponsiveColorPropControllerData,
17
+ copyTablePropControllerData
18
+ } from "@makeswift/prop-controllers";
17
19
  function copy(descriptor, value, context) {
18
20
  switch (descriptor.type) {
19
21
  case "Backgrounds":
@@ -34,8 +36,8 @@ function copy(descriptor, value, context) {
34
36
  return copyResponsiveColorPropControllerData(value, context);
35
37
  case "TableFormFields":
36
38
  return tableFormFieldsCopy(value, context);
37
- case "Table":
38
- return tableCopy(value, context);
39
+ case PropControllerTypes.Table:
40
+ return copyTablePropControllerData(value, context);
39
41
  case PropControllerTypes.Border:
40
42
  return copyBorderPropControllerData(value, context);
41
43
  case "RichText":
@@ -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 {\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 tableCopy } from './copy/table'\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 { copyResponsiveColorPropControllerData } 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 'Table':\n return tableCopy(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,iBAAiB;AAClC,SAAS,QAAQ,oBAAoB;AACrC,SAAS,QAAQ,qBAAqB;AAEtC,SAAS,SAAS,2BAA2B;AAC7C,SAAS,6CAA6C;AAG/C,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;AACH,aAAO,UAAU,OAAO,OAAO;AAAA,IACjC,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":[]}
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":[]}
@@ -8,18 +8,14 @@ import {
8
8
  } from "./introspection";
9
9
  const Types = {
10
10
  Backgrounds: "Backgrounds",
11
- Date: "Date",
12
11
  ElementID: "ElementID",
13
- Font: "Font",
14
12
  GapX: "GapX",
15
13
  GapY: "GapY",
16
14
  Grid: "Grid",
17
15
  Image: "Image",
18
16
  Images: "Images",
19
17
  List: "List",
20
- Margin: "Margin",
21
18
  NavigationLinks: "NavigationLinks",
22
- Padding: "Padding",
23
19
  ResponsiveIconRadioGroup: "ResponsiveIconRadioGroup",
24
20
  ResponsiveNumber: "ResponsiveNumber",
25
21
  ResponsiveOpacity: "ResponsiveOpacity",
@@ -27,28 +23,18 @@ const Types = {
27
23
  RichText: "RichText",
28
24
  Shape: "Shape",
29
25
  SocialLinks: "SocialLinks",
30
- Table: "Table",
31
26
  TableFormFields: "TableFormFields",
32
27
  Typeahead: "Typeahead",
33
28
  TextArea: "TextArea",
34
29
  TextInput: "TextInput",
35
- TextStyle: "TextStyle",
36
- Video: "Video",
37
- Width: "Width",
38
30
  Style: StyleControlType
39
31
  };
40
32
  function Backgrounds(options = {}) {
41
33
  return { type: Types.Backgrounds, version: 1, options };
42
34
  }
43
- function Date(options = {}) {
44
- return { type: Types.Date, options };
45
- }
46
35
  function ElementID(options = {}) {
47
36
  return { type: Types.ElementID, options };
48
37
  }
49
- function Font(options = {}) {
50
- return { type: Types.Font, options };
51
- }
52
38
  function GapX(options = {}) {
53
39
  return { type: Types.GapX, options };
54
40
  }
@@ -93,25 +79,9 @@ function getListPropControllerTypographyIds(descriptor, value) {
93
79
  function getListPropControllerPageIds(descriptor, value) {
94
80
  return introspectListPropControllerData(descriptor, value, getPageIds);
95
81
  }
96
- const MarginPropControllerFormat = {
97
- ClassName: "makeswift::prop-controllers::margin::format::class-name",
98
- ResponsiveValue: "makeswift::prop-controllers::margin::format::responsive-value"
99
- };
100
- function Margin(options = {}) {
101
- return { type: Types.Margin, options };
102
- }
103
- Margin.Format = MarginPropControllerFormat;
104
82
  function NavigationLinks(options = {}) {
105
83
  return { type: Types.NavigationLinks, options };
106
84
  }
107
- const PaddingPropControllerFormat = {
108
- ClassName: "makeswift::prop-controllers::padding::format::class-name",
109
- ResponsiveValue: "makeswift::prop-controllers::padding::format::responsive-value"
110
- };
111
- function Padding(options = {}) {
112
- return { type: Types.Padding, options };
113
- }
114
- Padding.Format = PaddingPropControllerFormat;
115
85
  function ResponsiveIconRadioGroup(options) {
116
86
  return { type: Types.ResponsiveIconRadioGroup, options };
117
87
  }
@@ -181,9 +151,6 @@ const socialLinkTypesV1 = [...socialLinkTypesV0, "x", "slack"];
181
151
  function SocialLinks(options = {}) {
182
152
  return { type: Types.SocialLinks, options, version: 1 };
183
153
  }
184
- function Table(options = {}) {
185
- return { type: Types.Table, options };
186
- }
187
154
  function TableFormFields(options = {}) {
188
155
  return { type: Types.TableFormFields, options };
189
156
  }
@@ -196,36 +163,16 @@ function TextArea(options = {}) {
196
163
  function TextInput(options = {}) {
197
164
  return { type: Types.TextInput, options };
198
165
  }
199
- function TextStyle(options = {}) {
200
- return { type: Types.TextStyle, options };
201
- }
202
- function Video(options = {}) {
203
- return { type: Types.Video, options };
204
- }
205
- const WidthPropControllerFormat = {
206
- ClassName: "makeswift::prop-controllers::width::format::class-name",
207
- ResponsiveValue: "makeswift::prop-controllers::width::format::responsive-value"
208
- };
209
- function Width(options = {}) {
210
- return { type: Types.Width, options };
211
- }
212
- Width.Format = WidthPropControllerFormat;
213
166
  export {
214
167
  Backgrounds,
215
- Date,
216
168
  ElementID,
217
- Font,
218
169
  GapX,
219
170
  GapY,
220
171
  Grid,
221
172
  Image,
222
173
  Images,
223
174
  List,
224
- Margin,
225
- MarginPropControllerFormat,
226
175
  NavigationLinks,
227
- Padding,
228
- PaddingPropControllerFormat,
229
176
  ResponsiveIconRadioGroup,
230
177
  ResponsiveNumber,
231
178
  ResponsiveOpacity,
@@ -233,16 +180,11 @@ export {
233
180
  RichText,
234
181
  Shape,
235
182
  SocialLinks,
236
- Table,
237
183
  TableFormFields,
238
184
  TextArea,
239
185
  TextInput,
240
- TextStyle,
241
186
  Typeahead,
242
187
  Types,
243
- Video,
244
- Width,
245
- WidthPropControllerFormat,
246
188
  getListPropControllerElementChildren,
247
189
  getListPropControllerFileIds,
248
190
  getListPropControllerPageIds,